/*
Theme Name: HOT-DOCK
Theme URI: http://www.hot-dock.co.jp/
Author: 1週間HP
Description: 株式会社ホット・ドック（1984年創業／ハーレーダビッドソン・フルカスタム）
Version: 1.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: hotdock
*/

/* ============ 1. トークン ============ */
:root{
  --void:#08080A;
  --steel:#15161A;
  --steel2:#101115;
  --red:#FB1F20;
  --red-deep:#8E0A10;
  --chrome:#E9EAEC;
  --chrome-mid:#9DA2A8;
  --chrome-dark:#52575E;
  --line:#23252A;
  --line2:#1D1F24;

  --display:"Oswald",Bahnschrift,"Arial Narrow",Impact,sans-serif;
  --label:"Oswald",Bahnschrift,"Arial Narrow",sans-serif;
  --serif:"Oswald",Bahnschrift,"Arial Narrow",sans-serif;
  --body:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;

  --head-h:92px;
  --gut:max(20px, env(safe-area-inset-left, 0px));
  --gut-r:max(20px, env(safe-area-inset-right, 0px));
  --wrap:1240px;
}

/* ============ 2. リセット ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--void);color:var(--chrome);
  font-family:var(--body);font-weight:400;font-size:15px;line-height:1.95;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--red);color:#fff}

/* ============ 3. 共通 ============ */
.wrap{
  max-width:var(--wrap);margin-inline:auto;
  padding-left:var(--gut);padding-right:var(--gut-r);
}
.sec{padding-block:clamp(66px,8.5vw,124px)}
.sec--steel{background:var(--steel2);border-block:1px solid var(--line)}

.eyebrow{
  font-family:var(--label);font-weight:500;font-size:12px;letter-spacing:.28em;
  color:var(--red);margin-bottom:14px;text-transform:uppercase;
}
.sec-head{margin-bottom:clamp(32px,4vw,54px)}
.sec-head h2{
  font-weight:900;font-size:clamp(25px,3.3vw,38px);line-height:1.42;
  letter-spacing:.005em;text-wrap:balance;word-break:auto-phrase;line-break:strict;
}
.sec-head .lead{
  color:var(--chrome-mid);max-width:62ch;margin-top:16px;font-size:14.5px;line-height:2.05;
}
.sec-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  padding:17px 36px;font-weight:700;font-size:14.5px;letter-spacing:.06em;
  border:1px solid transparent;transition:background .2s,border-color .2s,color .2s;
  min-height:56px;text-align:center;
}
.btn--red{background:var(--red);color:#FFF}
.btn--red:hover{background:var(--red-deep)}
.btn--ghost{border-color:var(--chrome-dark);color:var(--chrome)}
.btn--ghost:hover{border-color:var(--chrome);background:rgba(233,234,236,.07)}
.btn--block{width:100%}
.btn .ar{font-family:var(--label);font-weight:300;font-size:16px;line-height:1}

.more{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--label);font-weight:500;font-size:12.5px;letter-spacing:.2em;
  color:var(--chrome);padding-bottom:7px;border-bottom:1px solid var(--chrome-dark);
  transition:color .2s,border-color .2s;white-space:nowrap;
}
.more:hover{color:var(--red);border-color:var(--red)}

/* ============ 4. ヘッダー ============ */
.hd{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--head-h);
  background:rgba(8,8,10,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  padding-top:env(safe-area-inset-top, 0px);
  transition:background .25s;
}
.hd__in{
  height:var(--head-h);display:flex;align-items:center;gap:28px;
  max-width:var(--wrap);margin-inline:auto;
  padding-left:var(--gut);padding-right:var(--gut-r);
}
.logo{display:block;flex-shrink:0}
.logo__m{
  font-family:var(--display);font-weight:700;font-size:33px;line-height:1;
  letter-spacing:.045em;color:var(--chrome);
}
.logo__s{
  font-family:var(--label);font-weight:500;font-size:10px;letter-spacing:.3em;
  color:var(--chrome-mid);margin-top:6px;
}
.gnav{display:flex;gap:30px;margin-left:auto}
.gnav a{
  font-family:var(--label);font-weight:600;font-size:14px;letter-spacing:.11em;
  color:var(--chrome-mid);padding-block:8px;position:relative;transition:color .2s;white-space:nowrap;
}
.gnav a:hover,.gnav .current-menu-item>a,.gnav .is-current>a{color:var(--chrome)}
.gnav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--red);transition:width .25s;
}
.gnav a:hover::after,.gnav .current-menu-item>a::after,.gnav .is-current>a::after{width:100%}
.hd__tel{text-align:right;flex-shrink:0;border-left:1px solid var(--line);padding-left:28px}
.hd__tel b{
  display:block;font-family:var(--label);font-weight:600;font-size:24px;letter-spacing:.02em;color:var(--chrome);
}
.hd__tel small{display:block;font-size:11.5px;color:var(--chrome-mid);letter-spacing:.04em;margin-top:2px}

/* ログイン中は WordPress の管理バーに潜り込ませない（お客様には出ない） */
body.admin-bar .hd{top:32px}
@media screen and (max-width:782px){ body.admin-bar .hd{top:46px} }

.burger{display:none;margin-left:auto;width:44px;height:44px;position:relative;flex-shrink:0}
.burger span{
  position:absolute;left:11px;width:22px;height:1.5px;background:var(--chrome);transition:.3s;
}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:22px}
.burger span:nth-child(3){top:28px}
body.nav-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
body.nav-open .burger span:nth-child(2){opacity:0}
body.nav-open .burger span:nth-child(3){top:22px;transform:rotate(-45deg)}

.mnav{
  position:fixed;inset:0;z-index:99;background:var(--void);
  padding:calc(var(--head-h) + env(safe-area-inset-top, 0px) + 26px) var(--gut-r) 40px var(--gut);
  display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto;
}
body.nav-open .mnav{opacity:1;visibility:visible}
.mnav a.mnav__i{
  display:flex;align-items:baseline;gap:12px;padding:19px 0;border-bottom:1px solid var(--line);
}
.mnav__i em{
  font-family:var(--label);font-weight:500;font-size:16px;letter-spacing:.14em;font-style:normal;color:var(--chrome);
}
.mnav__i i{font-style:normal;font-size:11.5px;color:var(--chrome-dark)}
.mnav__tel{margin-top:30px}
.mnav__tel b{
  display:block;font-family:var(--label);font-weight:600;font-size:32px;letter-spacing:.02em;color:var(--chrome);
}
.mnav__tel small{display:block;font-size:12px;color:var(--chrome-mid);margin-top:4px}

/* ============ 5. ファーストビュー ============ */
.fv{
  position:relative;min-height:min(92vh,880px);
  padding-top:calc(var(--head-h) + env(safe-area-inset-top, 0px));
  display:flex;align-items:center;overflow:hidden;background:var(--void);
}
/* 上のメニューは黒い帯なので、画像をその裏に敷くとハンドルが隠れる。
   帯の下から始めて、車両の頭に余裕を持たせる。 */
