@charset "UTF-8";
/* =========================================================
   SUN SELECT JAPAN  /  style.css
   PC: 1440基準  /  TB: 〜1023px  /  SP: 〜767px
   ========================================================= */

/* ---------- tokens ---------- */
:root {
  --c-navy: #00308d;
  --c-navy-deep: #0f2544;
  --c-blue: #1771cf;
  --c-blue-d: #1058a8;
  --c-blue-l: #3a8be6;
  --c-gold: #feca0c;
  --c-red: #ea383d;
  --c-text: #16273c;
  --c-sub: #4c6180;
  --c-muted: #7e8fa5;
  --c-line: #dde6f0;
  --c-haze: #eef6fe;
  --c-white: #fff;
  --ff-ja: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --ff-zen: "Zen Kaku Gothic New", var(--ff-ja);
  --ff-num: "Barlow", var(--ff-ja);
  --ff-en: "Barlow Condensed", "Barlow", sans-serif;
  --wrap: 1180px;
  --narrow: 880px;
  --gutter: 40px;
  --radius: 10px;
  --shadow: 0 6px 24px rgba(21, 36, 65, .08);
  --header-h: 80px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--ff-ja);
  font-size: 15px;
  line-height: 1.8;
  color: var(--c-text);
  background: #fdfdfd;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
