/* ハーネス市場 新デザイン（確認中）
   default_frame.twig で Cookie hi_nd=1 のときだけ読み込む。URLに ?nd=1 で確認モード、?nd=0 で戻る。
   旧 style.css は html{font-size:62.5%} なので rem は使わず px で書く。
   旧CSSと衝突しないよう、新しい部品のクラス名は nd- で始める。 */

body.nd{
  --nd-green:#0d7a5f; --nd-green-d:#0a5a47; --nd-green-soft:#e7f4ef;
  --nd-navy:#0f2a44; --nd-copper:#d9772b; --nd-copper-soft:#fbeee3;
  --nd-ink:#1c2530; --nd-muted:#5b6774; --nd-line:#dfe4ea; --nd-bg-soft:#f4f7fa;
  font-family:"Noto Sans JP","游ゴシック",YuGothic,"Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  color:var(--nd-ink);
  background:#fff;
}
.nd .nd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 確認モードの目印 */
body.nd::after{
  content:"新デザイン確認モード（?nd=0 で戻る）";
  position:fixed;right:12px;bottom:12px;z-index:9999;
  background:var(--nd-copper);color:#fff;font-size:12px;font-weight:700;
  padding:6px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.2);
  pointer-events:none;
}

/* ===== ヘッダー ===== */
.nd-hd{background:#fff;border-bottom:1px solid var(--nd-line);position:sticky;top:0;z-index:40;font-size:14px;line-height:1.5}
.nd-hd *{box-sizing:border-box}
.nd-hd a{color:inherit;text-decoration:none}
.nd-hd-in{display:flex;align-items:center;gap:20px;padding:12px 20px;max-width:1160px;margin:0 auto}
.nd-logo{display:flex;flex-direction:column;flex-shrink:0}
.nd-logo img{height:40px;width:auto;display:block;margin:0}
.nd-logo span{font-size:10px;color:var(--nd-muted);letter-spacing:.04em;margin-top:2px}
.nd-search{flex:1;display:flex;max-width:560px;border:2px solid var(--nd-green);border-radius:999px;overflow:hidden;background:#fff;margin:0}
.nd-search input{flex:1;min-width:0;border:0;padding:10px 18px;font:inherit;font-size:15px;outline:none;height:auto;box-shadow:none;background:#fff;margin:0}
.nd-search button{border:0;background:var(--nd-green);color:#fff;padding:0 20px;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;margin:0}
.nd-search button:hover{background:var(--nd-green-d)}
.nd-tel{margin-left:auto;text-align:right;line-height:1.3;flex-shrink:0}
.nd-tel b{display:block;font-size:20px;color:var(--nd-navy);letter-spacing:.02em}
.nd-tel span{font-size:11px;color:var(--nd-muted)}
.nd-icons{display:flex;gap:6px;flex-shrink:0}
.nd-ic{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--nd-muted);padding:4px 8px;border-radius:8px;position:relative;border:0;background:none;font-family:inherit;cursor:pointer;line-height:1.4}
.nd-ic:hover{background:var(--nd-bg-soft);color:var(--nd-ink)}
.nd-ic svg{width:24px;height:24px;stroke:var(--nd-navy)}
.nd-cnt{position:absolute;top:0;right:4px;background:var(--nd-copper);color:#fff;font-size:10px;font-weight:700;border-radius:999px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px}
.nd-menu-btn{display:none}
.nd-gnav{border-top:1px solid var(--nd-line)}
.nd-gnav ul{list-style:none;margin:0 auto;max-width:1160px;padding:0 20px;display:flex;gap:28px;font-size:14px;font-weight:500}
.nd-gnav li{margin:0;padding:0;list-style:none}
.nd-gnav a{display:block;padding:10px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nd-gnav a:hover{color:var(--nd-green);border-bottom-color:var(--nd-green)}
.nd-gnav .nd-ship{margin-left:auto;color:var(--nd-green-d);font-weight:700;padding:10px 0;white-space:nowrap}
.nd-gnav .nd-sp-only{display:none}

/* ===== 本文の枠（サイドバーを出さず全幅に） ===== */
.nd #contents{background:#fff}
.nd #contents > .container-fluid.inner{max-width:1160px;margin:0 auto;padding:0 20px 48px}
.nd #main{width:100%;float:none}
.nd #side_left,.nd #side_right{display:none}

/* ===== 問い合わせ帯・フッター ===== */
.nd #footer{background:none;border:0;padding:0;margin:0}
.nd-contact,.nd-ft,.nd-tabbar{font-size:14px;line-height:1.7}
.nd-contact *,.nd-ft *,.nd-tabbar *{box-sizing:border-box}
.nd-contact a,.nd-ft a,.nd-tabbar a{text-decoration:none}
.nd-contact{background:var(--nd-navy);color:#fff}
.nd-contact-in{max-width:1160px;margin:0 auto;padding:32px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.nd-contact p{margin:4px 0 0;color:#c9d6e3;font-size:14px}
.nd-contact .nd-contact-t{margin:0;color:#fff;font-size:20px;font-weight:900}
.nd-contact-tel{font-size:28px;font-weight:900;letter-spacing:.02em;line-height:1.3}
.nd-contact-tel small{display:block;font-size:12px;font-weight:400;color:#c9d6e3}
.nd-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:8px;font-weight:700;font-size:15px;transition:transform .15s}
.nd-btn:hover{transform:translateY(-1px)}
.nd-btn-c,.nd-btn-c:hover,.nd-btn-c:visited{background:var(--nd-copper);color:#fff;box-shadow:0 4px 14px rgba(217,119,43,.3)}
.nd-ft{background:#0b2036;color:#c9d6e3;font-size:13px}
.nd-ft a,.nd-ft a:visited{color:#c9d6e3}
.nd-ft a:hover{color:#fff;text-decoration:underline}
.nd-ft-in{max-width:1160px;margin:0 auto;padding:44px 20px 28px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.nd-ft-h{color:#fff;font-size:14px;font-weight:700;margin:0 0 10px}
.nd-ft ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.nd-ft li{margin:0;padding:0;list-style:none}
.nd-ft-brand img{height:34px;width:auto;background:#fff;border-radius:6px;padding:4px 8px;display:block}
.nd-ft-brand p{margin:12px 0 0;line-height:1.8}
.nd-copy{border-top:1px solid #1f3a57;text-align:center;padding:14px;font-size:12px;color:#8fa6bd}
.nd-tabbar{display:none}

/* ===== タブレット ===== */
@media (max-width:1000px){
  .nd-tel{display:none}
  .nd-gnav ul{gap:20px;overflow-x:auto}
  .nd-gnav .nd-ship{display:none}
  .nd-ft-in{grid-template-columns:1fr 1fr}
}
/* ===== スマホ ===== */
@media (max-width:700px){
  .nd-hd-in{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .nd-logo img{height:auto;width:150px}
  .nd-logo span{display:none}
  .nd-icons{margin-left:auto;gap:0}
  .nd-icons .nd-pc{display:none}
  .nd-ic{font-size:10px;padding:2px 6px}
  .nd-ic svg{width:22px;height:22px}
  .nd-menu-btn{display:flex}
  .nd-search{order:3;flex-basis:100%;max-width:none}
  .nd-search input{padding:8px 14px;font-size:16px}
  .nd-search button span{display:none}
  .nd-gnav{display:none}
  .nd-gnav.nd-open{display:block}
  .nd-gnav ul{flex-direction:column;gap:0;padding:0 16px;overflow:visible}
  .nd-gnav li{border-bottom:1px solid var(--nd-line)}
  .nd-gnav li:last-child{border-bottom:0}
  .nd-gnav a{padding:12px 0}
  .nd-gnav .nd-sp-only{display:block}
  .nd #contents > .container-fluid.inner{padding:0 16px 32px}
  .nd-contact-in{padding:28px 16px}
  .nd-contact-tel{font-size:24px}
  .nd-ft-in{grid-template-columns:1fr;padding:32px 16px 20px}
  body.nd{padding-bottom:64px}
  body.nd::after{bottom:76px}
  .nd-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--nd-line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
  .nd-tabbar a,.nd-tabbar a:visited{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--nd-muted);gap:2px}
  .nd-tabbar svg{width:22px;height:22px;stroke:var(--nd-navy)}
}

/* 旧CSSの #contents の transform があると、中の position:fixed（スマホ下部バー）が効かないので外す */
.nd #contents{-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;will-change:auto}

/* ===================================================
   トップ（nd/top.twig）
   旧CSSの h1〜h3・p・ul・img の指定を打ち消してから書く
   =================================================== */
.nd-top{font-size:15px;line-height:1.7;color:var(--nd-ink);padding:24px 0 8px}
.nd-top *{box-sizing:border-box}
.nd-top a{color:inherit;text-decoration:none}
.nd-top h1,.nd-top h2,.nd-top h3{background:none;border:0;padding:0;margin:0;color:var(--nd-navy);font-weight:900;text-align:left;box-shadow:none;clear:none}
.nd-top h1::before,.nd-top h1::after,.nd-top h2::before,.nd-top h2::after,.nd-top h3::after{display:none}
.nd-top p{margin:0}
.nd-top ul{margin:0;padding:0;list-style:none}
.nd-top li{list-style:none}
.nd-top img{max-width:100%;display:block;border:0}
.nd-top figure{margin:0}

/* 共通部品 */
.nd-top .nd-search{max-width:none}
.nd-top .nd-em{color:var(--nd-green)}
.nd-btns{display:flex;gap:10px;flex-wrap:wrap}
.nd-btn-g,.nd-btn-g:visited,.nd-btn-g:hover{background:var(--nd-green);color:#fff}
.nd-btn-o,.nd-btn-o:visited,.nd-btn-o:hover{border:1.5px solid var(--nd-navy);color:var(--nd-navy);background:#fff}

/* メインビジュアル */
.nd-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;padding:40px 40px 44px;border-radius:20px;border:1px solid var(--nd-line);
  background:radial-gradient(circle at 88% 15%,rgba(13,122,95,.12),transparent 42%),linear-gradient(180deg,var(--nd-bg-soft),#fff)}
.nd-eyebrow{display:inline-block;font-size:14px;font-weight:700;color:var(--nd-green-d);background:var(--nd-green-soft);padding:5px 16px;border-radius:999px;margin-bottom:16px}
.nd-top .nd-hero h1{font-size:clamp(26px,3.4vw,38px);line-height:1.35;margin:0 0 14px}
.nd-lines .nd-line{display:inline-block}
.nd-lead{color:var(--nd-muted);font-size:16px;margin:0 0 22px!important}
.nd-lead strong{color:var(--nd-ink)}
.nd-big-search{background:#fff;border:1px solid var(--nd-line);border-radius:16px;padding:16px;box-shadow:0 6px 24px rgba(15,42,68,.07);margin:0}
.nd-big-search label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;color:var(--nd-navy)}
.nd-big-search .nd-search input{padding:12px 18px;font-size:16px}
.nd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;align-items:center}
.nd-chips span{color:var(--nd-muted)}
.nd-chips a{background:var(--nd-bg-soft);border:1px solid var(--nd-line);border-radius:999px;padding:3px 10px}
.nd-chips a:hover{border-color:var(--nd-green);color:var(--nd-green)}
.nd-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.nd-path,.nd-path:visited{display:flex;align-items:center;gap:12px;border-radius:12px;padding:14px 16px;color:#fff!important;font-weight:700;transition:transform .15s,box-shadow .15s}
.nd-path:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,42,68,.15)}
.nd-v{font-size:12px;background:rgba(255,255,255,.22);border-radius:999px;padding:2px 10px;flex-shrink:0}
.nd-t{line-height:1.4;font-size:15px}
.nd-t small{display:block;font-weight:400;font-size:12px;opacity:.9}
.nd-buy{background:var(--nd-green)}
.nd-sell{background:var(--nd-copper)}
.nd-visual{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:200px 160px;gap:12px}
.nd-ph{position:relative;border-radius:14px;overflow:hidden;background:#e9edf2}
.nd-ph img{width:100%;height:100%;object-fit:cover}
.nd-ph-main{grid-row:1 / 3}
.nd-ph figcaption{position:absolute;left:10px;bottom:10px;background:rgba(15,42,68,.85);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.nd-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.nd-points div{background:#fff;border:1px solid var(--nd-line);border-radius:10px;padding:10px 8px;text-align:center}
.nd-points b{display:block;color:var(--nd-green-d);font-size:17px;font-weight:900;line-height:1.3}
.nd-points span{font-size:12px;color:var(--nd-muted)}

/* セクション */
.nd-sec{padding:52px 0 8px}
.nd-band{margin-top:44px;padding:40px 32px;background:var(--nd-bg-soft);border-radius:20px}
.nd-band+.nd-sec{padding-top:52px}
.nd-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.nd-sec-en{margin:0 0 2px!important;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--nd-green)}
.nd-top h2{font-size:clamp(22px,2.6vw,28px);line-height:1.4}
.nd-more{font-size:14px;font-weight:700;color:var(--nd-green)!important;white-space:nowrap}
.nd-more:hover{text-decoration:underline!important}

/* カテゴリ */
.nd-cat-group+.nd-cat-group{margin-top:30px}
.nd-top .nd-cat-group h3{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 12px}
.nd-cat-group h3::before{content:"";width:6px;height:20px;border-radius:3px;background:var(--nd-green);display:block}
.nd-cat-group h3 small{font-weight:400;color:var(--nd-muted);font-size:13px}
.nd-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.nd-cat{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--nd-line);border-radius:10px;padding:8px 12px 8px 8px;font-size:14px;font-weight:500;line-height:1.35;min-height:62px;transition:border-color .15s,box-shadow .15s}
.nd-cat:hover{border-color:var(--nd-green);box-shadow:0 4px 14px rgba(13,122,95,.12)}
.nd-cat img{width:46px;height:46px;object-fit:contain;flex-shrink:0;border-radius:6px;background:var(--nd-bg-soft)}
.nd-noimg{width:46px;height:46px;border-radius:6px;background:var(--nd-green-soft);display:grid;place-items:center;color:var(--nd-green);font-weight:900;flex-shrink:0}

/* 新着 */
.nd-new-note{background:var(--nd-green-soft);border-radius:12px;padding:12px 16px;margin-bottom:18px;font-size:14px}
.nd-new-note a{color:var(--nd-green-d)!important;font-weight:700;text-decoration:underline!important}
.nd-badge{display:inline-block;margin-right:10px;background:var(--nd-green);color:#fff;font-weight:700;font-size:12px;border-radius:999px;padding:2px 10px}
.nd-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5*14px)/6);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.nd-rail-loading{color:var(--nd-muted);font-size:14px}
.nd-card{scroll-snap-align:start;background:#fff;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.nd-card:hover{box-shadow:0 8px 22px rgba(15,42,68,.1);transform:translateY(-2px)}
.nd-im{aspect-ratio:1/1;background:#f2f4f6}
.nd-im img{width:100%;height:100%;object-fit:cover}
.nd-bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;flex:1}
.nd-mk{font-size:11px;color:var(--nd-muted)}
.nd-nm{font-size:15px;font-weight:900;color:var(--nd-navy);line-height:1.3;word-break:break-all}
.nd-kind{font-size:12px;color:var(--nd-muted)}
.nd-qt{margin-top:auto;padding-top:4px;font-size:12px;color:var(--nd-green-d);font-weight:700}

/* メーカー */
.nd-makers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.nd-maker{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--nd-line);border-radius:10px;padding:10px 12px}
.nd-maker:hover{border-color:var(--nd-green)}
.nd-maker img{width:64px;height:40px;object-fit:contain;flex-shrink:0}
.nd-maker b{display:block;font-size:13px;line-height:1.35}
.nd-maker span{font-size:12px;color:var(--nd-muted)}

/* 選ばれる理由 */
.nd-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nd-reason{background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:22px 20px}
.nd-no{font-size:13px;font-weight:900;color:var(--nd-copper);letter-spacing:.1em}
.nd-top .nd-reason h3{margin:4px 0 10px;font-size:20px;line-height:1.4}
.nd-reason p{font-size:14px;color:var(--nd-muted)}
.nd-reason small{display:block;margin-top:8px;font-size:12px;color:var(--nd-muted)}

/* 買う・売る */
.nd-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.nd-side{border-radius:16px;padding:24px;border:1px solid var(--nd-line);background:#fff;display:flex;flex-direction:column}
.nd-verb{align-self:flex-start;color:#fff;font-size:13px;font-weight:900;padding:3px 14px;border-radius:999px}
.nd-side-b .nd-verb{background:#e5484d}
.nd-side-s .nd-verb{background:#3fb26f}
.nd-top .nd-side h3{margin:10px 0 12px;font-size:21px;line-height:1.4}
.nd-top .nd-side ul{margin:0 0 20px;display:grid;gap:8px;flex:1}
.nd-side li{position:relative;padding-left:26px;font-size:15px}
.nd-side li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--nd-green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d7a5f' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.nd-side li small{display:block;font-size:12px;color:var(--nd-muted)}

/* 初めての方へ */
.nd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.nd-step{background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px}
.nd-step:hover{border-color:var(--nd-green)}
.nd-step b{color:var(--nd-navy);font-size:16px}
.nd-step span{font-size:13px;color:var(--nd-muted);flex:1}
.nd-step em{font-style:normal;font-size:13px;font-weight:700;color:var(--nd-green)}

/* お知らせ */
.nd-news{background:#fff;border:1px solid var(--nd-line);border-radius:12px}
.nd-news li{display:flex;gap:16px;padding:14px 18px;border-bottom:1px solid var(--nd-line);font-size:14px}
.nd-news li:last-child{border-bottom:0}
.nd-news time{color:var(--nd-muted);flex-shrink:0;font-variant-numeric:tabular-nums}
.nd-tag{flex-shrink:0;font-size:11px;font-weight:700;border-radius:4px;padding:1px 8px;height:fit-content;margin-top:2px}
.nd-tag-new{background:var(--nd-green-soft);color:var(--nd-green-d)}
.nd-tag-info{background:var(--nd-copper-soft);color:#a6531a}
.nd-news-body a{color:var(--nd-green-d)!important}
.nd-news-body a:hover{text-decoration:underline!important}
.nd-news-all{margin-top:12px;font-size:14px}
.nd-news-all summary{cursor:pointer;color:var(--nd-green);font-weight:700;padding:6px 0}
.nd-news-all .scroll{max-height:360px;overflow-y:auto;background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.9;height:auto}
.nd-news-all .scroll a{color:var(--nd-green-d)}

@media (max-width:1000px){
  .nd-hero{grid-template-columns:1fr;gap:26px;padding:30px 24px}
  .nd-rail{grid-auto-columns:calc((100% - 3*14px)/4)}
  .nd-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .nd-top{padding-top:14px}
  .nd-hero{padding:22px 16px 24px;border-radius:16px}
  .nd-eyebrow{font-size:12px;padding:4px 12px}
  .nd-lead{font-size:15px}
  .nd-big-search{display:none}
  .nd-paths{grid-template-columns:1fr}
  .nd-visual{grid-template-rows:140px 110px}
  .nd-points b{font-size:15px}
  .nd-sec{padding-top:40px}
  .nd-band{margin-top:36px;padding:28px 14px;border-radius:16px}
  .nd-band+.nd-sec{padding-top:40px}
  .nd-cats{grid-template-columns:1fr 1fr;gap:8px}
  .nd-cat{font-size:13px;padding:6px 8px 6px 6px;min-height:54px;gap:8px}
  .nd-cat img,.nd-noimg{width:38px;height:38px}
  .nd-cat-group h3 small{display:none}
  .nd-rail{grid-auto-columns:42%}
  .nd-makers{grid-template-columns:1fr 1fr;gap:8px}
  .nd-maker{flex-direction:column;align-items:flex-start;gap:4px;padding:10px}
  .nd-maker img{width:56px;height:32px}
  .nd-maker b{font-size:12px}
  .nd-reasons,.nd-duo,.nd-steps{grid-template-columns:1fr}
  .nd-side{padding:20px 18px}
  .nd-news li{flex-wrap:wrap;gap:4px 10px;padding:12px 14px}
  .nd-news-body{flex-basis:100%}
}
/* ===== 旧CSSより強い指定で上書き（旧：h2:not(...):not(...) や #footer a が勝つため） ===== */
body.nd .nd-top h1,body.nd .nd-top h2,body.nd .nd-top h3{background:none;border:0;padding:0;margin:0;width:auto;color:var(--nd-navy);font-weight:900;line-height:1.4;box-shadow:none;clear:none;text-align:left}
body.nd .nd-top h2{font-size:clamp(22px,2.6vw,28px)}
body.nd .nd-top .nd-hero h1{font-size:clamp(26px,3.4vw,38px);line-height:1.35;margin:0 0 14px}
body.nd .nd-top .nd-cat-group h3{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 12px}
body.nd .nd-top .nd-reason h3{margin:4px 0 10px;font-size:20px}
body.nd .nd-top .nd-side h3{margin:10px 0 12px;font-size:21px}
.nd #footer .nd-ft a,.nd #footer .nd-ft a:visited{color:#c9d6e3}
.nd #footer .nd-ft a:hover{color:#fff}
.nd #footer .nd-btn-c,.nd #footer .nd-btn-c:visited{color:#fff}
.nd #footer .nd-tabbar a,.nd #footer .nd-tabbar a:visited{color:var(--nd-muted)}@media (max-width:700px){body.nd .nd-top .nd-hero h1{font-size:24px}}
@media (max-width:360px){body.nd .nd-top .nd-hero h1{font-size:21px}}
/* ページ内リンクの飛び先が固定ヘッダーに隠れないように */
.nd-top [id]{scroll-margin-top:130px}

/* ===================================================
   商品一覧（nd/list.twig）
   =================================================== */
.nd-list{font-size:14px;line-height:1.6;color:var(--nd-ink);padding:8px 0 16px}
.nd-list *{box-sizing:border-box}
.nd-list a{color:inherit;text-decoration:none}
.nd-list ul{margin:0;padding:0;list-style:none}
.nd-list li{list-style:none}
.nd-list p{margin:0}
.nd-list img{max-width:100%;display:block;border:0}
body.nd .nd-list h1{background:none;border:0;padding:0;margin:0;width:auto;color:var(--nd-navy);font-weight:900;font-size:clamp(22px,2.6vw,28px);line-height:1.4;box-shadow:none;text-align:left;clear:none}
body.nd .nd-list h1::before,body.nd .nd-list h1::after{display:none}
.nd-list-wrap{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
.nd-list-main{min-width:0}

/* 絞り込み */
.nd-filter{position:sticky;top:130px;max-height:calc(100vh - 150px);overflow-y:auto;background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:16px}
.nd-filter summary{display:none}
.nd-filter-h{font-size:12px;font-weight:700;color:var(--nd-navy);letter-spacing:.05em;margin:0 0 6px!important}
.nd-filter ul+.nd-filter-h{margin-top:16px!important}
.nd-filter li a{display:block;padding:5px 8px;border-radius:6px;font-size:13px}
.nd-filter li a:hover{background:var(--nd-bg-soft)}
.nd-filter li a.nd-on{background:var(--nd-green-soft);color:var(--nd-green-d);font-weight:700}

/* 見出し・ツールバー */
.nd-list-head p{margin-top:4px!important;color:var(--nd-muted)}
.nd-list-head p b{color:var(--nd-ink)}
.nd-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;padding:10px 12px;background:var(--nd-bg-soft);border-radius:10px}
.nd-in-search{display:flex;flex:1;min-width:220px;max-width:340px;border:1px solid var(--nd-line);border-radius:8px;overflow:hidden;background:#fff;margin:0}
.nd-in-search input{flex:1;min-width:0;border:0;padding:7px 10px;font:inherit;font-size:13px;outline:none;height:auto;margin:0;box-shadow:none}
.nd-in-search button{border:0;background:var(--nd-navy);color:#fff;padding:0 12px;font:inherit;font-size:12px;cursor:pointer;margin:0}
.nd-lbl{font-size:12px;color:var(--nd-muted)}
.nd-seg{display:inline-flex;background:#fff;border:1px solid var(--nd-line);border-radius:8px;overflow:hidden}
.nd-seg a{padding:6px 12px;font-size:13px;border-left:1px solid var(--nd-line)}
.nd-seg a:first-child{border-left:0}
.nd-seg a.nd-on{background:var(--nd-green);color:#fff!important;font-weight:700}
.nd-disp{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--nd-line);border-radius:8px;background:#fff;height:auto;width:auto;margin:0}
.nd-view{margin-left:auto}

/* カード */
.nd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.nd-item{background:#fff;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.nd-item:hover{box-shadow:0 8px 22px rgba(15,42,68,.1);transform:translateY(-2px)}
.nd-item .nd-im{aspect-ratio:4/3;background:#f2f4f6}
.nd-item .nd-im img{width:100%;height:100%;object-fit:cover}
.nd-item .nd-bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;flex:1}
.nd-nmw{display:flex;flex-direction:column;gap:1px}
.nd-item .nd-mk{font-size:11px;color:var(--nd-muted)}
.nd-model{font-size:17px;font-weight:900;color:var(--nd-navy);line-height:1.3;word-break:break-all}
.nd-item .nd-kind{font-size:12px;color:var(--nd-muted)}
.nd-row{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin-top:auto;padding-top:8px}
.nd-qn{font-size:13px;font-weight:700;color:var(--nd-green-d);white-space:nowrap}
.nd-pr{text-align:right}
.nd-price{font-size:18px;font-weight:900;color:var(--nd-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.nd-price small{font-size:11px;font-weight:400;color:var(--nd-muted);margin-left:2px}
.nd-unit{display:block;font-size:11px;color:var(--nd-muted)}
.nd-unit:empty{display:none}

/* 一覧表示（型番で見比べる） */
.nd-grid.nd-as-list{grid-template-columns:1fr;gap:0;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;background:#fff}
.nd-as-list .nd-item{flex-direction:row;align-items:center;border:0;border-bottom:1px solid var(--nd-line);border-radius:0}
.nd-as-list .nd-item:last-child{border-bottom:0}
.nd-as-list .nd-item:hover{transform:none;box-shadow:none;background:var(--nd-bg-soft)}
.nd-as-list .nd-item .nd-im{width:76px;flex-shrink:0;aspect-ratio:1/1;margin:8px;border-radius:8px;overflow:hidden}
.nd-as-list .nd-item .nd-bd{flex-direction:row;align-items:center;gap:16px;padding:8px 16px 8px 4px}
.nd-as-list .nd-nmw{flex:1;min-width:0}
.nd-as-list .nd-row{margin:0;padding:0;gap:24px}

/* 該当なし */
.nd-empty{background:var(--nd-bg-soft);border-radius:12px;padding:24px;display:grid;gap:10px}
.nd-empty .nd-btn{margin:4px 6px 0 0}

/* ページ送り（pagination.twig の .pagination を新デザインで） */
.nd .nd-list .pagination{display:block;margin:28px 0 0;text-align:center}
.nd .nd-list .pagination ul{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.nd .nd-list .pagination li{margin:0;padding:0;float:none;border:0}
.nd .nd-list .pagination li a{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--nd-line);border-radius:8px;font-size:14px;background:#fff;padding:0 12px;color:var(--nd-ink)}
.nd .nd-list .pagination li a:hover{border-color:var(--nd-green);color:var(--nd-green)}
.nd .nd-list .pagination li.active a{background:var(--nd-green);border-color:var(--nd-green);color:#fff;font-weight:700}

@media (max-width:1000px){
  .nd-list-wrap{grid-template-columns:1fr;gap:16px}
  .nd-filter{position:static;max-height:none}
  .nd-filter summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:700;color:var(--nd-navy);list-style:none}
  .nd-filter summary::-webkit-details-marker{display:none}
  .nd-filter summary::after{content:"＋";color:var(--nd-green)}
  .nd-filter[open] summary::after{content:"－"}
  .nd-filter[open] summary{margin-bottom:12px}
}
@media (max-width:700px){
  .nd-toolbar{gap:8px;padding:8px}
  .nd-lbl{display:none}
  .nd-in-search{order:-1;flex-basis:100%;max-width:none}
  .nd-in-search input{font-size:16px}
  .nd-seg a{padding:6px 10px}
  .nd-grid{grid-template-columns:1fr 1fr;gap:10px}
  .nd-model{font-size:15px}
  .nd-price{font-size:16px}
  .nd-row{flex-direction:column;align-items:flex-start;gap:0}
  .nd-pr{text-align:left}
  .nd-as-list .nd-item .nd-im{width:64px;margin:6px}
  .nd-as-list .nd-item .nd-bd{flex-direction:column;align-items:stretch;gap:2px;padding:8px 12px 8px 4px}
  .nd-as-list .nd-row{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .nd-as-list .nd-pr{text-align:right}
}/* 旧CSSの #main_middle{overflow:hidden} があると sticky（一覧の絞り込み）が効かない。回り込みの解除は flow-root で行う */
.nd #main_middle{overflow:visible;display:flow-root}

/* ===================================================
   商品詳細（nd/detail.twig）
   =================================================== */
.nd-detail-page{font-size:14px;line-height:1.7;color:var(--nd-ink);padding:8px 0 8px}
.nd-detail-page *{box-sizing:border-box}
.nd-detail-page a{color:inherit;text-decoration:none}
.nd-detail-page p{margin:0}
.nd-detail-page ul{margin:0;padding:0;list-style:none}
.nd-detail-page li{list-style:none}
.nd-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}
.nd-main-img{aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#f2f4f6;border:1px solid var(--nd-line)}
.nd-main-img img{width:100%;height:100%;object-fit:contain;display:block}
.nd-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.nd-thumbs button{width:72px;height:72px;border:2px solid var(--nd-line);border-radius:8px;overflow:hidden;padding:0;cursor:pointer;background:#f2f4f6}
.nd-thumbs button.nd-on{border-color:var(--nd-green)}
.nd-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.nd-d-mk{font-size:13px;color:var(--nd-muted)}
body.nd .nd-detail-page h1{background:none;border:0;padding:0;margin:2px 0 10px;width:auto;color:var(--nd-navy);font-weight:900;line-height:1.3;box-shadow:none;text-align:left;clear:none;font-size:14px}
body.nd .nd-detail-page h1::before,body.nd .nd-detail-page h1::after{display:none}
.nd-d-model{display:block;font-size:clamp(26px,3vw,34px);word-break:break-all}
.nd-detail-page h1 small{display:block;font-size:14px;font-weight:500;color:var(--nd-muted);margin-top:4px}
.nd-d-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.nd-chip{display:inline-block;font-size:12px;border-radius:999px;padding:2px 10px;background:var(--nd-bg-soft);border:1px solid var(--nd-line)}
.nd-chip-g{background:var(--nd-green-soft);border-color:transparent;color:var(--nd-green-d)!important;font-weight:700}
.nd-buybox{border:1px solid var(--nd-line);border-radius:14px;padding:20px;background:#fff;box-shadow:0 6px 24px rgba(15,42,68,.06)}
.nd-d-price{font-size:32px;font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums}
.nd-d-price small{font-size:13px;font-weight:400;color:var(--nd-muted);margin-left:4px}
.nd-d-sub{font-size:13px;color:var(--nd-muted);margin-top:2px}
.nd-d-unit{color:var(--nd-green-d);font-weight:700}
.nd-stock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--nd-green-d);margin:12px 0 14px}
.nd-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:#3fb26f}
.nd-stock-out{color:#a6531a}
.nd-stock-out::before{background:#e5484d}
.nd-buybox form{margin:0}
.nd-classcat{display:flex;gap:8px;margin-bottom:10px}
.nd-classcat select{font:inherit;padding:8px;border:1px solid var(--nd-line);border-radius:8px}
.nd-buy-row{display:flex;gap:10px;align-items:center}
.nd-qty{display:inline-flex;align-items:center;border:1px solid var(--nd-line);border-radius:8px;overflow:hidden;background:#fff;flex-shrink:0}
.nd-qty button{border:0;background:var(--nd-bg-soft);width:36px;height:44px;font-size:18px;cursor:pointer;color:var(--nd-navy);margin:0}
.nd-qty button:hover{background:var(--nd-green-soft)}
.nd-qty input{width:52px!important;height:44px!important;border:0!important;text-align:center;font:inherit;font-size:16px;margin:0!important;padding:0!important;box-shadow:none!important;-moz-appearance:textfield}
.nd-qty input::-webkit-inner-spin-button,.nd-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.nd-btn-cart{flex:1;justify-content:center;border:0;cursor:pointer;font-family:inherit;font-size:16px;padding:12px 20px;min-height:46px}
.nd-btn-soldout{width:100%;justify-content:center;border:0;background:#e9edf2;color:var(--nd-muted);font-family:inherit;font-size:15px;padding:12px 20px;cursor:not-allowed}
.nd-buybox .extra-form:empty{display:none}
.nd-fav{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--nd-muted);background:none;border:0;cursor:pointer;font-family:inherit;padding:0}
.nd-fav:hover{color:#e5484d}
.nd-fav[disabled]{cursor:default}
.nd-assure{margin:16px 0 0!important;padding:14px 0 0!important;border-top:1px dashed var(--nd-line);display:grid;gap:6px;font-size:13px}
.nd-assure li{display:flex;gap:8px;align-items:flex-start}
.nd-assure svg{width:18px;height:18px;flex-shrink:0;stroke:var(--nd-green);margin-top:2px}
.nd-assure a{color:var(--nd-green)!important;text-decoration:underline!important}
.nd-spec{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px;border:0}
.nd-spec th,.nd-spec td{border:0;border-bottom:1px solid var(--nd-line);padding:10px 12px;text-align:left;vertical-align:top}
.nd-spec th{width:32%;background:var(--nd-bg-soft);font-weight:500;color:var(--nd-muted)}
.nd-notes{margin-top:14px;background:var(--nd-copper-soft);border-radius:10px;padding:12px 14px;font-size:13px;display:grid;gap:4px}
.nd-notice{margin-top:36px;border:1px solid var(--nd-line);border-radius:12px;background:#fff}
.nd-notice summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--nd-navy);list-style:none;display:flex;justify-content:space-between}
.nd-notice summary::-webkit-details-marker{display:none}
.nd-notice summary::after{content:"＋";color:var(--nd-green)}
.nd-notice[open] summary::after{content:"－"}
.nd-notice-bd{padding:0 18px 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;font-size:13px;color:var(--nd-muted)}
.nd-notice-bd b{display:block;font-size:14px;color:var(--nd-ink);margin-bottom:2px}
.nd-small{display:block;font-size:12px}
.nd-sticky-buy{display:none}

/* 同じ型番の在庫・よく一緒に購入（RecommendMail ブロック） */
.nd #main_bottom{margin-top:8px}
.nd .recommendmail_section{padding-top:32px!important;overflow:visible!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
body.nd .recommendmail_section h2{grid-column:1 / -1;background:none;border:0;padding:0;margin:0 0 2px;width:auto;color:var(--nd-navy);font-weight:900;font-size:20px;line-height:1.4;box-shadow:none;text-align:left}
body.nd .recommendmail_section h2::before,body.nd .recommendmail_section h2::after{display:none}
.nd .recommendmail_section > div{width:auto!important;float:none!important;padding:0!important;margin:0!important}
.nd .recommendmail_section .product_item{height:100%!important;background:#fff;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;margin:0;padding:0;transition:box-shadow .15s,transform .15s}
.nd .recommendmail_section .product_item:hover{box-shadow:0 8px 22px rgba(15,42,68,.1);transform:translateY(-2px)}
.nd .recommendmail_section .product_item a{display:flex;flex-direction:column;height:100%;color:var(--nd-ink);text-decoration:none}
.nd .recommendmail_section .item_photo{aspect-ratio:4/3;background:#f2f4f6;margin:0;min-height:0!important;display:block!important}
.nd .recommendmail_section .item_photo img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;display:block}
.nd .recommendmail_section dl{margin:0;padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.nd .recommendmail_section .item_name{font-size:13px;font-weight:700;line-height:1.4;color:var(--nd-navy);word-break:break-all}
.nd .recommendmail_section .item_price{margin:auto 0 0;font-size:15px;font-weight:900;color:var(--nd-ink)}

@media (max-width:1000px){
  .nd-detail{grid-template-columns:1fr;gap:24px}
}
@media (max-width:700px){
  .nd-thumbs button{width:60px;height:60px}
  .nd-d-price{font-size:28px}
  .nd-notice-bd{grid-template-columns:1fr}
  .nd .recommendmail_section{grid-template-columns:1fr 1fr;gap:10px}
  body.nd.nd-has-sticky .nd-tabbar{display:none}
  body.nd.nd-has-sticky::after{bottom:84px}
  .nd-sticky-buy{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--nd-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(15,42,68,.08)}
  .nd-sticky-buy .nd-d-price{font-size:20px}
  .nd-sb-sub{display:block;font-size:11px;color:var(--nd-muted)}
  .nd-sticky-buy .nd-btn{flex:1;justify-content:center;border:0;font-family:inherit;cursor:pointer}
  .nd-sticky-buy .nd-btn-soldout{flex:1;width:auto}
}
/* ===================================================
   カート（nd/cart.twig）
   =================================================== */
.nd-cart-page{font-size:14px;line-height:1.6;color:var(--nd-ink);padding:8px 0 16px}
.nd-cart-page *{box-sizing:border-box}
.nd-cart-page a{color:inherit;text-decoration:none}
.nd-cart-page p{margin:0}
body.nd .nd-cart-page h1{background:none;border:0;padding:0;margin:0 0 4px;width:auto;color:var(--nd-navy);font-weight:900;font-size:clamp(22px,2.6vw,28px);line-height:1.4;box-shadow:none;text-align:left}
body.nd .nd-cart-page h1::before,body.nd .nd-cart-page h1::after{display:none}
.nd-flow{display:flex;margin:12px 0 24px;list-style:none;padding:0;counter-reset:ndf}
.nd-flow li{flex:1;text-align:center;font-size:13px;color:var(--nd-muted);position:relative;padding-top:34px;list-style:none}
.nd-flow li::before{counter-increment:ndf;content:counter(ndf);position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--nd-line);display:grid;place-items:center;font-weight:700;font-size:12px;z-index:1}
.nd-flow li::after{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:var(--nd-line)}
.nd-flow li:first-child::after{display:none}
.nd-flow li.nd-on{color:var(--nd-green-d);font-weight:700}
.nd-flow li.nd-on::before{background:var(--nd-green);border-color:var(--nd-green);color:#fff}
.nd-msg{border-radius:10px;padding:12px 16px;margin-bottom:12px!important}
.nd-msg-err{background:#fdecec;color:#a12a2e}
.nd-cart{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start}
.nd-cart-main{min-width:0}
.nd-freeship{background:var(--nd-green-soft);border-radius:12px;padding:14px 18px;margin-bottom:16px}
.nd-freeship b{color:var(--nd-green-d);font-size:16px}
.nd-bar{height:8px;border-radius:999px;background:#fff;margin-top:8px;overflow:hidden}
.nd-bar i{display:block;height:100%;background:var(--nd-green);border-radius:999px}
.nd-lines{background:#fff;border:1px solid var(--nd-line);border-radius:12px}
.nd-lines .nd-line{display:grid;grid-template-columns:84px 1fr auto 100px 32px;gap:16px;align-items:center;padding:16px;border-bottom:1px solid var(--nd-line)}
.nd-lines .nd-line:last-child{border-bottom:0}
.nd-line-im{display:block;width:84px;height:84px;border-radius:8px;overflow:hidden;background:#f2f4f6}
.nd-line-im img{width:100%;height:100%;object-fit:cover;display:block}
.nd-line-nm{display:flex;flex-direction:column;gap:1px;min-width:0}
.nd-line-mk{font-size:11px;color:var(--nd-muted)}
.nd-line-model{font-weight:900;color:var(--nd-navy)!important;font-size:16px;line-height:1.3;word-break:break-all}
.nd-line-model:hover{text-decoration:underline!important}
.nd-line-kind{font-size:12px;color:var(--nd-muted)}
.nd-line-up{font-size:12px;color:var(--nd-muted);margin-top:4px}
.nd-line-qty{display:inline-flex;align-items:center;border:1px solid var(--nd-line);border-radius:8px;overflow:hidden;background:#fff}
.nd-line-qty a,.nd-line-qty .nd-off{width:34px;height:38px;display:grid;place-items:center;background:var(--nd-bg-soft);font-size:18px;color:var(--nd-navy)!important}
.nd-line-qty a:hover{background:var(--nd-green-soft)}
.nd-line-qty .nd-off{color:#c3cad2!important}
.nd-line-q{min-width:40px;text-align:center;font-size:15px;font-weight:700}
.nd-line-sub{text-align:right;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.nd-line-del{color:#9aa5b1!important;padding:6px;border-radius:6px;display:grid;place-items:center}
.nd-line-del:hover{background:#fdecec;color:#e5484d!important}
.nd-cart-foot{margin-top:12px;font-size:14px}
.nd-cart-foot a{color:var(--nd-green)!important;font-weight:700}
.nd-summary{position:sticky;top:130px;background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:20px;box-shadow:0 6px 24px rgba(15,42,68,.06)}
.nd-summary-h{font-size:17px;font-weight:900;color:var(--nd-navy);margin-bottom:12px!important}
.nd-summary dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:10px;font-size:14px}
.nd-summary dt{color:var(--nd-muted);font-weight:400}
.nd-summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.nd-summary dd:first-of-type{font-size:22px;font-weight:900;color:var(--nd-ink)}
.nd-btn-next{width:100%;justify-content:center;margin-top:16px;font-size:16px}
.nd-pay{margin-top:14px;padding-top:12px;border-top:1px dashed var(--nd-line);font-size:12px;color:var(--nd-muted)}
.nd-pay b{display:block;color:var(--nd-ink);font-size:13px;margin-bottom:2px}
.nd-pay a{color:var(--nd-green)!important;text-decoration:underline!important}
.nd-cart-empty{background:var(--nd-bg-soft);border-radius:12px;padding:28px;display:grid;gap:10px;text-align:center}

@media (max-width:1000px){
  .nd-cart{grid-template-columns:1fr}
  .nd-summary{position:static}
}
@media (max-width:700px){
  .nd-flow li{font-size:11px}
  .nd-lines .nd-line{grid-template-columns:72px 1fr auto;grid-template-areas:"im nm del" "im qt sub";gap:8px 12px;padding:14px 12px}
  .nd-line-im{grid-area:im;width:72px;height:72px}
  .nd-line-nm{grid-area:nm}
  .nd-line-qty{grid-area:qt;justify-self:start}
  .nd-line-sub{grid-area:sub;align-self:center}
  .nd-line-del{grid-area:del;align-self:start}
}
/* ===================================================
   そのほかのページ（購入手続き・会員登録・マイページ・ログイン・規約類・独自ページ）
   テンプレートは変えず、EC-CUBE 標準の部品（page-heading・dl_table・form-control・btn・flowline など）を整える。
   トップ・一覧・詳細・カート（body.nd-own）には効かせない。
   =================================================== */
body.nd:not(.nd-own) #main_middle{font-size:15px;line-height:1.8;color:var(--nd-ink);padding:16px 0 24px}
body.nd:not(.nd-own) #main_middle a{color:var(--nd-green-d)}
body.nd:not(.nd-own) #main_middle a:hover{color:var(--nd-green)}
body.nd:not(.nd-own) #main_middle a.btn{color:inherit}

/* 見出し */
body.nd:not(.nd-own) #main_middle h1{background:none;border:0;padding:0;margin:8px 0 24px;font-size:clamp(22px,2.6vw,28px);font-weight:900;color:var(--nd-navy);line-height:1.4;text-align:left}
body.nd:not(.nd-own) #main_middle h2:not(.relative_cat_link):not(.qa_heading){background:none;color:var(--nd-navy);font-size:20px;font-weight:900;padding:2px 0 2px 14px;margin:32px 0 14px;border-left:5px solid var(--nd-green);border-radius:0;width:auto}
body.nd:not(.nd-own) #main_middle h2:not(.relative_cat_link):not(.qa_heading)::before{display:none}
body.nd:not(.nd-own) #main_middle h3{border:0;border-bottom:2px solid var(--nd-line);width:auto;margin:24px 0 10px;padding:0 0 6px;font-size:17px;font-weight:900;color:var(--nd-navy);line-height:1.5}
body.nd:not(.nd-own) #main_middle .heading01,body.nd:not(.nd-own) #main_middle .heading02{font-size:17px;font-weight:900;color:var(--nd-navy);border:0;background:none;padding:0;margin:20px 0 10px}
body.nd:not(.nd-own) #main_middle .u_h2{line-height:1.9}

/* 手続きの流れ（flowline） */
.nd #main_middle .flowline{border:0;padding:4px 0 24px}
.nd #main_middle .flowline ul::before{background:var(--nd-line);height:2px;top:14px}
.nd #main_middle .flowline ul li{font-size:12px;color:var(--nd-muted);font-weight:500}
.nd #main_middle .flowline li .flow_number{background:#fff;border:2px solid var(--nd-line);color:var(--nd-muted);width:28px;height:28px;line-height:24px;font-weight:700}
.nd #main_middle .flowline li.active{color:var(--nd-green-d);font-weight:700}
.nd #main_middle .flowline li.active .flow_number{background:var(--nd-green);border-color:var(--nd-green);color:#fff}

/* 入力欄 */
.nd #main_middle .form-control{border:1px solid #c9d1d9;border-radius:8px!important;height:44px;font-size:16px;padding:8px 12px;background:#fff;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.nd #main_middle textarea.form-control{height:auto;min-height:120px}
.nd #main_middle .form-control:focus{border-color:var(--nd-green)!important;box-shadow:0 0 0 3px rgba(13,122,95,.15)!important;outline:none}
.nd #main_middle .formTable input[type=text],.nd #main_middle .formTable input[type=email],.nd #main_middle .formTable input[type=tel],.nd #main_middle .formTable textarea,.nd #main_middle .formTable select{border:1px solid #c9d1d9;border-radius:8px;padding:8px 12px;font-size:16px;max-width:100%}
.nd #main_middle .formTable textarea{width:100%;min-height:140px}

/* 項目と入力の表（dl_table） */
.nd #main_middle .dl_table{border-top:1px solid var(--nd-line);background:#fff}
.nd #main_middle .dl_table dl{display:grid;grid-template-columns:220px 1fr;gap:8px 20px;padding:14px 4px;border-bottom:1px solid var(--nd-line);margin:0}
.nd #main_middle .dl_table dt{font-weight:700;color:var(--nd-navy);padding-top:8px;width:auto;float:none}
.nd #main_middle .dl_table dd{margin:0;width:auto;float:none}
.nd #main_middle .dl_table dt span.required,.nd #main_middle dt .required:not(label){display:inline-block;margin-left:8px;background:var(--nd-copper);color:#fff;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;line-height:1.6;vertical-align:middle}
.nd #main_middle .formTable{width:100%;border-collapse:collapse;border-top:1px solid var(--nd-line)}
.nd #main_middle .formTable th,.nd #main_middle .formTable td{border:0;border-bottom:1px solid var(--nd-line);padding:14px 12px;text-align:left;vertical-align:top}
.nd #main_middle .formTable th{width:30%;background:var(--nd-bg-soft);color:var(--nd-navy);font-weight:700}

/* ボタン */
.nd #main_middle .btn{border-radius:8px;font-weight:700;font-size:15px;padding:12px 20px;min-height:48px;border-width:1.5px;transition:transform .15s,box-shadow .15s;font-family:inherit}
.nd #main_middle .btn:hover{transform:translateY(-1px)}
.nd #main_middle .btn-sm{min-height:36px;padding:6px 14px;font-size:13px}
.nd #main_middle .btn-primary,.nd #main_middle .btn-primary:focus{background:var(--nd-copper);border-color:var(--nd-copper);color:#fff;box-shadow:0 4px 14px rgba(217,119,43,.3)}
.nd #main_middle .btn-primary:hover{background:#c4661f;border-color:#c4661f;color:#fff}
.nd #main_middle .btn-info,.nd #main_middle .btn-info:focus{background:var(--nd-green);border-color:var(--nd-green);color:#fff}
.nd #main_middle .btn-info:hover{background:var(--nd-green-d);border-color:var(--nd-green-d);color:#fff}
.nd #main_middle .btn-default{background:#fff;border-color:var(--nd-navy);color:var(--nd-navy)}
.nd #main_middle .btn-default:hover{background:var(--nd-bg-soft)}
.nd #main_middle .btn_group{margin-top:24px}
.nd #main_middle .btn_group p,.nd #main_middle .btn_group li{margin-bottom:10px}

/* メッセージ */
.nd #main_middle .message .errormsg,.nd #main_middle .bg-danger{background:#fdecec;color:#a12a2e;border-radius:10px;padding:12px 16px;border:0}
.nd #main_middle .text-danger{color:#c4313a}
.nd #main_middle .complete_message,.nd #main_middle .intro{background:var(--nd-green-soft);border-radius:12px;padding:16px 20px;color:var(--nd-ink)}

/* ログイン・会員登録の箱 */
.nd #main_middle .column{background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:24px;box-shadow:0 6px 24px rgba(15,42,68,.05)}
.nd #main_middle .column .column_inner{padding:0}

/* 注文内容・履歴の商品一覧（cart_item・item_box） */
.nd #main_middle .cart_item.table{border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;background:#fff}
.nd #main_middle .cart_item .item_box{border-bottom:1px solid var(--nd-line)}
.nd #main_middle .item_name{font-weight:700;color:var(--nd-navy)}
.nd #main_middle .item_price{font-weight:900}

/* マイページのメニュー */
.nd #main_middle .local_nav{margin:0 0 20px}
.nd #main_middle .local_nav ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0;background:none}
.nd #main_middle .local_nav li{list-style:none;float:none;width:auto;margin:0;border:0}
.nd #main_middle .local_nav li a{display:block;padding:8px 16px;border:1px solid var(--nd-line);border-radius:999px;background:#fff;color:var(--nd-ink);font-size:14px;text-decoration:none}
.nd #main_middle .local_nav li.active a,.nd #main_middle .local_nav li a:hover{background:var(--nd-green);border-color:var(--nd-green);color:#fff}
.nd #main_middle #welcome_message{color:var(--nd-muted);font-size:14px;margin-bottom:12px}

/* 特商法などの dl だけの表 */
.nd #main_middle .u_h2 .dl_table dl{grid-template-columns:200px 1fr}

@media (max-width:700px){
  body.nd:not(.nd-own) #main_middle{padding-top:8px}
  .nd #main_middle .dl_table dl,.nd #main_middle .u_h2 .dl_table dl{grid-template-columns:1fr;gap:4px;padding:12px 2px}
  .nd #main_middle .dl_table dt{padding-top:0}
  .nd #main_middle .formTable th,.nd #main_middle .formTable td{display:block;width:100%}
  .nd #main_middle .formTable th{border-bottom:0;padding-bottom:6px}
  .nd #main_middle .column{padding:18px 16px}
  .nd #main_middle .local_nav ul{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
}/* 旧CSSで中央の列が600pxに固定されているので広げる（フォームの入力欄が狭くならないように） */
body.nd:not(.nd-own) #main_middle .col-md-10.col-md-offset-1,body.nd:not(.nd-own) #main_middle .col-sm-10.col-sm-offset-1{float:none;width:100%;max-width:880px;margin-left:auto;margin-right:auto}
body.nd:not(.nd-own) #main_middle .col-sm-8.col-sm-offset-2{float:none;width:100%;max-width:560px;margin-left:auto;margin-right:auto}
body.nd:not(.nd-own) #main_middle .btn_group .col-sm-4,body.nd:not(.nd-own) #main_middle .btn_group [class*="col-sm-offset"]{float:none;width:100%;max-width:360px;margin-left:auto;margin-right:auto}
.nd #main_middle .dl_table dd .form-control{width:100%;max-width:460px}
.nd #main_middle .dl_table dd.input_name .form-control,.nd #main_middle .dl_table dd .input_name .form-control{width:calc(50% - 8px);max-width:220px;display:inline-block}
.nd #main_middle .dl_table .input_zip .form-control{width:110px;display:inline-block}
.nd #main_middle .dl_table .input_tel .form-control{width:90px;display:inline-block}
.nd #main_middle .dl_table select.form-control{width:auto;min-width:160px}.nd #main_middle .dl_table dd.input_name .form-control:only-of-type{width:100%;max-width:460px}
.nd #main_middle .dl_table dt,.nd #main_middle .dl_table dd{border:0;background:none}/* お問合せフォームなどの素の送信ボタン */
body.nd:not(.nd-own) #main_middle input[type=submit],body.nd:not(.nd-own) #main_middle input[type=button],body.nd:not(.nd-own) #main_middle input[type=reset]{-webkit-appearance:none;appearance:none;border-radius:8px;font-weight:700;font-size:15px;padding:12px 28px;min-height:48px;border:1.5px solid var(--nd-navy);background:#fff;color:var(--nd-navy);cursor:pointer;font-family:inherit;margin:4px}
body.nd:not(.nd-own) #main_middle input[type=submit]{background:var(--nd-copper);border-color:var(--nd-copper);color:#fff;box-shadow:0 4px 14px rgba(217,119,43,.3)}
body.nd:not(.nd-own) #main_middle input[type=submit]:hover{background:#c4661f;border-color:#c4661f}
body.nd:not(.nd-own) #main_middle input[type=checkbox],body.nd:not(.nd-own) #main_middle input[type=radio]{accent-color:var(--nd-green);width:18px;height:18px;vertical-align:middle}
/* ===================================================
   独自ページ（user_data）と出品一覧ページ（yymmddnew）
   =================================================== */
/* 本文のかたまり */
body.nd:not(.nd-own) #main_middle .u_h2,body.nd:not(.nd-own) #main_middle .u_h3,body.nd:not(.nd-own) #main_middle .u_h4{line-height:1.9;margin:0 0 12px}
body.nd:not(.nd-own) #main_middle .redtxt{color:#c4313a;font-weight:700}
body.nd:not(.nd-own) #main_middle .fontmini{font-size:12px;color:var(--nd-muted)}
body.nd:not(.nd-own) #main_middle img{max-width:100%;height:auto}

/* 出品一覧・セール品の表（table.hichi） */
.nd #main_middle table.hichi{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;background:#fff;font-size:14px;margin:12px 0 8px}
.nd #main_middle table.hichi th{background:var(--nd-navy);color:#fff;font-weight:700;padding:10px 12px;text-align:left;border:0;white-space:nowrap}
.nd #main_middle table.hichi td{padding:9px 12px;border:0;border-top:1px solid var(--nd-line);vertical-align:middle}
.nd #main_middle table.hichi tr:nth-child(even) td{background:#fafbfc}
.nd #main_middle table.hichi tr:hover td{background:var(--nd-green-soft)}
.nd #main_middle table.hichi td a{color:var(--nd-green-d);font-weight:700}
.nd #main_middle table.hichi td img{display:inline-block;vertical-align:middle}

/* よくあるご質問 */
body.nd #main_middle h2.qa_heading{background:none;border:0;border-left:5px solid var(--nd-green);padding:2px 0 2px 14px;margin:36px 0 14px;color:var(--nd-navy);font-size:20px;font-weight:900;line-height:1.4}
.nd #main_middle .qa_item{border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;margin:0 0 10px;background:#fff}
.nd #main_middle .qa_question{background:#fff;color:var(--nd-navy);padding:16px 48px 16px 18px;font-weight:700}
.nd #main_middle .qa_question:hover{opacity:1;background:var(--nd-bg-soft)}
.nd #main_middle .qa_question:before{display:none}
.nd #main_middle .qa_question:after{background:none;content:"＋";color:var(--nd-green);font-weight:900;width:auto;height:auto;margin-top:-12px;font-size:18px}
.nd #main_middle .qa_check:checked ~ .qa_question:after{background:none;content:"－"}
.nd #main_middle .qa_check:checked ~ .qa_answer{max-height:800px;padding:4px 18px 18px;background:var(--nd-bg-soft)}
.nd #main_middle .qa_answer_pickup{color:var(--nd-green-d)}

/* カテゴリのメーカー一覧（ロゴのタイル） */
.nd #main_middle .category_intro{display:flex;gap:24px;align-items:flex-start;background:var(--nd-bg-soft);border-radius:14px;padding:20px;margin-bottom:24px}
.nd #main_middle .category_intro_image{flex-shrink:0;width:200px;margin:0}
.nd #main_middle .category_intro_image img{border-radius:10px;display:block}
.nd #main_middle .category_intro_text p{margin:0 0 8px}
.nd #main_middle .toppage_category{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0}
.nd #main_middle .toppage_category .toppage_category_item{width:auto;max-width:none;margin:0;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--nd-line);border-radius:10px;padding:8px 12px 8px 8px;box-shadow:none;filter:none;color:var(--nd-ink);text-decoration:none;min-height:60px}
.nd #main_middle .toppage_category .toppage_category_item::before,.nd #main_middle .toppage_category .toppage_category_item::after{display:none}
.nd #main_middle .toppage_category .toppage_category_item:hover{opacity:1;filter:none;border-color:var(--nd-green);box-shadow:0 4px 14px rgba(13,122,95,.12)}
.nd #main_middle .toppage_category .toppage_category_item figure{width:64px;max-width:64px;flex-shrink:0;margin:0}
.nd #main_middle .toppage_category .toppage_category_item figure img{width:100%;height:40px;object-fit:contain}
.nd #main_middle .toppage_category .toppage_category_item_text{width:auto;padding:0}
.nd #main_middle .toppage_category .toppage_category_item_text p{font-size:13px;font-weight:700;text-align:left;color:var(--nd-ink)}

/* 種別・メーカーのリンク一覧（ul.colum） */
.nd #main_middle ul.colum{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 12px;margin:8px 0 16px;padding:0;float:none;width:auto}
.nd #main_middle ul.colum li{list-style:none;float:none;width:auto;margin:0;padding:0;background:none}
.nd #main_middle ul.colum li::before{display:none}
.nd #main_middle ul.colum li a{display:block;padding:8px 12px;border:1px solid var(--nd-line);border-radius:8px;background:#fff;color:var(--nd-ink);font-size:14px;text-decoration:none}
.nd #main_middle ul.colum li a:hover{border-color:var(--nd-green);color:var(--nd-green-d)}
.nd #main_middle .smtitle{font-weight:900;color:var(--nd-navy);margin:20px 0 6px;display:block}

/* 購入方法・買取りの「Step」 */
.nd #main_middle .buy_flow{display:grid;gap:10px;margin:8px 0 16px}
.nd #main_middle .selstep{width:auto;max-width:none;border:1px solid var(--nd-line);border-radius:12px;padding:14px 18px;background:#fff;margin:0}
.nd #main_middle .selstep .hl{display:inline-block;background:var(--nd-green);color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:2px 12px;margin-bottom:6px}
.nd #main_middle .selstep p{margin:0}

@media (max-width:700px){
  .nd #main_middle table.hichi{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13px}
  .nd #main_middle table.hichi th,.nd #main_middle table.hichi td{padding:8px 10px}
  .nd #main_middle .category_intro{flex-direction:column;padding:16px}
  .nd #main_middle .category_intro_image{width:100%;max-width:240px}
  .nd #main_middle .toppage_category{grid-template-columns:1fr 1fr;gap:8px}
  .nd #main_middle .toppage_category .toppage_category_item{flex-direction:column;align-items:flex-start;gap:4px;padding:8px}
  .nd #main_middle ul.colum{grid-template-columns:1fr 1fr}
  .nd #main_middle .img_float_left,.nd #main_middle .txt_float_left_200{float:none!important;width:auto!important;margin:0 0 10px!important}
}@media (max-width:700px){
  /* 独自ページの幅固定（例：買取りページの .sale_txt 500px）を画面幅に収める */
  body.nd:not(.nd-own) #main_middle div,body.nd:not(.nd-own) #main_middle p,body.nd:not(.nd-own) #main_middle ul{max-width:100%;box-sizing:border-box}
  .nd #main_middle .sale_txt,.nd #main_middle .sale_img,.nd #main_middle .point_txt,.nd #main_middle .point_img{float:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
}
/* パンくず（BreadcrumbList プラグイン）を本文の幅にそろえる。灰色の帯は画面幅いっぱいのまま */
.nd #contents_top .breadcrumb{max-width:1160px;margin:0 auto 16px;padding:8px 20px;background:none;border-radius:0;box-shadow:0 0 0 100vmax #f4f7fa;clip-path:inset(0 -100vmax);font-size:12px}
@media (max-width:700px){.nd #contents_top .breadcrumb{padding:8px 16px}}/* トップの見出しの改行位置（カートの .nd-lines .nd-line とは別） */
.nd-top .nd-hero .nd-line{display:inline-block}

/* ===== トップ：扱っている商品の写真（nd-photos）と、売りたい会社と買いたい会社をつなぐ図（nd-flowmap） ===== */
.nd-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 20px}
.nd-photo{position:relative;display:block;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#eef1f4;border:1px solid var(--nd-line);transition:transform .15s,box-shadow .15s}
.nd-photo:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,42,68,.12)}
.nd-top .nd-photo img{width:100%;height:100%;object-fit:cover}
.nd-photo span{position:absolute;left:6px;right:6px;bottom:6px;text-align:center;background:rgba(15,42,68,.85);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}
.nd-flowmap{display:flex;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--nd-line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(15,42,68,.08)}
.nd-fm-node{position:relative;display:flex;align-items:center;gap:14px;border-radius:14px;padding:14px 16px;border:1.5px solid var(--nd-line);background:#fff}
.nd-fm-ic{flex-shrink:0;width:46px;height:46px;border-radius:12px;display:grid;place-items:center}
.nd-fm-ic svg{width:26px;height:26px}
.nd-fm-tx b{display:block;font-size:15px;color:var(--nd-navy);line-height:1.4}
.nd-fm-tx span{display:block;font-size:12px;color:var(--nd-muted);line-height:1.6;margin-top:2px}
.nd-fm-verb{position:absolute;top:-10px;left:14px;font-size:11px;font-weight:900;color:#fff;border-radius:999px;padding:1px 10px;letter-spacing:.05em;line-height:1.6}
.nd-fm-sell{border-color:#bfe6cf;background:#f3fbf6}
.nd-fm-sell .nd-fm-verb{background:#3fb26f}
.nd-fm-sell .nd-fm-ic{background:#dff3e7}
.nd-fm-sell .nd-fm-ic svg{stroke:#23824b}
.nd-fm-buy{border-color:#f5c9ca;background:#fff6f6}
.nd-fm-buy .nd-fm-verb{background:#e5484d}
.nd-fm-buy .nd-fm-ic{background:#fde3e4}
.nd-fm-buy .nd-fm-ic svg{stroke:#c4313a}
.nd-fm-hub{background:linear-gradient(135deg,var(--nd-green),var(--nd-green-d));border-color:transparent;padding:16px}
.nd-fm-hub .nd-fm-ic{background:rgba(255,255,255,.18)}
.nd-fm-hub .nd-fm-ic svg{stroke:#fff}
.nd-fm-hub .nd-fm-tx b{color:#fff;font-size:18px;font-weight:900}
.nd-fm-hub .nd-fm-tx span{color:#d8efe7}
.nd-fm-arrow{position:relative;height:40px;display:flex;align-items:center;justify-content:center}
.nd-fm-arrow::before{content:"";position:absolute;left:50%;top:4px;bottom:8px;width:2px;background:repeating-linear-gradient(to bottom,var(--nd-green) 0 5px,transparent 5px 9px);transform:translateX(-50%)}
.nd-fm-arrow::after{content:"";position:absolute;left:50%;bottom:2px;width:9px;height:9px;border-right:2px solid var(--nd-green);border-bottom:2px solid var(--nd-green);transform:translateX(-50%) rotate(45deg)}
.nd-fm-arrow span{position:relative;z-index:1;background:#fff;border:1px solid var(--nd-line);border-radius:999px;padding:1px 12px;font-size:12px;font-weight:700;color:var(--nd-green-d);line-height:1.6}
@media (max-width:700px){
  .nd-photos{gap:6px;margin-bottom:16px}
  /* スマホでは名前を写真の下に出す（「アプリケーター」が切れないように） */
  .nd-photo{aspect-ratio:auto;background:none;border:0;overflow:visible;border-radius:0}
  .nd-photo:hover{transform:none;box-shadow:none}
  .nd-top .nd-photo img{aspect-ratio:1/1;height:auto;border-radius:10px;border:1px solid var(--nd-line);background:#eef1f4}
  .nd-photo span{position:static;display:block;background:none;color:var(--nd-ink);font-size:11px;padding:4px 0 0;letter-spacing:-.02em;overflow:visible;text-overflow:clip}
  .nd-flowmap{padding:14px;border-radius:14px}
  .nd-fm-node{padding:12px}
  .nd-fm-ic{width:40px;height:40px}
  .nd-fm-tx b{font-size:14px}
  .nd-fm-hub .nd-fm-tx b{font-size:16px}
  .nd-fm-arrow{height:36px}
}
/* トップイメージ：右列（図→買う・売るボタン→特徴）を上から詰めて並べる */
.nd-hero{align-items:start}
.nd-hero-vis .nd-paths{margin-top:14px}

/* 右列のボタンは幅が狭いので、「買う／売る」ラベルを見出しの上に置いて見出しを1行に収める */
.nd-hero-vis .nd-path{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px}
.nd-hero-vis .nd-t{font-size:14px}
@media (max-width:700px){.nd-hero-vis .nd-path{flex-direction:row;align-items:center;gap:12px;padding:14px 16px}.nd-hero-vis .nd-t{font-size:15px}}

/* 左上の説明ラベル（ワイヤーハーネスの余剰部材・遊休設備の流通サイト）を大きく */
.nd-eyebrow{font-size:18px;padding:7px 20px;margin-bottom:18px}
@media (max-width:700px){.nd-eyebrow{font-size:14px;padding:5px 12px;border-radius:12px;line-height:1.5}}

/* 言葉の途中で改行しない（左上の説明ラベル） */
.nd-nb{display:inline-block}

/* ===== 商品詳細：写真の拡大（PC はマウスを合わせた所を拡大、クリック・タップで大きく表示） ===== */
.nd-main-img{position:relative;cursor:zoom-in}
.nd-main-img img{transition:transform .12s ease-out;will-change:transform}
.nd-main-img.nd-zoom img{transform:scale(2.2)}
.nd-img-hint{margin:6px 0 0!important;font-size:12px;color:var(--nd-muted);text-align:center}
.nd-hint-sp{display:none}
@media (hover:none),(pointer:coarse){.nd-hint-pc{display:none}.nd-hint-sp{display:inline}}
.nd-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(10,20,30,.88);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.nd-lightbox[hidden]{display:none}
.nd-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff;cursor:default;display:block}
.nd-lb-close{position:absolute;top:12px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:44px;cursor:pointer;font-family:inherit;padding:0}
.nd-lb-close:hover{background:rgba(255,255,255,.3)}
@media (max-width:700px){.nd-lightbox{padding:56px 8px 8px}}
/* 2026-10-18 全員に公開：確認モードの目印は出さない */
body.nd::after{content:none!important;display:none!important}