.fv__bg{position:absolute;inset:calc(var(--head-h) + env(safe-area-inset-top, 0px)) 0 0;z-index:0}
.fv__bg picture{display:block;width:100%;height:100%}
.fv__bg img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.fv__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(8,8,10,.93) 0%, rgba(8,8,10,.74) 32%, rgba(8,8,10,.34) 50%, rgba(8,8,10,.05) 70%, rgba(8,8,10,.40) 100%),
    linear-gradient(180deg, rgba(8,8,10,.74) 0%, rgba(8,8,10,.18) 36%, rgba(8,8,10,.62) 82%, var(--void) 100%),
    radial-gradient(66% 44% at 54% 84%, rgba(142,10,16,.42) 0%, rgba(8,8,10,0) 72%);
}
.fv__in{position:relative;z-index:1;width:100%;padding-block:clamp(52px,7vw,96px)}
.fv__since{
  font-family:var(--label);font-weight:600;font-size:12.5px;letter-spacing:.3em;
  color:var(--chrome-mid);margin-bottom:24px;
}
.fv__since i{font-style:normal;color:var(--red);margin-inline:11px}
.fv h1{
  font-weight:900;font-size:clamp(42px,7.4vw,86px);line-height:1.16;letter-spacing:.012em;
  margin-bottom:26px;text-shadow:0 2px 18px rgba(8,8,10,.95), 0 0 54px rgba(8,8,10,.8), 0 0 100px rgba(8,8,10,.6);
}
.fv h1 em{font-style:normal;color:var(--red)}
.fv__lead{
  max-width:44ch;color:var(--chrome);font-size:15px;line-height:2.1;margin-bottom:38px;
  text-shadow:0 1px 10px rgba(8,8,10,.95), 0 0 34px rgba(8,8,10,.8);
}
.fv__btns{display:flex;gap:14px;flex-wrap:wrap}
.fv__btns .btn{min-width:238px}
.fv__award{
  margin-top:clamp(40px,5.6vw,72px);padding-left:17px;border-left:2px solid var(--red);
}
.fv__award b{
  display:block;font-family:var(--label);font-weight:600;font-size:13.5px;letter-spacing:.17em;color:var(--chrome);
}
.fv__award small{display:block;font-size:11.5px;color:var(--chrome-mid);letter-spacing:.09em;margin-top:3px}

/* セクションの見出しは英字だけ */
.sec-en{
  font-family:var(--display);font-weight:700;
  font-size:clamp(30px,4.2vw,54px);line-height:1;letter-spacing:.055em;
  color:var(--chrome);margin:0;
}
.sec-en--c{text-align:center;margin-bottom:26px}
.sec-sub{
  margin:14px 0 0;font-size:13.5px;line-height:1.9;color:var(--chrome-mid);letter-spacing:.03em;
}
.sec-sub i{
  font-style:normal;color:var(--red);font-family:var(--label);font-weight:700;
  font-size:13px;letter-spacing:.11em;margin-left:14px;
}
.sec--steel .sec-en,.sec-en{color:var(--chrome)}

/* ============ 6. 車両カード ============ */
.grid{display:grid;gap:clamp(16px,1.9vw,26px)}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

.bcard{display:block;background:var(--steel);border:1px solid var(--line);transition:border-color .25s;min-width:0}
.bcard:hover{border-color:var(--chrome-dark)}
.bcard__ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--void)}
.bcard__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.bcard:hover .bcard__ph img{transform:scale(1.045)}
.bcard__ph--none{display:flex;align-items:center;justify-content:center}
.bcard__ph--none span{font-family:var(--label);font-size:11px;letter-spacing:.2em;color:var(--chrome-dark)}
.bcard__tag{
  position:absolute;top:0;left:0;padding:7px 15px;
  font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:.2em;
}
.bcard__tag--sold{background:var(--red);color:#FFF}
.bcard__tag--talk{background:rgba(8,8,10,.86);color:var(--chrome);border:1px solid var(--chrome-dark)}
.bcard__b{padding:19px 20px 22px}
.bcard__ex{margin-top:9px;font-size:12.5px;line-height:1.95;color:var(--chrome-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcard__meta{
  font-family:var(--label);font-weight:400;font-size:11.5px;letter-spacing:.14em;
  color:var(--chrome-mid);margin-bottom:8px;
}
.bcard__meta i{font-style:normal;color:var(--chrome-dark);margin-inline:7px}
.bcard__name{
  font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.4;
  letter-spacing:.055em;text-transform:uppercase;
  color:var(--chrome);margin-bottom:11px;word-break:break-word;
}
.bcard__price{
  font-family:var(--label);font-weight:600;font-size:18px;letter-spacing:.02em;color:var(--chrome);
}
.bcard__price small{font-size:10.5px;color:var(--chrome-dark);margin-left:6px;letter-spacing:.1em}
.bcard__price--ask{font-size:13px;color:var(--chrome-mid);letter-spacing:.06em;font-family:var(--body);font-weight:400}

/* ============ 7. パーツカード ============ */
.pcard{display:block;background:var(--steel);border:1px solid var(--line);transition:border-color .25s;min-width:0}
.pcard:hover{border-color:var(--chrome-dark)}
.pcard__ph{aspect-ratio:1/1;overflow:hidden;background:var(--void)}
.pcard__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.pcard:hover .pcard__ph img{transform:scale(1.045)}
.pcard__b{padding:17px 18px 20px}
.pcard__sku{
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.15em;
  color:var(--red);margin-bottom:8px;
}
.pcard__name{
  font-weight:700;font-size:13.5px;line-height:1.72;color:var(--chrome);margin-bottom:11px;
  word-break:auto-phrase;line-break:strict;
}
.pcard__price{font-family:var(--label);font-weight:500;font-size:16px;letter-spacing:.04em}
.pcard__price small{font-size:10.5px;color:var(--chrome-dark);margin-left:5px;letter-spacing:.1em}
.pcard__stock{font-size:11px;color:var(--chrome-mid);margin-top:6px;letter-spacing:.05em}

/* ============ 8. 作品（CUSTOM BIKES） ============ */
.works{display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(3,minmax(0,1fr))}
.work{position:relative;display:block;overflow:hidden;background:var(--steel);aspect-ratio:4/3;min-width:0}
.work img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.work:hover img{transform:scale(1.06)}
.work__n{
  position:absolute;left:0;right:0;bottom:0;padding:36px 18px 16px;
  background:linear-gradient(180deg,rgba(8,8,10,0) 0%,rgba(8,8,10,.9) 62%);
  font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--chrome);
}
.work--big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.work--big .work__n{font-size:27px;padding:52px 24px 22px}

/* ============ 9. 帯（実績・数字） ============ */
.facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--steel2)}
.fact{padding:30px 26px;border-right:1px solid var(--line)}
.fact:last-child{border-right:none}
.fact dt{
  font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.24em;color:var(--red);margin-bottom:13px;
}
.fact dd{margin:0;font-weight:900;font-size:clamp(21px,2.5vw,27px);line-height:1.4;letter-spacing:.01em}
.fact dd small{display:block;font-weight:400;font-size:12.5px;color:var(--chrome-mid);margin-top:8px;line-height:1.85}