table { border-collapse: collapse; width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pc-only { display: inline; }
.sp-only { display: none; }

/* ---------- layout ---------- */
.ssj-wrap { width: min(var(--wrap), 100% - var(--gutter) * 2); margin-inline: auto; position: relative; z-index: 1; }
.ssj-wrap.-narrow { width: min(var(--narrow), 100% - var(--gutter) * 2); }
.ssj-sec { position: relative; padding: 100px 0; overflow: hidden; }
.ssj-sec.-haze { background: var(--c-haze); }
.ssj-sec.-ink { background: var(--c-navy); color: #fff; }
.ssj-sec.-tight { padding: 72px 0; }
.ssj-deco { position: absolute; pointer-events: none; z-index: 0; }
.ssj-deco.-tl { top: 0; left: 0; width: 484px; }
.ssj-deco.-br { right: 0; bottom: 0; width: 446px; }
.ssj-deco.-tr { top: 0; right: 0; width: 446px; transform: scaleY(-1); }

/* ---------- section head ---------- */
.ssj-head { margin-bottom: 44px; }
.ssj-head.-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.ssj-head.-center { text-align: center; }
.ssj-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--ff-en); font-weight: 700; font-size: 14.5px; letter-spacing: .04em;
  color: var(--c-sub); line-height: 1.2; margin: 0 0 10px;
}
.ssj-eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; opacity: .6; }
.ssj-title { font-size: 33px; font-weight: 700; line-height: 1.45; letter-spacing: .02em; }
.ssj-title.-m { font-size: 26px; }
.ssj-title.-s { font-size: 22px; }
.ssj-lead { margin-top: 12px; font-size: 14.5px; color: var(--c-sub); line-height: 1.8; }
.-ink .ssj-eyebrow, .-ink .ssj-lead { color: #b9c6d0; }
.ssj-title .-blue { color: var(--c-blue); }

/* ---------- buttons ---------- */
.ssj-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 10px 28px; border-radius: 4px; border: 1px solid transparent;
  font-weight: 700; font-size: 15px; line-height: 1.4; text-align: center;
  transition: background-color .2s, color .2s, opacity .2s, transform .2s;
}
.ssj-btn:hover { opacity: .88; }
.ssj-btn .arw { width: 14px; height: 14px; flex: none; }
.ssj-btn.-primary { background: var(--c-blue); color: #fff; }
.ssj-btn.-outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .8); }
.ssj-btn.-outline-blue { background: #fff; color: var(--c-blue-d); border-color: var(--c-blue-d); }
.ssj-btn.-gold { background: var(--c-gold); color: var(--c-navy-deep); }
.ssj-btn.-pill { border-radius: 999px; background: linear-gradient(90deg, #2a8ae6, var(--c-blue)); color: #fff; box-shadow: 0 6px 16px rgba(23, 113, 207, .3); }
.ssj-btn.-block { width: 100%; }
.ssj-btn.-lg { min-height: 58px; font-size: 16px; }

.ssj-more-link {
  display: inline-flex; align-items: center; gap: 14px; flex: none;
  padding-bottom: 8px; border-bottom: 2px solid var(--c-blue);
  font-size: 14px; font-weight: 700; color: var(--c-text);
}
.ssj-more-link svg { width: 14px; height: 14px; transition: transform .2s; }
.ssj-more-link:hover svg { transform: translateX(4px); }

/* =========================================================
   HEADER
   ========================================================= */
.l-header { position: sticky; top: 0; z-index: 100; background: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .04); }
.l-header.-bar { border-top: 6px solid var(--c-blue); }
.l-header__inner { display: flex; align-items: center; gap: 20px; height: var(--header-h); padding: 0 32px 0 40px; }
.l-header__logo { flex: none; width: 290px; }
.l-header__logo img { width: 100%; }
.c-gnav-wrap { margin-left: auto; }
.c-gnav { display: flex; align-items: center; gap: 24px; }
.c-gnav a { display: block; font-size: 14px; font-weight: 700; color: #17263a; white-space: nowrap; position: relative; padding: 8px 0; }
.c-gnav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--c-blue); transform: scaleX(0); transition: transform .2s; }
.c-gnav a:hover::after, .c-gnav a.is-current::after { transform: scaleX(1); }
.c-gnav a.is-current { color: var(--c-blue); }
.sh-tools { display: flex; align-items: center; gap: 10px; flex: none; }
.sh-tel { text-align: right; line-height: 1.2; }
.sh-tel-num { display: block; font-size: 19px; font-weight: 700; color: var(--c-navy-deep); letter-spacing: .02em; }
.sh-tel-hours { font-size: 11px; color: #6b7c90; }
.sh-login { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 18px; border-radius: 999px; background: var(--c-blue); color: #fff; font-size: 13px; font-weight: 700; }
.sh-login svg { width: 14px; height: 14px; }
.l-header__menu { display: none; }

/* drawer (TB/SP) */
.p-drawer { position: fixed; inset: 0; z-index: 99; visibility: hidden; }
.p-drawer__bg { position: absolute; inset: 0; background: rgba(15, 37, 68, .55); opacity: 0; transition: opacity .3s; }
.p-drawer__panel {
  position: absolute; top: 0; right: 0; width: min(360px, 86%); height: 100%; overflow-y: auto;
  background: #fff; padding: calc(var(--header-h) + 16px) 28px 40px; transform: translateX(100%); transition: transform .3s;
}
.p-drawer__nav a { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px; border-bottom: 1px solid var(--c-line); font-weight: 700; }
.p-drawer__nav a::after { content: ""; width: 7px; height: 7px; border-top: 2px solid var(--c-blue); border-right: 2px solid var(--c-blue); transform: rotate(45deg); }
.p-drawer__nav a.is-current { color: var(--c-blue); }
.p-drawer__tel { margin-top: 28px; text-align: center; }
.p-drawer__tel a { font-family: var(--ff-num); font-size: 28px; font-weight: 700; color: var(--c-navy-deep); }
.p-drawer__tel span { display: block; font-size: 12px; color: var(--c-muted); }
.p-drawer__btns { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
body.is-drawer-open { overflow: hidden; }
body.is-drawer-open .p-drawer { visibility: visible; }
body.is-drawer-open .p-drawer__bg { opacity: 1; }
body.is-drawer-open .p-drawer__panel { transform: none; }

/* breadcrumb */
.c-bread { background: #f5f6f8; font-size: 11.5px; color: var(--c-sub); }
.c-bread ol { display: flex; gap: 6px; padding: 8px 40px; }
.c-bread li + li::before { content: "›"; margin-right: 6px; color: var(--c-muted); }
.c-bread a:hover { color: var(--c-blue); }

/* =========================================================
   FOOTER
   ========================================================= */
.l-footer { background: linear-gradient(180deg, #133a6b 0%, #0e2748 100%); color: #dbe6f3; border-bottom: 14px solid #1d4a8f; }
.sf-in { display: grid; grid-template-columns: 1.35fr .9fr 1fr 1fr; gap: 40px; width: min(1144px, 100% - 80px); margin-inline: auto; padding: 72px 0 56px; }
.sf-logo { font-size: 19px; font-weight: 700; color: #fff; margin-bottom: 18px; }
.sf-tag { font-size: 13.5px; opacity: .85; line-height: 1.8; margin-bottom: 18px; }
.sf-addr { font-size: 12.5px; opacity: .7; line-height: 1.8; }
.sf-addr b { font-weight: 700; }
.sf-col h4 { font-size: 15px; color: #fff; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid rgba(219, 230, 243, .35); }
.sf-col ul { padding-left: 14px; }
.sf-col li a { display: inline-block; font-size: 14px; padding: 4px 0; }
.sf-col li a:hover { color: #fff; text-decoration: underline; }
.sf-tel { display: block; font-size: 24px; font-weight: 700; color: #fff; line-height: 1.3; }
.sf-hours { display: block; font-size: 12px; opacity: .7; margin: 6px 0 18px; }
.sf-btn { display: inline-flex; align-items: center; justify-content: center; padding: 13px 22px; border-radius: 999px; background: linear-gradient(90deg, #2a8ae6, var(--c-blue)); color: #fff; font-size: 14px; font-weight: 700; }
.sf-bottom { width: min(1200px, 100% - 80px); margin-inline: auto; border-top: 1px solid rgba(219, 230, 243, .15); padding: 18px 0 22px; text-align: center; font-size: 12px; opacity: .7; }

/* =========================================================
   PAGE HEAD (lower pages)
   ========================================================= */
.ssj-phead { position: relative; height: 245px; overflow: hidden; background: var(--c-navy) center / cover no-repeat; color: #fff; }
.ssj-phead::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 44%;
  background: linear-gradient(115deg, #0a2a8a 0%, #0d47c9 70%, #1468e0 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
}
.ssj-phead::after {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 50%;
  background: rgba(90, 160, 245, .75);
  clip-path: polygon(89% 0, 94% 0, 66% 100%, 61% 100%);
}
.ssj-phead__in { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-left: 132px; max-width: 600px; }
.ssj-phead .ssj-eyebrow { color: var(--c-gold); margin-bottom: 4px; }
.ssj-phead .ssj-eyebrow::before { display: none; }
.ssj-phead__title { font-size: 36px; font-weight: 700; line-height: 1.4; }
.ssj-phead__title em { font-style: normal; color: var(--c-gold); }
.ssj-phead__lead { margin-top: 14px; font-size: 14px; line-height: 1.75; max-width: 320px; }
/* text-only variant (04-x) */
.ssj-phead.-plain { background: linear-gradient(180deg, #0c3f8f 0%, #0b2a5e 100%); }
.ssj-phead.-plain::before, .ssj-phead.-plain::after { display: none; }
.ssj-phead.-plain .ssj-phead__in { max-width: none; width: min(var(--wrap), 100% - 80px); margin-inline: auto; padding-left: 0; }
.ssj-phead.-plain .ssj-eyebrow { padding-left: 36px; }
.ssj-phead.-plain .ssj-phead__lead { max-width: none; color: #b9c6d0; font-size: 14.5px; }

/* =========================================================
   COMMON COMPONENTS
   ========================================================= */
/* flow steps */
.ssj-flow { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.ssj-step { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 22px 12px 24px; text-align: center; }
.ssj-step__no { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-navy); color: #fff; font-family: var(--ff-num); font-size: 14px; font-weight: 700; line-height: 1; }
.ssj-step.-blue .ssj-step__no { background: var(--c-blue); }
.ssj-step__t { margin-top: 8px; font-size: 14.5px; font-weight: 700; line-height: 1.5; }
.ssj-step__pic { display: block; width: 100%; max-width: 156px; height: 104px; object-fit: contain; margin: 14px auto 12px; }
.ssj-step__d { font-size: 12px; line-height: 1.6; color: var(--c-sub); }

/* FAQ */
.ssj-faq details { border-bottom: 1px solid var(--c-line); }
.ssj-faq details:first-child { border-top: 1px solid var(--c-line); }
.ssj-faq summary { list-style: none; position: relative; padding: 18px 48px 18px 34px; font-size: 15.5px; font-weight: 700; cursor: pointer; }
.ssj-faq summary::-webkit-details-marker { display: none; }
.ssj-faq summary::before { content: "Q"; position: absolute; left: 4px; top: 16px; font-family: var(--ff-en); font-size: 18px; color: var(--c-blue); }
.ssj-faq summary::after { content: ""; position: absolute; right: 16px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(45deg); transition: transform .2s; }
.ssj-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.ssj-faq .a { padding: 0 20px 22px 54px; font-size: 14px; color: var(--c-sub); line-height: 1.9; }

/* call box */
.ssj-callbox { display: flex; align-items: center; justify-content: space-between; gap: 40px; background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 30px 32px; box-shadow: var(--shadow); }
.ssj-callbox__lb { font-size: 12.5px; font-weight: 700; color: var(--c-sub); }
.ssj-callbox__tel { display: block; font-family: var(--ff-num); font-size: 34px; font-weight: 700; line-height: 1.25; letter-spacing: .01em; }
.ssj-callbox small { display: block; font-family: var(--ff-zen); font-size: 12px; color: var(--c-muted); }
.ssj-callbox .ssj-btn { flex: 0 1 344px; min-height: 60px; font-size: 16px; }
.ssj-callbox.-lg { padding: 48px 120px; }
.ssj-callbox.-lg .ssj-callbox__tel { font-size: 40px; }

/* box / split */
.ssj-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ssj-box { background: #fff; border: 1px solid var(--c-line); border-radius: 12px; padding: 32px 28px; }
.ssj-box__t { font-size: 18px; font-weight: 700; margin-bottom: 20px; }
.ssj-spec { border: 1px solid var(--c-line); }
.ssj-spec th, .ssj-spec td { border: 1px solid var(--c-line); padding: 12px 14px; font-size: 13.5px; text-align: left; vertical-align: top; }
.ssj-spec th { width: 38%; background: #eef4fb; color: var(--c-sub); font-weight: 700; }
.ssj-spec td { font-family: var(--ff-zen); }
.ssj-note { margin-top: 18px; padding: 14px 16px; background: #eef4fb; border-radius: 6px; font-size: 13px; color: var(--c-sub); }
.ssj-check li { position: relative; padding: 10px 0 10px 30px; border-bottom: 1px solid var(--c-line); font-size: 13px; line-height: 1.6; }
.ssj-check li::before { content: ""; position: absolute; left: 6px; top: 15px; width: 10px; height: 6px; border-left: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(-45deg); }

/* stock card */
.ssj-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: 8px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.ssj-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.ssj-thumb { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e9edf2; }
.ssj-thumb > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ssj-bdgs { position: absolute; top: 8px; left: 8px; display: flex; gap: 4px; }
.ssj-bdg { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 3px; background: rgba(15, 37, 68, .82); color: #fff; font-size: 11px; font-weight: 700; }
.ssj-bdg svg { width: 12px; height: 12px; }
.ssj-pcount { position: absolute; right: 8px; bottom: 8px; min-width: 26px; height: 24px; display: grid; place-items: center; padding: 0 6px; border-radius: 3px; background: rgba(15, 37, 68, .72); color: #fff; font-family: var(--ff-num); font-size: 11.5px; }
.ssj-fav { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); color: var(--c-blue); }
.ssj-fav svg { width: 20px; height: 20px; }
.ssj-fav.is-on svg { fill: currentColor; }
.ssj-subs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: #fff; }
.ssj-sub { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.ssj-sub img { width: 100%; height: 100%; object-fit: cover; }
.ssj-sub.-more::after { content: attr(data-more); position: absolute; inset: 0; display: grid; place-items: center; background: rgba(15, 37, 68, .45); color: #fff; font-family: var(--ff-num); font-size: 14px; font-weight: 700; }
.ssj-card-body { display: flex; flex-direction: column; flex: 1; padding: 16px 16px 16px; }
.ssj-maker { font-family: var(--ff-zen); font-size: 12.5px; font-weight: 700; color: var(--c-sub); line-height: 1.4; }
.ssj-model { font-size: 18px; font-weight: 700; color: var(--c-navy-deep); line-height: 1.4; margin-bottom: 10px; }
.ssj-spec-mini { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; font-size: 12.5px; line-height: 1.6; }
.ssj-spec-mini dt { font-size: 11.5px; font-weight: 700; color: var(--c-muted); }
.ssj-spec-mini dd { text-align: right; font-family: var(--ff-zen); font-weight: 700; }
.ssj-spec-mini dd.-num { font-family: var(--ff-num); }
.ssj-tags { display: flex; flex-wrap: wrap; gap: 5px; padding: 12px 0; margin-top: 10px; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.ssj-tags span { padding: 1px 7px; border: 1px solid #b9cbe0; border-radius: 3px; font-size: 11px; color: var(--c-blue-d); line-height: 1.6; }
.ssj-card-foot { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; margin-top: auto; padding-top: 18px; }
.ssj-price { font-family: var(--ff-num); font-size: 24px; font-weight: 700; color: var(--c-red); line-height: 1.2; }
.ssj-note-s { font-size: 11px; color: var(--c-muted); }
.ssj-card-btn { display: flex; align-items: center; justify-content: center; height: 42px; margin-top: 12px; border-radius: 4px; background: var(--c-blue); color: #fff; font-size: 13.5px; font-weight: 700; }

/* =========================================================
   TOP
   ========================================================= */
.ssj-hero { position: relative; height: 660px; overflow: hidden; color: #fff; background: #0a2a63 url(../img/hero-top.jpg) center 30% / cover no-repeat; }
.ssj-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(-57.69deg, rgba(0, 50, 112, 0) 55.365%, rgba(0, 50, 112, .8) 77.293%); }
.ssj-hero__stripes { position: absolute; left: 0; top: 0; z-index: 1; width: 300px; height: 600px; overflow: visible; pointer-events: none; }
.ssj-hero__inner { position: relative; z-index: 2; width: auto; margin: 0 40px 0 max(40px, 50% - 570px); padding-top: 150px; }
.ssj-kw { font-size: 18px; font-weight: 700; letter-spacing: .04em; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.ssj-hero__title { margin-top: 10px; font-size: 56px; font-weight: 900; line-height: 1.32; letter-spacing: .04em; text-shadow: 0 3px 14px rgba(0, 0, 0, .35); }
.ssj-hero__lead { margin-top: 28px; font-size: 16px; font-weight: 700; line-height: 1.9; text-shadow: 0 2px 8px rgba(0, 0, 0, .45); }
.ssj-stockcard {
  position: absolute; right: 25px; bottom: 30px; z-index: 2; display: flex; align-items: center; gap: 28px;
  padding: 18px 20px 18px 22px; background: #fff; color: var(--c-text); box-shadow: 4px 4px 13px rgba(21, 36, 65, .25);
}
.ssj-stockcard .lb { font-family: var(--ff-en); font-weight: 700; font-size: 11px; color: var(--c-blue-d); letter-spacing: .04em; line-height: 1; }
.ssj-stockcard .num { font-family: var(--ff-zen); font-size: 14px; font-weight: 700; line-height: 1; display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.ssj-stockcard .num b { font-family: var(--ff-num); font-size: 30px; color: var(--c-blue-d); }
.ssj-stockcard .btns { display: flex; gap: 10px; }
.ssj-stockcard .ssj-btn { min-height: 46px; padding: 8px 18px; font-size: 13.5px; }

/* finder */
.ssj-finder { background: var(--c-navy); padding: 26px 0 24px; }
.ssj-finder form, .ssj-finder__form { display: grid; grid-template-columns: repeat(4, 1fr) 180px; gap: 10px 12px; align-items: end; }
.ssj-field label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: #a9bac6; line-height: 1.2; }
.ssj-field select, .ssj-field input { width: 100%; height: 52px; padding: 0 14px; border: 0; border-radius: 3px; background: #fff; font-size: 15px; color: var(--c-text); }
.ssj-field select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316273c' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center no-repeat; padding-right: 36px; }
.ssj-field input::placeholder { color: #999; }
.ssj-finder__foot { text-align: center; }
.ssj-finder__go { width: 100%; height: 52px; border: 0; border-radius: 3px; background: var(--c-blue); color: #fff; font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ssj-finder__go svg { width: 16px; height: 16px; }
.ssj-finder__clear { margin-top: 4px; border: 0; background: none; font-size: 12px; font-weight: 700; color: #a9bac6; }

/* purchase pillars */
.ssj-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ssj-pillar { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--c-line); border-top: 6px solid #002979; border-radius: 0 0 10px 10px; padding: 52px 0 32px 34px; display: flex; flex-direction: column; }
.ssj-pillar.-sell { border-top-color: #1468c0; }
.ssj-pillar__photo { position: absolute; top: 0; right: 0; height: 100%; width: 50%; object-fit: cover; object-position: left center; }
.ssj-pillar.-sell .ssj-pillar__photo { width: 39%; }
.ssj-pillar__in { position: relative; z-index: 1; width: 62%; }
.ssj-pillar__lb { font-family: var(--ff-zen); font-size: 16px; font-weight: 700; color: var(--c-sub); letter-spacing: .02em; }
.ssj-pillar__t { font-size: 26px; font-weight: 700; color: var(--c-navy); line-height: 1.4; margin: 2px 0 18px; }
.ssj-pillar.-sell .ssj-pillar__t { color: var(--c-blue-d); }
.ssj-pillar__d { max-width: 300px; font-size: 14px; color: var(--c-sub); line-height: 1.5; margin-bottom: 12px; }
.ssj-pillar ul li { position: relative; padding: 8px 0 8px 26px; border-bottom: 1px solid var(--c-line); font-size: 14px; line-height: 1.5; }
.ssj-pillar ul li::before { content: ""; position: absolute; left: 4px; top: 14px; width: 10px; height: 6px; border-left: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(-45deg); }
.ssj-pillar .ssj-btn { position: relative; z-index: 1; width: calc(100% - 32px); margin-top: 24px; min-height: 52px; }

/* new arrival */
.ssj-cards4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

/* type grid */
.ssj-typegrid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 72px; }
.ssj-tg { position: relative; width: calc((100% - 60px) / 6); aspect-ratio: 189 / 140; overflow: hidden; color: #fff; }
.ssj-tg img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ssj-tg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .55)); }
.ssj-tg:hover img { transform: scale(1.06); }
.ssj-tg__in { position: absolute; left: 12px; bottom: 10px; z-index: 1; line-height: 1.3; }
.ssj-tg__in b { display: block; font-size: 15px; }
.ssj-tg__in span { font-family: var(--ff-num); font-size: 12px; font-weight: 700; opacity: .85; }

/* maker grid */
.ssj-makergrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.ssj-mk { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 78px; background: #fff; border: 1px solid var(--c-line); border-radius: 6px; font-size: 14px; font-weight: 700; line-height: 1.4; transition: border-color .2s, color .2s; }
.ssj-mk:hover { border-color: var(--c-blue); color: var(--c-blue); }
.ssj-mk span { font-family: var(--ff-num); font-size: 11.5px; font-weight: 400; color: var(--c-muted); }

/* reasons */
.ssj-reasons { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--c-line); background: #fff; }
.ssj-reason { position: relative; padding: 22px 26px 30px; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.ssj-reason:nth-child(3n) { border-right: 0; }
.ssj-reason:nth-last-child(-n+3) { border-bottom: 0; }
.ssj-reason__no { font-family: var(--ff-en); font-size: 20px; font-weight: 700; color: var(--c-blue-d); line-height: 1.2; }
.ssj-reason__ic { display: block; width: 80px; height: 80px; margin: -8px auto 6px; object-fit: contain; }
.ssj-reason__t { font-size: 17.5px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
.ssj-reason__d { font-size: 13.5px; color: var(--c-sub); line-height: 1.8; }

/* countries */
.ssj-countries { display: flex; flex-wrap: wrap; gap: 10px 8px; }
.ssj-countries span { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border: 1px solid rgba(203, 216, 224, .45); border-radius: 999px; font-size: 12.5px; color: #cbd8e0; }
.ssj-countries span.on { background: var(--c-gold); border-color: var(--c-gold); color: var(--c-navy-deep); font-weight: 700; }
.ssj-countries-note { margin-top: 20px; font-size: 12px; color: #9fb6cc; }

/* news / column */
.ssj-news2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.ssj-news2 .ssj-head { margin-bottom: 32px; }
.ssj-news li a { display: flex; align-items: center; gap: 16px; padding: 20px 4px; border-bottom: 1px solid var(--c-line); }
.ssj-date { font-family: var(--ff-num); font-size: 13px; font-weight: 700; color: var(--c-muted); flex: none; }
.ssj-tag { flex: none; padding: 2px 10px; border-radius: 3px; background: #e6f0fb; color: var(--c-blue-d); font-size: 11px; font-weight: 700; }
.ssj-post-t { font-size: 14px; }
.ssj-news li a:hover .ssj-post-t { color: var(--c-blue); }
.ssj-cols { display: grid; gap: 14px; }
.ssj-col { display: flex; gap: 16px; align-items: center; padding: 12px; background: #fff; border: 1px solid var(--c-line); border-radius: 6px; transition: box-shadow .2s; }
.ssj-col:hover { box-shadow: var(--shadow); }
.ssj-col__th { flex: none; width: 96px; aspect-ratio: 3 / 2; overflow: hidden; }
.ssj-col__th img { width: 100%; height: 100%; object-fit: cover; }
.ssj-col__t { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.55; }

/* bases */
.ssj-bases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ssj-base { background: #fff; border: 1px solid var(--c-line); border-radius: 8px; overflow: hidden; }
.ssj-base__map { aspect-ratio: 278 / 160; background: #e4e3df; }
.ssj-base__map img, .ssj-base__map iframe { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.ssj-base__in { padding: 18px 18px 22px; }
.ssj-base__en { font-family: var(--ff-en); font-size: 11.5px; font-weight: 700; color: var(--c-muted); line-height: 1.3; }
.ssj-base__t { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.ssj-base address { font-style: normal; font-size: 12.5px; color: var(--c-sub); line-height: 1.75; }
.ssj-base__tel { display: inline-block; margin-top: 10px; font-family: var(--ff-num); font-size: 15px; font-weight: 700; }

/* CTA band */
.ssj-ctaband { display: grid; grid-template-columns: 1fr 1fr; color: #fff; }
.ssj-ctacol { padding: 66px 60px 50px 150px; }
.ssj-ctacol.-buy { background: linear-gradient(135deg, #0f2544 0%, #1a396a 100%); }
.ssj-ctacol.-sell { background: linear-gradient(135deg, #1e4fa8 0%, #2e6fd8 100%); padding-left: 100px; }
.ssj-ctacol .lb { font-family: var(--ff-zen); font-size: 12.5px; font-weight: 700; opacity: .9; }
.ssj-ctacol h2 { margin: 12px 0 14px; font-size: 27px; font-weight: 700; line-height: 1.65; }
.ssj-ctacol .tx { font-size: 13.5px; line-height: 1.6; opacity: .9; }
.ssj-ctacol .tel { display: block; margin-top: 30px; font-family: var(--ff-num); font-size: 34px; font-weight: 700; line-height: 1.2; }
.ssj-ctacol .tel small { display: block; font-family: var(--ff-zen); font-size: 12px; font-weight: 400; opacity: .8; }
.ssj-ctacol .btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ssj-ctacol .ssj-btn { min-height: 50px; padding: 10px 24px; }

/* =========================================================
   STOCK
   ========================================================= */
.ssj-catbar { background: var(--c-haze); padding: 34px 0; }
.ssj-catbar ul { display: flex; justify-content: center; gap: 12px; }
.ssj-catbar a { display: flex; flex-direction: column; align-items: center; min-width: 92px; padding: 14px 4px 12px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; transition: border-color .2s, box-shadow .2s; }
.ssj-catbar a:hover, .ssj-catbar a.is-current { border-color: var(--c-blue); box-shadow: 0 0 0 1px var(--c-blue) inset; }
.ssj-catbar img { width: 44px; height: 38px; object-fit: contain; }
.ssj-catbar b { margin-top: 6px; font-size: 13.5px; color: var(--c-blue-d); white-space: nowrap; line-height: 1.4; }
.ssj-catbar span { margin-top: 6px; min-width: 46px; padding: 0 8px; border-radius: 999px; background: var(--c-blue-d); color: #fff; font-family: var(--ff-num); font-size: 12px; font-weight: 700; text-align: center; line-height: 20px; }

.ssj-main { display: grid; grid-template-columns: 282px 1fr; gap: 30px; align-items: start; }
.ssj-filters { background: #fff; border: 1px solid var(--c-line); border-radius: 6px; overflow: hidden; }
.ssj-filter-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; background: var(--c-navy-deep); color: #fff; }
.ssj-filter-head .ttl { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ff-zen); font-size: 15px; font-weight: 700; }
.ssj-filter-head .ttl svg { width: 16px; height: 16px; color: var(--c-gold); }
.ssj-filter-head button { border: 0; background: none; color: #b9cbd8; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.ssj-filter-toggle { display: none; }
.ssj-filter-body { padding: 18px 16px 20px; }
.ssj-fkw { position: relative; }
.ssj-fkw input { width: 100%; height: 48px; padding: 0 36px 0 12px; border: 1px solid #c9d4e0; border-radius: 4px; font-size: 14px; }
.ssj-fkw button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; font-size: 18px; color: var(--c-muted); }
.ssj-toggle { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 12px 12px; background: #eef4fb; border-radius: 4px; font-size: 13px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.ssj-toggle input, .ssj-fitem input { width: 18px; height: 18px; accent-color: var(--c-blue); flex: none; }
.ssj-facet { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--c-line); }
.ssj-facet h3 { font-size: 12.5px; font-weight: 700; color: var(--c-sub); margin-bottom: 6px; }
.ssj-fitem { display: flex; align-items: center; gap: 10px; padding: 5px 2px; font-size: 13.5px; cursor: pointer; }
.ssj-fitem .c { margin-left: auto; font-family: var(--ff-num); font-size: 12px; color: var(--c-muted); }
.ssj-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.ssj-count { font-size: 14px; }
.ssj-count b { font-family: var(--ff-num); font-size: 26px; color: var(--c-blue-d); margin: 0 4px 0 10px; }
.ssj-sort { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.ssj-sort select { height: 42px; min-width: 166px; padding: 0 36px 0 12px; border: 0; border-radius: 3px; background: #4b5d76 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") right 12px center no-repeat; color: #fff; appearance: none; font-size: 13px; }
.ssj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ssj-pager { display: flex; justify-content: center; gap: 12px; margin-top: 56px; }
.ssj-pager a, .ssj-pager span { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 6px; border: 1px solid var(--c-blue-d); border-radius: 3px; color: var(--c-blue-d); font-family: var(--ff-num); font-size: 18px; font-weight: 500; }
.ssj-pager .is-current { background: var(--c-blue-d); color: #fff; }
.ssj-pager .dots { border: 0; min-width: 0; }
.ssj-pager svg { width: 14px; height: 14px; }
.ssj-perpage { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 26px; font-size: 18px; color: var(--c-blue-d); }
.ssj-perpage select { height: 48px; min-width: 190px; padding: 0 16px; border: 1px solid #c9d4e0; border-radius: 4px; color: var(--c-blue-d); font-size: 18px; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231058a8' stroke-width='2'/%3E%3C/svg%3E") right 16px center no-repeat; }
.ssj-nf { margin-top: 84px; padding: 36px 24px; background: var(--c-haze); border-radius: 6px; text-align: center; }
.ssj-nf h3 { font-size: 18px; font-weight: 700; }
.ssj-nf p { margin-top: 8px; font-size: 13.5px; color: var(--c-sub); }
.ssj-nf .btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

/* =========================================================
   KAITORI
   ========================================================= */
.ssj-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.ssj-point { text-align: center; }
.ssj-point .ssj-reason__no { text-align: left; }
.ssj-point__ic { display: block; width: 100px; height: 100px; object-fit: contain; margin: 0 auto 8px; }
.ssj-point__t { font-size: 17.5px; font-weight: 700; line-height: 1.5; }
.ssj-point__d { margin-top: 4px; font-size: 13.5px; line-height: 1.6; color: var(--c-sub); text-align: left; }
.ssj-target-bg { position: absolute; right: 0; bottom: 0; width: 640px; opacity: .9; pointer-events: none; }
.ssj-tglist { display: flex; flex-wrap: wrap; gap: 12px 10px; max-width: 1080px; }
.ssj-tglist span { display: inline-flex; align-items: center; height: 46px; padding: 0 18px; background: #fff; border: 1px solid var(--c-line); border-radius: 999px; font-size: 14px; font-weight: 700; }

/* =========================================================
   EXPORT
   ========================================================= */
.ssj-navcards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.ssj-navcard { display: flex; align-items: center; gap: 18px; padding: 30px 26px 30px 24px; background: #fff; border: 1px solid var(--c-line); border-radius: 8px; transition: border-color .2s, box-shadow .2s; }
.ssj-navcard:hover { border-color: var(--c-blue); box-shadow: var(--shadow); }
.ssj-navcard .ic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e7f1fc; color: var(--c-blue-d); }
.ssj-navcard .ic svg { width: 22px; height: 22px; }
.ssj-navcard .tx { flex: 1; min-width: 0; }
.ssj-navcard .lb { display: block; font-family: var(--ff-en); font-size: 11.5px; font-weight: 700; color: var(--c-muted); line-height: 1.3; }
.ssj-navcard .tt { display: block; font-size: 17px; font-weight: 700; line-height: 1.5; }
.ssj-navcard .ds { display: block; margin-top: 4px; font-size: 12.5px; color: var(--c-sub); line-height: 1.6; }
.ssj-navcard .ar { width: 16px; height: 16px; flex: none; color: var(--c-sub); }

/* quality / yard */
.ssj-steps3 { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--c-line); background: #fff; }
.ssj-steps3 > div { padding: 26px 24px 30px; border-right: 1px solid var(--c-line); }
.ssj-steps3 > div:last-child { border-right: 0; }
.ssj-steps3 .no { font-family: var(--ff-en); font-size: 13px; font-weight: 700; color: var(--c-blue-d); }
.ssj-steps3 svg { display: block; width: 26px; height: 26px; margin: 14px 0 12px; color: var(--c-text); }
.ssj-steps3 h3 { font-size: 17.5px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
.ssj-steps3 p { font-size: 13.5px; color: var(--c-sub); line-height: 1.75; }
.ssj-yards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ssj-yard { padding: 18px 18px 22px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-yard .en { font-family: var(--ff-en); font-size: 11.5px; font-weight: 700; color: var(--c-muted); }
.ssj-yard h3 { font-size: 16px; font-weight: 700; margin-bottom: 12px; }
.ssj-yard p { font-size: 12.5px; color: var(--c-sub); line-height: 1.75; }

/* =========================================================
   COMPANY
   ========================================================= */
.ssj-about__h { font-size: 33px; font-weight: 700; line-height: 1.6; margin-bottom: 36px; }
.ssj-msg-p { font-size: 15px; color: var(--c-sub); line-height: 2; }
.ssj-msg-p + .ssj-msg-p { margin-top: 20px; }
.ssj-sign { margin-top: 30px; text-align: right; font-weight: 700; line-height: 1.6; }
.ssj-sign small { display: block; font-size: 13px; }
.ssj-sign span { font-size: 13px; }
.ssj-sign b { font-size: 21px; letter-spacing: .45em; margin-left: 10px; margin-right: -.45em; }
.ssj-biz .ssj-box { padding: 34px 30px 30px; }
.ssj-biz .ssj-eyebrow { font-family: var(--ff-zen); font-size: 13px; color: var(--c-blue-d); }
.ssj-biz p.tx { font-size: 15px; line-height: 1.75; margin: 12px 0 14px; }
.ssj-deftable { border: 1px solid #c8d3e0; }
.ssj-deftable th, .ssj-deftable td { border: 1px solid #c8d3e0; padding: 20px 20px; text-align: left; vertical-align: top; font-size: 14.5px; line-height: 1.85; }
.ssj-deftable th { width: 21.5%; color: var(--c-blue-d); font-weight: 700; background: rgba(255, 255, 255, .25); }
.ssj-locs > .ssj-loc { display: grid; grid-template-columns: 1fr 420px; gap: 40px; padding: 34px 0; border-top: 1px solid var(--c-line); }
.ssj-locs > .ssj-loc:last-child { border-bottom: 1px solid var(--c-line); }
.ssj-loc-en { font-family: var(--ff-en); font-size: 12px; font-weight: 700; color: var(--c-blue-d); }
.ssj-loc h3 { font-size: 22px; font-weight: 700; margin-bottom: 14px; }
.ssj-loc dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; font-size: 14px; line-height: 1.75; }
.ssj-loc dt { font-size: 12.5px; font-weight: 700; color: var(--c-muted); padding-top: 2px; }
.ssj-loc dd a { font-family: var(--ff-num); font-weight: 700; color: var(--c-blue-d); }
.ssj-loc-map { aspect-ratio: 420 / 262; background: #e4e3df; }
.ssj-loc-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.ssj-group { display: grid; grid-template-columns: 210px 1fr; gap: 80px; align-items: start; }
.ssj-group .ssj-deftable th { width: 35%; vertical-align: middle; font-size: 14px; }
.ssj-group .ssj-deftable td { vertical-align: middle; padding-left: 24px; }
.ssj-history { position: relative; margin-left: 2px; }
.ssj-history::before { content: ""; position: absolute; left: 0; top: 6px; bottom: -10px; width: 1px; background: var(--c-blue); }
.ssj-history li { position: relative; padding: 0 0 26px 30px; }
.ssj-history li::before { content: ""; position: absolute; left: -6px; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: var(--c-blue); }
.ssj-history time { display: block; font-family: var(--ff-zen); font-size: 13px; font-weight: 700; color: var(--c-blue-d); line-height: 1.4; }
.ssj-history p { font-size: 14.5px; line-height: 1.6; }

/* =========================================================
   RECRUIT
   ========================================================= */
.btk-sec { padding: 72px 0; position: relative; overflow: hidden; }
.btk-band { width: min(1344px, 100% - 96px); margin-inline: auto; background: #f1f6fc; }
.btk-h2 { text-align: center; font-size: 26px; font-weight: 700; line-height: 1.4; }
.btk-h2 em { font-style: normal; color: var(--c-blue); }
.btk-note { margin: 22px 0 24px; text-align: center; font-size: 14px; color: #5c6c81; }
.btk-company { width: min(860px, 100%); margin-inline: auto; background: #fff; }
.btk-company th, .btk-company td { padding: 14px 16px; border-bottom: 2px solid #eaf1f9; font-size: 14px; text-align: left; vertical-align: top; line-height: 1.6; }
.btk-company th { width: 150px; background: #f1f6fc; color: #0f4c94; font-weight: 700; border-right: 2px solid #eaf1f9; }
.btk-band .btk-company th { background: #e6effa; }
.btk-btns { text-align: center; }

/* =========================================================
   CONTACT
   ========================================================= */
.ctf-methods { display: grid; grid-template-columns: repeat(2, 400px); justify-content: center; gap: 130px; padding: 0 var(--gutter); }
.ctf-method { display: flex; flex-direction: column; align-items: center; padding: 24px 16px 22px; border: 1px solid var(--c-blue-d); border-radius: 6px; background: #fff; text-align: center; }
.ctf-method img { width: 72px; height: 72px; object-fit: contain; }
.ctf-method h3 { margin-top: 8px; font-size: 16px; font-weight: 700; }
.ctf-method .big { font-size: 40px; font-weight: 700; color: #0f4c94; line-height: 1.3; letter-spacing: .01em; }
.ctf-method p { font-size: 12.5px; color: #5c6c81; }
.ctf-formsec { position: relative; overflow: hidden; background: var(--c-haze); padding: 96px 0 30px; }
.ctf-wrap { position: relative; z-index: 1; width: min(760px, 100% - 80px); margin-inline: auto; }
.ctf-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 30px; }
.ctf-tab { height: 64px; border: 0; border-radius: 10px; background: #fff; color: #3a566f; font-size: 16px; font-weight: 700; }
.ctf-tab.is-active { background: linear-gradient(90deg, #2a8ae6, var(--c-blue)); color: #fff; }
.ctf-panel { background: #fff; padding: 46px 34px 44px; }
.ctf-panel[hidden] { display: none; }
.ctf-h2 { text-align: center; font-size: 22px; font-weight: 700; }
.ctf-req-note { margin: 12px 0 26px; text-align: center; font-size: 13px; color: #5c6c81; }
.ctf-badge-req { display: inline-block; padding: 0 6px; margin-left: 6px; border-radius: 3px; background: #d6293a; color: #fff; font-size: 10.5px; font-weight: 700; line-height: 18px; vertical-align: 2px; }
.ctf-req-note .ctf-badge-req { margin: 0 2px 0 0; }
.ctf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.ctf-field { margin-bottom: 22px; }
.ctf-field > label, .ctf-field > .lb { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.ctf-field input, .ctf-field textarea, .ctf-field select { width: 100%; padding: 12px 14px; border: 1px solid #c9d4e0; border-radius: 6px; background: #f6f9fd; font-size: 15px; }
.ctf-field input { height: 52px; }
.ctf-field input[readonly] { background: #eef4fb; color: var(--c-text); }
.ctf-field textarea { min-height: 150px; resize: vertical; }
.ctf-field input::placeholder, .ctf-field textarea::placeholder { color: #999; }
.ctf-help { display: block; margin-top: 6px; font-size: 12px; color: #7488a0; }
.ctf-agree { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; cursor: pointer; }
.ctf-agree input { width: 18px; height: 18px; accent-color: var(--c-blue); }
.ctf-agree a { color: var(--c-blue); text-decoration: underline; }
.ctf-submit { text-align: center; margin-top: 26px; }
.ctf-submit button { min-width: 248px; height: 60px; border: 0; border-radius: 999px; background: linear-gradient(90deg, #2a8ae6, var(--c-blue)); color: #fff; font-size: 17px; font-weight: 700; box-shadow: 0 6px 16px rgba(23, 113, 207, .3); }
.ctf-submit p { margin-top: 12px; font-size: 12px; color: #5c6c81; }
.ctf-branches { padding: 30px 0 60px; }
.ctf-branch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: min(950px, 100% - 80px); margin: 24px auto 0; }
.ctf-branch { padding: 22px 22px 24px; background: #fff; border: 1px solid var(--c-line); border-radius: 14px; font-size: 13.5px; color: #43566c; line-height: 1.95; }
.ctf-branch h3 { font-size: 20px; color: var(--c-blue); margin-bottom: 4px; }

/* =========================================================
   RESPONSIVE : TABLET  (〜1199px header / 〜1023px layout)
   ========================================================= */
@media (max-width: 1399px) {
  .l-header__inner { padding: 0 20px; gap: 16px; }
  .l-header__logo { width: 220px; }
  .c-gnav { gap: 16px; }
  .c-gnav a { font-size: 13px; }
}
@media (max-width: 1199px) {
  :root { --header-h: 68px; }
  .c-gnav-wrap, .sh-tools .sh-login { display: none; }
  .sh-tools { margin-left: auto; }
  .l-header__menu {
    display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 6px; background: var(--c-blue); color: #fff; position: relative; z-index: 101;
  }
  .l-header__menu span, .l-header__menu span::before, .l-header__menu span::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; transition: transform .25s, background-color .25s; }
  .l-header__menu span::before, .l-header__menu span::after { content: ""; position: absolute; left: 0; }
  .l-header__menu span::before { top: -6px; }
  .l-header__menu span::after { top: 6px; }
  body.is-drawer-open .l-header__menu span { background: transparent; }
  body.is-drawer-open .l-header__menu span::before { transform: translateY(6px) rotate(45deg); }
  body.is-drawer-open .l-header__menu span::after { transform: translateY(-6px) rotate(-45deg); }
}

@media (max-width: 1023px) {
  :root { --gutter: 32px; }
  .ssj-sec { padding: 80px 0; }
  .ssj-title { font-size: 28px; }
  .ssj-title.-m { font-size: 24px; }
  .ssj-deco.-tl { width: 300px; }
  .ssj-deco.-br, .ssj-deco.-tr { width: 280px; }

  /* footer */
  .sf-in { grid-template-columns: 1fr 1fr; gap: 40px 32px; width: min(720px, 100% - 64px); padding: 60px 0 44px; }
  .sf-bottom { width: calc(100% - 64px); }

  /* page head */
  .ssj-phead { height: 220px; }
  .ssj-phead::before { width: 62%; }
  .ssj-phead::after { width: 70.5%; }
  .ssj-phead__in { padding-left: var(--gutter); }
  .ssj-phead.-plain .ssj-phead__in { width: calc(100% - 64px); }

  /* hero */
  .ssj-hero { height: auto; min-height: 620px; padding-bottom: 150px; }
  .ssj-hero__inner { padding-top: 120px; width: calc(100% - 64px); margin-inline: auto; }
  .ssj-hero__title { font-size: 46px; }
  .ssj-stockcard { left: 32px; right: 32px; bottom: 28px; justify-content: space-between; }

  .ssj-finder form, .ssj-finder__form { grid-template-columns: 1fr 1fr; }
  .ssj-finder__foot { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; }
  .ssj-finder__go { width: auto; min-width: 280px; padding: 0 32px; }

  .ssj-pillars { grid-template-columns: 1fr; }
  .ssj-pillar__photo { width: 46%; }
  .ssj-pillar__in { width: 60%; }
  .ssj-pillar .ssj-btn { width: auto; align-self: flex-start; }

  .ssj-cards4, .ssj-bases, .ssj-yards { grid-template-columns: repeat(2, 1fr); }
  .ssj-typegrid { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) 10px; scroll-padding-inline: var(--gutter); }
  .ssj-tg { flex: none; width: 200px; scroll-snap-align: start; }
  .ssj-makergrid { grid-template-columns: repeat(4, 1fr); }
  .ssj-reasons { grid-template-columns: 1fr 1fr; }
  .ssj-reason { border-right: 1px solid var(--c-line) !important; border-bottom: 1px solid var(--c-line) !important; }
  .ssj-reason:nth-child(2n) { border-right: 0 !important; }
  .ssj-reason:nth-last-child(-n+2) { border-bottom: 0 !important; }
  .ssj-flow { grid-template-columns: repeat(3, 1fr); }
  .ssj-news2 { grid-template-columns: 1fr; gap: 64px; }
  .ssj-ctaband { grid-template-columns: 1fr; }
  .ssj-ctacol, .ssj-ctacol.-sell { padding: 56px var(--gutter); }

  /* stock */
  .ssj-catbar { padding: 24px 0; }
  .ssj-catbar ul { justify-content: flex-start; overflow-x: auto; padding: 2px var(--gutter) 2px; margin: 0 calc(var(--gutter) * -1); }
  .ssj-catbar li { flex: none; }
  .ssj-main { grid-template-columns: 1fr; }
  .ssj-filter-toggle { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: #fff; font-size: 12px; font-weight: 700; }
  .ssj-filter-toggle::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px; transition: transform .2s; }
  .ssj-filters.is-open .ssj-filter-toggle::after { transform: rotate(-135deg); margin-top: 3px; }
  .ssj-filter-head .js-reset { display: none; }
  .ssj-filters:not(.is-open) .ssj-filter-body { display: none; }
  .ssj-filter-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .ssj-fkw, .ssj-toggle { grid-column: 1 / -1; }
  .ssj-grid { grid-template-columns: repeat(2, 1fr); }

  /* kaitori */
  .ssj-points { gap: 24px; }
  .ssj-target-bg { width: 420px; }

  /* company */
  .ssj-locs > .ssj-loc { grid-template-columns: 1fr 1fr; gap: 28px; }
  .ssj-group { grid-template-columns: 1fr; gap: 24px; }
  .ssj-callbox.-lg { padding: 40px 48px; }

  /* contact */
  .ctf-methods { grid-template-columns: repeat(2, minmax(0, 340px)); gap: 24px; }
  .ctf-method .big { font-size: 32px; }
  .ctf-branch-grid { width: calc(100% - 64px); gap: 14px; }
  .ctf-branch { padding: 18px 16px 20px; }
  .ctf-branch h3 { font-size: 17px; }
}

/* =========================================================
   RESPONSIVE : SP  (〜767px)
   ========================================================= */
@media (max-width: 767px) {
  :root { --gutter: 20px; --header-h: 60px; }
  body { font-size: 14px; }
  .pc-only { display: none; }
  .sp-only { display: inline; }
  .ssj-sec { padding: 60px 0; }
  .ssj-sec.-tight { padding: 52px 0; }
  .ssj-head { margin-bottom: 30px; }
  .ssj-head.-row { flex-direction: column; align-items: flex-start; }
  .ssj-head.-row .ssj-more-link { align-self: flex-end; }
  .ssj-title { font-size: 23px; }
  .ssj-title.-m, .ssj-title.-s { font-size: 21px; }
  .ssj-lead { font-size: 13.5px; }
  .ssj-deco.-tl { width: 200px; }
  .ssj-deco.-br, .ssj-deco.-tr { width: 190px; opacity: .7; }

  /* buttons: 中身に合わせて内包（全幅にしない） */
  .ssj-btn { padding: 10px 22px; }

  /* header */
  .l-header.-bar { border-top-width: 4px; }
  .l-header__inner { padding: 0 12px 0 14px; gap: 10px; }
  .l-header__logo { width: 190px; }
  .sh-tel { display: none; }
  .l-header__menu { width: 42px; height: 42px; }
  .c-bread ol { padding: 7px var(--gutter); overflow-x: auto; white-space: nowrap; }

  /* footer */
  .sf-in { grid-template-columns: 1fr; gap: 32px; width: calc(100% - 40px); padding: 48px 0 36px; }
  .sf-bottom { width: calc(100% - 40px); font-size: 11px; }
  .sf-col.-menu ul { display: grid; grid-template-columns: 1fr 1fr; }
  .ssj-step__d br { display: none; }
  .ssj-kw { letter-spacing: 0; }

  /* page head */
  .ssj-phead { height: 210px; }
  .ssj-phead::before, .ssj-phead::after { width: 100%; }
  .ssj-phead::before { clip-path: polygon(0 0, 92% 0, 72% 100%, 0 100%); opacity: .93; }
  .ssj-phead::after { display: none; }
  .ssj-phead__title { font-size: 28px; }
  .ssj-phead__lead { font-size: 13px; max-width: 270px; }
  .ssj-phead.-plain { height: auto; padding: 40px 0; }
  .ssj-phead.-plain .ssj-phead__in { width: calc(100% - 40px); }
  .ssj-phead.-plain .ssj-eyebrow { padding-left: 0; }

  /* hero */
  .ssj-hero { min-height: 0; padding-bottom: 24px; background-position: 62% center; }
  .ssj-hero::before { background: linear-gradient(180deg, rgba(10, 30, 70, .55) 0%, rgba(10, 30, 70, .35) 60%, rgba(10, 30, 70, .6) 100%); }
  .ssj-hero__stripes { width: 180px; height: 360px; }
  .ssj-hero__inner { padding-top: 56px; width: calc(100% - 40px); }
  .ssj-kw { font-size: 12.5px; }
  .ssj-hero__title { font-size: 31px; }
  .ssj-hero__lead { font-size: 13.5px; margin-top: 16px; }
  .ssj-stockcard { position: relative; inset: auto; margin: 36px 20px 0; flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; }
  .ssj-stockcard .btns { flex-direction: column; align-items: center; }
  .ssj-stockcard .ssj-btn { min-width: 240px; }

  .ssj-finder { padding: 22px 0; }
  .ssj-finder form, .ssj-finder__form { grid-template-columns: 1fr; gap: 12px; }
  .ssj-field select, .ssj-field input { height: 48px; }

  .ssj-pillar { padding: 0 0 26px; min-height: 0; border-radius: 0 0 8px 8px; }
  .ssj-pillar__photo { position: static; order: -1; width: 100%; height: 190px; object-position: center 30%; }
  .ssj-pillar.-sell .ssj-pillar__photo { width: 100%; }
  .ssj-pillar__in { width: auto; padding: 24px 20px 0; }
  .ssj-pillar__t { font-size: 22px; }
  .ssj-pillar .ssj-btn { align-self: center; width: auto; margin-top: 22px; }

  .ssj-cards4, .ssj-bases, .ssj-yards { grid-template-columns: 1fr; }
  .ssj-cards4 { gap: 16px; }
  .ssj-tg { width: 62%; }
  .ssj-typegrid { gap: 10px; margin-bottom: 52px; }
  .ssj-makergrid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ssj-mk { height: 64px; font-size: 13px; }
  .ssj-reasons { grid-template-columns: 1fr; }
  .ssj-reason { border-right: 0 !important; border-bottom: 1px solid var(--c-line) !important; }
  .ssj-reason:last-child { border-bottom: 0 !important; }
  .ssj-flow { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ssj-step { padding: 18px 10px 18px; }
  .ssj-step__pic { height: 84px; }
  .ssj-countries span { height: 30px; padding: 0 12px; font-size: 12px; }
  .ssj-news li a { flex-wrap: wrap; gap: 6px 12px; padding: 16px 2px; }
  .ssj-news .ssj-post-t { width: 100%; }
  .ssj-col__th { width: 84px; }
  .ssj-col__t { font-size: 13.5px; }
  .ssj-ctacol, .ssj-ctacol.-sell { padding: 48px var(--gutter); }
  .ssj-ctacol h2 { font-size: 21px; }
  .ssj-ctacol .tel { font-size: 30px; }

  /* stock */
  .ssj-catbar a { min-width: 84px; padding-inline: 10px; }
  .ssj-filter-body { grid-template-columns: 1fr; }
  .ssj-toolbar { flex-wrap: wrap; }
  .ssj-grid { grid-template-columns: 1fr; gap: 16px; }
  .ssj-pager { gap: 6px; }
  .ssj-pager a, .ssj-pager span { min-width: 34px; height: 34px; font-size: 15px; }
  .ssj-perpage { font-size: 15px; }
  .ssj-perpage select { min-width: 150px; height: 44px; font-size: 15px; }
  .ssj-nf { margin-top: 56px; }

  /* kaitori */
  .ssj-points { grid-template-columns: 1fr; gap: 36px; }
  .ssj-target-bg { width: 260px; opacity: .5; }
  .ssj-tglist { gap: 8px; }
  .ssj-tglist span { height: 38px; padding: 0 14px; font-size: 13px; }
  .ssj-faq summary { font-size: 14.5px; padding: 16px 40px 16px 30px; }
  .ssj-faq summary::before { top: 14px; }
  .ssj-faq .a { padding: 0 8px 18px 30px; font-size: 13.5px; }
  .ssj-callbox, .ssj-callbox.-lg { flex-direction: column; align-items: center; gap: 18px; padding: 26px 20px; text-align: center; }
  .ssj-callbox .ssj-btn { flex: none; width: auto; min-width: 240px; }
  .ssj-callbox__tel, .ssj-callbox.-lg .ssj-callbox__tel { font-size: 30px; }

  /* export / quality */
  .ssj-navcards { grid-template-columns: 1fr; }
  .ssj-navcard { padding: 20px 16px; gap: 14px; }
  .ssj-navcard .ic { width: 44px; height: 44px; }
  .ssj-split { grid-template-columns: 1fr; }
  .ssj-box { padding: 24px 18px; }
  .ssj-steps3 { grid-template-columns: 1fr; }
  .ssj-steps3 > div { border-right: 0; border-bottom: 1px solid var(--c-line); }
  .ssj-steps3 > div:last-child { border-bottom: 0; }

  /* company */
  .ssj-about__h { font-size: 23px; margin-bottom: 24px; }
  .ssj-msg-p { font-size: 14px; }
  .ssj-deftable th, .ssj-deftable td { display: block; width: 100%; padding: 12px 16px; font-size: 14px; border-width: 0 0 1px; }
  .ssj-deftable th { background: #e3edf8; padding-bottom: 8px; }
  .ssj-deftable { border-width: 1px 1px 0; }
  .ssj-locs > .ssj-loc { grid-template-columns: 1fr; gap: 18px; padding: 28px 0; }
  .ssj-loc h3 { font-size: 20px; }
  .ssj-loc dl { gap: 6px 14px; font-size: 13.5px; }

  /* recruit */
  .btk-sec { padding: 52px 0; }
  .btk-band { width: 100%; }
  .btk-h2 { font-size: 22px; }
  .btk-company { width: calc(100% - 40px); }
  .btk-company th, .btk-company td { display: block; width: 100%; border-right: 0; }
  .btk-company th { padding: 10px 14px 8px; }
  .btk-company td { padding: 10px 14px 14px; }

  /* contact */
  .ctf-methods { grid-template-columns: 1fr; justify-items: center; gap: 14px; }
  .ctf-method { width: 100%; max-width: 360px; }
  .ctf-method .big { font-size: 27px; }
  .ctf-formsec { padding: 56px 0 24px; }
  .ctf-wrap { width: calc(100% - 40px); }
  .ctf-tabs { gap: 8px; margin-bottom: 20px; }
  .ctf-tab { height: 54px; font-size: 14px; border-radius: 8px; }
  .ctf-panel { padding: 32px 18px; }
  .ctf-h2 { font-size: 19px; }
  .ctf-row { grid-template-columns: 1fr; }
  .ctf-branch-grid { grid-template-columns: 1fr; width: calc(100% - 40px); }
}

.ssj-col .ssj-date { display: block; margin-top: 6px; }
.ctf-method .big { display: block; }
.ctf-branch p + p { margin-top: 6px; }

/* =========================================================
   WordPress 実装用（widget.js の描画・投稿テンプレート）
   ========================================================= */
.admin-bar .l-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .l-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .l-header { top: 0; } }
[hidden] { display: none !important; }

/* 言語切替 */
.sh-lang { position: relative; }
.sh-lang__btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px 0 11px; border: 1px solid #c9d4e0; border-radius: 999px; background: #fff; color: var(--c-navy-deep); font-size: 13px; font-weight: 700; line-height: 1; white-space: nowrap; cursor: pointer; transition: border-color .2s, color .2s, box-shadow .2s; }
.sh-lang__btn .gl { width: 16px; height: 16px; color: var(--c-blue); }
.sh-lang__btn .cv { width: 9px; height: 6px; color: var(--c-muted); transition: transform .2s; }
.sh-lang__btn:hover, .sh-lang.is-open .sh-lang__btn { border-color: var(--c-blue); color: var(--c-blue); }
.sh-lang.is-open .sh-lang__btn .cv { transform: rotate(180deg); }
.sh-lang__btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(23, 113, 207, .25); }
.sh-lang__list { position: absolute; top: calc(100% + 10px); right: 0; z-index: 110; min-width: 184px; padding: 6px; background: #fff; border: 1px solid var(--c-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 37, 68, .16); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; }
.sh-lang__list::before { content: ""; position: absolute; top: -6px; right: 22px; width: 10px; height: 10px; background: #fff; border-left: 1px solid var(--c-line); border-top: 1px solid var(--c-line); transform: rotate(45deg); }
.sh-lang.is-open .sh-lang__list, .sh-lang:focus-within .sh-lang__list { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) { .sh-lang:hover .sh-lang__list { opacity: 1; visibility: visible; transform: none; } .sh-lang::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; } }
.sh-lang__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 700; color: var(--c-text); white-space: nowrap; }
.sh-lang__list a .cd { font-family: var(--ff-en); font-size: 12px; letter-spacing: .06em; color: var(--c-muted); }
.sh-lang__list a:hover { background: var(--c-haze); color: var(--c-blue); }
.sh-lang__list a.is-on { color: var(--c-blue); background: #f2f7fd; }
.sh-lang__list a.is-on .cd { color: var(--c-blue); }
.sh-lang__list a.is-on .cd::before { content: ""; display: inline-block; width: 8px; height: 4px; margin-right: 6px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg) translateY(-2px); }
/* スマホのメニュー内：セグメント */
.p-drawer__lang { margin-top: 24px; }
.sh-lang-seg { display: grid; grid-template-columns: repeat(4, 1fr); padding: 4px; background: var(--c-haze); border: 1px solid var(--c-line); border-radius: 999px; }
.sh-lang-seg a { display: grid; place-items: center; height: 38px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--c-sub); white-space: nowrap; transition: background-color .2s, color .2s; }
.sh-lang-seg a.is-on { background: #fff; color: var(--c-blue); box-shadow: 0 1px 4px rgba(15, 37, 68, .14); }

/* FINDER カテゴリタブ */
.ssj-ftabs { display: flex; gap: 6px; margin-bottom: 14px; }
.ssj-ftab { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: transparent; color: #cbd8e0; font-size: 13px; }
.ssj-ftab .n { font-family: var(--ff-num); font-size: 12px; opacity: .8; }
.ssj-ftab.active { background: #fff; border-color: #fff; color: var(--c-navy); }
.ssj-finder__go, .ssj-finder__clear { cursor: pointer; }

/* 在庫カード（widget.js の出力） */
.ssj-card { cursor: pointer; }
.ssj-card:focus-visible { outline: 3px solid var(--c-blue-l); outline-offset: 2px; }
.ssj-card.is-sold .ssj-thumb > img { filter: grayscale(.6); opacity: .8; }
.ssj-thumb.noimg::before { content: "NO IMAGE"; position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--ff-en); font-size: 13px; color: var(--c-muted); }
.ssj-bdg.new { background: var(--c-red); }
.ssj-bdg.sold { background: #555; }
.ssj-bdg svg { width: 13px; height: 13px; }
.ssj-sub.more b { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(15, 37, 68, .45); color: #fff; font-family: var(--ff-num); font-size: 14px; font-weight: 700; }
.ssj-sub.noimg { background: #eef1f5; }
.ssj-price.ask { font-family: var(--ff-ja); font-size: 15px; color: var(--c-blue-d); }
.ssj-price.sold { font-family: var(--ff-en); font-size: 20px; color: #777; }
.ssj-spec-mini dd { font-family: var(--ff-zen); }
#ssj-latest:empty, #ssj-grid:empty { min-height: 320px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.6) 0 calc(25% - 16px), transparent 0 25%); border-radius: 8px; }

/* 種類から探す（widget.js の出力：背景画像のボタン） */
button.ssj-tg { display: block; padding: 0; border: 0; background: #33465e center / cover no-repeat; text-align: left; cursor: pointer; transition: transform .25s; }
button.ssj-tg:hover { transform: translateY(-2px); }
.ssj-tg-in { position: absolute; left: 12px; bottom: 10px; z-index: 1; line-height: 1.3; }
.ssj-tg-in b { display: block; font-size: 15px; }
.ssj-tg-in .n { font-family: var(--ff-num); font-size: 12px; font-weight: 700; opacity: .85; }

/* メーカーから探す */
button.ssj-mk { width: 100%; color: var(--c-text); cursor: pointer; }
.ssj-mk b { font-size: 14px; }
.ssj-mk .n { font-family: var(--ff-num); font-size: 11.5px; font-weight: 400; color: var(--c-muted); }

/* お知らせ・コラム */
.ssj-col-th { flex: none; width: 96px; aspect-ratio: 3 / 2; overflow: hidden; display: grid; place-items: center; background: #eef1f5; }
.ssj-col-th img { width: 100%; height: 100%; object-fit: cover; }
.ssj-col-b b { display: block; font-size: 14.5px; line-height: 1.55; }
.ssj-col .ssj-date { display: block; margin-top: 6px; }
.ssj-nopost { padding: 20px 4px; font-size: 14px; color: var(--c-muted); }

/* 在庫検索：機種タブ（widget.js の出力） */
.ssj-cat-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ssj-cat { display: flex; flex-direction: column; align-items: center; min-width: 92px; padding: 14px 8px 12px; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.ssj-cat:hover, .ssj-cat.active { border-color: var(--c-blue); box-shadow: 0 0 0 1px var(--c-blue) inset; }
.ssj-cat-i { width: 40px; height: 36px; color: var(--c-blue-d); }
.ssj-cat::before { content: none; width: 44px; height: 38px; background: center / contain no-repeat; }
.ssj-cat-name { margin-top: 6px; font-size: 13.5px; font-weight: 700; color: var(--c-blue-d); white-space: nowrap; line-height: 1.4; }
.ssj-cat-n { margin-top: 6px; min-width: 46px; padding: 0 8px; border-radius: 999px; background: var(--c-blue-d); color: #fff; font-family: var(--ff-num); font-size: 12px; font-weight: 700; text-align: center; line-height: 20px; }
.ssj-cat[data-type=""]::before, .ssj-cat[data-type="トラクター"]::before, .ssj-cat[data-type="ミニバックホー"]::before, .ssj-cat[data-type="フォークリフト"]::before, .ssj-cat[data-type="タイヤショベル"]::before, .ssj-cat[data-type="コンバイン"]::before, .ssj-cat[data-type="耕うん機"]::before, .ssj-cat[data-type="バックホー"]::before, .ssj-cat[data-type="田植機"]::before, .ssj-cat[data-type="ハーベスター"]::before, .ssj-cat[data-type="その他"]::before { content: ""; }
.ssj-cat[data-type=""] .ssj-cat-i, .ssj-cat[data-type="トラクター"] .ssj-cat-i, .ssj-cat[data-type="ミニバックホー"] .ssj-cat-i, .ssj-cat[data-type="フォークリフト"] .ssj-cat-i, .ssj-cat[data-type="タイヤショベル"] .ssj-cat-i, .ssj-cat[data-type="コンバイン"] .ssj-cat-i, .ssj-cat[data-type="耕うん機"] .ssj-cat-i, .ssj-cat[data-type="バックホー"] .ssj-cat-i, .ssj-cat[data-type="田植機"] .ssj-cat-i, .ssj-cat[data-type="ハーベスター"] .ssj-cat-i, .ssj-cat[data-type="その他"] .ssj-cat-i { display: none; }
.ssj-cat[data-type=""]::before { background-image: url(../img/cat-icon-01.png); }
.ssj-cat[data-type="トラクター"]::before { background-image: url(../img/cat-icon-02.png); }
.ssj-cat[data-type="ミニバックホー"]::before { background-image: url(../img/cat-icon-03.png); }
.ssj-cat[data-type="フォークリフト"]::before { background-image: url(../img/cat-icon-04.png); }
.ssj-cat[data-type="タイヤショベル"]::before { background-image: url(../img/cat-icon-05.png); }
.ssj-cat[data-type="コンバイン"]::before { background-image: url(../img/cat-icon-06.png); }
.ssj-cat[data-type="耕うん機"]::before { background-image: url(../img/cat-icon-07.png); }
.ssj-cat[data-type="バックホー"]::before { background-image: url(../img/cat-icon-08.png); }
.ssj-cat[data-type="田植機"]::before { background-image: url(../img/cat-icon-09.png); }
.ssj-cat[data-type="ハーベスター"]::before { background-image: url(../img/cat-icon-10.png); }
.ssj-cat[data-type="その他"]::before { background-image: url(../img/cat-icon-11.png); }

/* 在庫検索：絞り込み・結果 */
.ssj-facet h4 { font-size: 12.5px; font-weight: 700; color: var(--c-sub); margin-bottom: 6px; }
.ssj-facet-list { max-height: 260px; overflow-y: auto; }
.ssj-filter-close, .ssj-filter-foot, .ssj-filter-open { display: none; }
.ssj-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.ssj-chips:empty { display: none; }
.ssj-achip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid #b9cbe0; border-radius: 999px; background: #fff; color: var(--c-blue-d); font-size: 12.5px; cursor: pointer; }
.ssj-achip b { font-weight: 400; color: var(--c-muted); }
.ssj-achip.is-clear { border-color: transparent; text-decoration: underline; color: var(--c-sub); }
#ssj-count b { font-family: var(--ff-num); font-size: 26px; color: var(--c-blue-d); margin: 0 4px 0 6px; }
.ssj-more { display: flex; align-items: center; justify-content: center; min-width: 260px; height: 52px; margin: 40px auto 0; padding: 0 28px; border: 1px solid var(--c-blue-d); border-radius: 4px; background: #fff; color: var(--c-blue-d); font-size: 15px; font-weight: 700; cursor: pointer; }
.ssj-more:hover { background: var(--c-blue-d); color: #fff; }
.ssj-empty { padding: 40px 20px; text-align: center; background: #fff; border: 1px dashed #c9d4e0; border-radius: 8px; }
.ssj-empty b { display: block; font-size: 16px; }
.ssj-empty span { display: block; margin-top: 6px; font-size: 13px; color: var(--c-sub); }

/* 在庫詳細モーダル */
#ssj-modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }
#ssj-modal[hidden] { display: none !important; }
.ssj-modal-bg { position: absolute; inset: 0; background: rgba(15, 37, 68, .7); }
.ssj-modal-card { position: relative; width: min(980px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 10px; padding: 32px; }
.ssj-modal-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--c-sub); cursor: pointer; }
.ssj-modal-body { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; }
.ssj-gal-main { aspect-ratio: 4 / 3; background: #eef1f5; border-radius: 6px; overflow: hidden; }
.ssj-gal-main img { width: 100%; height: 100%; object-fit: contain; }
#ssj-gal-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 8px; }
#ssj-gal-thumbs img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: 3px; cursor: pointer; opacity: .6; border: 2px solid transparent; }
#ssj-gal-thumbs img.active { opacity: 1; border-color: var(--c-blue); }
#ssj-detail-badge { display: flex; gap: 6px; margin-bottom: 8px; }
.ssj-badge { padding: 2px 10px; border-radius: 3px; font-size: 11.5px; font-weight: 700; background: #e6f0fb; color: var(--c-blue-d); }
.ssj-badge.sold { background: #555; color: #fff; }
#ssj-detail-title { font-size: 22px; font-weight: 700; line-height: 1.45; }
.ssj-detail-price { margin: 10px 0 18px; font-size: 15px; font-weight: 700; }
.ssj-detail-price.yen { font-family: var(--ff-num); font-size: 26px; color: var(--c-red); }
.ssj-detail .ssj-spec th { width: 36%; }
.ssj-detail .ssj-spec td { font-family: var(--ff-ja); }

/* 投稿 */
.ssj-phead.-post .ssj-phead__title { font-size: 28px; }
.ssj-post-meta { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.ssj-post-meta .ssj-date { color: #b9c6d0; }
.ssj-post-eye { margin-bottom: 36px; }
.ssj-post-eye img { width: 100%; border-radius: 8px; }
.ssj-post { font-size: 15.5px; line-height: 2; }
.ssj-post > * + * { margin-top: 1.4em; }
.ssj-post h2 { margin-top: 2.4em; padding: 12px 18px; background: var(--c-haze); border-left: 4px solid var(--c-blue); font-size: 22px; line-height: 1.5; }
.ssj-post h3 { margin-top: 2em; padding-bottom: 8px; border-bottom: 2px solid var(--c-line); font-size: 19px; line-height: 1.5; }
.ssj-post h4 { margin-top: 1.8em; font-size: 17px; }
.ssj-post ul { list-style: disc; padding-left: 1.4em; }
.ssj-post ol { list-style: decimal; padding-left: 1.4em; }
.ssj-post a { color: var(--c-blue); text-decoration: underline; }
.ssj-post img { border-radius: 4px; }
.ssj-post table { border: 1px solid var(--c-line); }
.ssj-post th, .ssj-post td { border: 1px solid var(--c-line); padding: 10px 12px; font-size: 14px; }
.ssj-post th { background: #eef4fb; }
.ssj-post blockquote { margin-left: 0; padding: 16px 20px; background: #f5f7fa; border-left: 4px solid #c9d4e0; }
.ssj-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 64px; }
.ssj-post-nav a { padding: 16px 18px; border: 1px solid var(--c-line); border-radius: 6px; font-size: 14px; font-weight: 700; line-height: 1.5; }
.ssj-post-nav a span { display: block; font-size: 11.5px; font-weight: 400; color: var(--c-muted); }
.ssj-post-nav .-next { grid-column: 2; text-align: right; }
.ssj-post-back { margin-top: 40px; text-align: center; }
.ssj-postlist { display: grid; gap: 16px; }
.ssj-postcard { display: flex; gap: 24px; padding: 18px; background: #fff; border: 1px solid var(--c-line); border-radius: 8px; transition: box-shadow .2s; }
.ssj-postcard:hover { box-shadow: var(--shadow); }
.ssj-postcard__th { flex: none; width: 240px; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; background: #eef1f5; display: grid; place-items: center; }
.ssj-postcard__th img { width: 100%; height: 100%; object-fit: cover; }
.ssj-postcard__th img.-noimg { width: 60%; height: auto; object-fit: contain; opacity: .4; }
.ssj-postcard__meta { display: flex; align-items: center; gap: 10px; }
.ssj-postcard__t { display: block; margin-top: 6px; font-size: 17px; font-weight: 700; line-height: 1.55; }
.ssj-postcard__ex { display: block; margin-top: 8px; font-size: 13.5px; color: var(--c-sub); line-height: 1.75; }
.ssj-pagination { margin-top: 48px; }
.ssj-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.ssj-pagination .page-numbers { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 8px; border: 1px solid var(--c-blue-d); border-radius: 3px; color: var(--c-blue-d); font-family: var(--ff-num); font-size: 16px; }
.ssj-pagination .page-numbers.current { background: var(--c-blue-d); color: #fff; }
.ssj-pagination .page-numbers.dots { border: 0; }

@media (max-width: 1023px) {
  .ssj-cat-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 8px; }
  .ssj-cat { flex: none; }
  /* 絞り込みはボトムシート（widget.js が data-open を切り替える） */
  .ssj-filter-open { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 0; border-radius: 4px; background: var(--c-navy-deep); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
  .ssj-filter-open svg { width: 16px; height: 16px; color: var(--c-gold); }
  .ssj-filter-open .n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 999px; background: var(--c-gold); color: var(--c-navy-deep); font-size: 11px; }
  #ssj-filters { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; max-height: 86vh; display: flex; flex-direction: column; border-radius: 14px 14px 0 0; box-shadow: 0 -10px 40px rgba(15, 37, 68, .35); transform: translateY(105%); transition: transform .3s; }
  #ssj-filters[data-open="true"] { transform: none; }
  #ssj-filters .ssj-filter-body { display: block; overflow-y: auto; }
  .ssj-filter-close { display: block; border: 0; background: none; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
  .ssj-filter-foot { display: block; padding: 12px 16px; border-top: 1px solid var(--c-line); background: #fff; }
  .ssj-filter-foot button { width: 100%; height: 48px; border: 0; border-radius: 4px; background: var(--c-blue); color: #fff; font-weight: 700; cursor: pointer; }
  .ssj-modal-body { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .ssj-ftabs { overflow-x: auto; }
  .ssj-ftab { flex: none; }
  .ssj-toolbar { gap: 10px; }
  .ssj-modal-card { padding: 24px 16px; }
  #ssj-gal-thumbs { grid-template-columns: repeat(5, 1fr); }
  .ssj-post { font-size: 15px; }
  .ssj-post h2 { font-size: 19px; }
  .ssj-post-nav { grid-template-columns: 1fr; }
  .ssj-post-nav .-next { grid-column: auto; }
  .ssj-postcard { flex-direction: column; gap: 12px; padding: 14px; }
  .ssj-postcard__th { width: 100%; }
  .ssj-phead.-post .ssj-phead__title { font-size: 22px; }
}

/* 調整：バッジを写真の上に／機種タブはPCで1列に収める */
.ssj-bdgs, .ssj-pcount, .ssj-fav { z-index: 1; }
@media (min-width: 1024px) {
  .ssj-cat-tabs { flex-wrap: nowrap; gap: 8px; }
  .ssj-cat { flex: 1 1 0; min-width: 0; padding: 14px 4px 12px; }
  .ssj-cat-name { font-size: 12.5px; letter-spacing: -.02em; }
}

/* 投稿本文：SWELLの目次（SWELLのJSで生成）は新デザインでは出さない／コアの文字色 */
.ssj-post .p-toc { display: none; }
.has-vivid-red-color { color: #cf2e2e; }
.has-vivid-cyan-blue-color { color: #0693e3; }
.has-luminous-vivid-orange-color { color: #ff6900; }
.has-black-color { color: #000; }
.has-white-color { color: #fff; }
.ssj-post .wp-block-image figcaption { margin-top: 6px; font-size: 12.5px; color: var(--c-muted); text-align: center; }
.ssj-post .aligncenter { margin-inline: auto; text-align: center; }

/* 海外版トップ：見出しが長いので少し小さく */
.ssj-hero__title.-intl { font-size: 48px; }
.ssj-lang-en .ssj-hero__title.-intl, .ssj-lang-es .ssj-hero__title.-intl { letter-spacing: 0; }
@media (max-width: 1023px) { .ssj-hero__title.-intl { font-size: 38px; } }
@media (max-width: 767px) { .ssj-hero__title.-intl { font-size: 26px; } }
.ssj-ctacol .tx a { color: inherit; }

/* =========================================================
   海外版（英・中・西）：既存ページの構成のまま新デザインを当てる
   対象は #ssj-app.ssj-en の中だけ
   ========================================================= */
/* 旧デザインのインラインstyleが参照している変数 */
:root {
  --blue: var(--c-blue); --blue-d: var(--c-blue-d); --navy: var(--c-navy); --gold: var(--c-gold); --red: var(--c-red);
  --ink: var(--c-text); --ink2: var(--c-navy-deep); --steel: var(--c-sub); --mute: var(--c-muted);
  --line: var(--c-line); --line2: #c9d4e0; --haze: var(--c-haze); --haze2: #e9edf2;
  --fb: var(--ff-ja); --fn: var(--ff-num); --fd: var(--ff-en); --r: 4px; --r-lg: 8px;
}
.ssj-en { overflow-x: clip; }
.ssj-en .ssj-sec { padding: 100px 0; }
.ssj-en .ssj-sec.haze { background: var(--c-haze); }
.ssj-en .ssj-sec.ink { background: var(--c-navy); color: #fff; }
.ssj-en .ssj-wrap.ssj-narrow { width: min(var(--narrow), 100% - var(--gutter) * 2); }
.ssj-en .ssj-head.row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.ssj-en .ssj-head h2 { font-size: 33px; font-weight: 700; line-height: 1.45; letter-spacing: .01em; text-wrap: balance; }
.ssj-en .ssj-head > p:not(.ssj-eyebrow), .ssj-en .ssj-head > div > p:not(.ssj-eyebrow) { margin-top: 12px; font-size: 14.5px; line-height: 1.8; color: var(--c-sub); }
.ssj-en .ssj-sec.ink .ssj-eyebrow, .ssj-en .ssj-sec.ink .ssj-head > p:not(.ssj-eyebrow) { color: #b9c6d0; }
.ssj-en .ssj-eyebrow { text-transform: uppercase; }
.ssj-en .ssj-head > .ssj-more-link { flex: none; }
.ssj-en .ssj-more-link svg { width: 14px; height: 14px; }

/* ボタン（旧クラス名 → 新デザイン） */
.ssj-en .ssj-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 10px 26px; border-radius: 4px; border: 1px solid transparent; font-weight: 700; font-size: 15px; line-height: 1.4; text-align: center; transition: opacity .2s, background-color .2s, color .2s; }
.ssj-en .ssj-btn svg { width: 16px; height: 16px; flex: none; }
.ssj-en .ssj-btn:hover { opacity: .88; }
.ssj-en .ssj-btn-primary { background: var(--c-blue); color: #fff; }
.ssj-en .ssj-btn-gold { background: var(--c-gold); color: var(--c-navy-deep); }
.ssj-en .ssj-btn-wht { background: #fff; color: var(--c-blue-d); border-color: var(--c-blue-d); }
.ssj-en .ssj-btn-outline, .ssj-en .ssj-btn-ghost2 { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .8); }
.ssj-en .ssj-btn-ghost { background: #fff; color: var(--c-blue-d); border-color: var(--c-blue-d); }

/* ---- 下層ページの見出し帯 ---- */
.ssj-en .ssj-phead { height: auto; min-height: 245px; display: flex; align-items: center; padding: 48px 0; background: linear-gradient(180deg, #0c3f8f 0%, #0b2a5e 100%); }
.ssj-en .ssj-phead::before, .ssj-en .ssj-phead::after { display: none; }
.ssj-en .ssj-phead .ssj-wrap { position: relative; z-index: 1; }
.ssj-en .ssj-phead .ssj-eyebrow { color: var(--c-gold); padding-left: 36px; margin-bottom: 4px; }
.ssj-en .ssj-phead .ssj-eyebrow::before { display: none; }
.ssj-en .ssj-phead h1 { font-size: 36px; font-weight: 700; line-height: 1.35; color: #fff; }
.ssj-en .ssj-phead h1 + p { margin-top: 14px; max-width: 640px; font-size: 14.5px; line-height: 1.8; color: #b9c6d0; }
/* 写真ありの見出し帯（日本語版と同じあしらい） */
.ssj-key-stock .ssj-en .ssj-phead, .ssj-key-company .ssj-en .ssj-phead, .ssj-key-contact .ssj-en .ssj-phead { min-height: 245px; background: var(--c-navy) center / cover no-repeat; }
.ssj-key-stock .ssj-en .ssj-phead { background-image: url(../img/hero-stock.jpg); }
.ssj-key-company .ssj-en .ssj-phead { background-image: url(../img/hero-company.webp); }
.ssj-key-contact .ssj-en .ssj-phead { background-image: url(../img/hero-contact.jpg); }
.ssj-key-stock .ssj-en .ssj-phead::before, .ssj-key-company .ssj-en .ssj-phead::before, .ssj-key-contact .ssj-en .ssj-phead::before,
.ssj-key-stock .ssj-en .ssj-phead::after, .ssj-key-company .ssj-en .ssj-phead::after, .ssj-key-contact .ssj-en .ssj-phead::after { display: block; }
.ssj-key-stock .ssj-en .ssj-phead .ssj-wrap, .ssj-key-company .ssj-en .ssj-phead .ssj-wrap, .ssj-key-contact .ssj-en .ssj-phead .ssj-wrap { width: auto; margin: 0; padding-left: 132px; max-width: 620px; }
.ssj-key-stock .ssj-en .ssj-phead .ssj-eyebrow, .ssj-key-company .ssj-en .ssj-phead .ssj-eyebrow, .ssj-key-contact .ssj-en .ssj-phead .ssj-eyebrow { padding-left: 0; }
.ssj-key-stock .ssj-en .ssj-phead h1 + p, .ssj-key-company .ssj-en .ssj-phead h1 + p, .ssj-key-contact .ssj-en .ssj-phead h1 + p { max-width: 340px; color: #fff; font-size: 14px; }

/* ---- トップ：メインビジュアル ---- */
.ssj-en .ssj-hero { position: relative; height: auto; min-height: 640px; display: flex; flex-direction: column; justify-content: center; padding: 120px 0 150px; overflow: hidden; color: #fff; background: #284c74 url(/wp-content/uploads/2026/09/fv_en.png) center / cover no-repeat; }
.ssj-en .ssj-hero.ssj-hero-en { background-image: url(/wp-content/uploads/2026/08/sunselect_mv.png); padding-bottom: 110px; }
.ssj-en .ssj-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(-57.69deg, rgba(0, 50, 112, 0) 55.365%, rgba(0, 50, 112, .8) 77.293%); }
.ssj-en .ssj-hero-inner { position: relative; z-index: 1; width: min(var(--wrap), 100% - 80px); margin-inline: auto; }
.ssj-en .ssj-hero-copy { max-width: 760px; }
.ssj-en .ssj-hero .ssj-title { font-size: 52px; font-weight: 900; line-height: 1.25; letter-spacing: .01em; text-shadow: 0 3px 14px rgba(0, 0, 0, .35); }
.ssj-en .ssj-hero .ssj-title em { font-style: normal; color: var(--c-gold); }
.ssj-en .ssj-hero .ssj-lead { margin-top: 24px; font-size: 16px; font-weight: 700; line-height: 1.9; color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, .45); }
.ssj-en .ssj-since { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--ff-en); font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ssj-en .ssj-since .bar { width: 28px; height: 2px; background: var(--c-gold); }
/* 右下のボタン群は、日本語版の在庫カードと同じ白パネルに */
.ssj-en .ssj-hero > .ssj-hero-btns { position: absolute; right: 25px; bottom: 30px; z-index: 2; display: flex; gap: 10px; padding: 18px 20px; background: #fff; box-shadow: 4px 4px 13px rgba(21, 36, 65, .25); }
.ssj-en .ssj-hero > .ssj-hero-btns .ssj-btn-primary { order: 2; }
.ssj-en .ssj-hero-copy .ssj-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ssj-en .ssj-hero-points { display: flex; flex-wrap: wrap; gap: 14px 0; margin-top: 34px; }
.ssj-en .ssj-hero-points li { display: flex; align-items: center; gap: 12px; padding: 0 24px; border-left: 1px solid rgba(255, 255, 255, .3); }
.ssj-en .ssj-hero-points li:first-child { padding-left: 0; border-left: 0; }
.ssj-en .ssj-hero-points svg { width: 30px; height: 30px; color: var(--c-gold); flex: none; }
.ssj-en .ssj-hero-points .tx { display: block; line-height: 1.3; }
.ssj-en .ssj-hero-points .lb { display: block; font-family: var(--ff-en); font-size: 11px; letter-spacing: .12em; color: #cbd8e0; }
.ssj-en .ssj-hero-points .nm { display: block; font-family: var(--ff-num); font-size: 22px; font-weight: 700; }
.ssj-en .ssj-hero-points .nm small { margin-left: 5px; font-size: 11px; color: #cbd8e0; }
.ssj-en .ssj-hero-points .ds { display: block; font-size: 12px; font-weight: 700; line-height: 1.5; }

/* ---- STOCK FINDER ---- */
.ssj-en #ssj-finder { background: var(--c-navy); padding: 26px max(var(--gutter), (100% - var(--wrap)) / 2) 24px; }
.ssj-en .ssj-finder-head { display: none; }
.ssj-en #ssj-finder-tabs { display: flex; gap: 6px; margin-bottom: 14px; }
.ssj-en .ssj-finder-body { display: grid; grid-template-columns: repeat(4, 1fr) 180px; gap: 10px 12px; align-items: end; }
.ssj-en .ssj-finder-body .ssj-field label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: #a9bac6; line-height: 1.2; min-height: 1.2em; }
.ssj-en .ssj-finder-body select, .ssj-en .ssj-finder-body input { width: 100%; height: 52px; padding: 0 14px; border: 0; border-radius: 3px; background: #fff; font-size: 15px; color: var(--c-text); }
.ssj-en .ssj-finder-body select { appearance: none; padding-right: 36px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316273c' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center no-repeat; }
.ssj-en .ssj-finder-foot { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.ssj-en #ssj-f-go { width: 100%; height: 52px; min-height: 0; border-radius: 3px; }
.ssj-en #ssj-f-clear { border: 0; background: none; font-size: 12px; font-weight: 700; color: #a9bac6; cursor: pointer; }

/* ---- 導線カード（日本語版の事業紹介カードのあしらい） ---- */
.ssj-en .ssj-routes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ssj-en .ssj-route { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 52px 0 32px 34px; background: #fff; border: 1px solid var(--c-line); border-top: 6px solid #002979; border-radius: 0 0 10px 10px; }
.ssj-en .ssj-route:nth-child(2) { border-top-color: #1468c0; }
.ssj-en .ssj-route::before { content: ""; position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: url(../img/pillar-buy.webp) left center / cover no-repeat; }
.ssj-en .ssj-route:nth-child(2)::before { background-image: url(../img/pillar-sell.webp); width: 39%; }
.ssj-en .ssj-route > * { position: relative; z-index: 1; width: 62%; }
.ssj-en .ssj-route .lb { font-family: var(--ff-zen); font-size: 16px; font-weight: 700; color: var(--c-sub); }
.ssj-en .ssj-route h3 { margin: 2px 0 16px; font-size: 26px; font-weight: 700; line-height: 1.35; color: var(--c-navy); }
.ssj-en .ssj-route:nth-child(2) h3 { color: var(--c-blue-d); }
.ssj-en .ssj-route > p:not(.lb) { max-width: 300px; font-size: 14px; line-height: 1.5; color: var(--c-sub); margin-bottom: 12px; }
.ssj-en .ssj-route li { position: relative; padding: 8px 0 8px 26px; border-bottom: 1px solid var(--c-line); font-size: 14px; line-height: 1.5; }
.ssj-en .ssj-route li::before { content: ""; position: absolute; left: 4px; top: 14px; width: 10px; height: 6px; border-left: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(-45deg); }
.ssj-en .ssj-route .go { padding-top: 24px; }
.ssj-en .ssj-route .go .ssj-btn { min-width: 240px; }
.ssj-en .ssj-route:first-child .go .ssj-btn { background: var(--c-gold); color: var(--c-navy-deep); }

/* ---- 在庫・種類・メーカー（ID指定のコンテナ） ---- */
.ssj-en .ssj-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ssj-en #ssj-typegrid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ssj-en #ssj-typegrid .ssj-tg { position: relative; width: calc((100% - 60px) / 6); aspect-ratio: 189 / 140; overflow: hidden; color: #fff; }
.ssj-en #ssj-typegrid .ssj-tg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .55)); }
.ssj-en #ssj-makergrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.ssj-en #ssj-makergrid .ssj-mk { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 78px; background: #fff; border: 1px solid var(--c-line); border-radius: 6px; }
.ssj-en #ssj-latest-title, .ssj-en #ssj-typegrid-title { font-size: 33px; }
.ssj-en #ssj-makergrid-title { font-size: 22px !important; }
.ssj-en #ssj-news li a { display: flex; align-items: center; gap: 16px; padding: 20px 4px; border-bottom: 1px solid var(--c-line); }
.ssj-en #ssj-column { display: grid; gap: 14px; }
.ssj-en #ssj-news-title, .ssj-en #ssj-column-title { font-size: 26px !important; }

/* ---- 流れ（6ステップ） ---- */
.ssj-en .ssj-flow .ssj-step { padding: 22px 12px 24px; }
.ssj-en .ssj-step > b { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-blue); color: #fff; font-family: var(--ff-num); font-size: 14px; line-height: 1; }
.ssj-en .ssj-step h3 { margin-top: 8px; font-size: 14.5px; font-weight: 700; line-height: 1.5; }
.ssj-en .ssj-step p { margin-top: 8px; font-size: 12px; line-height: 1.6; color: var(--c-sub); }

/* ---- 選ばれる理由 ---- */
.ssj-en .ssj-reason .no { font-family: var(--ff-en); font-size: 20px; font-weight: 700; color: var(--c-blue-d); line-height: 1.2; }
.ssj-en .ssj-reason > svg { display: block; width: 46px; height: 46px; margin: 4px auto 14px; color: var(--c-blue); }
.ssj-en .ssj-reason h3 { font-size: 17.5px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
.ssj-en .ssj-reason > p:not(.no) { font-size: 13.5px; line-height: 1.8; color: var(--c-sub); }

/* ---- CTA帯 ---- */
.ssj-en .ssj-ctacol { padding: 66px 60px 56px 150px; }
.ssj-en .ssj-ctacol.buy { background: linear-gradient(135deg, #0f2544 0%, #1a396a 100%); }
.ssj-en .ssj-ctacol.sell { background: linear-gradient(135deg, #1e4fa8 0%, #2e6fd8 100%); padding-left: 100px; }

/* ---- 下層：手順（縦並び） ---- */
.ssj-en .ssj-steps { display: grid; gap: 14px; }
.ssj-en .ssj-stepbox { display: flex; gap: 20px; padding: 26px 28px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-en .ssj-stepbox > .no { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-blue); color: #fff; font-family: var(--ff-num); font-size: 17px; font-weight: 700; }
.ssj-en .ssj-stepbox h3 { font-size: 18px; font-weight: 700; line-height: 1.5; margin-bottom: 6px; }
.ssj-en .ssj-stepbox p { font-size: 14px; line-height: 1.85; color: var(--c-sub); }
.ssj-en .note { margin-top: 12px; padding: 12px 16px; background: #eef4fb; border-radius: 6px; font-size: 13px; line-height: 1.7; color: var(--c-sub); }

/* ---- 下層：表 ---- */
.ssj-en .ssj-terms, .ssj-en .ssj-lead-table, .ssj-en .ssj-offices { width: 100%; background: #fff; border: 1px solid #c8d3e0; }
.ssj-en .ssj-terms th, .ssj-en .ssj-terms td, .ssj-en .ssj-lead-table th, .ssj-en .ssj-lead-table td, .ssj-en .ssj-offices th, .ssj-en .ssj-offices td { padding: 16px 20px; border: 1px solid #c8d3e0; text-align: left; vertical-align: top; font-size: 14.5px; line-height: 1.8; }
.ssj-en .ssj-terms th, .ssj-en .ssj-lead-table tbody th, .ssj-en .ssj-offices th { width: 30%; color: var(--c-blue-d); font-weight: 700; background: #f5f8fc; }
.ssj-en .ssj-lead-table thead th { background: var(--c-navy-deep); color: #fff; font-size: 13px; }
.ssj-en .ssj-lead-table td { font-family: var(--ff-num); font-weight: 700; }
.ssj-en .ssj-offices a { color: var(--c-blue-d); text-decoration: underline; }

/* ---- 下層：カード群 ---- */
.ssj-en .ssj-docs, .ssj-en .ssj-caps, .ssj-en .ssj-load { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ssj-en .ssj-doc, .ssj-en .ssj-cap, .ssj-en .ssj-loaditem, .ssj-en .ssj-qstep, .ssj-en .ssj-way, .ssj-en .ssj-mode, .ssj-en .ssj-check { padding: 26px 24px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-en .ssj-doc { border-top: 4px solid var(--c-blue); }
.ssj-en .ssj-doc h4, .ssj-en .ssj-loaditem h4 { font-size: 16px; font-weight: 700; line-height: 1.5; margin-bottom: 6px; }
.ssj-en .ssj-doc p, .ssj-en .ssj-cap p, .ssj-en .ssj-loaditem p, .ssj-en .ssj-qstep p, .ssj-en .ssj-way p, .ssj-en .ssj-mode > p, .ssj-en .ssj-check > p { font-size: 13.5px; line-height: 1.8; color: var(--c-sub); }
.ssj-en .ssj-cap > svg, .ssj-en .ssj-loaditem > svg, .ssj-en .ssj-qstep > svg, .ssj-en .ssj-way > svg { display: block; width: 40px; height: 40px; margin-bottom: 12px; color: var(--c-blue); }
.ssj-en .ssj-cap h3, .ssj-en .ssj-qstep h3, .ssj-en .ssj-way h3, .ssj-en .ssj-mode h3, .ssj-en .ssj-check h3 { font-size: 17.5px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
.ssj-en .ssj-loaditem { text-align: center; }
.ssj-en .ssj-loaditem > svg { margin-inline: auto; }
.ssj-en .ssj-loaditem .n { font-family: var(--ff-num); font-size: 34px; font-weight: 700; color: var(--c-blue-d); line-height: 1.3; }
.ssj-en .ssj-loaditem .n small { margin-left: 4px; font-size: 13px; color: var(--c-sub); }
.ssj-en .ssj-load + .ssj-note { margin-top: 24px; }
.ssj-en .ssj-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ssj-en .ssj-mode { padding: 34px 30px; border-top: 6px solid #002979; border-radius: 0 0 10px 10px; }
.ssj-en .ssj-mode:nth-child(2) { border-top-color: #1468c0; }
.ssj-en .ssj-mode .lb, .ssj-en .ssj-check .no { font-family: var(--ff-en); font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--c-blue-d); margin-bottom: 4px; }
.ssj-en .ssj-mode dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--c-line); font-size: 13.5px; }
.ssj-en .ssj-mode dt { font-weight: 700; color: var(--c-muted); }
.ssj-en .ssj-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ssj-en .ssj-check ul { margin-top: 12px; }
.ssj-en .ssj-check li { position: relative; padding: 8px 0 8px 26px; border-bottom: 1px solid var(--c-line); font-size: 13.5px; line-height: 1.5; }
.ssj-en .ssj-check li::before { content: ""; position: absolute; left: 4px; top: 12px; width: 10px; height: 6px; border-left: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(-45deg); }
.ssj-en .ssj-qflow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ssj-en .ssj-qstep { text-align: center; }
.ssj-en .ssj-qstep > svg { margin-inline: auto; }
.ssj-en .ssj-policy { padding: 30px 32px; background: #fff; border: 1px solid var(--c-line); border-left: 4px solid var(--c-blue); border-radius: 6px; }
.ssj-en .ssj-policy h3 { font-size: 19px; font-weight: 700; line-height: 1.5; margin-bottom: 10px; }
.ssj-en .ssj-policy p { font-size: 14.5px; line-height: 2; color: var(--c-sub); }

/* ---- ストックヤード ---- */
.ssj-en .ssj-yardnums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ssj-en .ssj-yardnum { padding: 22px 16px; text-align: center; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-en .ssj-yardnum .lb { font-size: 12.5px; font-weight: 700; color: var(--c-muted); }
.ssj-en .ssj-yardnum .n { font-family: var(--ff-num); font-size: 36px; font-weight: 700; color: var(--c-blue-d); line-height: 1.3; }
.ssj-en .ssj-yardnum .n small { margin-left: 4px; font-size: 13px; color: var(--c-sub); }
.ssj-en .ssj-yards { display: grid; grid-template-columns: 1fr; gap: 20px; }
.ssj-en .ssj-yard { display: grid; grid-template-columns: 1fr 420px; gap: 32px; align-items: start; padding: 28px; }
.ssj-en .ssj-yard h3 { font-size: 20px; margin-bottom: 8px; }
.ssj-en .ssj-yard p:not(.en) { font-size: 14px; line-height: 1.85; color: var(--c-sub); }
.ssj-en .ssj-yard dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin-top: 14px; font-size: 13.5px; }
.ssj-en .ssj-yard dt { font-weight: 700; color: var(--c-muted); }
.ssj-en .ssj-yard-map { aspect-ratio: 420 / 262; background: #e4e3df; }
.ssj-en .ssj-yard-map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---- 会社案内 ---- */
.ssj-en .ssj-loc-txt { min-width: 0; }

/* ---- お問い合わせ ---- */
.ssj-en .ssj-ways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ssj-en .ssj-way { text-align: center; border-color: var(--c-blue-d); }
.ssj-en .ssj-way > svg { margin-inline: auto; width: 48px; height: 48px; }
.ssj-en .ssj-way .v { display: block; margin: 4px 0 6px; font-family: var(--ff-num); font-size: 24px; font-weight: 700; color: #0f4c94; line-height: 1.4; word-break: break-all; }
.ssj-en .ssj-before { padding: 30px 32px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-en .ssj-before h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.ssj-en .ssj-before li { position: relative; padding: 10px 0 10px 26px; border-bottom: 1px solid var(--c-line); font-size: 14px; line-height: 1.7; color: var(--c-sub); }
.ssj-en .ssj-before li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 10px; height: 6px; border-left: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); transform: rotate(-45deg); }
.ssj-en .ssj-before strong { color: var(--c-text); }
.ssj-en .ssj-formbox { padding: 46px 34px 44px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.ssj-en .ssj-form { display: grid; gap: 22px; }
.ssj-en .ssj-form label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.ssj-en .ssj-form .req { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 3px; background: #d6293a; color: #fff; font-size: 10.5px; line-height: 18px; vertical-align: 2px; }
.ssj-en .ssj-form input[type=text], .ssj-en .ssj-form input[type=email], .ssj-en .ssj-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #c9d4e0; border-radius: 6px; background: #f6f9fd; font-size: 15px; }
.ssj-en .ssj-form input[type=text], .ssj-en .ssj-form input[type=email] { height: 52px; }
.ssj-en .ssj-form textarea { min-height: 150px; resize: vertical; }
.ssj-en .ssj-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.ssj-en .ssj-form-types { display: flex; flex-wrap: wrap; gap: 8px; }
.ssj-en .ssj-form-types label { margin: 0; font-weight: 400; cursor: pointer; }
.ssj-en .ssj-form-types input { position: absolute; opacity: 0; pointer-events: none; }
.ssj-en .ssj-form-types span { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid #c9d4e0; border-radius: 999px; background: #fff; font-size: 13.5px; }
.ssj-en .ssj-form-types input:checked + span { background: var(--c-blue); border-color: var(--c-blue); color: #fff; font-weight: 700; }
.ssj-en .ssj-form-types input:focus-visible + span { outline: 3px solid var(--c-blue-l); }
.ssj-en .hint { margin-top: 6px; font-size: 12px; color: #7488a0; }
.ssj-en .ssj-form-submit { text-align: center; }
.ssj-en .ssj-form-submit .ssj-btn { min-width: 248px; height: 60px; border-radius: 999px; background: linear-gradient(90deg, #2a8ae6, var(--c-blue)); font-size: 17px; box-shadow: 0 6px 16px rgba(23, 113, 207, .3); }
.ssj-en .ssj-form-note { margin-top: 12px; font-size: 12px; color: #5c6c81; }

/* ---- 在庫検索（既存の構成） ---- */
.ssj-en.ssj-page-stock > .ssj-sec:not(.ssj-phead) { padding-bottom: 80px; }
.ssj-en #ssj-cat-tabs { display: flex; flex-wrap: nowrap; gap: 8px; width: min(var(--wrap), 100% - var(--gutter) * 2); margin-inline: auto; }
.ssj-en.ssj-page-stock .ssj-main { width: min(var(--wrap), 100% - var(--gutter) * 2); margin: 40px auto 0; }
.ssj-en #ssj-filters { background: #fff; border: 1px solid var(--c-line); border-radius: 6px; overflow: hidden; }
.ssj-en #ssj-filters .ssj-filter-head { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: var(--c-navy-deep); color: #fff; }
.ssj-en #ssj-filters .ssj-filter-head > svg { width: 16px; height: 16px; color: var(--c-gold); }
.ssj-en #ssj-refine-title { font-family: var(--ff-zen); font-size: 15px; font-weight: 700; }
.ssj-en #ssj-reset { margin-left: auto; border: 0; background: none; color: #b9cbd8; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.ssj-en #ssj-filters .ssj-filter-body { padding: 18px 16px 20px; }
.ssj-en .ssj-filter-apply { display: none; }
.ssj-en #ssj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ssj-en #ssj-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.ssj-en #ssj-chips:empty { display: none; }
.ssj-en #ssj-count b { font-family: var(--ff-num); font-size: 26px; color: var(--c-blue-d); margin: 0 4px 0 6px; }
.ssj-en .ssj-more-wrap { text-align: center; }
.ssj-en #ssj-more { min-width: 260px; height: 52px; margin-top: 40px; padding: 0 28px; border: 1px solid var(--c-blue-d); border-radius: 4px; background: #fff; color: var(--c-blue-d); font-size: 15px; font-weight: 700; cursor: pointer; }
.ssj-en #ssj-empty { padding: 40px 20px; text-align: center; background: #fff; border: 1px dashed #c9d4e0; border-radius: 8px; }
.ssj-en #ssj-empty b { display: block; font-size: 16px; }
.ssj-en #ssj-empty span { display: block; margin-top: 6px; font-size: 13px; color: var(--c-sub); }
.ssj-en .ssj-midcta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 32px 30px; background: var(--c-haze); border-radius: 6px; }
.ssj-en .ssj-midcta strong { display: block; font-size: 18px; }
.ssj-en .ssj-midcta p { margin-top: 6px; font-size: 13.5px; color: var(--c-sub); }
.ssj-en .ssj-midcta .btns { display: flex; flex-wrap: wrap; gap: 10px; flex: none; }

/* ---- 海外版のレスポンシブ ---- */
@media (max-width: 1023px) {
  .ssj-en .ssj-sec { padding: 80px 0; }
  .ssj-en .ssj-head h2 { font-size: 28px; }
  .ssj-en .ssj-hero { min-height: 0; padding: 100px 0 40px; }
  .ssj-en .ssj-hero-inner { width: calc(100% - 64px); }
  .ssj-en .ssj-hero .ssj-title { font-size: 42px; }
  .ssj-en .ssj-hero > .ssj-hero-btns { position: relative; right: auto; bottom: auto; margin: 36px 32px 0; justify-content: center; }
  .ssj-en #ssj-finder-tabs { overflow-x: auto; }
  .ssj-en .ssj-finder-body { grid-template-columns: 1fr 1fr; }
  .ssj-en .ssj-finder-foot { grid-column: 1 / -1; }
  .ssj-en #ssj-f-go { width: auto; min-width: 280px; padding: 0 32px; }
  .ssj-en .ssj-routes, .ssj-en .ssj-modes { grid-template-columns: 1fr; }
  .ssj-en .ssj-route::before { width: 40%; }
  .ssj-en .ssj-cards { grid-template-columns: repeat(2, 1fr); }
  .ssj-en #ssj-typegrid { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) 10px; }
  .ssj-en #ssj-typegrid .ssj-tg { flex: none; width: 200px; }
  .ssj-en #ssj-makergrid { grid-template-columns: repeat(4, 1fr); }
  .ssj-en .ssj-ctacol, .ssj-en .ssj-ctacol.sell { padding: 56px var(--gutter); }
  .ssj-en .ssj-docs { grid-template-columns: 1fr 1fr; }
  .ssj-en .ssj-qflow { grid-template-columns: 1fr 1fr; }
  .ssj-en .ssj-yard { grid-template-columns: 1fr 1fr; gap: 20px; }
  .ssj-key-stock .ssj-en .ssj-phead .ssj-wrap, .ssj-key-company .ssj-en .ssj-phead .ssj-wrap, .ssj-key-contact .ssj-en .ssj-phead .ssj-wrap { padding-left: var(--gutter); }
  .ssj-en #ssj-cat-tabs { overflow-x: auto; padding-bottom: 8px; }
  .ssj-en.ssj-page-stock .ssj-main { grid-template-columns: 1fr; }
  .ssj-en #ssj-grid { grid-template-columns: repeat(2, 1fr); }
  .ssj-en .ssj-filter-apply { display: block; padding: 12px 16px; border-top: 1px solid var(--c-line); background: #fff; }
  .ssj-en .ssj-filter-apply .ssj-btn { width: 100%; }
  .ssj-en .ssj-midcta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
  .ssj-en .ssj-sec { padding: 60px 0; }
  .ssj-en .ssj-head.row { flex-direction: column; align-items: flex-start; }
  .ssj-en .ssj-head.row .ssj-more-link { align-self: flex-end; }
  .ssj-en .ssj-head h2, .ssj-en #ssj-latest-title, .ssj-en #ssj-typegrid-title { font-size: 23px; }
  .ssj-en .ssj-phead { min-height: 0; padding: 40px 0; }
  .ssj-en .ssj-phead .ssj-eyebrow { padding-left: 0; }
  .ssj-en .ssj-phead h1 { font-size: 27px; }
  .ssj-en .ssj-hero { padding: 56px 0 24px; background-position: 62% center; }
  .ssj-en .ssj-hero::before { background: linear-gradient(180deg, rgba(10, 30, 70, .6) 0%, rgba(10, 30, 70, .4) 60%, rgba(10, 30, 70, .65) 100%); }
  .ssj-en .ssj-hero-inner { width: calc(100% - 40px); }
  .ssj-en .ssj-hero .ssj-title { font-size: 28px; }
  .ssj-en .ssj-hero .ssj-lead { font-size: 13.5px; }
  .ssj-en .ssj-hero > .ssj-hero-btns { flex-direction: column; align-items: center; margin: 32px 20px 0; }
  .ssj-en .ssj-hero-copy .ssj-hero-btns { flex-direction: column; align-items: flex-start; }
  .ssj-en .ssj-hero-points { flex-direction: column; gap: 12px; }
  .ssj-en .ssj-hero-points li { padding: 0; border-left: 0; }
  .ssj-en .ssj-finder-body { grid-template-columns: 1fr; gap: 12px; }
  .ssj-en .ssj-route { padding: 0 0 26px; min-height: 0; }
  .ssj-en .ssj-route::before { position: static; order: -1; display: block; width: 100%; height: 190px; background-position: center 30%; }
  .ssj-en .ssj-route:nth-child(2)::before { width: 100%; }
  .ssj-en .ssj-route > * { width: auto; padding-inline: 20px; }
  .ssj-en .ssj-route .lb { padding-top: 24px; }
  .ssj-en .ssj-route .go { text-align: center; }
  .ssj-en .ssj-route .go .ssj-btn { min-width: 240px; }
  .ssj-en .ssj-cards { grid-template-columns: 1fr; gap: 16px; }
  .ssj-en #ssj-typegrid .ssj-tg { width: 62%; }
  .ssj-en #ssj-makergrid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ssj-en #ssj-makergrid .ssj-mk { height: 64px; }
  .ssj-en .ssj-ctacol, .ssj-en .ssj-ctacol.sell { padding: 48px var(--gutter); }
  .ssj-en .ssj-stepbox { flex-direction: column; gap: 12px; padding: 22px 20px; }
  .ssj-en .ssj-docs, .ssj-en .ssj-caps, .ssj-en .ssj-load, .ssj-en .ssj-checks, .ssj-en .ssj-qflow, .ssj-en .ssj-ways { grid-template-columns: 1fr; }
  .ssj-en .ssj-yardnums { grid-template-columns: 1fr 1fr; }
  .ssj-en .ssj-yard { grid-template-columns: 1fr; padding: 22px 18px; }
  .ssj-en .ssj-terms th, .ssj-en .ssj-terms td, .ssj-en .ssj-lead-table tbody th, .ssj-en .ssj-lead-table td, .ssj-en .ssj-offices th, .ssj-en .ssj-offices td { padding: 12px 14px; font-size: 13.5px; }
  .ssj-en .ssj-terms th, .ssj-en .ssj-offices th { width: 34%; }
  .ssj-en .ssj-policy, .ssj-en .ssj-before { padding: 22px 18px; }
  .ssj-en .ssj-formbox { padding: 30px 18px; }
  .ssj-en .ssj-form-row { grid-template-columns: 1fr; gap: 22px; }
  .ssj-en .ssj-way .v { font-size: 20px; }
  .ssj-en #ssj-grid { grid-template-columns: 1fr; gap: 16px; }
  .ssj-en .ssj-midcta { padding: 26px 20px; }
  .ssj-en .ssj-midcta .btns { flex-direction: column; align-items: flex-start; }
}
/* 海外版：背景のあしらい（日本語版と同じ斜めストライプ） */
.ssj-en .ssj-sec.haze { position: relative; overflow: hidden; }
.ssj-en .ssj-sec.haze::after { content: ""; position: absolute; right: 0; bottom: 0; width: 446px; height: 315px; background: url(../img/deco-br.png) right bottom / contain no-repeat; pointer-events: none; }
.ssj-en .ssj-sec.haze > .ssj-wrap { position: relative; z-index: 1; }
@media (max-width: 767px) { .ssj-en .ssj-sec.haze::after { width: 190px; height: 134px; opacity: .7; } }

/* 言語切替：スマホでは地球アイコンだけの丸ボタン */
@media (max-width: 767px) {
  .sh-tools { gap: 8px; }
  .sh-lang__btn { width: 42px; height: 42px; padding: 0; justify-content: center; }
  .sh-lang__btn span, .sh-lang__btn .cv { display: none; }
  .sh-lang__btn .gl { width: 20px; height: 20px; }
  .sh-lang__list::before { right: 15px; }
}
.ssj-en .ssj-hero > .ssj-hero-inner { z-index: 2; }
.ssj-en .ssj-hero > .ssj-hero-btns { z-index: 3; }

/* =========================================================
   タブレット調整：カードが横に広がりすぎないように
   900〜1023px：PCに近い列数／768〜899px：列数はそのままで最大幅を抑える
   ========================================================= */
@media (min-width: 900px) and (max-width: 1023px) {
  .ssj-cards4, .ssj-bases, .ssj-yards { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .ssj-card-body { padding: 14px 12px; }
  .ssj-price { font-size: 20px; }
  .ssj-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .ssj-makergrid { grid-template-columns: repeat(6, 1fr); }
  .ssj-typegrid { flex-wrap: wrap; justify-content: center; overflow: visible; margin-inline: 0; padding: 0; }
  .ssj-tg { width: calc((100% - 60px) / 6); }
  .ssj-reasons { grid-template-columns: repeat(3, 1fr); }
  .ssj-reason { border-right: 1px solid var(--c-line) !important; border-bottom: 1px solid var(--c-line) !important; padding: 20px 18px 24px; }
  .ssj-reason:nth-child(3n) { border-right: 0 !important; }
  .ssj-reason:nth-last-child(-n+3) { border-bottom: 0 !important; }
  .ssj-ctaband { grid-template-columns: 1fr 1fr; }
  .ssj-ctacol, .ssj-ctacol.-sell { padding: 56px 36px; }
  .ssj-ctacol h2 { font-size: 23px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ssj-pillars { max-width: 760px; margin-inline: auto; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .ssj-cards4, .ssj-bases, .ssj-yards { max-width: 680px; margin-inline: auto; }
  .ssj-reasons { max-width: 680px; margin-inline: auto; }
  .ssj-ctaband .ssj-ctacol { padding-inline: max(var(--gutter), (100% - 680px) / 2); }
}
/* 海外版のタブレット調整 */
@media (min-width: 900px) and (max-width: 1023px) {
  .ssj-en .ssj-cards { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .ssj-en #ssj-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .ssj-en #ssj-makergrid { grid-template-columns: repeat(6, 1fr); }
  .ssj-en #ssj-typegrid { flex-wrap: wrap; justify-content: center; overflow: visible; margin-inline: 0; padding: 0; }
  .ssj-en #ssj-typegrid .ssj-tg { width: calc((100% - 60px) / 6); }
  .ssj-en .ssj-docs { grid-template-columns: repeat(3, 1fr); }
  .ssj-en .ssj-qflow { grid-template-columns: repeat(4, 1fr); }
  .ssj-en .ssj-ctacol, .ssj-en .ssj-ctacol.sell { padding: 56px 36px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ssj-en .ssj-routes, .ssj-en .ssj-modes { max-width: 760px; margin-inline: auto; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .ssj-en .ssj-cards, .ssj-en .ssj-docs, .ssj-en .ssj-qflow, .ssj-en .ssj-yardnums { max-width: 680px; margin-inline: auto; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ssj-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .ssj-grid .ssj-card-body { padding: 12px 10px; }
  .ssj-grid .ssj-price { font-size: 19px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ssj-en #ssj-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

/* 横スクロールする行（在庫検索の機種タブ・検索タブ・種類から探す）はスクロールバーを出さない */
.ssj-catbar ul, .ssj-cat-tabs, #ssj-cat-tabs, .ssj-ftabs, #ssj-finder-tabs, .ssj-typegrid, #ssj-typegrid { scrollbar-width: none; -ms-overflow-style: none; }
.ssj-catbar ul::-webkit-scrollbar, .ssj-cat-tabs::-webkit-scrollbar, #ssj-cat-tabs::-webkit-scrollbar, .ssj-ftabs::-webkit-scrollbar, #ssj-finder-tabs::-webkit-scrollbar, .ssj-typegrid::-webkit-scrollbar, #ssj-typegrid::-webkit-scrollbar { display: none; }

/* 在庫検索の機種タブ：タブレット・スマホは折り返して画面内に収める（横スクロールなし） */
@media (max-width: 1199px) {
  .ssj-catbar ul, .ssj-cat-tabs, #ssj-cat-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; overflow: visible; margin: 0 auto; padding: 0; }
  .ssj-catbar li { flex: 0 0 calc((100% - 40px) / 6); }
  .ssj-catbar a { width: 100%; min-width: 0; padding: 12px 4px 10px; }
  .ssj-cat-tabs .ssj-cat, #ssj-cat-tabs .ssj-cat { flex: 0 0 calc((100% - 40px) / 6); min-width: 0; padding: 12px 4px 10px; }
  .ssj-catbar b, .ssj-cat-name { font-size: 12.5px; letter-spacing: -.02em; }
}
@media (max-width: 767px) {
  .ssj-catbar { padding: 20px 0; }
  .ssj-catbar ul, .ssj-cat-tabs, #ssj-cat-tabs { gap: 6px; }
  .ssj-catbar li, .ssj-cat-tabs .ssj-cat, #ssj-cat-tabs .ssj-cat { flex-basis: calc((100% - 18px) / 4); }
  .ssj-catbar a, .ssj-cat-tabs .ssj-cat, #ssj-cat-tabs .ssj-cat { padding: 10px 2px 8px; border-radius: 8px; }
  .ssj-catbar img, .ssj-cat::before { width: 32px; height: 28px; }
  .ssj-cat-i { width: 30px; height: 26px; }
  .ssj-catbar b, .ssj-cat-name { margin-top: 4px; font-size: 10.5px; letter-spacing: -.04em; }
  .ssj-catbar span, .ssj-cat-n { margin-top: 4px; min-width: 36px; padding: 0 6px; font-size: 11px; line-height: 18px; }
}
/* 機種名は文字のみ（件数バッジのスタイルを継承させない） */
.ssj-catbar .ssj-cat-name { min-width: 0; padding: 0; border-radius: 0; background: none; color: var(--c-blue-d); font-family: var(--ff-ja); font-weight: 700; line-height: 1.4; }
@media (max-width: 1199px) {
  .ssj-en #ssj-cat-tabs { flex-wrap: wrap; justify-content: center; overflow: visible; padding-bottom: 0; }
}
@media (max-width: 767px) { .ssj-en #ssj-cat-tabs { gap: 6px; } }

/* スマホ：機種タブは絞り込みパネルの中に入れる（帯は非表示） */
@media (max-width: 767px) {
  .ssj-cats-in-filter .ssj-catbar { display: none; }
  .ssj-filter-cats { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--c-line); }
  .ssj-filter-cats h4 { margin-bottom: 8px; font-size: 12.5px; font-weight: 700; color: var(--c-sub); }
  .ssj-filter-cats .ssj-cat-tabs, .ssj-filter-cats #ssj-cat-tabs, .ssj-filter-cats ul { width: 100%; margin: 0; }
}

/* 在庫カード：スマホでは写真の下の白地に全幅で置く */
@media (max-width: 767px) {
  .ssj-hero { padding-bottom: 0; }
  .ssj-stockcard { position: relative; inset: auto; z-index: 2; display: block; margin: 44px 0 0; padding: 16px 20px 28px; background: #fff; box-shadow: none; }
  .ssj-stockcard > div:first-child { padding: 0 8px; }
  .ssj-stockcard .lb { font-size: 14px; letter-spacing: .03em; }
  .ssj-stockcard .num { display: flex; align-items: center; gap: 12px; margin-top: 0; font-size: 18px; font-weight: 700; line-height: 1; color: #0b1324; }
  .ssj-stockcard .num b { display: block; font-size: 37px; font-weight: 700; line-height: 1; letter-spacing: 0; color: #0a58b8; }
  .ssj-stockcard .btns { display: flex; flex-direction: column; align-items: stretch; gap: 9px; margin-top: 26px; }
  .ssj-stockcard .btns .ssj-btn { position: relative; width: 100%; min-width: 0; height: 40px; min-height: 0; padding: 0 44px; border-radius: 4px; font-size: 15.5px; justify-content: center; }
  .ssj-stockcard .btns .ssj-btn .arw { position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px; stroke-width: 1.6; }
  .ssj-stockcard .btns .-primary { background: #0566cc; border-color: #0566cc; }
  .ssj-stockcard .btns .-primary { order: -1; }
  .ssj-stockcard .btns .-outline-blue { border-width: 1px; border-color: #6799d3; color: #073e8d; background: #fff; }
  .ssj-stockcard .btns .-outline-blue .arw { color: #004ca4; }
}

/* トップ（スマホ）：CTAの下は薄いグレーから始め、検索ボックスは「種類から探す」の直前へ */
@media (max-width: 767px) {
  #ssj-purchase { background: var(--c-haze); }
  .ssj-finder.is-moved { margin: 64px calc(var(--gutter) * -1) 56px; }
  .ssj-finder.is-moved + .ssj-head { margin-top: 0 !important; }
}

/* 在庫カード（スマホ）：数字と下揃え・ボタンは内容幅で中央 */
@media (max-width: 767px) {
  .ssj-stockcard .num { align-items: baseline; }
  .ssj-stockcard .btns { display: grid; grid-template-columns: minmax(264px, max-content); justify-content: center; }
  .ssj-stockcard > div:first-child { display: flex; flex-direction: column; align-items: center; padding: 0; }
}

/* 在庫カード（スマホ）：コンパクト化し、写真の見える面積を広げる */
@media (max-width: 767px) {
  .ssj-stockcard { margin-top: 150px; padding: 14px 20px 16px; }
  .ssj-stockcard .lb { font-size: 12.5px; }
  .ssj-stockcard .num { font-size: 15px; gap: 10px; }
  .ssj-stockcard .num b { font-size: 32px; }
  .ssj-stockcard .btns { gap: 7px; margin-top: 18px; grid-template-columns: minmax(250px, max-content); }
  .ssj-stockcard .btns .ssj-btn { height: 38px; font-size: 14.5px; }
}

/* 在庫カード（スマホ）：台数の右にボタン（矢印なし・幅を詰める） */
@media (max-width: 767px) {
  .ssj-stockcard { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; padding: 14px 16px 14px 20px; }
  .ssj-stockcard > div:first-child { align-items: flex-start; }
  .ssj-stockcard .num { gap: 6px; font-size: 14px; }
  .ssj-stockcard .num b { font-size: 30px; }
  .ssj-stockcard .btns { grid-template-columns: auto; gap: 6px; margin-top: 0; }
  .ssj-stockcard .btns .ssj-btn { height: 34px; padding: 0 12px; font-size: 12.5px; letter-spacing: 0; }
  .ssj-stockcard .btns .ssj-btn .arw { display: none; }
}
/* 幅が足りない小型端末ではボタンを台数の下に横並び */
@media (max-width: 359px) {
  .ssj-stockcard { grid-template-columns: 1fr; }
  .ssj-stockcard .btns { grid-template-columns: 1fr; margin-top: 18px; }
}

/* 在庫カード（スマホ）：ボタンは台数の右 */
@media (max-width: 767px) {
  .ssj-stockcard .btns { grid-column: 2; grid-row: 1; }
}
@media (max-width: 359px) {
  .ssj-stockcard .btns { grid-column: auto; grid-row: auto; order: 1; }
}

/* トップ（スマホ）：写真を画面の高さまで伸ばし、在庫カードを最初の画面の下端に揃える */
@media (max-width: 767px) {
  .ssj-hero { display: flex; flex-direction: column; min-height: calc(100vh - var(--header-h)); min-height: calc(100svh - var(--header-h)); }
  .ssj-hero__inner { padding-bottom: 40px; }
  .ssj-stockcard { margin-top: auto; }
  body.admin-bar .ssj-hero { min-height: calc(100svh - var(--header-h) - 46px); }
}

/* スマホ：画面下部の固定ボタン */
.ssj-fixbar { display: none; }
@media (max-width: 767px) {
  .ssj-fixbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); box-shadow: 0 -2px 12px rgba(10, 30, 70, .12); transform: translateY(110%); transition: transform .25s ease; }
  .ssj-fixbar.is-show { transform: none; }
  .ssj-fixbar__btn { display: flex; align-items: center; justify-content: center; gap: 6px; height: 44px; border: 1px solid #6799d3; border-radius: 4px; background: #fff; color: #073e8d; font-size: 14px; font-weight: 700; text-decoration: none; }
  .ssj-fixbar__btn.-primary { border-color: #0566cc; background: #0566cc; color: #fff; }
  .ssj-fixbar__btn svg { width: 16px; height: 16px; flex: none; }
  body:has(.ssj-fixbar) { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767px) {
  /* 絞り込みパネル・詳細モーダル・メニューを開いている間は固定ボタンを隠す */
  body[style*="overflow: hidden"] .ssj-fixbar, body:has(#ssj-filters[data-open="true"]) .ssj-fixbar, body.is-drawer-open .ssj-fixbar { transform: translateY(110%); }
}

/* 在庫カード（スマホ）：台数の下にボタンを縦並び・全幅・矢印付き */
@media (max-width: 767px) {
  .ssj-stockcard { display: block; padding: 14px 20px 18px; }
  .ssj-stockcard > div:first-child { align-items: flex-start; padding: 0 4px; }
  .ssj-stockcard .btns { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 14px; }
  .ssj-stockcard .btns .ssj-btn { height: 42px; padding: 0 44px; font-size: 15px; }
  .ssj-stockcard .btns .ssj-btn .arw { display: block; }
}

/* 在庫カード（スマホ）：ボタンは下部固定ボタンと同じ見た目で横並び */
.ssj-stockcard .btns .ico { display: none; }
@media (max-width: 767px) {
  .ssj-stockcard .btns { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ssj-stockcard .btns .ssj-btn { height: 44px; padding: 0 8px; gap: 6px; font-size: 14px; }
  .ssj-stockcard .btns .ssj-btn .arw { display: none; }
  .ssj-stockcard .btns .ico { display: block; width: 16px; height: 16px; flex: none; }
}

/* 在庫カード（スマホ）：台数を大きく */
@media (max-width: 767px) {
  .ssj-stockcard .num { gap: 10px; margin-top: 2px; font-size: 20px; }
  .ssj-stockcard .num b { font-size: 42px; }
}
@media (max-width: 359px) { .ssj-hero__title { font-size: 26px; } }

/* トップ（スマホ）：種類から探すはスクロールさせず2カラム */
@media (max-width: 767px) {
  .ssj-typegrid, #ssj-typegrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; overflow: visible; scroll-snap-type: none; margin-inline: 0; padding: 0; }
  .ssj-typegrid > .ssj-tg, #ssj-typegrid > * { width: auto; min-width: 0; }
  .ssj-tg__in { left: 10px; bottom: 8px; }
  .ssj-tg__in b { font-size: 14px; }
}
@media (max-width: 767px) {
  /* 奇数個で最後の1枚が余るときは2列分の幅に（高さは他のカードと揃える） */
  .ssj-typegrid > :last-child:nth-child(odd), #ssj-typegrid > :last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 387 / 140; }
}
/* トップ（スマホ）：お知らせ・コラムの「一覧」は記事（または「記事はまだありません」）の下へ */
@media (max-width: 767px) {
  .ssj-news2 > div { display: flex; flex-direction: column; }
  .ssj-news2 > div > .ssj-head.-row { display: contents; }
  .ssj-news2 > div > .ssj-head.-row > div { margin-bottom: 24px; }
  .ssj-news2 > div > .ssj-head.-row > .ssj-more-link { order: 1; align-self: flex-end; margin-top: 16px; }
}

/* メーカー名は<wbr>の位置でだけ改行 */
.ssj-mk b { word-break: keep-all; text-align: center; }
/* トップ（スマホ）：上のセクションと同じ背景色で続くため、新着在庫のあしらいは上のカードの裏から伸びて見せる */
@media (max-width: 767px) {
  #ssj-purchase + .ssj-sec { overflow-x: clip; overflow-y: visible; }
  #ssj-purchase + .ssj-sec .ssj-deco.-tl { top: -90px; width: 250px; z-index: 1; }
  #ssj-purchase .ssj-wrap { z-index: 2; }
}
/* トップ（スマホ）：OUR BUSINESSのカード写真は被写体（ショベル・コンテナ船）が分かる位置で切り抜く */
@media (max-width: 767px) {
  .ssj-pillar__photo { height: 250px; object-position: center 72%; }
  .ssj-pillar.-sell .ssj-pillar__photo { object-position: center 64%; }
}
/* トップ（スマホ）：写真左端の斜めの透過部分（PC用の切り欠き）が出ないよう、少し拡大して左を切り落とす */
@media (max-width: 767px) {
  .ssj-pillar__photo { width: 134%; max-width: none; margin-left: -34%; }
  .ssj-pillar.-sell .ssj-pillar__photo { width: 124%; margin-left: -24%; }
}
/* WPの遅延読み込み（lazyaspectratio）が読み込み前に縦長比率の高さを直書きするため、スマホでは高さを固定 */
@media (max-width: 767px) {
  .ssj-pillar__photo { height: 250px !important; }
}
/* 在庫：絞り込みの「すべて解除」は右寄せ（スマホでは×の左隣） */
#ssj-reset { margin-left: auto; }
.ssj-filter-head .ssj-filter-close { margin-left: 16px; }
/* 在庫（スマホ）：件数の下の行に「並べ替え［新着順］」と「条件で絞り込む」を横並び */
@media (max-width: 767px) {
  .ssj-toolbar { gap: 12px 8px; }
  .ssj-toolbar .ssj-count { flex: 0 0 100%; }
  .ssj-toolbar .ssj-sort { order: 1; flex: 1 1 0; min-width: 0; gap: 8px; }
  .ssj-toolbar .ssj-sort > span { flex: none; white-space: nowrap; }
  .ssj-toolbar .ssj-sort select { flex: 1 1 auto; width: 100%; min-width: 0; padding-right: 30px; background-position: right 10px center; }
  .ssj-toolbar .ssj-filter-open { order: 2; flex: none; padding: 0 12px; gap: 6px; }
}

/* 並べ替え：デザインに合わせたドロップダウン */
.ssj-dd { position: relative; min-width: 0; }
.ssj-dd select { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.ssj-dd__btn { display: block; width: 100%; min-width: 166px; height: 42px; padding: 0 36px 0 14px; border: 0; border-radius: 3px; background: #4b5d76 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") right 12px center no-repeat; color: #fff; font: inherit; font-size: 13px; font-weight: 700; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.ssj-dd.is-open .ssj-dd__btn { background-color: var(--c-navy-deep); }
.ssj-dd__list { position: absolute; z-index: 60; top: calc(100% + 6px); right: 0; min-width: 100%; width: max-content; max-width: min(280px, calc(100vw - 40px)); margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--c-line); border-radius: 6px; box-shadow: 0 12px 28px rgba(10, 30, 70, .16); }
.ssj-dd.-up .ssj-dd__list { top: auto; bottom: calc(100% + 6px); }
.ssj-dd__list li { position: relative; padding: 11px 14px 11px 34px; border-radius: 4px; font-size: 14px; color: var(--c-text); white-space: nowrap; cursor: pointer; outline: none; }
.ssj-dd__list li:hover, .ssj-dd__list li:focus { background: var(--c-haze); color: var(--c-blue-d); }
.ssj-dd__list li[aria-selected] { color: var(--c-blue-d); font-weight: 700; }
.ssj-dd__list li[aria-selected]::before { content: ""; position: absolute; left: 14px; top: 50%; width: 10px; height: 6px; margin-top: -5px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
@media (max-width: 767px) {
  .ssj-toolbar .ssj-sort .ssj-dd { flex: 1 1 auto; }
  .ssj-dd__btn { min-width: 0; padding-right: 30px; background-position: right 10px center; }
  .ssj-dd__list { left: 0; right: auto; }
}

/* 並べ替えボタン：⇅アイコン＋短い名前 */
.ssj-dd__btn { display: flex; align-items: center; gap: 8px; }
.ssj-dd__btn svg { flex: none; width: 15px; height: 15px; color: var(--c-gold); }
.ssj-dd__btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* スマホ：「並べ替え」の文字は隠し、並べ替えと絞り込みを同じ幅で横並び */
@media (max-width: 767px) {
  .ssj-toolbar .ssj-sort > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ssj-toolbar .ssj-sort { flex: 1 1 0; }
  .ssj-toolbar .ssj-filter-open { flex: 1 1 0; justify-content: center; padding: 0; }
  .ssj-dd__btn { padding: 0 30px 0 12px; }
}

/* 在庫検索（スマホ）：カードを2カラムのコンパクト版に */
@media (max-width: 767px) {
  .ssj-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ssj-grid .ssj-card { border-radius: 6px; }
  .ssj-grid .ssj-tags, .ssj-grid .ssj-card-btn { display: none; }
  .ssj-grid .ssj-subs { gap: 1px; }
  .ssj-grid .ssj-sub.more b, .ssj-grid .ssj-sub.-more::after { font-size: 11.5px; }
  .ssj-grid .ssj-bdgs { top: 6px; left: 6px; gap: 3px; flex-wrap: wrap; max-width: calc(100% - 12px); }
  .ssj-grid .ssj-bdg { height: 18px; padding: 0 5px; font-size: 10px; }
  .ssj-grid .ssj-bdg svg { width: 10px; height: 10px; }
  .ssj-grid .ssj-pcount { right: 6px; bottom: 6px; min-width: 22px; height: 20px; font-size: 10.5px; }
  .ssj-grid .ssj-fav { top: 6px; right: 6px; width: 28px; height: 28px; }
  .ssj-grid .ssj-fav svg { width: 16px; height: 16px; }
  .ssj-grid .ssj-card-body { padding: 10px 10px 12px; }
  .ssj-grid .ssj-maker { font-size: 11px; }
  .ssj-grid .ssj-model { font-size: 14.5px; line-height: 1.35; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
  /* アワーと所在地だけを1行に（種類はバッジと重複するので省く） */
  .ssj-grid .ssj-spec-mini { display: flex; flex-wrap: wrap; gap: 0; font-size: 11.5px; line-height: 1.5; color: var(--c-sub); }
  .ssj-grid .ssj-spec-mini dt, .ssj-grid .ssj-spec-mini dd:nth-of-type(2) { display: none; }
  .ssj-grid .ssj-spec-mini dd { text-align: left; font-weight: 700; }
  .ssj-grid .ssj-spec-mini dd:nth-of-type(3)::before { content: "・"; margin: 0 2px; color: var(--c-muted); font-weight: 400; }
  .ssj-grid .ssj-card-foot { display: block; padding-top: 8px; }
  .ssj-grid .ssj-price { display: block; font-size: 17px; }
  .ssj-grid .ssj-price.ask { font-size: 13px; }
  .ssj-grid .ssj-price.sold { font-size: 15px; }
  .ssj-grid .ssj-note-s { display: block; margin-top: 2px; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* 下層ページFV（スマホ）：写真をほぼ覆っていた青い斜めパネルを、写真が透けるグラデーションに変更 */
@media (max-width: 767px) {
  .ssj-phead:not(.-plain)::before { width: 100%; opacity: 1; clip-path: none; background: linear-gradient(100deg, rgba(10, 42, 138, .88) 0%, rgba(13, 71, 201, .72) 45%, rgba(20, 104, 224, .18) 78%, rgba(20, 104, 224, 0) 100%); }
  .ssj-phead:not(.-plain)::after { display: block; width: 100%; background: rgba(90, 160, 245, .55); clip-path: polygon(70% 0, 73% 0, 55% 100%, 52% 100%); }
  .ssj-phead__title, .ssj-phead__lead { text-shadow: 0 1px 8px rgba(0, 20, 60, .45); }
}
/* 下層ページFV（スマホ）：横長写真の右側にある主役（機械・車両・人物）が入る位置で切り抜く */
@media (max-width: 767px) {
  .ssj-phead[style*="hero-stock"] { background-position: 86% center; }
  .ssj-phead[style*="hero-kaitori"] { background-position: 92% center; }
  .ssj-phead[style*="hero-export"] { background-position: 86% center; }
  .ssj-phead[style*="hero-company"] { background-position: 100% center; }
  .ssj-phead[style*="hero-recruit"] { background-position: 93% center; }
  .ssj-phead[style*="hero-contact"] { background-position: 90% center; }
}
/* FV（スマホ）：写真が暗く見えないよう重ね色を薄くし、文字は影で読みやすさを確保 */
@media (max-width: 767px) {
  .ssj-phead:not(.-plain)::before { background: linear-gradient(100deg, rgba(10, 42, 138, .62) 0%, rgba(13, 71, 201, .42) 42%, rgba(20, 104, 224, .08) 72%, rgba(20, 104, 224, 0) 100%); }
  .ssj-phead:not(.-plain)::after { background: rgba(120, 180, 250, .45); }
  .ssj-phead__title, .ssj-phead__lead, .ssj-phead .ssj-eyebrow { text-shadow: 0 1px 3px rgba(0, 20, 60, .55), 0 2px 14px rgba(0, 20, 60, .55); }
  .ssj-hero::before { background: linear-gradient(180deg, rgba(10, 30, 70, .42) 0%, rgba(10, 30, 70, .18) 55%, rgba(10, 30, 70, .3) 100%); }
}
/* FV（スマホ）：PCの明るさに近づけるため、重ね色は文字の背後だけにとどめる */
@media (max-width: 767px) {
  .ssj-phead:not(.-plain)::before { background: linear-gradient(100deg, rgba(10, 42, 138, .5) 0%, rgba(13, 71, 201, .24) 38%, rgba(20, 104, 224, 0) 62%); }
  .ssj-phead__title, .ssj-phead__lead, .ssj-phead .ssj-eyebrow { text-shadow: 0 1px 3px rgba(0, 20, 60, .6), 0 2px 16px rgba(0, 20, 60, .6); }
  .ssj-hero::before { background: linear-gradient(180deg, rgba(10, 30, 70, .3) 0%, rgba(10, 30, 70, .06) 50%, rgba(10, 30, 70, 0) 100%); }
  .ssj-hero__title, .ssj-hero__lead, .ssj-kw { text-shadow: 0 1px 3px rgba(0, 20, 60, .55), 0 2px 16px rgba(0, 20, 60, .55); }
}
/* FV（スマホ）：PCと同じく左上に紺のグラデーションを残し、右下は写真の明るさのまま */
@media (max-width: 767px) {
  .ssj-hero::before { background: linear-gradient(150deg, rgba(0, 50, 112, .82) 0%, rgba(0, 50, 112, .55) 28%, rgba(0, 50, 112, 0) 55%); }
  .ssj-phead:not(.-plain)::before { background: linear-gradient(120deg, rgba(0, 50, 112, .8) 0%, rgba(0, 50, 112, .5) 35%, rgba(0, 50, 112, 0) 65%); }
}
/* FV（スマホ）：左上グラデーションの範囲を狭める */
@media (max-width: 767px) {
  .ssj-hero::before { background: linear-gradient(150deg, rgba(0, 50, 112, .82) 0%, rgba(0, 50, 112, .45) 18%, rgba(0, 50, 112, 0) 38%); }
  .ssj-phead:not(.-plain)::before { background: linear-gradient(120deg, rgba(0, 50, 112, .8) 0%, rgba(0, 50, 112, .4) 25%, rgba(0, 50, 112, 0) 48%); }
}

/* 海外版（スマホ）：日本版のスマホ調整に合わせる */
@media (max-width: 767px) {
  /* トップFV：写真を画面の高さまで、左上だけグラデーション、ボタンは下端に横並び */
  .ssj-en .ssj-hero { min-height: calc(100vh - var(--header-h)); min-height: calc(100svh - var(--header-h)); padding: 0; justify-content: flex-start; }
  .ssj-en .ssj-hero::before { background: linear-gradient(150deg, rgba(0, 50, 112, .82) 0%, rgba(0, 50, 112, .45) 18%, rgba(0, 50, 112, 0) 38%); }
  .ssj-en .ssj-hero-inner { padding: 56px 0 40px; }
  .ssj-en .ssj-hero .ssj-title, .ssj-en .ssj-hero .ssj-lead { text-shadow: 0 1px 3px rgba(0, 20, 60, .55), 0 2px 16px rgba(0, 20, 60, .55); }
  .ssj-en .ssj-hero > .ssj-hero-btns { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: auto 0 0; padding: 16px 20px; background: #fff; box-shadow: none; }
  .ssj-en .ssj-hero > .ssj-hero-btns .ssj-btn { width: 100%; min-width: 0; height: 44px; min-height: 0; padding: 0 8px; font-size: 14px; justify-content: center; }
  .ssj-en .ssj-hero > .ssj-hero-btns .ssj-btn-primary { order: -1; }
  /* 写真付きの下層FV：左上グラデーション＋主役が入る位置で切り抜き */
  .ssj-key-stock .ssj-en .ssj-phead::before, .ssj-key-company .ssj-en .ssj-phead::before, .ssj-key-contact .ssj-en .ssj-phead::before { width: 100%; opacity: 1; clip-path: none; background: linear-gradient(120deg, rgba(0, 50, 112, .8) 0%, rgba(0, 50, 112, .4) 25%, rgba(0, 50, 112, 0) 48%); }
  .ssj-key-stock .ssj-en .ssj-phead::after, .ssj-key-company .ssj-en .ssj-phead::after, .ssj-key-contact .ssj-en .ssj-phead::after { width: 100%; background: rgba(120, 180, 250, .45); clip-path: polygon(70% 0, 73% 0, 55% 100%, 52% 100%); }
  .ssj-key-stock .ssj-en .ssj-phead { background-position: 86% center; }
  .ssj-key-company .ssj-en .ssj-phead { background-position: 100% center; }
  .ssj-key-contact .ssj-en .ssj-phead { background-position: 90% center; }
  .ssj-en .ssj-phead h1, .ssj-en .ssj-phead h1 + p, .ssj-en .ssj-phead .ssj-eyebrow { text-shadow: 0 1px 3px rgba(0, 20, 60, .6), 0 2px 16px rgba(0, 20, 60, .6); }
  /* 種類から探す：2カラム（余った最後の1枚は2列分） */
  .ssj-en #ssj-typegrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; overflow: visible; margin-inline: 0; padding: 0; }
  .ssj-en #ssj-typegrid .ssj-tg { width: auto; min-width: 0; }
  .ssj-en #ssj-typegrid > :last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 387 / 140; }
  /* 在庫一覧：2カラムのコンパクト版、件数の下に並べ替えと絞り込みを同じ幅で */
  .ssj-en #ssj-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ssj-en .ssj-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 8px; }
  .ssj-en .ssj-toolbar #ssj-count { flex: 0 0 100%; }
  .ssj-en .ssj-toolbar .ssj-sort { order: 1; display: flex; flex: 1 1 0; min-width: 0; }
  .ssj-en .ssj-toolbar .ssj-sort > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ssj-en .ssj-toolbar .ssj-sort .ssj-dd { flex: 1 1 auto; }
  .ssj-en .ssj-toolbar .ssj-filter-open { order: 2; flex: 1 1 0; justify-content: center; padding: 0; }
}
@media (max-width: 767px) {
  /* 中・西トップFV：ボタンは日本版と同じく横並び */
  .ssj-en .ssj-hero-copy .ssj-hero-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .ssj-en .ssj-hero-copy .ssj-hero-btns .ssj-btn { width: 100%; min-width: 0; height: 44px; min-height: 0; padding: 0 8px; font-size: 12.5px; justify-content: center; }
}
/* トップ（スマホ）：OUR BUSINESSは写真を右に回り込ませ、PCと同じ斜めの切り欠きで被写体全体を見せる */
@media (max-width: 767px) {
  .ssj-pillar { display: block; }
  .ssj-pillar::after { content: ""; display: block; clear: both; }
  .ssj-pillar .ssj-pillar__photo, .ssj-pillar.-sell .ssj-pillar__photo { float: right; position: static; width: 42%; max-width: none; height: 230px !important; margin: 0 0 10px 12px; object-fit: cover; object-position: left 62%; }
  .ssj-pillar.-sell .ssj-pillar__photo { object-position: left 60%; }
  .ssj-pillar__in { display: block; width: auto; }
  .ssj-pillar__lb { font-size: 13px; white-space: nowrap; }
  .ssj-pillar__t { font-size: 19px; white-space: nowrap; }
}
@media (max-width: 359px) { .ssj-pillar__t { font-size: 16.5px; } .ssj-pillar__lb { font-size: 12px; } }
@media (max-width: 767px) { /* チェックリストは写真の下から始める */ .ssj-pillar ul { clear: both; } }
/* OUR BUSINESS（スマホ）：写真の横幅を広げ、見出しは写真にかからない大きさに */
@media (max-width: 767px) {
  .ssj-pillar .ssj-pillar__photo, .ssj-pillar.-sell .ssj-pillar__photo { width: 48%; }
  .ssj-pillar__t { font-size: 18px; }
}
@media (max-width: 359px) { .ssj-pillar__t { font-size: 15px; } .ssj-pillar__lb { font-size: 11px; } }
/* OUR BUSINESS（スマホ）：写真をさらに広く、ボタンは右寄せ */
@media (max-width: 767px) {
  .ssj-pillar .ssj-pillar__photo, .ssj-pillar.-sell .ssj-pillar__photo { width: 54%; }
  .ssj-pillar__t { font-size: 16px; }
  .ssj-pillar__lb { white-space: normal; }
  .ssj-pillar .ssj-btn { display: flex; width: fit-content; margin-left: auto; margin-right: 16px; }
}
@media (max-width: 359px) { .ssj-pillar__t { font-size: 13.5px; } }
@media (max-width: 359px) { .ssj-pillar__t { font-size: 13px; } }
@media (max-width: 767px) { /* OUR BUSINESSのボタンは中央 */ .ssj-pillar .ssj-btn { margin-left: auto; margin-right: auto; } }

/* トップ（スマホ）：条件検索のタブはスクロールさせず3つを横1列で画面内に収める */
@media (max-width: 767px) {
  #ssj-finder-tabs { overflow: visible; flex-wrap: nowrap; gap: 6px; }
  #ssj-finder-tabs .ssj-ftab { flex: 1 1 0; min-width: 0; height: auto; min-height: 48px; padding: 6px 4px; flex-direction: column; justify-content: center; gap: 2px; text-align: center; line-height: 1.25; }
  #ssj-finder-tabs .ssj-ftab b { font-size: 12px; white-space: normal; word-break: keep-all; overflow-wrap: anywhere; }
  #ssj-finder-tabs .ssj-ftab .n { margin: 0; }
}

/* 条件検索のプルダウン：並べ替えと同じドロップダウン（白い入力欄の見た目） */
.ssj-dd.-field { display: block; width: 100%; }
.ssj-dd.-field .ssj-dd__btn { height: 52px; min-width: 0; padding: 0 36px 0 14px; border-radius: 3px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316273c' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center no-repeat; color: var(--c-text); font-size: 15px; font-weight: 400; }
.ssj-dd.-field.is-open .ssj-dd__btn { background-color: #fff; box-shadow: 0 0 0 2px var(--c-gold) inset; }
.ssj-dd.-field .ssj-dd__list { left: 0; right: 0; width: auto; max-width: none; max-height: min(320px, 60vh); overflow-y: auto; }
@media (max-width: 767px) { .ssj-dd.-field .ssj-dd__btn { height: 48px; padding-right: 36px; background-position: right 14px center; } }
/* 選ばれる理由：アイコンの上下に余白 */
.ssj-reasons .ssj-reason__ic { margin: 16px auto 18px; }
.ssj-en .ssj-reason > svg { margin: 16px auto 18px; }
/* 種類から探す（スマホ）：「すべて」を横長に、残りは2カラム（数が合わないときは最後の1枚を横長に） */
@media (max-width: 767px) {
  .ssj-typegrid > :last-child:nth-child(odd), #ssj-typegrid > :last-child:nth-child(odd), .ssj-en #ssj-typegrid > :last-child:nth-child(odd) { grid-column: auto; aspect-ratio: 189 / 140; }
  .ssj-typegrid > :first-child, #ssj-typegrid > :first-child, .ssj-en #ssj-typegrid > :first-child,
  .ssj-typegrid > :last-child:nth-child(even), #ssj-typegrid > :last-child:nth-child(even), .ssj-en #ssj-typegrid > :last-child:nth-child(even) { grid-column: 1 / -1; aspect-ratio: 387 / 140; }
}
/* 下層FV（スマホ）：PCと同じ斜めの青パネル＋水色ラインに戻す（右側に写真が見える幅に） */
@media (max-width: 767px) {
  .ssj-phead:not(.-plain)::before,
  .ssj-key-stock .ssj-en .ssj-phead::before, .ssj-key-company .ssj-en .ssj-phead::before, .ssj-key-contact .ssj-en .ssj-phead::before { width: 100%; opacity: 1; background: linear-gradient(115deg, #0a2a8a 0%, #0d47c9 70%, #1468e0 100%); clip-path: polygon(0 0, 72% 0, 50% 100%, 0 100%); }
  .ssj-phead:not(.-plain)::after,
  .ssj-key-stock .ssj-en .ssj-phead::after, .ssj-key-company .ssj-en .ssj-phead::after, .ssj-key-contact .ssj-en .ssj-phead::after { display: block; width: 100%; background: rgba(90, 160, 245, .75); clip-path: polygon(74.5% 0, 77.5% 0, 55.5% 100%, 52.5% 100%); }
}
/* 製品詳細：閉じる（×）ボタンを丸い紺色ボタンにし、スクロールしても右上に表示 */
.ssj-modal-card .ssj-modal-x { position: sticky; top: 10px; z-index: 5; float: right; display: grid; place-items: center; width: 40px; height: 40px; margin: 10px 10px -50px auto; padding: 0; border: 0; border-radius: 50%; background: rgba(15, 37, 68, .85); color: #fff; font-size: 26px; line-height: 1; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); cursor: pointer; }
.ssj-modal-card .ssj-modal-x:hover { background: var(--c-blue); }
/* 下層FV（スマホ）：斜めパネルの右側に写真の主役が来る位置 */
@media (max-width: 767px) {
  .ssj-phead[style*="hero-kaitori"] { background-position: 80% center; }
  .ssj-phead[style*="hero-recruit"] { background-position: 75% center; }
  .ssj-phead[style*="hero-contact"], .ssj-key-contact .ssj-en .ssj-phead { background-position: 60% center; }
}

/* 買取の強み：アイコン上下の余白 */
.ssj-point .ssj-point__ic { margin-top: 16px !important; margin-bottom: 18px !important; }
/* 買取の強み：POINTと説明文の左右余白 */
.ssj-point { padding-inline: 20px; }
@media (max-width: 767px) { .ssj-point { padding-inline: 16px; } }
/* 2026-10 先方修正：拠点・ヤードは3つ並び（横1列／縦1列） */
.ssj-bases, .ssj-yards { grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 767px) { .ssj-bases, .ssj-yards { grid-template-columns: 1fr !important; } }
/* お問い合わせ：海外電話・支店メール・公式LINE */
.ctf-method .ctf-sub { margin-top: 10px; font-size: 13px; line-height: 1.8; color: var(--c-sub); }
.ctf-method .ctf-sub a { color: #0f4c94; font-weight: 700; }
.ctf-sns { display: flex; gap: 8px; margin-top: 12px; }
.ctf-sns a { display: inline-flex; align-items: center; padding: 8px 20px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; }
.ctf-sns .-line { background: #06c755; }
/* フッター：SNS */
.sf-sns { display: flex; gap: 10px; margin-top: 14px; }
.sf-sns a { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; }
.sf-sns svg { width: 18px; height: 18px; }

.ctf-qrs { display: flex; justify-content: center; gap: 40px; margin-top: 32px; padding: 0 var(--gutter); }
.ctf-qr { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--c-ink, #1a2738); }
.ctf-qr img { width: 140px !important; height: 140px !important; object-fit: contain; padding: 10px; background: #fff; border: 1px solid var(--c-line); border-radius: 8px; }
@media (max-width: 767px) { .ctf-qrs { gap: 20px; } .ctf-qr img { width: 120px !important; height: 120px !important; } }

/* 海外版お問い合わせ：日本版と同じアイコンイラスト */
.ssj-en .ssj-way__ic { display: block; width: 72px; height: 72px; object-fit: contain; margin: 0 auto 8px; }
.ssj-en .ssj-way > svg { width: 60px; height: 60px; margin: 6px auto 14px; }

/* 会社案内・事業紹介：カード下のリンクを下揃え */
.ssj-split > .ssj-box { display: flex; flex-direction: column; }
.ssj-split > .ssj-box > .ssj-more-link:last-child { margin-top: auto; align-self: flex-start; }

/* 会社案内FV：社屋とトラックの写真1枚に */
.ssj-key-company .ssj-en .ssj-phead { background-image: url(../img/hero-company-office.webp); }
.ssj-phead[style*="hero-company"], .ssj-key-company .ssj-en .ssj-phead { background-position: center 55% !important; }
@media (max-width: 767px) { .ssj-phead[style*="hero-company"], .ssj-key-company .ssj-en .ssj-phead { background-position: 70% center !important; } }
@media (min-width: 768px) { .ssj-phead[style*="hero-company"], .ssj-key-company .ssj-en .ssj-phead { background-size: 70% auto; background-position: right 40% !important; } }

/* TOP検索：PCでは検索ボタンを入力欄と同じ高さに揃える（ラベル分下げる） */
@media (min-width: 1024px) {
  .ssj-finder__foot { position: relative; }
  .ssj-finder__clear { position: absolute; left: 0; right: 0; top: 100%; }
  .ssj-en ~ * .ssj-finder, .ssj-finder:not(.ssj-en *) { padding-bottom: 44px; }
}

/* 海外版：コラムは日本語の国内向け記事のみのため非表示（お知らせだけ全幅で表示） */
.ssj-en .ssj-news2 { grid-template-columns: 1fr; }
.ssj-en .ssj-news2 > div:has(#ssj-column) { display: none; }
.ssj-en #ssj-news-all { display: none; }

/* OUR BUSINESS：Figmaどおり、ショベルカーは斜めの切り口から飛び出してリストの罫線の上に重ねる（ボタンは写真より手前） */
@media (min-width: 768px) {
  .ssj-pillar.-buy .ssj-pillar__photo { z-index: 2; pointer-events: none; }
  .ssj-pillar.-buy .ssj-btn { z-index: 3; }
}

/* 会社案内：沿革の左上あしらいを、上の拠点一覧の区切り線にぴったり付ける（余白は沿革側に移す） */
.ssj-sec:has(+ #history) { padding-bottom: 0; }
#history { padding-top: 200px; }
@media (max-width: 1023px) { #history { padding-top: 160px; } }
@media (max-width: 767px) { #history { padding-top: 120px; } }

/* 会社案内FV：社屋とトラックの写真は元画像が小さく粗いため、WPメディアの神戸本社の航空写真（高解像度）に差し替え */
.ssj-phead[style*="hero-company"], .ssj-key-company .ssj-en .ssj-phead { background-image: url(/wp-content/uploads/2026/09/%E7%A5%9E%E6%88%B8%E6%9C%AC%E7%A4%BE--2048x1195.jpg) !important; background-size: cover; background-position: 55% 70% !important; }
@media (min-width: 768px) { .ssj-phead[style*="hero-company"], .ssj-key-company .ssj-en .ssj-phead { background-size: 78% auto; background-position: right 66% !important; } }

/* 海外版トップ：お知らせ・コラムとも海外向けの投稿がないため、セクションごと非表示 */
.ssj-en .ssj-sec:has(> .ssj-wrap > .ssj-news2) { display: none; }