/* 数字の帯（1984年創業 など） */
.nums{border-block:1px solid var(--line);background:var(--steel2)}
.nums__in{display:grid;grid-template-columns:repeat(3,1fr);padding-inline:0}
.num{padding:clamp(28px,3.4vw,42px) 26px;border-right:1px solid var(--line);text-align:center}
.num:last-child{border-right:none}
.num b{
  display:block;font-family:var(--label);font-weight:700;
  font-size:clamp(38px,5vw,58px);line-height:1.04;letter-spacing:.01em;color:var(--chrome);
}
.num b i{font-style:normal;color:var(--red);font-size:.46em;margin-left:3px;letter-spacing:.04em}
.num small{display:block;font-size:13px;color:var(--chrome-mid);margin-top:12px;letter-spacing:.04em;line-height:1.8}

/* ============ 10. CTA ============ */
.cta{position:relative;overflow:hidden;background:var(--steel2);border-block:1px solid var(--line)}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(64% 72% at 50% 118%, rgba(251,31,32,.2) 0%, rgba(8,8,10,0) 70%);
}
.cta__in{position:relative;text-align:center;padding-block:clamp(60px,7.5vw,104px)}
.cta h2{font-weight:900;font-size:clamp(24px,3.3vw,38px);line-height:1.46;margin-bottom:18px;text-wrap:balance}
.cta p{color:var(--chrome-mid);max-width:56ch;margin:0 auto 36px;font-size:14.5px;line-height:2.05}
.cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta__btns .btn{min-width:238px}
.cta__tel{margin-top:34px;padding-top:28px;border-top:1px solid var(--line);display:inline-block}
.cta__tel b{font-family:var(--label);font-weight:600;font-size:clamp(30px,4.2vw,42px);letter-spacing:.02em;display:block}
.cta__tel small{font-size:12px;color:var(--chrome-mid);letter-spacing:.07em;display:block;margin-top:5px;line-height:1.95}
.cta__mail{font-size:13.5px;color:var(--chrome-mid);line-height:1.95;margin:0 0 11px}
.cta__mail a{
  font-family:var(--label);font-weight:600;font-size:clamp(19px,2.6vw,25px);letter-spacing:.01em;
  display:inline-block;margin-top:5px;word-break:break-all;
  border-bottom:1px solid var(--chrome-dark);padding-bottom:2px;
}
.cta__mail a:hover{color:var(--red);border-bottom-color:var(--red)}

/* ============ 11. フッター ============ */
.ft{background:var(--void);border-top:1px solid var(--line);padding-block:clamp(48px,6vw,72px) 0}
.ft__top{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px;padding-bottom:46px}
.ft__logo .logo__m{font-size:32px}
.ft__logo .logo__s{font-size:9px;margin-top:6px}
.ft__addr{margin-top:22px;font-size:12.5px;line-height:2.1;color:var(--chrome-mid)}
.ft__h{
  font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:.24em;color:var(--red);margin-bottom:16px;
}
.ft__nav li{margin-bottom:11px}
.ft__nav a{font-size:13px;color:var(--chrome-mid);transition:color .2s}
.ft__nav a:hover{color:var(--chrome)}
.ft__tel b{font-family:var(--label);font-weight:600;font-size:26px;letter-spacing:.02em;display:block;margin-bottom:7px}
.ft__tel small{font-size:12px;color:var(--chrome-mid);line-height:1.95;display:block}
.ft__lead{font-size:12.5px;color:var(--chrome-mid);margin:0 0 9px;line-height:1.8}
.ft__mail{
  font-family:var(--label);font-weight:600;font-size:clamp(17px,2.2vw,21px);letter-spacing:.01em;
  display:inline-block;margin-bottom:11px;word-break:break-all;
  border-bottom:1px solid var(--chrome-dark);padding-bottom:2px;
}
.ft__mail:hover{color:var(--red);border-bottom-color:var(--red)}
.ft__note{color:var(--chrome-dark)}
.ft__sns{display:flex;gap:16px;list-style:none;margin:13px 0 0;padding:0}
.ft__sns a{font-family:var(--label);font-size:12px;letter-spacing:.1em;color:var(--chrome-mid);border-bottom:1px solid var(--chrome-dark)}
.ft__sns a:hover{color:var(--chrome)}
.ft__btm{
  border-top:1px solid var(--line);padding-block:22px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  padding-bottom:max(22px, env(safe-area-inset-bottom, 0px));
}
.ft__cr{font-family:var(--label);font-weight:300;font-size:11px;letter-spacing:.15em;color:var(--chrome-dark)}
.ft__intl{
  font-size:12px;color:var(--chrome-dark);line-height:1.95;
  margin:0 0 20px;padding-left:13px;border-left:2px solid var(--line);
}
.ft__intl span[lang="en"]{font-family:var(--label);letter-spacing:.02em}
.ft__sub{display:flex;flex-wrap:wrap;gap:7px 24px;list-style:none;margin:0;padding:0 0 20px}
.ft__sub a{font-size:12.5px;color:var(--chrome-mid);border-bottom:1px solid transparent}
.ft__sub a:hover{color:var(--chrome);border-bottom-color:var(--chrome-dark)}

/* ============ 12. 下層の見出し ============ */
.phead{
  position:relative;padding-top:calc(var(--head-h) + env(safe-area-inset-top, 0px));
  border-bottom:1px solid var(--line);background:var(--steel2);
}
.phead__in{padding-block:clamp(44px,5.6vw,78px)}
.phead__en{
  font-family:var(--display);font-weight:700;font-size:clamp(34px,5.6vw,60px);line-height:1.06;
  letter-spacing:.035em;color:var(--chrome);
}
.phead__jp{font-size:14px;color:var(--chrome-mid);margin-top:13px;letter-spacing:.05em}
.crumb{
  font-family:var(--label);font-weight:400;font-size:11px;letter-spacing:.14em;
  color:var(--chrome-dark);margin-bottom:17px;
}
.crumb a{color:var(--chrome-mid);transition:color .2s}
.crumb a:hover{color:var(--red)}
.crumb i{font-style:normal;margin-inline:9px;color:var(--line)}

/* ============ 13. 本文 ============ */
.rich{font-size:15px;line-height:2.15;color:var(--chrome)}
.rich > * + *{margin-top:1.5em}
.rich h2{
  font-weight:900;font-size:clamp(20px,2.4vw,26px);line-height:1.56;
  margin-top:2.4em;padding-left:15px;border-left:3px solid var(--red);
}
.rich h3{font-weight:700;font-size:17px;line-height:1.7;margin-top:2em;color:var(--chrome)}
.rich p{color:var(--chrome-mid)}
.rich strong{color:var(--chrome);font-weight:700}
.rich a{color:var(--red);border-bottom:1px solid rgba(251,31,32,.4)}
.rich a:hover{border-color:var(--red)}
.rich ul{list-style:none;padding-left:0}
.rich ul li{position:relative;padding-left:19px;color:var(--chrome-mid);margin-bottom:9px}
.rich ul li::before{content:"";position:absolute;left:0;top:.95em;width:7px;height:1px;background:var(--red)}
.rich ol{padding-left:1.4em;list-style:decimal;color:var(--chrome-mid)}
.rich ol li{margin-bottom:9px;padding-left:5px}
.rich img{margin-block:1.8em}
.rich blockquote{
  margin-inline:0;padding:20px 22px;background:var(--steel);border-left:3px solid var(--red);color:var(--chrome-mid);
}
.rich table{font-size:13.5px;margin-block:1.8em}
.rich th,.rich td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13.5px;vertical-align:top}
.rich th{font-weight:700;color:var(--chrome);white-space:nowrap;width:28%}
.rich td{color:var(--chrome-mid)}
.rich hr{border:none;border-top:1px solid var(--line);margin-block:2.6em}
.rich .wp-caption-text,.rich figcaption{font-size:12px;color:var(--chrome-dark);margin-top:9px;line-height:1.8}

/* ============ 14. 一覧の並び ============ */
.filter{
  display:flex;gap:9px;flex-wrap:wrap;margin-bottom:clamp(26px,3.2vw,40px);
  padding-bottom:22px;border-bottom:1px solid var(--line);
}
.filter a{
  padding:9px 19px;border:1px solid var(--line);
  font-family:var(--label);font-weight:500;font-size:11.5px;letter-spacing:.14em;
  color:var(--chrome-mid);transition:.2s;white-space:nowrap;
}
.filter a:hover{border-color:var(--chrome-dark);color:var(--chrome)}
.filter a.is-on{background:var(--red);border-color:var(--red);color:#FFF}
.count{
  font-family:var(--label);font-weight:400;font-size:11.5px;letter-spacing:.16em;color:var(--chrome-dark);
}
.count b{color:var(--chrome);font-weight:500;font-size:16px;margin-inline:4px}

.pager{display:flex;gap:7px;justify-content:center;margin-top:clamp(42px,5vw,68px);flex-wrap:wrap}
.pager .page-numbers{
  min-width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);font-family:var(--label);font-size:13px;letter-spacing:.06em;
  color:var(--chrome-mid);transition:.2s;padding-inline:12px;
}
.pager .page-numbers:hover{border-color:var(--chrome-dark);color:var(--chrome)}
.pager .page-numbers.current{background:var(--red);border-color:var(--red);color:#FFF}

.empty{
  padding:clamp(50px,7vw,88px) 24px;text-align:center;border:1px solid var(--line);background:var(--steel2);
}
.empty p{color:var(--chrome-mid);font-size:14px}

/* ============ 15. 1台のページ ============ */
.detail{display:grid;grid-template-columns:1.42fr 1fr;gap:clamp(30px,4vw,58px);align-items:start}
.gal__main{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--steel);border:1px solid var(--line)}
.gal__main img{width:100%;height:100%;object-fit:cover}
.gal__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.gal__t{aspect-ratio:4/3;overflow:hidden;background:var(--steel);border:1px solid var(--line);transition:border-color .2s;cursor:pointer}
.gal__t img{width:100%;height:100%;object-fit:cover}
.gal__t.is-on{border-color:var(--red)}
.gal__t:hover{border-color:var(--chrome-dark)}

.spec{grid-column:2;grid-row:1;align-self:start;position:sticky;top:calc(var(--head-h) + 22px)}
.spec__name{
  font-family:var(--serif);font-weight:600;font-size:clamp(25px,3.3vw,36px);line-height:1.32;
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px;word-break:break-word;
}
.spec__sub{font-size:12.5px;color:var(--chrome-mid);letter-spacing:.06em;margin-bottom:24px}
.spec__price{
  padding-block:20px;border-block:1px solid var(--line);margin-bottom:22px;
}
.spec__price b{font-family:var(--label);font-weight:500;font-size:clamp(28px,3.6vw,38px);letter-spacing:.03em;display:block}
.spec__price small{font-size:11.5px;color:var(--chrome-dark);letter-spacing:.1em;margin-left:8px}
.spec__price .ask{font-family:var(--body);font-weight:700;font-size:19px;color:var(--chrome)}
.spec__tbl{margin-bottom:26px}
.spec__tbl tr{border-bottom:1px solid var(--line)}
.spec__tbl th{
  font-family:var(--label);font-weight:500;font-size:10.5px;letter-spacing:.17em;color:var(--red);
  text-align:left;padding:13px 0;width:40%;vertical-align:top;white-space:nowrap;
}
.spec__tbl td{padding:13px 0;font-size:13.5px;color:var(--chrome);text-align:right}
.spec__btns{display:grid;gap:10px}
.spec__note{font-size:11.5px;color:var(--chrome-dark);line-height:1.9;margin-top:16px}
.sold-bar{
  background:var(--red);color:#FFF;padding:13px 18px;margin-bottom:20px;
  font-family:var(--label);font-weight:500;font-size:13px;letter-spacing:.2em;text-align:center;
}

/* ============ 16. お知らせ ============ */
.nlist{border-top:1px solid var(--line)}
.nrow{
  display:grid;grid-template-columns:118px 1fr auto;gap:22px;align-items:center;
  padding:23px 0;border-bottom:1px solid var(--line);transition:background .2s;
}
.nrow:hover{background:var(--steel2)}
.nrow__d{font-family:var(--label);font-weight:400;font-size:12.5px;letter-spacing:.12em;color:var(--chrome-dark)}
.nrow__t{font-size:14.5px;font-weight:700;line-height:1.75;color:var(--chrome);min-width:0}
.nrow__a{font-family:var(--label);font-size:15px;color:var(--chrome-dark);transition:color .2s}
.nrow:hover .nrow__a{color:var(--red)}

/* ============ 17. お問い合わせ ============ */
.info-tbl tr{border-bottom:1px solid var(--line)}
.info-tbl th{
  font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:.2em;color:var(--red);
  text-align:left;padding:17px 0;width:30%;vertical-align:top;white-space:nowrap;
}
.info-tbl td{padding:17px 0;font-size:14px;color:var(--chrome);line-height:1.95}
.info-tbl td small{display:block;color:var(--chrome-mid);font-size:12px;margin-top:5px}

.form-row{margin-bottom:22px}
.form-row > label{
  display:block;font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:.18em;
  color:var(--red);margin-bottom:9px;
}
.form-row > label i{font-style:normal;font-family:var(--body);font-size:11px;color:var(--chrome-dark);margin-left:9px;letter-spacing:0}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],textarea,select{
  width:100%;background:var(--steel);border:1px solid var(--line);color:var(--chrome);
  padding:15px 16px;font-family:var(--body);font-size:15px;line-height:1.7;
  transition:border-color .2s;border-radius:0;-webkit-appearance:none;appearance:none;
}
textarea{min-height:190px;resize:vertical}
select{background-image:linear-gradient(45deg,transparent 50%,var(--chrome-mid) 50%),linear-gradient(135deg,var(--chrome-mid) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--red)}
input::placeholder,textarea::placeholder{color:var(--chrome-dark)}
.wpcf7-submit,input[type=submit],button[type=submit]{
  background:var(--red);color:#FFF;border:none;padding:18px 44px;
  font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.06em;
  cursor:pointer;transition:background .2s;width:100%;min-height:58px;border-radius:0;-webkit-appearance:none;
}
.wpcf7-submit:hover,input[type=submit]:hover,button[type=submit]:hover{background:var(--red-deep)}
.wpcf7-not-valid-tip{color:var(--red);font-size:12px;margin-top:6px}
.wpcf7-response-output{
  border:1px solid var(--line)!important;padding:16px 18px!important;margin:22px 0 0!important;
  font-size:13.5px;color:var(--chrome-mid);
}

.map{aspect-ratio:16/9;background:var(--steel);border:1px solid var(--line);overflow:hidden}
.map iframe{width:100%;height:100%;border:0;filter:saturate(.84) contrast(.96) brightness(.97)}

/* ============ 18. SPの電話バー ============ */
.spcall{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:98;
  background:rgba(8,8,10,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);
  padding:10px var(--gut-r) calc(10px + env(safe-area-inset-bottom, 0px)) var(--gut);
  gap:9px;
}
.spcall .btn{flex:1;padding:14px 8px;font-size:13.5px;min-height:52px;min-width:0;
  white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

/* ============ 19. レスポンシブ ============ */
@media (max-width:1100px){
  .gnav{gap:18px}
  .gnav a{font-size:11px;letter-spacing:.12em}
  .hd__tel{padding-left:18px}
  .hd__tel b{font-size:17px}
}
@media (max-width:980px){
  :root{--head-h:62px}
  .fv__in{grid-template-columns:1fr;gap:30px;padding-block:44px 34px}
  .fv__ph{margin-left:calc(var(--gut) * -1)}
  .fv::before{right:-14%;top:auto;bottom:4%;width:112%;height:48%}
  .gnav,.hd__tel{display:none}
  .burger{display:block}
  .grid--4,.works{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work--big{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .work--big .work__n{font-size:19px;padding:34px 16px 14px}
  .detail{grid-template-columns:1fr}
  .spec{grid-column:1;grid-row:auto;position:static}
  .ft__top{grid-template-columns:1fr 1fr;gap:34px}
  .ft__logo{grid-column:1 / -1}
  .facts{grid-template-columns:1fr}
  .fact{border-right:none;border-bottom:1px solid var(--line)}
  .fact:last-child{border-bottom:none}
}
@media (max-width:640px){
  body{font-size:14.5px;padding-bottom:74px}
  .grid--3,.grid--4,.grid--2,.works{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr}
  .num{border-right:none;border-bottom:1px solid var(--line);padding-block:26px}
  .num:last-child{border-bottom:none}
  .fv__in{padding-block:36px 26px;gap:24px}
  .fv h1{font-size:clamp(33px,8.6vw,48px);margin-bottom:20px}
  .fv__since{font-size:11px;letter-spacing:.2em;padding:8px 14px 7px;margin-bottom:21px;
    display:flex;flex-direction:column;align-items:flex-start;gap:5px}
  .fv__since i{display:none}
  .fv__since b{font-size:12.5px;letter-spacing:.06em}
  .fv__lead{font-size:14px;line-height:2;margin-bottom:28px}
  .fv__btns{flex-direction:column}
  .fv__btns .btn{width:100%;min-width:0}
  .cta__btns{flex-direction:column}
  .cta__btns .btn{width:100%;min-width:0}
  .spcall{display:flex}
  .nrow{grid-template-columns:1fr;gap:7px;padding:19px 0}
  .nrow__a{display:none}
  .gal__thumbs{grid-template-columns:repeat(4,1fr)}
  .ft__top{grid-template-columns:1fr;gap:30px}
  .ft__btm{flex-direction:column;align-items:flex-start;gap:10px}
  .rich th,.rich td{display:block;width:auto}
  .rich th{padding-bottom:4px;border-bottom:none}
  .rich td{padding-top:0}
  .info-tbl th,.info-tbl td{display:block;width:auto}
  .info-tbl th{padding:16px 0 5px;border-bottom:none}
  .info-tbl td{padding:0 0 16px}
  .spec__tbl th{width:44%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ============ 14. パーツの買い物（WooCommerce） ============ */
.wc{padding-block:clamp(44px,5.4vw,78px)}
.woocommerce-products-header{display:none}
.wc .woocommerce-notices-wrapper:empty{display:none}

.wc-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;
  padding-bottom:20px;margin-bottom:clamp(26px,3vw,40px);border-bottom:1px solid var(--line);
}
.woocommerce-result-count{
  margin:0!important;font-family:var(--label);font-weight:500;font-size:12px;
  letter-spacing:.14em;color:var(--chrome-mid);
}
.woocommerce-ordering{margin:0!important}
.woocommerce-ordering select,.wc select{
  background:var(--steel);color:var(--chrome);border:1px solid var(--line);
  padding:9px 13px;font-size:13px;font-family:var(--body);border-radius:0;
}

ul.products{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.9vw,26px);margin:0!important;padding:0!important;list-style:none;
}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  background:var(--steel);border:1px solid var(--line);
  transition:border-color .25s;text-align:left;padding:0;min-width:0;
}
ul.products li.product:hover{border-color:var(--chrome-dark)}
ul.products li.product>a{display:block;color:inherit}
ul.products li.product img{
  margin:0!important;width:100%;aspect-ratio:1/1;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
ul.products li.product:hover img{transform:scale(1.04)}
ul.products li.product .pcard__sku{
  display:block;padding:17px 18px 0;
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.15em;color:var(--red);
}
ul.products li.product .woocommerce-loop-product__title{
  padding:8px 18px 0!important;margin:0!important;
  font-size:13.5px!important;font-weight:700;line-height:1.72;color:var(--chrome);
  word-break:auto-phrase;line-break:strict;
}
ul.products li.product .price{
  display:block;padding:10px 18px 0;margin:0!important;
  font-family:var(--label);font-weight:500;font-size:16px;letter-spacing:.04em;color:var(--chrome)!important;
}
ul.products li.product .price del{opacity:.5;font-size:.8em;margin-right:7px}
ul.products li.product .price ins{text-decoration:none;color:var(--red)}
ul.products li.product .button,
ul.products li.product .added_to_cart{
  display:block;margin:15px 18px 18px!important;padding:11px 14px!important;
  background:transparent;border:1px solid var(--chrome-dark);color:var(--chrome)!important;
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.12em;
  text-align:center;border-radius:0;line-height:1.5;transition:background .22s,border-color .22s,color .22s;
}
ul.products li.product .button:hover{background:var(--red);border-color:var(--red);color:#FFF!important}
ul.products li.product .added_to_cart{margin-top:0!important;border-color:var(--red);color:var(--red)!important}
ul.products li.product .onsale{
  position:absolute;margin:0;top:0;left:0;padding:7px 15px;background:var(--red);color:#FFF;
  font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:.2em;border-radius:0;min-height:0;line-height:1.4;
}
ul.products li.product{position:relative}

/* 1点の画面 */
.wc .product{color:var(--chrome)}
.wc div.product .product_title{
  font-family:var(--serif);font-weight:600;font-size:clamp(23px,3vw,34px);line-height:1.4;
  letter-spacing:.03em;margin-bottom:14px;
}
.wc div.product .price{
  font-family:var(--label);font-weight:600;font-size:clamp(22px,2.6vw,30px);color:var(--chrome)!important;
  margin-bottom:22px;
}
.wc div.product form.cart{margin-bottom:26px}
.wc div.product .quantity input{
  background:var(--steel);border:1px solid var(--line);color:var(--chrome);padding:11px;width:76px;
}
.wc .single_add_to_cart_button{
  background:var(--red)!important;color:#FFF!important;border:none!important;border-radius:0!important;
  font-family:var(--label);font-weight:600;font-size:14px;letter-spacing:.1em;padding:15px 32px!important;
}
.wc .single_add_to_cart_button:hover{background:var(--red-deep)!important}
.wc .product_meta{font-size:12.5px;color:var(--chrome-mid);border-top:1px solid var(--line);padding-top:18px}
.wc .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0!important}
.wc .woocommerce-tabs ul.tabs::before{display:none!important}
.wc .woocommerce-tabs ul.tabs li{
  background:transparent!important;border:none!important;border-radius:0!important;margin:0 24px 0 0!important;
}
.wc .woocommerce-tabs ul.tabs li::before,.wc .woocommerce-tabs ul.tabs li::after{display:none!important}
.wc .woocommerce-tabs ul.tabs li a{
  color:var(--chrome-mid)!important;font-family:var(--label);font-weight:600;font-size:12.5px;letter-spacing:.14em;
  padding:13px 0!important;
}
.wc .woocommerce-tabs ul.tabs li.active a{color:var(--chrome)!important;box-shadow:inset 0 -2px 0 var(--red)}
/* 「説明」の下が空きすぎていたので詰める */
.wc .woocommerce-tabs .panel{margin:0!important;padding:clamp(22px,2.4vw,30px) 0 0!important}
.wc .woocommerce-tabs .panel>*:last-child{margin-bottom:0!important}
.wc .woocommerce-tabs .panel h2{display:none}

/* カート・お会計・マイページ */
.wc table.shop_table,.wc table.cart{
  background:var(--steel);border:1px solid var(--line);border-radius:0;border-collapse:collapse;color:var(--chrome);
}
.wc table.shop_table th,.wc table.shop_table td{border-color:var(--line)!important;padding:15px 16px}
.wc table.shop_table th{
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.12em;color:var(--chrome-mid);
}
.wc .cart_totals h2,.wc .woocommerce-billing-fields h3,.wc #order_review_heading,.wc .cross-sells h2{
  font-family:var(--label);font-weight:700;font-size:17px;letter-spacing:.1em;margin-bottom:16px;
}
.wc input[type=text],.wc input[type=email],.wc input[type=tel],.wc input[type=password],
.wc input[type=number],.wc textarea,.wc .select2-container .select2-selection{
  background:var(--steel2)!important;border:1px solid var(--line)!important;color:var(--chrome)!important;
  border-radius:0!important;padding:12px 13px!important;font-family:var(--body);
}
.wc .button,.wc button.button,.wc input.button,.wc a.button{
  background:var(--chrome-dark);color:var(--chrome);border-radius:0;
  font-family:var(--label);font-weight:600;letter-spacing:.1em;padding:13px 24px;
}
.wc .button:hover{background:var(--chrome-mid);color:var(--void)}
.wc .checkout-button,.wc #place_order{
  background:var(--red)!important;color:#FFF!important;font-size:15px!important;padding:16px 30px!important;
}
.wc .woocommerce-info,.wc .woocommerce-message,.wc .woocommerce-error{
  background:var(--steel);border-top-color:var(--red);color:var(--chrome);border-radius:0;
}
.wc .woocommerce-info a,.wc .woocommerce-message a{color:var(--red)}

@media (max-width:980px){
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  ul.products{grid-template-columns:1fr}
  .wc-head{flex-direction:column;align-items:flex-start;gap:12px}
}

/* ───────────────────────────────
   15. 受注生産と納期（2026-11-11）
   一点ずつ手で作る店なので、買う前に必ず伝える
   ─────────────────────────────── */
.wc-lead{
  margin:20px 0 0;padding:14px 17px;
  background:rgba(142,10,16,.08);
  border-left:2px solid var(--red);
  color:var(--chrome);font-size:13.5px;line-height:1.9;
}
.wc-lead b{
  display:block;margin-bottom:5px;
  font-family:var(--label);font-weight:700;font-size:11.5px;letter-spacing:.17em;
  color:var(--red);
}
.wc-lead--wide{margin:0 0 28px;padding:16px 19px}
.wc-lead--last{margin:0 0 18px;font-size:13px;line-height:1.8}
ul.products li.product .pcard__lead{
  display:block;padding:0 18px 17px;margin-top:-4px;
  font-size:11.5px;letter-spacing:.05em;color:var(--chrome-dark);
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--line);padding:0 0 14px;margin:0 0 14px;
}
.woocommerce-checkout #payment ul.payment_methods li{
  list-style:none;color:var(--chrome);font-size:14px;
}
.woocommerce-checkout #payment ul.payment_methods label{
  font-family:var(--label);font-weight:600;letter-spacing:.08em;
}

/* ───────────────────────────────
   16. パーツ一覧の頭（見出しとカテゴリ）
   ─────────────────────────────── */
.wc-head{margin:0 0 clamp(22px,2.6vw,32px)}
.wc-cats{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:0 0 clamp(24px,2.8vw,36px);
  padding:0 0 clamp(20px,2.4vw,28px);
  border-bottom:1px solid var(--line);
}
.wc-cats__i{
  display:inline-flex;align-items:baseline;gap:9px;
  padding:9px 15px;
  background:var(--steel2);border:1px solid var(--line);
  font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.1em;
  color:var(--chrome-mid);text-transform:uppercase;white-space:nowrap;
  transition:border-color .2s,color .2s,background .2s;
}
.wc-cats__i b{font-weight:500;font-size:10.5px;color:var(--chrome-dark)}
.wc-cats__i:hover{border-color:var(--chrome-dark);color:var(--chrome);background:var(--steel)}
.wc-cats__i.is-on{background:var(--red);border-color:var(--red);color:#FFF}
.wc-cats__i.is-on b{color:rgba(255,255,255,.7)}

.woocommerce-result-count,
.woocommerce-ordering{float:none!important;margin:0!important}
.wc .woocommerce-notices-wrapper + .woocommerce-result-count,
.wc .woocommerce-result-count{
  font-size:12px;letter-spacing:.05em;color:var(--chrome-dark);
  margin-bottom:14px!important;
}
.woocommerce-ordering select{
  background:var(--steel);border:1px solid var(--line);color:var(--chrome);
  padding:9px 13px;font-size:12px;font-family:inherit;border-radius:0;
}
@media (max-width:640px){
  .wc-cats{gap:6px}
  .wc-cats__i{padding:8px 12px;font-size:11px}
}

/* パーツの画面：固定ヘッダーのぶんはパンくず側で空ける */
.crumb--wc{
  padding-top:calc(var(--head-h) + env(safe-area-inset-top, 0px) + clamp(24px,3vw,44px));
  margin-bottom:0;
}
.crumb--wc + .sec.wc{padding-top:clamp(16px,2vw,26px)}

/* ───────────────────────────────
   17. パーツ1点の画面
   左に写真、右に品番・値段・カート
   ─────────────────────────────── */
.wc div.product{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(26px,3.2vw,54px);align-items:start;
}
.wc div.product .woocommerce-product-gallery,
.wc div.product .summary{margin:0!important;width:auto!important;float:none!important}
/* 値段と注文の列。ここを sticky にすると、枠の決まり方の都合で
   下の「説明」や「関連商品」に乗り上げてしまうので、追従はさせない。 */
.wc div.product .woocommerce-product-gallery{grid-column:1;grid-row:1}
.wc div.product .summary{grid-column:2;grid-row:1;align-self:start}
.wc div.product .woocommerce-tabs,
.wc div.product .related,
.wc div.product .up-sells{grid-column:1 / -1;grid-row:auto;
  margin-top:clamp(34px,4vw,60px)!important}
.wc div.product .woocommerce-product-gallery__image{
  border:1px solid var(--line);background:var(--steel2);
}
.wc div.product .woocommerce-product-gallery__image + .woocommerce-product-gallery__image{margin-top:10px}
.wc div.product .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
.wc div.product .woocommerce-product-gallery__trigger{display:none}

.wc div.product .product_title{
  font-weight:900;font-size:clamp(21px,2.5vw,30px);line-height:1.42;
  margin:0 0 15px;color:var(--chrome);
}
.wc div.product p.price,
.wc div.product span.price{
  display:block;font-family:var(--display);font-weight:700;
  font-size:clamp(23px,2.7vw,33px);line-height:1.1;color:var(--chrome);
  margin:0 0 3px;
}
.wc div.product p.price .woocommerce-Price-amount{color:var(--chrome)}
.wc div.product .woocommerce-product-details__short-description{
  margin-top:18px;font-size:14px;line-height:2;color:var(--chrome-mid);
}
.wc div.product form.cart{margin:24px 0 0!important}
.wc div.product form.cart .quantity{margin-right:10px}
.wc div.product form.cart .quantity input{
  background:var(--steel);border:1px solid var(--line);color:var(--chrome);
  padding:13px 10px;width:74px;font-size:15px;text-align:center;
}
.wc div.product .single_add_to_cart_button{
  padding:15px 30px!important;border:none!important;border-radius:0!important;
  background:var(--red)!important;color:#FFF!important;
  font-family:var(--label);font-weight:700;font-size:13px;letter-spacing:.15em;
  transition:background .2s;
}
.wc div.product .single_add_to_cart_button:hover{background:#D41619!important}
.wc div.product .product_meta{
  margin-top:24px;padding-top:20px;border-top:1px solid var(--line);
  font-size:12.5px;line-height:2;color:var(--chrome-dark);
}
.wc div.product .product_meta a{color:var(--chrome-mid)}
.wc div.product .product_meta a:hover{color:var(--red)}
.wc .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 20px;padding:0 0 14px;
  border-bottom:1px solid var(--line);display:flex;gap:22px}
.wc .woocommerce-tabs ul.tabs li a{
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.13em;
  color:var(--chrome-mid);text-transform:uppercase;
}
.wc .woocommerce-tabs ul.tabs li.active a{color:var(--red)}
.wc .woocommerce-tabs .panel{font-size:14.5px;line-height:2.05;color:var(--chrome)}
.wc .related > h2,.wc .up-sells > h2{
  font-family:var(--display);font-weight:700;font-size:clamp(19px,2.2vw,26px);
  letter-spacing:.05em;color:var(--chrome);margin:0 0 22px;
}
@media (max-width:860px){
  .wc div.product{grid-template-columns:1fr}
  .wc div.product .woocommerce-product-gallery,
  .wc div.product .summary{grid-column:1;grid-row:auto;position:static}
}

/* ============ 18. お問い合わせフォーム ============ */
.cform{display:grid;gap:clamp(16px,2vw,22px)}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__row{display:grid;gap:9px}
.cform__2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,22px)}
.cform__l{font-family:var(--label);font-weight:600;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--chrome-mid);display:flex;align-items:center;gap:9px}
.cform__l i{font-style:normal;font-size:10px;letter-spacing:.08em;padding:3px 7px;
  background:var(--red);color:#FFF}
.cform__i{width:100%;padding:13px 15px;background:var(--steel2);border:1px solid var(--line);
  color:var(--chrome);font-size:14.5px;font-family:inherit;line-height:1.7;border-radius:0}
.cform__i:focus{outline:none;border-color:var(--red);background:var(--steel)}
.cform__i::placeholder{color:var(--chrome-dark)}
.cform__ta{resize:vertical;min-height:150px}
.cform__note{margin-top:-4px;font-size:12px;line-height:1.9;color:var(--chrome-dark)}
.cform__done{padding:clamp(22px,3vw,34px);background:var(--steel);border-left:3px solid var(--red)}
.cform__done-h{margin-bottom:13px;font-weight:800;font-size:clamp(17px,2.1vw,21px);color:var(--chrome)}
.cform__done p{font-size:14px;line-height:2.05;color:var(--chrome-mid)}
.cform__done a,.cform__err a{color:var(--chrome);border-bottom:1px solid var(--chrome-dark)}
.cform__err{margin-bottom:22px;padding:15px 18px;background:rgba(142,10,16,.14);
  border-left:3px solid var(--red);font-size:13.5px;line-height:1.95;color:var(--chrome)}
select.cform__i{appearance:none;-webkit-appearance:none;padding-right:42px;
  background-image:linear-gradient(45deg,transparent 50%,var(--chrome-mid) 50%),
                   linear-gradient(135deg,var(--chrome-mid) 50%,transparent 50%);
  background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
@media (max-width:640px){ .cform__2{grid-template-columns:1fr} }

/* ============ 19. 注文の導線（かごを使わない） ============ */
.wc-order{display:grid;gap:10px;margin-top:24px}
.wc-order__n{margin-top:5px;font-size:12.5px;line-height:1.95;color:var(--chrome-dark)}
ul.products li.product{position:relative}
.pcard__order{display:block;padding:0 18px 18px;font-family:var(--label);font-weight:600;
  font-size:11px;letter-spacing:.13em;color:var(--red);text-transform:uppercase}
.pcard__link{position:absolute;inset:0;z-index:2;text-indent:-9999px;overflow:hidden}

/* 代表作の仕様名 */
.cb-spec{margin-bottom:26px;font-family:var(--label);font-weight:600;font-size:13px;
  letter-spacing:.1em;color:var(--red);line-height:1.8}
.work__n em{display:block;margin-top:7px;font-style:normal;font-family:var(--label);
  font-weight:500;font-size:10.5px;letter-spacing:.09em;color:var(--chrome-mid);line-height:1.6}

/* 分類を、探す順にまとめて出す */
.wc-cats--all{margin-bottom:clamp(20px,2.4vw,30px)}
.wc-cats--all .wc-cats__i{padding:13px 24px;font-size:12.5px}
.wc-grp{display:grid;gap:clamp(18px,2.2vw,28px);margin-bottom:clamp(30px,3.6vw,48px)}
.wc-grp__h{margin:0 0 11px;font-family:var(--label);font-weight:700;font-size:10.5px;
  letter-spacing:.17em;color:var(--chrome-dark);text-transform:uppercase}
.wc-grp .wc-cats{margin-bottom:0}
.wc-grp .wc-cats__i{display:inline-flex;flex-direction:column;align-items:flex-start;
  gap:3px;padding:11px 17px 10px;line-height:1.3}
.wc-grp .wc-cats__i em{font-style:normal;font-family:var(--jp);font-weight:500;
  font-size:11.5px;letter-spacing:.02em;color:var(--chrome-mid)}
.wc-grp .wc-cats__i.is-on em{color:rgba(255,255,255,.72)}
.wc-grp .wc-cats__i b{position:absolute;top:8px;right:10px;font-size:9.5px}
.wc-grp .wc-cats__i{position:relative;padding-right:34px}
@media(max-width:600px){
  .wc-grp .wc-cats__i{padding:9px 30px 9px 13px}
  .wc-grp .wc-cats__i em{font-size:10.5px}
}

/* 商品カードの日本語の一言 */
.pcard__note{margin:5px 0 0;font-size:11.5px;line-height:1.62;color:var(--chrome-mid);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* WooCommerce の既定の並び替えまわりを、画面に馴染ませる */
.woocommerce-result-count{margin:0;font-family:var(--label);font-size:10.5px;
  letter-spacing:.12em;color:var(--chrome-dark)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{appearance:none;-webkit-appearance:none;
  padding:9px 34px 9px 14px;border:1px solid var(--line);border-radius:2px;
  background:var(--steel) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23777'/%3E%3C/svg%3E") no-repeat right 13px center/9px 6px;
  color:var(--chrome);font-family:var(--jp);font-size:12px;cursor:pointer}
.woocommerce-ordering select:focus{outline:0;border-color:var(--red)}
.wc .woocommerce-notices-wrapper{display:none}
.wc-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding-bottom:16px;margin-bottom:clamp(20px,2.4vw,28px);
  border-bottom:1px solid var(--line)}

/* 価格がまだ入っていない売り物 */
.bcard__price--ask{font-family:var(--jp);font-weight:600;font-size:12.5px;
  letter-spacing:.02em;color:var(--chrome-mid)}

/* トップのパーツカードの一言 */
.pcard__b .pcard__note{margin:6px 0 9px}

/* トップのお知らせ */
.tnews{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tnews li{border-bottom:1px solid var(--line)}
.tnews a{display:flex;align-items:baseline;gap:clamp(14px,2.2vw,30px);
  padding:clamp(16px,1.9vw,22px) 4px;color:var(--chrome);text-decoration:none;
  transition:background .2s,padding .2s}
.tnews a:hover{background:var(--steel);padding-left:14px;padding-right:14px}
.tnews time{flex:0 0 auto;font-family:var(--label);font-weight:600;font-size:11.5px;
  letter-spacing:.11em;color:var(--chrome-dark)}
.tnews span{flex:1 1 auto;min-width:0;font-size:14.5px;line-height:1.65}
.tnews i{flex:0 0 auto;font-style:normal;color:var(--red)}
@media(max-width:600px){
  .tnews a{flex-wrap:wrap;gap:5px 14px}
  .tnews span{flex:1 1 100%;font-size:13.5px}
}

/* 何の店か、名前のとなりに一言 */
.hd__cat{
  margin:0 0 0 clamp(16px,1.6vw,24px);padding-left:clamp(16px,1.6vw,24px);
  border-left:1px solid var(--line);font-family:var(--jp);font-weight:600;
  font-size:11.5px;line-height:1.62;letter-spacing:.05em;color:var(--chrome-mid);
  white-space:nowrap;flex-shrink:0;
}
@media(max-width:1180px){.hd__cat{display:none}}
.fv__since b{
  font-family:var(--jp);font-weight:700;font-size:13.5px;letter-spacing:.1em;
  color:var(--chrome);
}
.ft__addr b{display:block;margin-bottom:6px;font-family:var(--jp);font-weight:700;
  font-size:12.5px;letter-spacing:.04em;color:var(--chrome)}

/* 在庫がないときの一言 */
.sec-foot{margin:clamp(22px,2.6vw,32px) 0 0;padding:clamp(16px,1.8vw,22px) clamp(18px,2vw,26px);
  border:1px solid var(--line);background:var(--steel2);border-radius:2px;
  font-size:13px;line-height:1.95;color:var(--chrome-mid)}
.sec-foot a{display:inline-flex;align-items:center;gap:7px;margin-left:10px;
  font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.07em;
  color:var(--red);text-decoration:none;white-space:nowrap}
.sec-foot a i{font-style:normal;transition:transform .25s}
.sec-foot a:hover i{transform:translateX(4px)}
.list-note{margin:0 0 clamp(22px,2.6vw,30px);padding:clamp(15px,1.7vw,20px) clamp(17px,1.9vw,24px);
  border-left:2px solid var(--red);background:var(--steel2);
  font-size:13px;line-height:1.95;color:var(--chrome-mid)}

/* ============ 本文へ飛ぶリンク ============
   キーボードで来た人が、毎回メニューを通らずに本文へ行けるように。
   ふだんは画面の外にいて、Tabで来たときだけ出てくる。 */
.skip{position:absolute;left:-9999px;top:0;z-index:200;
  display:inline-block;padding:13px 22px;
  background:var(--red);color:#fff;text-decoration:none;
  font-family:var(--label);font-weight:600;font-size:13px;letter-spacing:.06em}
.skip:focus{left:12px;top:12px}

/* ── お店の写真 ───────────────────────────── */
.sec--shots{padding-top:0}
.shopgal{
  display:grid;gap:12px;
  grid-template-columns:1.05fr 1fr 1fr;
  grid-template-rows:auto auto}
.shopgal figure{margin:0;overflow:hidden;background:#0a0a0a;border:1px solid rgba(255,255,255,.07)}
.shopgal img{display:block;width:100%;height:100%;object-fit:cover}
.shopgal__a{grid-row:span 2}
.shopgal__a img{aspect-ratio:3/4}
.shopgal__b img,.shopgal__c img{aspect-ratio:4/3}
.shopgal__d{grid-column:span 2}
.shopgal__d img{aspect-ratio:16/7}
@media(max-width:860px){
  .shopgal{grid-template-columns:1fr 1fr}
  .shopgal__a{grid-row:auto;grid-column:span 2}
  .shopgal__a img{aspect-ratio:4/3}
  .shopgal__d{grid-column:span 2}
}
@media(max-width:520px){
  .shopgal{grid-template-columns:1fr;gap:10px}
  .shopgal__a,.shopgal__d{grid-column:auto}
  .shopgal__d img{aspect-ratio:4/3}
}
/* アクセスのページに出す外観。縦長の写真なので、横長に切り出して出す */
.acc-ph{margin:0 0 22px;overflow:hidden;background:#0a0a0a;border:1px solid rgba(255,255,255,.07);position:relative}
.acc-ph img{display:block;width:100%;object-fit:cover;object-position:center 7%;
  height:clamp(260px,30vw,420px)}
.acc-ph figcaption{
  position:absolute;left:0;bottom:0;padding:9px 14px;
  background:rgba(8,8,8,.74);color:#cfcfcf;
  font-family:var(--label);font-size:12px;letter-spacing:.04em}
@media(max-width:620px){.acc-ph img{height:clamp(200px,52vw,280px);object-position:center 10%}}
