/* Tokens */
:root {
  --w-inner: 1200px;
  --sp-pad: 40px;
  --c-bg: #0a0a0a;
  --c-surface: #111;
  --c-surface-alt: #0d0d0d;
  --c-border: #1e1e1e;
  --c-border-light: #2a2a2a;
  --c-accent: #b8860b;
  --c-gold: #c8a84e; /* var(--c-gold) 参照箇所(在庫車/コンプリート詳細等)が未定義で無効化していたため定義 */
  --c-accent-glow: rgba(184,134,11,0.25);
  --c-white: #f0f0f0;
  --c-text: #d0d0d0;
  --c-muted: #999;
  --c-dim: #666;
  --fs-body: 15px;
  --fs-sub: 12px;
  --sp-section: 80px;
  --sp-gap: 24px;
}

/* Astra */
.ast-desktop-header-content, .ast-mobile-header-content, .main-header-bar-wrap,
.ast-footer-overlay-wrap,
.ast-above-header-wrap, .ast-below-header-wrap,
.ast-hfb-header .site-header { display: none !important; }
header.site-header.site-header { display: block !important; }
footer.site-footer { display: block !important; background: var(--c-bg) !important; }
.ast-small-footer, .ast-footer-copyright, .main-header-bar-wrap + .site-footer { display: none !important; }
#ast-scroll-top { display: none !important; }
.ast-container, .ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.site-content { padding-top: 0 !important; padding-bottom: 0 !important; background: var(--c-bg) !important; }
.site-content > .ast-container { max-width: 100% !important; padding: 0 !important; }
.single .entry-content { max-width: 100% !important; }
.single .entry-content > div, .single .entry-content > section,
.single .entry-content > nav { margin-bottom: 0 !important; }
body:not(.single-post) .entry-header, .ast-archive-description { display: none !important; }
.entry-content { max-width: 100% !important; }
.entry-content > div, .entry-content > section, .entry-content > nav { margin-bottom: 0 !important; }
#page, .hfeed, .site, #content, .ast-container,
.ast-plain-container, .ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.main-content, .breadcrumb,
article, .type-page, .status-publish,
div[id="primary"], main[id="main"],
html, body { background: var(--c-bg) !important; color: var(--c-text) !important; overflow-x: clip; max-width: 100vw; }
.page-header { background-color: var(--c-bg) !important; }

/* Reset */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Noto Sans JP', sans-serif; color: var(--c-text); line-height: 1.6; background: var(--c-bg); font-size: 16px; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
button { border: none; background: none; cursor: pointer; font: inherit; }

/* Container */
.container {
  max-width: var(--w-inner);
  margin: 0 auto;
  padding: 0 var(--sp-pad);
}

/* Arrow */
.arrow {
  display: inline-block;
  transition: transform 0.3s;
}
.btn:hover .arrow,
.hd-btn:hover .arrow,
.pickup-card:hover .arrow,
.sv-card:hover .arrow,
.tb:hover .arrow,
.news-more:hover .arrow,
.info-map-link:hover .arrow {
  transform: translateX(6px);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 52px;
  min-width: 220px;
  padding: 0 40px;
  border: 1px solid #3a3a3a;
  border-radius: 0;
  background: transparent;
  color: var(--c-muted);
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1.5px;
  transition: border-color 0.3s, color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s;
  white-space: nowrap;
}
.btn:hover {
  border-color: var(--c-white);
  color: var(--c-white);
  transform: translateY(-1px);
}
.btn .arrow {
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
}
.btn:hover .arrow {
  transform: translateX(8px);
}
.btn-primary {
  background: var(--c-accent);
  color: #000;
  border-color: var(--c-accent);
  font-weight: 600;
  position: relative;
  overflow: hidden;
}
.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  transform: translateX(-100%);
  transition: none;
}
.btn-primary:hover::before {
  animation: btn-shine 0.6s ease forwards;
}
.btn-primary:hover {
  box-shadow: 0 0 36px var(--c-accent-glow), 0 6px 24px rgba(184,134,11,0.3);
  background: #d4a017;
  border-color: #d4a017;
}
.btn-secondary {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.btn-secondary:hover {
  background: var(--c-accent);
  color: #000;
  box-shadow: 0 0 24px var(--c-accent-glow);
}
.btn-accent-outline {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.btn-accent-outline:hover {
  background: var(--c-accent);
  color: #000;
}
@keyframes btn-shine {
  to { transform: translateX(100%); }
}

/* Header */
.site-header { background: var(--c-bg); }
@media (max-width: 767px) {
  body { padding-top: 0 !important; }
  .site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #000;
    border-bottom: 1px solid rgba(184,134,11,0.25);
  }
  .site-header + * { margin-top: 0 !important; }
  .hero, .fv, .mainvisual, .page-visual, .youtube-section, main, .page-header, .breadcrumb, .v2-cta, .news-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #222;
}
.logo-img { height: 28px; width: auto; }
.header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hd-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 20px;
  font-size: 12px;
  letter-spacing: 1.5px;
  border: 1px solid #3a3a3a;
  white-space: nowrap;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}
.hd-btn-primary {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.hd-btn-primary:hover {
  background: var(--c-accent);
  color: #000;
  box-shadow: 0 0 20px var(--c-accent-glow);
}
.hd-btn-secondary {
  border-color: #3a3a3a;
  color: var(--c-muted);
}
.hd-btn-secondary:hover {
  border-color: var(--c-white);
  color: var(--c-white);
}
.header-call {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: opacity 0.25s;
}
.header-call:hover { opacity: 0.8; }
.header-phone-icon {
  width: 28px;
  height: 28px;
  color: var(--c-accent);
  flex-shrink: 0;
}
.header-call-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 1.5px;
  color: var(--c-white);
}
.header-call-label {
  font-family: 'Oswald', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 3px;
  color: var(--c-accent);
  margin-bottom: 3px;
}

/* MobileNav */
.mnav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 28px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}
.mnav-toggle span {
  display: block;
  height: 2px;
  background: var(--c-white);
  transition: transform 0.3s, opacity 0.3s;
}
.mnav-open .mnav-toggle span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.mnav-open .mnav-toggle span:nth-child(2) {
  opacity: 0;
}
.mnav-open .mnav-toggle span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* VOICE Section */
.v2-voice {
  padding: 100px 0;
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
}
.voice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
  max-width: var(--w-inner);
  margin-left: auto;
  margin-right: auto;
}
.voice-card {
  padding: 32px 28px;
  background: linear-gradient(160deg, rgba(30,30,30,0.95) 0%, rgba(10,10,10,0.98) 100%);
  border: 1px solid rgba(184,134,11,0.3);
  border-radius: 8px;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s, border-color 0.4s;
}
.voice-card:hover {
  transform: translateY(-6px);
  border-color: var(--c-accent);
  box-shadow: 0 16px 36px rgba(0,0,0,0.5), 0 0 24px rgba(184,134,11,0.15);
}
.voice-stars {
  font-size: 18px;
  color: var(--c-accent, #b8860b);
  letter-spacing: 4px;
  margin-bottom: 16px;
}
.voice-text {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.9;
  margin-bottom: 20px;
  min-height: 80px;
}
.voice-author {
  font-size: 12px;
  color: var(--c-dim);
  letter-spacing: 1px;
  text-align: right;
  margin: 0;
}
@media (max-width: 767px) {
  .v2-voice { padding: 60px 0; }
  .voice-grid { grid-template-columns: 1fr; gap: 16px; }
  .voice-card { padding: 24px 20px; }
  .voice-text { min-height: 0; }
}

/* Import Section Center Banner (between flow and CTA) */
.v2-import-banner {
  margin: 32px auto 24px;
  max-width: 60%;
  text-align: center;
}
.v2-import-banner a {
  display: inline-block;
  line-height: 0;
  transition: transform 0.3s, box-shadow 0.3s;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.v2-import-banner a:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,0.55); }
.v2-import-banner img { width: 100%; height: auto; display: block; }
@media (max-width: 767px) {
  .v2-import-banner { max-width: 100%; }
}

/* TOP Side Banner (PC only, fixed right-bottom) */
.top-side-banner-wrap {
  display: none;
  position: fixed;
  right: 0;
  bottom: 24px;
  z-index: 50;
  box-shadow: -6px 6px 24px rgba(0,0,0,0.5);
  transition: transform 0.3s;
}
.top-side-banner-wrap:hover { transform: translateX(-4px); }
.top-side-banner { display: block; line-height: 0; }
.top-side-banner img {
  display: block;
  width: auto;
  max-width: 320px;
  height: auto;
}
.top-side-banner-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #0f0f0f;
  border: 1px solid var(--c-accent);
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 51;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.top-side-banner-close:hover { background: var(--c-accent); color: #000; }
@media (min-width: 1024px) {
  .top-side-banner-wrap { display: block; }
}

/* Mobile Floating Side Icons (Instagram + Back-to-top, vertical stack above fixed footer) */
.m-side-icons {
  display: none;
  position: fixed;
  left: 12px;
  bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  z-index: 9998;
  flex-direction: column;
  gap: 15vh;
}
.m-side-icons__btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4);
  text-decoration: none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.m-side-icons__btn svg { width: 22px; height: 22px; }
.m-side-icons__btn--ig {
  background: linear-gradient(45deg, #FFDC80 0%, #F77737 25%, #E1306C 50%, #C13584 75%, #5851DB 100%);
  color: #fff;
  width: 28px;
  height: 40px;
  border-radius: 0 8px 8px 0;
  margin-left: -12px;
  padding-left: 4px;
  opacity: 0.85;
}
.m-side-icons__btn--ig svg { width: 16px; height: 16px; }
.m-side-icons__btn--top {
  background: rgba(15,15,15,0.9);
  color: var(--c-gold, #b8860b);
  border: 1px solid rgba(184,134,11,0.4);
}
@media (max-width: 767px) {
  .m-side-icons { display: flex; }
}

/* Mobile Fixed Bottom Bar (mobile-first: visible by default, hidden on desktop) */
.mobile-fixed-bar {
  display: flex;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #0f0f0f;
  padding: 8px 4px calc(8px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(184,134,11,0.35);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
body { padding-bottom: 70px; }
.mobile-fixed-bar .mfb-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 6px 4px; text-decoration: none; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .05em; box-shadow: inset -1px 0 0 rgba(255,255,255,0.08), inset -2px 0 0 rgba(0,0,0,0.4); }
.mobile-fixed-bar .mfb-item:last-child { box-shadow: none; }
.mobile-fixed-bar .mfb-ico { width: 24px; height: 24px; color: var(--c-gold, #b8860b); }
.mobile-fixed-bar .mfb-item--line .mfb-ico { color: #06C755; }
.mobile-fixed-bar .mfb-item--car  .mfb-ico { color: #E53935; }
@media (min-width: 768px) {
  .mobile-fixed-bar { display: none; }
  body { padding-bottom: 0; }
}

/* NEW badge (shared: vehicles + posts) */
.vi-new {
  display: inline-block;
  background: var(--c-gold, #b8860b);
  color: #000;
  font-size: .7rem;
  font-weight: 700;
  padding: 2px 8px;
  margin-left: 8px;
  vertical-align: middle;
  border-radius: 2px;
}

/* Nav */
.main-nav { background: #1a1a1a; border-bottom: 1px solid #2a2a2a; margin-bottom: 0; }
.nav-list {
  display: flex;
  max-width: var(--w-inner);
}
.nav-list li {
  flex: 1;
  text-align: center;
  border-right: 1px solid #2a2a2a;
  display: flex;
}
.nav-list li:first-child { border-left: 1px solid #2a2a2a; }
.nav-list .nav-shop-link {
  background: linear-gradient(135deg, rgba(184,134,11,.25), rgba(184,134,11,.08));
  color: #d4af37 !important;
  font-weight: 700;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden;
}
.nav-list .nav-shop-link::before {
  content: '🛒';
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: 10px;
  opacity: 0.7;
}
.nav-list .nav-shop-link:hover {
  background: linear-gradient(135deg, rgba(184,134,11,.45), rgba(184,134,11,.2));
}
.nav-list .nav-shop-en {
  font-family: 'Oswald', sans-serif;
  font-size: 9px;
  letter-spacing: 1.5px;
  color: rgba(255,255,255,.7);
  display: block;
  margin-top: 1px;
}
.nav-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 4px;
  font-size: 13px;
  color: #ffffff !important;
  min-height: 36px;
  line-height: 1.3;
  letter-spacing: 0.3px;
  position: relative;
  transition: color 0.25s, background 0.25s;
  flex: 1;
}
.nav-list a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--c-accent);
  transition: width 0.35s, left 0.35s;
}
.nav-list a:hover {
  color: var(--c-white);
  background: #252525;
}
.nav-list a:hover::after {
  width: 100%;
  left: 0;
  box-shadow: 0 0 12px var(--c-accent-glow), 0 0 4px var(--c-accent);
}
.nav-list a.active {
  color: var(--c-accent);
}
.nav-list a.active::after {
  width: 100%;
  left: 0;
  box-shadow: 0 0 12px var(--c-accent-glow);
}
.nav-list a.nav-parts-center {
  color: #fff !important;
  font-weight: 700;
  font-size: 12px !important;
  background: linear-gradient(135deg, #b8860b, #daa520, #b8860b);
  background-size: 200% 100%;
  border-radius: 6px;
  padding: 8px 16px;
  position: relative;
  top: 8px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
  letter-spacing: 1.5px;
  box-shadow: 0 2px 8px rgba(184,134,11,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
  border: 1px solid rgba(218,165,32,0.6);
  animation: goldShimmer 3s ease infinite;
}
@keyframes goldShimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.nav-list a.nav-parts-center:hover {
  box-shadow: 0 4px 20px rgba(184,134,11,0.6), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-2px);
}
.nav-list a.nav-parts-center::after {
  display: none;
}

/* Hero */
.hero {
  position: relative;
  height: 620px;
  overflow: hidden;
  background: #000;
}
.hero::before,
.hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 40px;
  z-index: 5;
  pointer-events: none;
}
.hero::before {
  top: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, transparent 100%);
  height: 16px;
}
.hero::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 100%);
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
  will-change: transform;
}
.hero-slide.active { opacity: 1; }
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.55) 40%, rgba(0,0,0,0.1) 100%);
  z-index: 2;
}
.hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 3;
}
.hero-label {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
  padding-left: 48px;
  text-shadow: 0 0 20px rgba(184,134,11,0.4);
}
.hero-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 36px;
  height: 1px;
  background: var(--c-accent);
}
.hero-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 72px;
  font-weight: 700;
  letter-spacing: 14px;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #fff 20%, rgba(255,255,255,0.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
}
.hero-ja {
  font-family: 'Shippori Mincho', 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 8px;
  color: var(--c-accent);
  margin-bottom: 16px;
  text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.hero-desc {
  font-size: 17px;
  color: rgba(255,255,255,0.6);
  line-height: 1.8;
  letter-spacing: 3px;
  margin-bottom: 36px;
  text-shadow: 0 1px 12px rgba(0,0,0,0.6);
}
.hero-btns {
  display: flex;
  gap: 16px;
}
.hero-btns .btn {
  font-size: 15px;
}
.hero-dots {
  display: none;
}
.hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
  transition: all 0.3s;
}
.hero-dot.active {
  background: var(--c-accent);
  border-color: var(--c-accent);
}

/* HeroFX */
.hero-gradient-anim {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 20% 80%, rgba(184,134,11,0.12) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(184,134,11,0.08) 0%, transparent 50%);
  animation: heroGradientShift 8s ease-in-out infinite alternate;
}
@keyframes heroGradientShift {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(1); }
}
.hero-particles {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

/* Noise (LESSONS事故9: z-index:9999のbody::before/afterは sticky header を隠す → 削除) */

/* Divider */
.glow-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--c-accent) 20%, var(--c-accent) 80%, transparent 100%);
  opacity: 0.4;
  margin: 0;
  border: none;
}

/* Headings */
.sec-heading {
  text-align: center;
  margin-bottom: 36px;
}
.sec-heading span {
  font-family: 'Playfair Display', serif;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 8px;
  color: var(--c-white);
  display: inline-block;
  padding-bottom: 16px;
  border-bottom: none;
  position: relative;
}
.sec-heading span::before {
  content: '\u25C6';
  font-size: 8px;
  color: var(--c-accent);
  margin-right: 12px;
  opacity: 0.6;
  vertical-align: middle;
}
.sec-heading span::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-accent), transparent);
  transition: width 0.8s cubic-bezier(0.22,1,0.36,1), left 0.8s cubic-bezier(0.22,1,0.36,1);
}
.sec-heading.is-visible span::after {
  width: 100%;
  left: 0;
}
.sec-sub {
  text-align: center;
  font-size: 16px;
  color: var(--c-muted);
  letter-spacing: 2px;
  margin-top: -20px;
  margin-bottom: 36px;
}
.sec-cta {
  text-align: center;
  margin-top: 40px;
}

/* News */
.news-section {
  padding: 36px 0;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
}
.news-cols { display: flex; gap: 40px; }
.news-col { flex: 1; min-width: 0; }
.news-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--c-border-light);
}
.news-title {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 3px;
  color: var(--c-white);
}
.news-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Oswald', sans-serif;
  font-size: var(--fs-sub);
  color: var(--c-dim);
  letter-spacing: 1px;
  transition: color 0.25s;
}
.news-more:hover { color: var(--c-white); }
.news-list li {
  padding: 12px 0;
  border-bottom: 1px solid var(--c-border);
  display: flex;
  align-items: baseline;
  gap: 16px;
  position: relative;
  transition: padding-left 0.3s;
}
.news-list li:hover {
  padding-left: 8px;
}
.news-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--c-accent);
  transition: width 0.3s;
  transform: translateY(-50%);
}
.news-list li:hover::before {
  width: 4px;
}
.nd {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  color: var(--c-dim);
  letter-spacing: 0.5px;
  flex-shrink: 0;
}
.news-list a {
  color: var(--c-text);
  font-size: 16px;
  transition: color 0.25s;
}
.news-list a:hover { color: var(--c-white); }

/* CTA */
.v2-cta {
  background: linear-gradient(180deg, #0a0a0a 0%, #141414 100%);
  border-bottom: 1px solid var(--c-border);
  padding: 0;
}
.v2-cta-inner {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: stretch;
  height: 80px;
}
.v2-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex: 1;
  max-width: 380px;
  height: 80px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  border: 1px solid var(--c-border-light);
  transition: border-color 0.3s, color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s;
  white-space: nowrap;
}
.v2-cta-btn:hover {
  transform: translateY(-2px);
}
.v2-cta-btn:hover .arrow {
  transform: translateX(6px);
}
.v2-cta-btn .arrow {
  display: inline-block;
  transition: transform 0.3s;
}
.v2-cta-ico {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.v2-cta-gold {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: #000;
}
.v2-cta-gold .v2-cta-ico {
  stroke: #000;
}
.v2-cta-gold:hover {
  background: #d4a017;
  border-color: #d4a017;
  box-shadow: 0 0 40px var(--c-accent-glow), 0 8px 28px rgba(184,134,11,0.3);
}
.v2-cta-dark {
  background: transparent;
  border-color: #3a3a3a;
  color: var(--c-muted);
}
.v2-cta-dark .v2-cta-ico {
  stroke: var(--c-muted);
}
.v2-cta-dark:hover {
  border-color: var(--c-white);
  color: var(--c-white);
  background: rgba(255,255,255,0.03);
}
.v2-cta-dark:hover .v2-cta-ico {
  stroke: var(--c-white);
}

/* Arrival */
.arrival-section {
  padding: var(--sp-section) 0;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
  position: relative;
}
.arrival-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-accent), transparent);
  opacity: 0.3;
}
.arrival-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.ar-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--c-border);
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.ar-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.06);
  border-color: rgba(184,134,11,0.3);
}
.ar-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}
.ar-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(184,134,11,0.15) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
.ar-card:hover .ar-img::after {
  opacity: 1;
}
.ar-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.ar-card:hover .ar-img img { transform: scale(1.04); }
.ar-body { padding: 12px; background: var(--c-surface); display: flex; flex-direction: column; flex: 1; }
.ar-year { font-family: 'Oswald', sans-serif; font-size: var(--fs-sub); color: var(--c-dim); letter-spacing: 0.5px; }
.ar-name { font-size: 13px; color: var(--c-text); line-height: 1.4; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ar-price { font-family: 'Oswald', sans-serif; font-size: 14px; color: var(--c-accent); letter-spacing: 1px; margin-top: auto; padding-top: 6px; text-shadow: 0 0 12px rgba(184,134,11,0.3); }

/* V2Arrival */
.v2-arrival {
  padding: 100px 0 80px;
  background: #080808;
}
a.v2-ar-hero { text-decoration: none; color: inherit; }
.v2-ar-hero {
  display: flex;
  gap: 0;
  margin-bottom: 32px;
  border: 1px solid var(--c-border);
  border-top: 2px solid var(--c-accent);
  background: var(--c-bg);
  overflow: hidden;
  position: relative;
  transition: border-color 0.4s, box-shadow 0.4s;
}
.v2-ar-hero:hover {
  border-color: rgba(184,134,11,0.3);
  box-shadow: 0 20px 60px rgba(0,0,0,0.6), 0 0 40px rgba(184,134,11,0.08);
}
.v2-ar-hero-img {
  width: 60%;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.v2-ar-hero-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(184,134,11,0.1) 0%, transparent 40%, transparent 60%, rgba(0,0,0,0.4) 100%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
  z-index: 1;
}
.v2-ar-hero:hover .v2-ar-hero-img::after { opacity: 1; }
.v2-ar-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.22,1,0.36,1);
}
.v2-ar-hero:hover .v2-ar-hero-img img { transform: scale(1.03); }
.v2-ar-hero-img .ar-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  padding: 8px 24px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 4px;
  color: #000;
  background: linear-gradient(135deg, #d4af37, #f0d060, #d4af37);
  box-shadow: 0 4px 20px rgba(184,134,11,0.6);
}
.v2-ar-hero-info {
  width: 40%;
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.v2-ar-hero-info::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 0;
  width: 3px;
  height: 60px;
  background: linear-gradient(180deg, var(--c-accent), transparent);
}
.v2-ar-hero-label {
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 4px;
  color: var(--c-accent);
  margin-bottom: 8px;
  opacity: 0.7;
}
.v2-ar-hero-year {
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 4px;
  margin-bottom: 8px;
  text-shadow: 0 0 20px rgba(184,134,11,0.3);
}
.v2-ar-hero-name {
  font-size: 26px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 1px;
  margin-bottom: 12px;
  line-height: 1.3;
}
.v2-ar-hero-price {
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 5px;
  margin-bottom: 20px;
  text-shadow: 0 0 24px rgba(184,134,11,0.4);
}
.v2-ar-hero-spec {
  font-size: 12px;
  color: var(--c-muted);
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  padding: 8px 0;
  border-top: 1px solid rgba(184,134,11,0.15);
  border-bottom: 1px solid rgba(184,134,11,0.15);
}
.v2-ar-hero-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--c-muted);
  margin-bottom: 16px;
}
.v2-ar-hero-meta span {
  position: relative;
}
.v2-ar-hero-meta span + span::before {
  content: '|';
  position: absolute;
  left: -10px;
  color: rgba(184,134,11,0.3);
}
.v2-ar-hero-desc {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.8;
  margin-bottom: 28px;
}
.v2-ar-hero-info .btn {
  align-self: flex-start;
  min-width: auto;
  padding: 0 36px;
}

/* Featured */
.v2-ar-featured {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 24px;
}
.v2-ar-fcard {
  display: block;
  border: 1px solid var(--c-border);
  border-top: 2px solid var(--c-accent);
  background: var(--c-bg);
  overflow: hidden;
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.v2-ar-fcard:hover {
  border-color: rgba(184,134,11,0.3);
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 24px rgba(184,134,11,0.1);
}
.v2-ar-fcard-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.v2-ar-fcard-img::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
.v2-ar-fcard:hover .v2-ar-fcard-img::after { opacity: 1; }
.v2-ar-fcard-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.v2-ar-fcard:hover .v2-ar-fcard-img img {
  transform: scale(1.05);
}
.v2-ar-fcard-img .ar-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 6px 18px;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #000;
  background: linear-gradient(135deg, #d4af37, #f0d060, #d4af37);
  box-shadow: 0 3px 16px rgba(184,134,11,0.5);
}
.v2-ar-fcard-img .ar-badge + .ar-badge { top: 50px; }
.v2-ar-fcard-img .ar-badge-reserved {
  background: linear-gradient(135deg, #c45a00, #ff8c33, #c45a00);
  color: #fff;
  letter-spacing: 1.5px;
  box-shadow: 0 3px 16px rgba(196,90,0,0.55);
}
.v2-ar-fcard-img .ar-badge-sold {
  background: linear-gradient(135deg, #444, #777, #444);
  color: #fff;
  letter-spacing: 3px;
  box-shadow: 0 3px 16px rgba(0,0,0,0.55);
}
.v2-ar-fcard-img .ar-badge-pickup,
.v2-ar-hero-img .ar-badge-pickup {
  background: linear-gradient(135deg, #c0392b, #e74c3c, #c0392b);
  color: #fff;
  letter-spacing: 2px;
  box-shadow: 0 3px 16px rgba(192,57,43,0.55);
  font-weight: 800;
}
.v2-ar-fcard.is-pickup {
  border: 2px solid #c0392b;
  box-shadow: 0 0 0 1px rgba(192,57,43,0.4), 0 12px 30px rgba(192,57,43,0.18);
}
.ar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 4px;
}
.ar-tag {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--c-gold, #b8860b);
  border: 1px solid rgba(184,134,11,0.45);
  border-radius: 2px;
  background: rgba(184,134,11,0.06);
}
.ar-price-sold {
  color: #999;
  letter-spacing: 4px;
  font-weight: 700;
}
.v2-ar-fcard-body {
  padding: 20px 24px;
  position: relative;
}
.v2-ar-fcard-body::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,134,11,0.2), transparent);
}
.v2-ar-fcard-body .ar-year {
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--c-accent);
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.v2-ar-fcard-body .ar-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--c-white);
  margin-bottom: 10px;
}
.v2-ar-fcard-body .ar-meta {
  font-size: 12px;
  color: var(--c-muted);
  margin-bottom: 6px;
}
.v2-ar-fcard-body .ar-price {
  font-family: 'Oswald', sans-serif;
  font-size: 26px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 3px;
  text-shadow: 0 0 16px rgba(184,134,11,0.3);
}
.ar-view {
  display: inline-block;
  margin-top: 12px;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  color: var(--c-muted);
  transition: color 0.3s;
}
.ar-view .arrow {
  margin-left: 6px;
  transition: transform 0.3s, color 0.3s;
  display: inline-block;
}
.v2-ar-fcard:hover .ar-view { color: var(--c-accent); }
.v2-ar-fcard:hover .ar-view .arrow { transform: translateX(4px); color: var(--c-accent); }

/* Grid */
.v2-ar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}
.v2-ar-grid .ar-card {
  border: 1px solid var(--c-border);
  border-top: 2px solid rgba(184,134,11,0.4);
  background: var(--c-bg);
  overflow: hidden;
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.v2-ar-grid .ar-card:hover {
  border-color: rgba(184,134,11,0.4);
  border-top-color: var(--c-accent);
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 24px rgba(184,134,11,0.1);
}
.v2-ar-grid .ar-body {
  padding: 16px 20px 20px;
}
.v2-ar-grid .ar-year {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-accent);
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.v2-ar-grid .ar-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--c-white);
  margin-bottom: 8px;
}
.v2-ar-grid .ar-price {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 2px;
  text-shadow: 0 0 12px rgba(184,134,11,0.3);
}
.ar-new, .ar-sold, .ar-reserved {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 5px 14px;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #000;
  background: linear-gradient(135deg, #d4af37, #f0d060, #d4af37);
  box-shadow: 0 2px 10px rgba(184,134,11,0.4);
}
.ar-sold {
  background: #c0392b;
  color: #fff;
  letter-spacing: 1px;
}
.ar-reserved {
  background: #e67e22;
  color: #fff;
  letter-spacing: 1px;
}
.ar-badge-sm {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 4px 12px;
  font-family: 'Oswald', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #000;
  background: linear-gradient(135deg, #d4af37, #f0d060, #d4af37);
  box-shadow: 0 2px 10px rgba(184,134,11,0.4);
}
.v2-ar-grid .ar-img {
  overflow: hidden;
  position: relative;
}
.v2-ar-grid .ar-img::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(0deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
.v2-ar-grid .ar-card:hover .ar-img::after { opacity: 1; }
.v2-ar-grid .ar-img img {
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.v2-ar-grid .ar-card:hover .ar-img img {
  transform: scale(1.05);
}
.v2-ar-cta {
  text-align: center;
}
.v2-ar-cta .btn {
  min-width: 300px;
  height: 56px;
  font-size: 16px;
}

/* Pickup */
.pickup-section {
  padding: 100px 0;
  background: var(--c-surface);
}
.pickup-cols { display: flex; gap: var(--sp-gap); }
.pickup-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-gap); }
.pickup-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-gap); }
.pickup-card {
  display: flex;
  border: 1px solid var(--c-border);
  border-left: 2px solid transparent;
  flex: 1;
  overflow: hidden;
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s, border-left-color 0.4s;
}
.pickup-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.06);
  border-color: rgba(184,134,11,0.3);
  border-left-color: var(--c-accent);
}
.pc-img { width: 240px; flex-shrink: 0; overflow: hidden; }
.pc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.pickup-card:hover .pc-img img { transform: scale(1.03); }
.pc-body { flex: 1; padding: 24px; display: flex; flex-direction: column; }
.pc-body h3 { font-size: 18px; font-weight: 700; color: var(--c-white); line-height: 1.7; margin-bottom: 12px; }
.pc-body p { font-size: 16px; color: var(--c-text); line-height: 1.8; flex: 1; }
.pc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  font-size: 15px;
  color: var(--c-accent);
  letter-spacing: 1px;
  transition: color 0.25s;
  align-self: flex-end;
}
.pickup-card:hover .pc-link { color: var(--c-white); }

/* ForSale */
.fs-banner {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--c-border);
  flex: 1;
  position: relative;
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.fs-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.03), transparent);
  transition: none;
  z-index: 1;
  pointer-events: none;
}
.fs-banner:hover::before {
  animation: shimmer 0.8s ease forwards;
}
.fs-banner:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.06);
  border-color: rgba(184,134,11,0.3);
}
.fs-photo { width: 45%; flex-shrink: 0; height: 100%; overflow: hidden; }
.fs-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.fs-banner:hover .fs-photo img { transform: scale(1.04); }
.fs-text {
  flex: 1;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.fs-sub { font-size: 12px; color: var(--c-muted); letter-spacing: 1px; }
.fs-title { font-family: 'Oswald', sans-serif; font-size: 24px; font-weight: 500; letter-spacing: 4px; color: var(--c-white); margin: 4px 0; text-shadow: 0 0 20px rgba(255,255,255,0.1); }
.fs-desc { font-size: 12px; color: var(--c-dim); letter-spacing: 1px; }
.fs-vintage .fs-text { background: linear-gradient(135deg, #2a2010 0%, #1a1608 100%); }
.fs-modern .fs-text { background: linear-gradient(135deg, #101e2e 0%, #0a1420 100%); }
@keyframes shimmer {
  to { left: 150%; }
}

/* Banners */
.twin-banners {
  padding: 0 0 100px;
  background: var(--c-surface);
}
.twin-grid { display: flex; gap: var(--sp-gap); }
.tb {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--c-border);
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.tb:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.06);
  border-color: rgba(184,134,11,0.3);
}
.tb-photo { aspect-ratio: 16/10; overflow: hidden; }
.tb-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.tb:hover .tb-photo img { transform: scale(1.03); }
.tb-label {
  background: var(--c-bg);
  padding: 18px 0;
  text-align: center;
  border-top: 1px solid var(--c-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.tb-title { font-size: 20px; letter-spacing: 4px; color: var(--c-white); font-weight: 500; }
.tb-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--c-accent);
  letter-spacing: 1px;
  transition: color 0.25s;
}
.tb:hover .tb-cta { color: var(--c-white); }
.tb-desc { background: var(--c-surface); padding: 18px 20px; text-align: center; flex: 1; }
.tb-desc p { font-size: 15px; color: var(--c-text); line-height: 1.8; }

/* External */
.ext-links {
  padding: 40px 0;
  background: var(--c-surface);
  position: relative;
  z-index: 1;
}
.ext-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 全カラム 1fr＝幅均等 */
  gap: 10px;
  max-width: 600px; /* ≈50%（1200pxの50%）にアイコン縮小 */
  margin: 0 auto;
}
.ext-item {
  display: block;
  border-radius: 10px;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.ext-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  transition: box-shadow 0.3s, filter 0.3s;
}
.ext-item:hover { transform: translateY(-4px); }
.ext-item:hover img {
  box-shadow: 0 12px 30px rgba(0,0,0,0.55), 0 0 22px rgba(184,134,11,0.30);
  filter: brightness(1.06);
}

/* WhyGM */
.v2-why {
  padding: 100px 0;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  position: relative;
  overflow: hidden;
}
.v2-why-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(184,134,11,0.04) 0%, transparent 60%);
  pointer-events: none;
}
.v2-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.v2-why-card {
  padding: 40px 20px 36px;
  background: linear-gradient(160deg, rgba(30,30,30,0.95) 0%, rgba(10,10,10,0.98) 100%);
  background-image: var(--why-bg, none);
  background-size: cover;
  background-position: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  border-image: linear-gradient(160deg, rgba(184,134,11,0.3), rgba(184,134,11,0.05) 50%, rgba(184,134,11,0.3)) 1;
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.5s;
}
.v2-why-card h3 { min-height: 3.2em; }
.v2-why-card .why-highlight { min-height: 3em; display: flex; align-items: center; justify-content: center; }
.v2-why-card[style*="--why-bg"] {
  background: none;
  background-image: var(--why-bg);
  background-size: cover;
  background-position: center;
}
.v2-why-card[style*="--why-bg"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.82);
  z-index: 0;
  transition: background 0.5s;
}
.v2-why-card[style*="--why-bg"]:hover::before {
  background: rgba(0,0,0,0.72);
}
.v2-why-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 50% 50%, rgba(184,134,11,0.06) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
.v2-why-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.7), 0 0 40px rgba(184,134,11,0.1);
  border-top: 2px solid var(--c-accent);
}
.v2-why-card:hover::after {
  opacity: 1;
}
.v2-why-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  color: var(--c-accent);
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 0 12px rgba(184,134,11,0.3));
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), filter 0.4s;
}
.v2-why-card:hover .v2-why-icon {
  transform: scale(1.12);
  filter: drop-shadow(0 0 20px rgba(184,134,11,0.5));
}
.v2-why-icon svg {
  width: 100%;
  height: 100%;
}
.v2-why-card h3 {
  font-size: 22px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 2px;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
  line-height: 1.4;
}
.v2-why-card h3::after {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: var(--c-accent);
  margin: 10px auto 0;
  transition: width 0.4s;
}
.v2-why-card:hover h3::after {
  width: 48px;
}
.v2-why-card p {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.8;
  position: relative;
  z-index: 1;
}
.why-num {
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: 'Oswald', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: rgba(184,134,11,0.12);
  line-height: 1;
  z-index: 1;
  letter-spacing: 2px;
}
.v2-why-card:hover .why-num {
  color: rgba(184,134,11,0.25);
}
.why-highlight {
  font-size: 13px !important;
  font-weight: 600;
  color: var(--c-accent) !important;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(184,134,11,0.2);
}

/* Service */
.service-section {
  padding: 100px 0;
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
  position: relative;
}
.sv-list { display: flex; flex-direction: column; gap: 0; }
.sv-card {
  display: flex;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--c-border);
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.sv-card:hover {
  transform: translateX(12px);
  box-shadow: -8px 0 24px rgba(184,134,11,0.08);
  border-color: rgba(184,134,11,0.2);
}
.sv-card:first-child { padding-top: 0; }
.sv-card:last-child { border-bottom: none; padding-bottom: 0; }
.sv-img { width: 220px; flex-shrink: 0; aspect-ratio: 4/3; overflow: hidden; border-radius: 2px; }
.sv-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.sv-card:hover .sv-img img { transform: scale(1.03); }
.sv-body { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.sv-body h3 { font-size: 18px; font-weight: 700; color: var(--c-white); line-height: 1.6; margin-bottom: 10px; }
.sv-body p { font-size: 16px; color: var(--c-text); line-height: 1.8; flex: 1; }
.sv-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  font-size: 15px;
  color: var(--c-accent);
  letter-spacing: 1px;
  transition: color 0.25s;
  align-self: flex-end;
}
.sv-card:hover .sv-link { color: var(--c-white); }

/* Import */
.import-section {
  padding: var(--sp-section) 0;
  background: var(--c-bg);
  border-top: 2px solid transparent;
  border-image: linear-gradient(90deg, transparent 5%, var(--c-accent) 30%, var(--c-accent) 70%, transparent 95%) 1;
}
.import-lead {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--c-border);
  margin-bottom: 28px;
}
.import-lead-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 2px;
  line-height: 1.7;
  flex-shrink: 0;
}
.import-lead-desc { font-size: var(--fs-body); color: var(--c-text); line-height: 1.8; }
.import-banner {
  position: relative;
  padding: 36px 32px;
  min-height: 240px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}
.import-ov { position: absolute; inset: 0; background: rgba(0,0,0,0.78); }
.import-content { position: relative; z-index: 2; width: 100%; }
.import-heading {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 3px;
  margin-bottom: 24px;
  padding: 6px 14px;
  background: rgba(184,134,11,0.15);
  border-left: 3px solid var(--c-accent);
  display: inline-block;
}
.import-items { display: flex; flex-direction: column; gap: 0; }
.import-item {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.import-item:last-child { border-bottom: none; }
.import-item dt {
  font-size: 14px;
  font-weight: 500;
  color: var(--c-accent);
  flex-shrink: 0;
  min-width: 100px;
  letter-spacing: 0.5px;
}
.import-item dd { font-size: var(--fs-body); color: var(--c-text); line-height: 1.7; }
.import-ctas {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}

/* V2Import */
.v2-import {
  position: relative;
  padding: 100px 0 80px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.v2-import-ov {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.82);
  z-index: 1;
}
.v2-import-inner {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  margin-bottom: 48px;
}
.v2-import-left {
  flex: 1;
  min-width: 0;
}
.v2-import-label {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 6px;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.v2-import-heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 4px;
  margin-bottom: 16px;
}
.v2-import-sub {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.9;
}
.v2-import-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.v2-import-point {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
}
.v2-import-point strong {
  color: var(--c-white);
  font-weight: 600;
}
.v2-import-num {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 2px;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}

/* Flow */
.v2-import-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 40px;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.v2-flow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--c-text);
  letter-spacing: 1px;
  white-space: nowrap;
}
.v2-flow-dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 12px rgba(184,134,11,0.4);
}
.v2-flow-line {
  width: 48px;
  height: 1px;
  background: rgba(184,134,11,0.3);
  flex-shrink: 0;
  margin: 0 8px;
  align-self: flex-start;
  margin-top: 4px;
}
.v2-import-cta {
  text-align: center;
}
.v2-import-cta .btn {
  min-width: 340px;
}

/* Showroom */
.v2-showroom {
  padding: 100px 0;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
}
.v2-showroom-cols {
  display: flex;
  gap: 40px;
  align-items: stretch;
}
.v2-showroom-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.v2-showroom-info .visit-badges {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
}
.v2-showroom-info .visit-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--c-accent);
  border: 1px solid rgba(184,134,11,0.4);
  background: rgba(184,134,11,0.06);
}
.v2-showroom-info .visit-actions {
  display: flex;
  gap: 16px;
  margin-top: 28px;
}
.v2-showroom-map {
  width: 460px;
  flex-shrink: 0;
  min-height: 320px;
  border: 1px solid var(--c-border);
  overflow: hidden;
}
.v2-showroom-map iframe {
  display: block;
  filter: grayscale(0.6) brightness(0.8) contrast(1.1);
  transition: filter 0.4s;
}
.v2-showroom-map:hover iframe {
  filter: grayscale(0) brightness(1) contrast(1);
}
.v2-showroom-photo {
  width: 460px;
  flex-shrink: 0;
  position: relative;
}
.v2-showroom-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid var(--c-border);
}
.v2-map-link {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 20px;
  background: rgba(0,0,0,0.75);
  color: var(--c-accent);
  font-size: 13px;
  letter-spacing: 1px;
  text-align: center;
  transition: background 0.3s;
}
.v2-map-link:hover {
  background: rgba(0,0,0,0.9);
}
.v2-map-link:hover .arrow {
  transform: translateX(6px);
}
.v2-map-link .arrow {
  display: inline-block;
  transition: transform 0.3s;
}

/* Information */
.info-section {
  padding: var(--sp-section) 0;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
  position: relative;
}
.info-cols { display: flex; gap: 32px; align-items: stretch; }
.info-detail { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.info-table { display: flex; flex-direction: column; }
.info-row {
  display: flex;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid var(--c-border);
}
.info-row:last-child { border-bottom: none; }
.info-row dt {
  width: 90px;
  flex-shrink: 0;
  font-size: 16px;
  color: var(--c-muted);
  letter-spacing: 0.5px;
}
.info-row dd { font-size: 16px; color: var(--c-white); letter-spacing: 0.5px; }
.info-tel { color: var(--c-accent); transition: opacity 0.25s; }
.info-tel:hover { opacity: 0.8; }
.info-note { font-size: var(--fs-sub); color: var(--c-dim); display: block; margin-top: 4px; }
.info-btns {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.info-btns .btn { min-width: 160px; height: 44px; }
.info-map { width: 400px; flex-shrink: 0; display: flex; }
.info-map-frame {
  width: 100%;
  flex: 1;
  border: 1px solid var(--c-border);
  overflow: hidden;
  position: relative;
}
.info-map-img { width: 100%; height: 100%; object-fit: cover; }
.info-map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px;
  background: rgba(0,0,0,0.7);
  text-align: center;
  font-size: var(--fs-sub);
  color: var(--c-accent);
  letter-spacing: 1px;
  transition: background 0.25s;
}
.info-map-link:hover { background: rgba(0,0,0,0.9); }

/* V2News */
.v2-news {
  padding: 44px 0;
}
.v2-news-container {
  max-width: 960px;
}
.v2-news .news-list a {
  font-size: 15px;
}

/* V2Blog */
.v2-blog {
  padding: 80px 0;
  background: var(--c-surface);
}
.v2-blog-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 40px;
}
.v2-blog-item {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--c-border);
  transition: background 0.3s;
}
.v2-blog-item:first-child {
  border-top: 1px solid var(--c-border);
}
.v2-blog-item:hover {
  background: rgba(255,255,255,0.02);
}
.v2-blog-thumb {
  width: 160px;
  height: 100px;
  flex-shrink: 0;
  overflow: hidden;
}
.v2-blog-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1);
}
.v2-blog-item:hover .v2-blog-thumb img {
  transform: scale(1.06);
}
.v2-blog-body {
  flex: 1;
  min-width: 0;
}
.v2-blog-body .bc-date {
  font-size: 13px;
  color: var(--c-muted);
  letter-spacing: 1px;
  margin-bottom: 4px;
  display: block;
}
.v2-blog-body p {
  font-size: 15px;
  color: var(--c-white);
  line-height: 1.6;
}

/* Blog */
.blog-section {
  padding: 100px 0;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
  position: relative;
}
.blog-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-accent), transparent);
  opacity: 0.3;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-gap);
}
.bc {
  display: block;
  overflow: hidden;
  border: 1px solid var(--c-border);
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.bc:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.06);
  border-color: rgba(184,134,11,0.3);
}
.bc-img {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}
.bc-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(184,134,11,0.15) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
.bc:hover .bc-img::after {
  opacity: 1;
}
.bc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), opacity 0.6s; }
.bc:hover .bc-img img { transform: scale(1.02); }
.bc-body { padding: 16px; background: var(--c-bg); }
.bc-date { font-family: 'Oswald', sans-serif; font-size: var(--fs-sub); color: var(--c-dim); letter-spacing: 0.5px; }
.bc-body p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.6;
  margin-top: 6px;
  transition: color 0.25s;
}
.bc:hover .bc-body p {
  color: var(--c-white);
}

/* FooterBanner */
.footer-banner {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 100px 40px;
  text-align: center;
}
.footer-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,0.4) 100%);
  z-index: 1;
  pointer-events: none;
}
.fb-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.82); }
.fb-inner {
  position: relative;
  z-index: 2;
  max-width: 640px;
  margin: 0 auto;
}
.fb-logo { height: 28px; width: auto; margin: 0 auto 24px; filter: drop-shadow(0 0 20px rgba(184,134,11,0.2)); }
.fb-callnow {
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  letter-spacing: 6px;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.fb-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 28px;
}
.fb-phone-icon { width: 32px; height: 32px; color: var(--c-accent); flex-shrink: 0; }
.fb-phone-num {
  font-family: 'Oswald', sans-serif;
  font-size: 56px;
  font-weight: 400;
  color: var(--c-white);
  letter-spacing: 4px;
  transition: color 0.25s;
  text-shadow: 0 0 30px rgba(255,255,255,0.15);
}
.fb-phone-num:hover { color: var(--c-accent); }
.fb-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 32px;
}
.fb-actions .btn { min-width: 200px; }
.fb-meta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fb-meta span { font-size: var(--fs-sub); color: rgba(255,255,255,0.75); letter-spacing: 0.5px; }
.fb-dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,0.35); display: inline-block; }

/* FooterSNS */
.follow-us-label {
  display: block !important;
  text-align: center !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 6px !important;
  color: rgba(255,255,255,0.4) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}
.v2-footer-sns {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-bottom: 36px;
}
.v2-footer-sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  color: #fff;
  border: none;
  border-radius: 50%;
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), box-shadow 0.35s;
}
.v2-footer-sns a[aria-label="Instagram"] {
  background: linear-gradient(45deg, #FFDC80 0%, #FCAF45 12%, #F77737 25%, #F56040 38%, #FD1D1D 50%, #E1306C 62%, #C13584 75%, #833AB4 88%, #5851DB 100%);
}
.v2-footer-sns a[aria-label="Facebook"] {
  background: #1877F2;
}
.v2-footer-sns a[aria-label="YouTube"] {
  background: #FF0000;
}
.v2-footer-sns a[aria-label="TikTok"] {
  background: linear-gradient(135deg, #25F4EE 0%, #000 50%, #FE2C55 100%);
}
.v2-footer-sns a[aria-label="LINE"] {
  background: #06C755;
}
.v2-footer-sns a:hover {
  transform: translateY(-6px) scale(1.05);
  box-shadow: 0 12px 28px rgba(0,0,0,0.4);
}
.v2-footer-sns svg {
  width: 36px;
  height: 36px;
}

/* Footer */
.site-footer {
  background: var(--c-bg);
  padding: 20px 0;
  border-top: 1px solid #1a1a1a;
}
.footer-nav { text-align: center; margin-bottom: 12px; }
.footer-nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 20px;
}
.footer-nav a {
  font-size: 13px;
  color: #fff;
  padding: 6px 0;
  transition: color 0.25s;
  letter-spacing: 0.5px;
}
.footer-nav a:hover { color: var(--c-accent); }
.copyright {
  font-size: var(--fs-sub);
  color: var(--c-dim);
  text-align: center;
  letter-spacing: 1px;
}

/* ===== モバイル版：USA中古/ビンテージのページヘッダ圧縮 ===== */
@media (max-width:767px){
  .page-template-page-usa-used .page-header,
  .page-template-page-usa-vintage .page-header {
    padding: 26px 0 !important;
    min-height: auto;
  }
  .page-template-page-usa-used .page-header-en,
  .page-template-page-usa-vintage .page-header-en {
    font-size: 1.3rem !important;
    letter-spacing: 3px !important;
  }
  .page-template-page-usa-used .page-header-ja,
  .page-template-page-usa-vintage .page-header-ja {
    font-size: .8rem !important;
    margin-top: 4px;
  }
  .page-template-page-usa-used .page-header-line,
  .page-template-page-usa-vintage .page-header-line {
    margin-top: 8px;
  }
  /* イントロ文も詰める */
  .page-template-page-usa-used .page-intro,
  .page-template-page-usa-vintage .page-intro {
    margin-bottom: 20px !important;
    font-size: .82rem;
  }
  /* SELECT MAKER の上余白も詰める */
  .page-template-page-usa-used .futuristic-pattern,
  .page-template-page-usa-vintage .futuristic-pattern {
    padding-top: 16px;
  }
}

/* Reveal */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1);
}
.reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1);
}
.reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1);
}
.reveal-scale.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger */
.stagger > *:nth-child(1) { transition-delay: 0s; }
.stagger > *:nth-child(2) { transition-delay: 0.08s; }
.stagger > *:nth-child(3) { transition-delay: 0.16s; }
.stagger > *:nth-child(4) { transition-delay: 0.24s; }
.stagger > *:nth-child(5) { transition-delay: 0.32s; }
.stagger > *:nth-child(6) { transition-delay: 0.40s; }
.stagger > *:nth-child(7) { transition-delay: 0.48s; }
.stagger > *:nth-child(8) { transition-delay: 0.56s; }
.stagger > *:nth-child(9) { transition-delay: 0.64s; }
.stagger > *:nth-child(10) { transition-delay: 0.72s; }

/* Breadcrumb */
.breadcrumb {
  padding: 14px 0;
  font-size: var(--fs-sub);
  color: var(--c-dim);
  letter-spacing: 0.5px;
}
.breadcrumb a {
  color: var(--c-dim);
  transition: color 0.25s;
}
.breadcrumb a:hover { color: var(--c-white); }
.breadcrumb .sep {
  margin: 0 8px;
  color: #444;
}

/* PageHeader */
.page-header {
  padding: 80px 0;
  text-align: center;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
  background-size: cover;
  background-position: center;
  position: relative;
}
.page-header[style*="background-image"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.7);
}
.page-header--info { background-position: center 30%; }
/* Info page header */
.page-header--info {
  padding: 100px 0;
  overflow: hidden;
}
.page-header--info::before {
  background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(26,26,26,0.75) 50%, rgba(0,0,0,0.85) 100%) !important;
}
.page-header--info::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(212,175,55,0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(212,175,55,0.06) 0%, transparent 40%);
  z-index: 1;
}
.page-header-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.page-header .container {
  position: relative;
  z-index: 2;
}
.page-header-en {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 8px;
  color: var(--c-white);
  margin-bottom: 8px;
}
.page-header-ja {
  font-size: 14px;
  color: var(--c-muted);
  letter-spacing: 3px;
}
.page-header-line {
  width: 60px;
  height: 1px;
  background: var(--c-accent);
  margin: 16px auto 0;
}

/* SubPage */
.sub-page .main-content {
  padding: 30px 0 var(--sp-section);
}
.single-vehicle .site-content,
.single-vehicle #primary,
.single-vehicle #main,
/* Related */
.related-vehicles {
  padding: 80px 0;
  background: var(--c-surface);
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 8px;
}
.related-card {
  display: block;
  border: none;
  background: rgba(255,255,255,0.03);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.related-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5), 0 0 20px rgba(184,134,11,0.12);
}
.related-img {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.related-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.related-card:hover .related-img img { transform: scale(1.05); }
.related-body {
  padding: 20px;
}
.related-name {
  font-size: 16px;
  font-weight: 600;
  color: var(--c-white);
  margin-bottom: 6px;
}
.related-meta {
  font-size: 13px;
  color: var(--c-muted);
  margin-bottom: 6px;
}
.related-price {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 2px;
  text-shadow: 0 0 12px rgba(184,134,11,0.3);
  margin-bottom: 8px;
}
.related-link {
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--c-muted);
  transition: color 0.3s;
}
.related-link .arrow {
  display: inline-block;
  transition: transform 0.3s;
}
.related-card:hover .related-link { color: var(--c-accent); }
.related-card:hover .related-link .arrow { transform: translateX(4px); }

.single-vehicle .ast-container,
.single-vehicle .vehicle-detail,
.single-vehicle .vehicle-nav {
  background: var(--c-bg) !important;
  color: var(--c-text) !important;
}

/* Vehicle Description */
.vehicle-description {
  background: var(--c-bg) !important;
  padding: 50px 0 20px;
}
.vd-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--c-accent);
  border-left: 3px solid var(--c-accent);
  padding-left: 12px;
  margin: 0 0 20px;
}
.vd-body {
  background: #111;
  border: 1px solid #222;
  border-radius: 6px;
  padding: 24px 28px;
  font-size: .92rem;
  line-height: 2;
  color: #ccc;
}
.vd-body p {
  margin: 0 0 12px;
}
.vd-body p:last-child {
  margin-bottom: 0;
}

/* Equipment */
.vehicle-equip {
  background: var(--c-bg) !important;
  padding: 40px 0 60px;
}
.equip-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.3rem;
  color: var(--c-accent);
  margin-bottom: 24px;
  padding-left: 16px;
  border-left: 3px solid var(--c-accent);
}
.equip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  overflow: hidden;
}
.equip-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  font-size: .82rem;
  background: var(--c-bg);
}
.equip-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: .75rem;
  font-weight: 700;
}
.equip-on .equip-icon {
  border: 2px solid var(--c-accent);
  color: var(--c-accent);
}
.equip-on .equip-label {
  color: #fff;
}
.equip-off .equip-icon {
  border: 2px solid #444;
  color: #555;
}
.equip-off .equip-label {
  color: #555;
}
@media (max-width: 768px) {
  .equip-grid { grid-template-columns: repeat(2, 1fr); }
}

/* CTA Button */
.cta-btn-contact {
  display: block;
  text-align: center;
  padding: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 4px;
  text-decoration: none !important;
  background: var(--c-accent) !important;
  color: #000 !important;
  transition: opacity 0.3s;
}
.cta-btn-contact:hover {
  opacity: 0.85;
}

/* Vehicle Contact */
.vehicle-contact {
  background: linear-gradient(180deg, #0a0a0a 0%, #111 100%);
  padding: 70px 0 50px;
  border-top: 1px solid rgba(184,134,11,0.15);
}
.vc-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  max-width: 960px;
  margin: 0 auto 28px;
}
.vc-eyebrow {
  font-family: 'Oswald', sans-serif;
  font-size: .75rem;
  letter-spacing: .2em;
  color: var(--c-accent);
  margin: 0 0 10px;
  text-transform: uppercase;
}
.vc-heading {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #eee;
  margin: 0 0 14px;
  line-height: 1.5;
}
.vc-desc {
  font-size: .88rem;
  color: #aaa;
  line-height: 1.8;
  margin: 0 0 16px;
}
.vc-hours {
  font-size: .85rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.8;
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid rgba(184,134,11,0.15);
}
.vc-hours span {
  display: block;
}
.vc-tel-block {
  display: block;
  text-align: center;
  padding: 22px;
  border: 1px solid var(--c-accent);
  border-radius: 4px;
  text-decoration: none !important;
  margin-bottom: 14px;
  transition: background .2s;
}
.vc-tel-block:hover {
  background: rgba(184,134,11,0.08);
}
.vc-tel-label {
  display: block;
  font-size: .72rem;
  color: #999;
  letter-spacing: .08em;
  margin-bottom: 6px;
}
.vc-tel-num {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: .06em;
}
.vc-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.vc-link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 4px;
  text-decoration: none !important;
  font-size: .85rem;
  font-weight: 600;
  transition: opacity .2s;
}
.vc-link-btn:hover { opacity: .85; }
.vc-link-btn svg { flex-shrink: 0; }
.vc-link-web {
  background: var(--c-accent);
  color: #000 !important;
}
.vc-link-line {
  background: #06c755;
  color: #fff !important;
}
.vc-note {
  text-align: center;
  font-size: .78rem;
  color: #666;
  margin: 0;
}
@media (max-width: 768px) {
  .vc-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
  .vc-desc br { display: none; }
}

/* Company */
.company-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(184,134,11,0.15);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}
.company-table tr:first-child th,
.company-table tr:first-child td { border-top: none; }
.company-table th,
.company-table td {
  padding: 18px 24px;
  border-top: 1px solid rgba(255,255,255,0.05);
  text-align: left;
  font-size: var(--fs-body);
  vertical-align: top;
}
.company-table th {
  width: 160px;
  color: rgba(184,134,11,0.85);
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 13px;
  text-transform: uppercase;
  background: rgba(184,134,11,0.04);
  border-right: 1px solid rgba(184,134,11,0.1);
  white-space: nowrap;
}
.company-table td {
  color: var(--c-white);
  background: rgba(255,255,255,0.015);
}
.company-table tr:hover td {
  background: rgba(184,134,11,0.03);
}
.company-table tr:hover th {
  background: rgba(184,134,11,0.08);
}
.company-table a {
  color: var(--c-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s, color 0.3s;
}
.company-table a:hover {
  border-bottom-color: var(--c-accent);
}

/* Business */
.company-business-list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.company-business-list li {
  padding: 16px 20px 16px 36px;
  position: relative;
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 1.7;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.3s;
}
.company-business-list li:hover {
  background: rgba(184,134,11,0.03);
}
.company-business-list li::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 24px;
  width: 8px;
  height: 8px;
  border: 1.5px solid var(--c-accent);
  border-radius: 1px;
  transform: rotate(45deg);
}

/* Timeline v2 */
.history-timeline-v2 {
  position: relative;
  margin-top: 48px;
  padding: 20px 0;
}
.history-timeline-v2::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--c-accent) 10%, var(--c-accent) 90%, transparent);
  transform: translateX(-50%);
}
.tl2-item {
  position: relative;
  width: 50%;
  padding: 20px 40px;
  box-sizing: border-box;
}
.tl2-item::before {
  content: '';
  position: absolute;
  top: 32px;
  width: 14px;
  height: 14px;
  background: var(--c-bg);
  border: 2px solid var(--c-accent);
  border-radius: 50%;
  z-index: 1;
  transition: background 0.3s, box-shadow 0.3s;
}
.tl2-item:hover::before {
  background: var(--c-accent);
  box-shadow: 0 0 12px rgba(184,134,11,0.5);
}
.tl2-left {
  margin-left: 0;
  text-align: right;
  padding-right: 50px;
}
.tl2-left::before {
  right: -8px;
}
.tl2-right {
  margin-left: 50%;
  text-align: left;
  padding-left: 50px;
}
.tl2-right::before {
  left: -8px;
}
.tl2-content {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  padding: 24px 28px;
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.tl2-item:hover .tl2-content {
  border-color: var(--c-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.tl2-year {
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  font-weight: 500;
  color: var(--c-accent);
  letter-spacing: 3px;
  margin-bottom: 6px;
  text-shadow: 0 0 20px rgba(184,134,11,0.2);
}
.tl2-desc {
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 1.7;
}

/* GIMMIC Full Hero */
.gimmic-full-hero {
  position: relative;
  width: 100%;
  min-height: 80vh;
  overflow: hidden;
}
.gimmic-full-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gimmic-full-rain {
  position: absolute;
  inset: 0;
  opacity: 0.6;
}
.gimmic-full-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 80vh;
}
.gimmic-full-title {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
}
.gimmic-logo-title {
  font-family: 'Times New Roman', 'Georgia', serif;
  font-size: clamp(64px, 10vw, 120px);
  font-weight: 900;
  letter-spacing: 16px;
  text-align: center;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #fff 0%, #DAA520 40%, #B8860B 70%, #8B6914 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(184,134,11,0.4)) drop-shadow(0 4px 30px rgba(0,0,0,0.5));
  animation: gimmic-glow 3s ease-in-out infinite alternate;
}
@keyframes gimmic-glow {
  0% { filter: drop-shadow(0 2px 8px rgba(184,134,11,0.3)) drop-shadow(0 4px 30px rgba(0,0,0,0.5)); }
  100% { filter: drop-shadow(0 2px 16px rgba(218,165,32,0.6)) drop-shadow(0 4px 40px rgba(0,0,0,0.5)); }
}
.gimmic-logo-sub {
  font-family: 'Times New Roman', 'Georgia', serif;
  font-size: clamp(9px, 1.2vw, 13px);
  color: rgba(218,165,32,0.7);
  letter-spacing: 4px;
  text-align: center;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
  text-transform: uppercase;
}
.gimmic-brand-overlay {
  padding: 40px 60px;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 60%, transparent 100%);
}
.gimmic-brand-overlay p {
  max-width: 800px;
  color: rgba(255,255,255,0.9);
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.5px;
}

/* Parts Category Grid */
.parts-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 30px 0 50px;
}
.parts-cat-grid .parts-cat-card:nth-child(n+5) {
  /* 2nd row: 3 cards centered */
}
.parts-cat-card {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(184,134,11,0.25);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  transition: transform 0.3s, box-shadow 0.3s;
  display: block;
}
.parts-cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.parts-cat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 30px rgba(184,134,11,0.3);
}
@media (max-width: 767px) {
  .parts-cat-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 20px 0 30px;
  }
}

/* Complete Car + 3D Magazine */
.complete-car-section { margin-bottom: 40px; margin-top: 0; }
.complete-layout {
  display: flex;
  gap: 60px;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}
.complete-cars { flex: 0 1 640px; }
.complete-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cc-card {
  display: block;
  text-decoration: none;
  background: var(--c-surface);
  border: 1px solid rgba(184,134,11,0.2);
  border-radius: 10px;
  padding: 20px 16px 12px;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  cursor: pointer;
}
.cc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 30px rgba(184,134,11,0.3);
  border-color: rgba(184,134,11,0.5);
}
.cc-card img {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}
.cc-card p {
  font-size: 11px;
  color: var(--c-muted);
  letter-spacing: 0.5px;
  margin: 0;
}
.magazine-3d-wrap {
  width: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 300px;
}
.magazine-label {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  letter-spacing: 4px;
  color: var(--c-accent);
  text-align: center;
}
/* 3D Cube */
.obj {
  position: relative;
  width: 240px;
  height: 160px;
  transform-style: preserve-3d;
  transform: rotateX(-15deg) rotateY(20deg);
  margin: 20px 0;
}
.objchild {
  animation: rotate 12s infinite linear;
  transform-style: preserve-3d;
  position: absolute;
  width: 100%;
  height: 100%;
}
.objchild::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  filter: blur(20px);
  box-shadow: 0 0 100px 10px rgba(184,134,11,0.3);
  transform: rotateX(90deg) scale(1.1) translateZ(-100px);
}
.inn {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
  backface-visibility: hidden;
}
.face-front { transform: translateZ(120px); }
.face-back { transform: rotateY(180deg) translateZ(120px); }
.face-left { transform: rotateY(-90deg) translateZ(120px); }
.face-right { transform: rotateY(90deg) translateZ(120px); }
.inn6 {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(21,21,21,0.5);
  transform: rotateX(90deg) translateZ(80px);
  animation: updown 6s infinite ease-in-out;
}
@keyframes rotate {
  0% { transform: rotate3d(0,1,0,0deg); }
  100% { transform: rotate3d(0,1,0,360deg); }
}
@keyframes updown {
  0% { transform: translateY(80px) rotateX(90deg) translateZ(80px); }
  50% { transform: translateY(120px); }
  100% { transform: translateY(80px) rotateX(450deg) translateZ(80px); }
}
@media (max-width: 767px) {
  .complete-layout { flex-direction: column; gap: 0; }
  .complete-cars { flex: none; width: 100%; }
  .complete-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .cc-card { padding: 10px 8px 6px; }
  .cc-card p { font-size: 9px; }
  .magazine-3d-wrap { display: none; }
}

/* Background effect: MIT License (c) 2026 chase2k25 */
.futuristic-pattern {
  position: relative;
  width: 100%;
  background: linear-gradient(145deg, rgb(0,0,0), rgba(35,35,35,0.9), rgb(50,50,50));
  /* filter: url(#advanced-texture); */
  overflow: hidden;
  padding: 40px 0 60px;
}
.futuristic-pattern .ripple-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(184,134,11,0.06) 0%, transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(184,134,11,0.04) 0%, transparent 40%);
  pointer-events: none;
  z-index: 1;
}
.futuristic-pattern .texture-filter {
  position: absolute;
  width: 0;
  height: 0;
}
.futuristic-pattern .sec-heading span,
.futuristic-pattern .sec-sub {
  color: #fff;
}

.gimmic-custom-text {
  max-width: 800px;
  margin: 40px auto 40px;
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.5px;
  text-align: center;
  padding: 0 20px;
}
.hl-gold {
  color: #DAA520;
  border-bottom: 2px solid #DAA520;
  padding-bottom: 1px;
}

/* Statement */
.gimmic-statement {
  background: linear-gradient(180deg, rgba(17,17,17,0.95) 0%, rgba(30,30,30,0.9) 100%);
  padding: 60px 0;
  text-align: center;
}
.statement-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 40px;
}
.statement-deco {
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #DAA520, transparent);
  margin: 0 auto;
}
.statement-lead {
  font-size: 11px;
  letter-spacing: 4px;
  color: #DAA520;
  margin: 20px 0 24px;
  font-weight: 600;
}
.statement-body {
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}
.statement-cta {
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  line-height: 2;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .gimmic-statement { padding: 40px 0; }
  .statement-inner { padding: 0 20px; }
  .statement-body { font-size: 13px; line-height: 2; }
  .statement-body br.pc-only { display: none; }
  .statement-cta { font-size: 12px; }
}

/* GIMMIC Rain Header */
.gimmic-rain-header {
  position: relative;
  background: #000 !important;
  overflow: hidden;
}
.rain-bg {
  position: absolute;
  inset: 0;
  --c: #B8860B;
  background-color: #000;
  background-image:
    radial-gradient(4px 100px at 0px 235px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 235px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 117.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 252px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 252px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 126px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 150px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 150px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 75px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 253px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 253px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 126.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 204px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 204px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 102px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 134px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 134px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 67px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 179px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 179px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 89.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 299px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 299px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 149.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 215px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 215px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 107.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 281px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 281px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 140.5px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 158px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 158px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 79px, var(--c) 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 210px, var(--c), #0000),
    radial-gradient(4px 100px at 300px 210px, var(--c), #0000),
    radial-gradient(1.5px 1.5px at 150px 105px, var(--c) 100%, #0000 150%);
  background-size:
    300px 235px, 300px 235px, 300px 235px,
    300px 252px, 300px 252px, 300px 252px,
    300px 150px, 300px 150px, 300px 150px,
    300px 253px, 300px 253px, 300px 253px,
    300px 204px, 300px 204px, 300px 204px,
    300px 134px, 300px 134px, 300px 134px,
    300px 179px, 300px 179px, 300px 179px,
    300px 299px, 300px 299px, 300px 299px,
    300px 215px, 300px 215px, 300px 215px,
    300px 281px, 300px 281px, 300px 281px,
    300px 158px, 300px 158px, 300px 158px,
    300px 210px, 300px 210px, 300px 210px;
  animation: gimmic-rain 150s linear infinite;
}
.rain-bg-overlay {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  backdrop-filter: blur(1em) brightness(6);
  background-image: radial-gradient(circle at 50% 50%, #0000 0, #0000 2px, hsl(0 0 4%) 2px);
  background-size: 8px 8px;
}
@keyframes gimmic-rain {
  0% {
    background-position:
      0px 220px, 3px 220px, 151.5px 337.5px,
      25px 24px, 28px 24px, 176.5px 150px,
      50px 16px, 53px 16px, 201.5px 91px,
      75px 224px, 78px 224px, 226.5px 350.5px,
      100px 19px, 103px 19px, 251.5px 121px,
      125px 120px, 128px 120px, 276.5px 187px,
      150px 31px, 153px 31px, 301.5px 120.5px,
      175px 235px, 178px 235px, 326.5px 384.5px,
      200px 121px, 203px 121px, 351.5px 228.5px,
      225px 224px, 228px 224px, 376.5px 364.5px,
      250px 26px, 253px 26px, 401.5px 105px,
      275px 75px, 278px 75px, 426.5px 180px;
  }
  to {
    background-position:
      0px 6800px, 3px 6800px, 151.5px 6917.5px,
      25px 13632px, 28px 13632px, 176.5px 13758px,
      50px 5416px, 53px 5416px, 201.5px 5491px,
      75px 17175px, 78px 17175px, 226.5px 17301.5px,
      100px 5119px, 103px 5119px, 251.5px 5221px,
      125px 8428px, 128px 8428px, 276.5px 8495px,
      150px 9876px, 153px 9876px, 301.5px 9965.5px,
      175px 13391px, 178px 13391px, 326.5px 13540.5px,
      200px 14741px, 203px 14741px, 351.5px 14848.5px,
      225px 18770px, 228px 18770px, 376.5px 18910.5px,
      250px 5082px, 253px 5082px, 401.5px 5161px,
      275px 6375px, 278px 6375px, 426.5px 6480px;
  }
}

/* Map */
.map-wrap {
  margin-top: 48px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3);
  border: 1px solid rgba(184,134,11,0.15);
}
.map-wrap iframe {
  width: 100%;
  height: 420px;
  border: none;
  filter: grayscale(0.8) brightness(0.7) contrast(1.1);
  transition: filter 0.5s;
}
.map-wrap:hover iframe {
  filter: grayscale(0.3) brightness(0.8) contrast(1.05);
}

/* Filter */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
  padding: 20px 0;
  border-bottom: 1px solid var(--c-border);
}
.filter-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.filter-label {
  font-size: var(--fs-sub);
  color: var(--c-dim);
  letter-spacing: 1px;
  margin-right: 4px;
}
.filter-btn {
  padding: 6px 16px;
  font-size: 13px;
  color: var(--c-muted);
  border: 1px solid var(--c-border);
  background: transparent;
  cursor: pointer;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
  letter-spacing: 0.5px;
}
.filter-btn:hover,
.filter-btn.active {
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* Contact */
.contact-layout {
  display: flex;
  gap: 48px;
}
.contact-form {
  flex: 1;
  min-width: 0;
}
.contact-sidebar {
  width: 320px;
  flex-shrink: 0;
}
.form-group {
  margin-bottom: 24px;
}
.form-label {
  display: block;
  font-size: 14px;
  color: var(--c-muted);
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.form-label .req {
  color: #c0392b;
  font-size: 11px;
  margin-left: 6px;
}
.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: 12px 16px;
  font-size: var(--fs-body);
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--c-white);
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  outline: none;
  transition: border-color 0.3s;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: var(--c-accent);
}
.form-textarea {
  min-height: 180px;
  resize: vertical;
}
.form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}
.form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 52px;
  min-width: 240px;
  padding: 0 40px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 2px;
  color: #000;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  cursor: pointer;
  transition: background 0.3s, box-shadow 0.3s;
}
.form-submit:hover {
  box-shadow: 0 0 24px var(--c-accent-glow);
}
.sidebar-box {
  padding: 28px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  margin-bottom: 24px;
}
.sidebar-box h3 {
  font-size: 12px;
  color: var(--c-accent);
  letter-spacing: 2px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--c-border);
  text-transform: uppercase;
}
.sidebar-tel {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 30px;
  color: var(--c-accent);
  letter-spacing: 2px;
  margin-bottom: 16px;
  transition: text-shadow .3s;
}
.sidebar-tel:hover {
  text-shadow: 0 0 16px var(--c-accent-glow);
}
/* Hours */
.sb-hours {
  margin-top: 4px;
}
.sb-hours-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 13px;
}
.sb-hours-row:last-child { border-bottom: none; }
.sb-hours-label {
  color: var(--c-muted);
  font-weight: 500;
}
.sb-hours-value {
  color: var(--c-white);
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.5px;
}
/* Address */
.sb-address {
  margin-bottom: 14px;
}
.sb-zip {
  font-size: 12px;
  color: var(--c-muted);
  margin-bottom: 4px;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 1px;
}
.sb-addr {
  font-size: 14px;
  color: var(--c-white);
  line-height: 1.6;
}
.sb-map-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--c-accent);
  transition: color .3s;
  padding: 6px 0;
}
.sb-map-link:hover { color: var(--c-white); }
/* LINE */
.sb-line-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #fff;
  background: #06C755;
  border: none;
  transition: background .3s, box-shadow .3s;
}
.sb-line-btn:hover {
  background: #05b34d;
  box-shadow: 0 0 20px rgba(6,199,85,0.3);
}
.sidebar-info {
  font-size: 13px;
  color: var(--c-text);
  line-height: 1.8;
}

/* CF7 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 12px 16px;
  font-size: var(--fs-body);
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--c-white);
  background: var(--c-surface) !important;
  border: 1px solid var(--c-border-light) !important;
  border-radius: 0;
  outline: none;
  transition: border-color .3s;
  box-sizing: border-box;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus {
  border-color: var(--c-accent) !important;
}
.wpcf7 label {
  display: block;
  font-size: 14px;
  color: var(--c-muted);
  margin-bottom: 6px;
}
.wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  min-width: 240px;
  padding: 0 40px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 2px;
  color: #000;
  background: var(--c-accent) !important;
  border: 1px solid var(--c-accent) !important;
  cursor: pointer;
  transition: box-shadow .3s;
}
.wpcf7 input[type="submit"]:hover {
  box-shadow: 0 0 24px var(--c-accent-glow);
}
.wpcf7 .wpcf7-not-valid-tip {
  color: #e53e3e;
  font-size: 12px;
}
.wpcf7 .wpcf7-response-output {
  border-color: var(--c-accent) !important;
  color: var(--c-text);
  padding: 12px 16px;
}
.wpcf7 .wpcf7-acceptance label {
  display: inline;
  font-size: 13px;
  color: var(--c-text);
}
/* Vehicle Card Inquiry */
.vehicle-card-inquiry {
  background: linear-gradient(135deg, #111 0%, #0d0d0d 100%);
  border: 1px solid rgba(184,134,11,0.25);
  margin-bottom: 40px;
  position: relative;
  overflow: hidden;
}
.vehicle-card-inquiry::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--c-accent), transparent);
}
.vci-label {
  padding: 16px 24px;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-accent);
  letter-spacing: 3px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--c-border);
  text-align: center;
}
.vci-body {
  display: flex;
  gap: 24px;
  padding: 24px;
}
.vci-img {
  width: 240px;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid var(--c-border);
}
.vci-img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s;
}
.vci-img:hover img {
  transform: scale(1.03);
}
.vci-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.vci-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--c-white);
  margin-bottom: 10px;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
.vci-meta {
  font-size: 13px;
  color: var(--c-muted);
  margin-bottom: 12px;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.5px;
}
.vci-meta span + span::before {
  content: ' / ';
  color: var(--c-dim);
}
.vci-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.vci-tag {
  display: inline-block;
  padding: 3px 10px;
  font-size: .65rem;
  font-weight: 600;
  color: var(--c-accent);
  border: 1px solid rgba(184,134,11,0.3);
  background: rgba(184,134,11,0.06);
  letter-spacing: 0.5px;
}
.vci-price {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: 1px;
}
.vci-price .vc-tax {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: var(--c-muted);
  margin-left: 4px;
}
/* Contact Intro */
.contact-intro {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.9;
  margin-bottom: 36px;
  padding-left: 16px;
  border-left: 2px solid var(--c-accent);
}
/* CF7 Form Table Layout */
.wpcf7-form .cf7-row {
  display: flex;
  align-items: flex-start;
  padding: 18px 0;
  border-bottom: 1px solid var(--c-border);
}
.wpcf7-form .cf7-row:first-child {
  border-top: 1px solid var(--c-border);
}
.wpcf7-form .cf7-label {
  width: 180px;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-white);
  padding-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cf7-req {
  display: inline-block;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  background: #c0392b;
  border-radius: 2px;
  letter-spacing: 0.5px;
}
.wpcf7-form .cf7-field {
  flex: 1;
  min-width: 0;
}
.cf7-field .cf7-hint {
  display: block;
  font-size: 12px;
  color: var(--c-dim);
  margin-top: 6px;
}
/* Radio dark */
.wpcf7 .wpcf7-radio label,
.wpcf7 .wpcf7-acceptance label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--c-text);
  margin-right: 20px;
  cursor: pointer;
  padding: 8px 16px;
  border: 1px solid var(--c-border-light);
  transition: border-color .3s, color .3s;
}
.wpcf7 .wpcf7-radio label:hover {
  border-color: var(--c-accent);
  color: var(--c-white);
}
.wpcf7 .wpcf7-radio input[type="radio"],
.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  accent-color: var(--c-accent);
}
/* Privacy box */
.cf7-privacy-box {
  margin-top: 36px;
  padding: 24px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  max-height: 200px;
  overflow-y: auto;
}
.cf7-privacy-box::-webkit-scrollbar { width: 4px; }
.cf7-privacy-box::-webkit-scrollbar-track { background: var(--c-bg); }
.cf7-privacy-box::-webkit-scrollbar-thumb { background: var(--c-border-light); }
.cf7-privacy-box h4 {
  font-size: 14px;
  color: var(--c-white);
  margin-bottom: 12px;
  letter-spacing: 1px;
}
.cf7-privacy-box p {
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.8;
}
.cf7-privacy-agree {
  text-align: center;
  margin-top: 20px;
  font-size: 14px;
  color: var(--c-white);
}
.cf7-submit-wrap {
  text-align: center;
  margin-top: 40px;
}
.wpcf7 input[type="submit"] {
  width: 320px !important;
  max-width: 100%;
  height: 56px !important;
  font-size: 15px !important;
  letter-spacing: 6px !important;
  position: relative;
  transition: box-shadow .3s, transform .2s !important;
}
.wpcf7 input[type="submit"]:hover {
  box-shadow: 0 0 32px var(--c-accent-glow), 0 4px 16px rgba(0,0,0,0.3) !important;
  transform: translateY(-1px);
}
/* CF7 Note */
.cf7-note {
  margin-top: 24px;
  font-size: 12px;
  color: var(--c-dim);
  line-height: 1.8;
  text-align: center;
}

/* Tabs */
.tab-nav {
  display: flex;
  gap: 0;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--c-border);
}
.tab-btn {
  padding: 12px 28px;
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  letter-spacing: 2px;
  color: var(--c-dim);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.3s, border-color 0.3s;
}
.tab-btn:hover { color: var(--c-white); }
.tab-btn.active {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}

/* NewsList */
.news-full-list li {
  padding: 16px 0;
  border-bottom: 1px solid var(--c-border);
  display: flex;
  align-items: baseline;
  gap: 20px;
}
.news-full-list .news-cat {
  font-size: 11px;
  color: var(--c-accent);
  border: 1px solid rgba(184,134,11,0.3);
  padding: 2px 10px;
  letter-spacing: 1px;
  flex-shrink: 0;
}
.news-full-list a {
  color: var(--c-text);
  font-size: var(--fs-body);
  transition: color 0.25s;
}
.news-full-list a:hover { color: var(--c-white); }

/* Steps */
.step-flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  margin: 48px 0;
}
.step-card {
  text-align: center;
  padding: 28px 16px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  position: relative;
}
.step-num {
  font-family: 'Oswald', sans-serif;
  font-size: 28px;
  font-weight: 300;
  color: var(--c-accent);
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.step-label {
  font-size: 13px;
  color: var(--c-text);
  line-height: 1.5;
}
.step-card::after {
  content: '';
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid var(--c-accent);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  opacity: 0.5;
}
.step-card:last-child::after { display: none; }

/* Category */
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-gap);
}
.category-card {
  display: block;
  border: 1px solid var(--c-border);
  overflow: hidden;
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s;
}
.category-card:hover {
  border-color: rgba(184,134,11,0.3);
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 24px rgba(184,134,11,0.06);
}
.cat-img {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.category-card:hover .cat-img img { transform: scale(1.04); }
.cat-body {
  padding: 20px;
  background: var(--c-surface);
  text-align: center;
}
.cat-body h3 {
  font-size: 15px;
  color: var(--c-white);
  letter-spacing: 2px;
  margin-bottom: 6px;
}
.cat-body p {
  font-size: 13px;
  color: var(--c-dim);
}

/* FAQ */
.faq-list {
  margin-top: 48px;
}
.faq-item {
  border-bottom: 1px solid var(--c-border);
}
.faq-q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
  font-size: var(--fs-body);
  color: var(--c-white);
  cursor: pointer;
  transition: color 0.25s;
  width: 100%;
  text-align: left;
}
.faq-q:hover { color: var(--c-accent); }
.faq-q .q-mark {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  color: var(--c-accent);
  flex-shrink: 0;
  width: 28px;
}
.faq-q .toggle {
  margin-left: auto;
  font-size: 18px;
  color: var(--c-dim);
  transition: transform 0.3s;
}
.faq-item.faq-open .faq-q .toggle {
  transform: rotate(45deg);
}
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
}
.faq-item.faq-open .faq-a {
  max-height: 300px;
  padding-bottom: 20px;
}
.faq-a-inner {
  padding-left: 40px;
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.8;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 48px;
}
.page-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  color: var(--c-muted);
  border: 1px solid var(--c-border);
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}
.page-num:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.page-num.active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: #000;
}

/* ImportHero */
.import-hero {
  position: relative;
  height: 360px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.import-hero-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.2) 100%);
}
.import-hero-content {
  position: relative;
  z-index: 2;
}
.import-hero h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
  font-weight: 300;
  letter-spacing: 6px;
  color: #fff;
  margin-bottom: 12px;
}
.import-hero p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  letter-spacing: 1px;
}
.import-hero-badge {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 16px;
  font-size: 12px;
  letter-spacing: 1.5px;
  color: var(--c-accent);
  border: 1px solid rgba(184,134,11,0.4);
  background: rgba(184,134,11,0.08);
}

/* Brand */
.brand-intro {
  display: flex;
  gap: 40px;
  align-items: center;
  margin-bottom: 60px;
}
.brand-img {
  width: 400px;
  flex-shrink: 0;
  aspect-ratio: 16/10;
  overflow: hidden;
  border: 1px solid var(--c-border);
}
.brand-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brand-text h2 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 4px;
  color: var(--c-white);
  margin-bottom: 16px;
}
.brand-text p {
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 1.8;
}

/* Points */
.service-points {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  margin: 48px 0;
}
.sp-card {
  padding: 28px 24px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
}
.sp-card h4 {
  font-size: 15px;
  color: var(--c-accent);
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.sp-card p {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.7;
}

/* Access */
.access-directions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.access-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  padding: 28px 32px;
  line-height: 2;
  font-size: var(--fs-body);
  color: var(--c-text);
}
.access-card-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--c-accent);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
}
.access-notice {
  color: #DAA520;
  font-weight: 500;
  margin-top: 8px;
}
.access-detail {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--c-border);
  font-size: 13px;
  color: var(--c-muted);
  line-height: 1.9;
}
.access-info {
  margin-top: 28px;
  padding: 24px 28px;
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 2;
  background: rgba(255,255,255,0.02);
  border-left: 3px solid var(--c-accent);
  border-radius: 0 8px 8px 0;
}
.access-info strong {
  color: var(--c-white);
  font-weight: 600;
}

/* Reason */
.reason-section {
  margin-top: 48px;
  padding: 32px 28px;
  border-left: 3px solid var(--c-accent);
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
  border-right: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.reason-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.reason-num {
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  font-weight: 300;
  color: var(--c-accent);
  letter-spacing: 2px;
  line-height: 1;
}
.reason-title-en {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--c-white);
  letter-spacing: 4px;
  margin: 0;
}
.reason-title-ja {
  font-size: 13px;
  color: var(--c-muted);
  letter-spacing: 2px;
  margin-top: 2px;
}
.reason-body {
  padding-left: 52px;
}
.reason-lead {
  font-size: 16px;
  font-weight: 500;
  color: var(--c-white);
  margin-bottom: 16px;
  line-height: 1.7;
}
.reason-body > p {
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 1.8;
  margin-bottom: 12px;
}
.reason-list {
  margin: 16px 0;
  padding-left: 0;
}
.reason-list li {
  position: relative;
  padding: 6px 0 6px 20px;
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.7;
}
.reason-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 8px;
  height: 1px;
  background: var(--c-accent);
}
.reason-list li strong {
  color: var(--c-white);
  font-weight: 500;
}
.reason-info-row {
  display: flex;
  gap: 16px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.reason-info-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid var(--c-border);
  background: var(--c-bg);
}
.reason-info-label {
  font-size: 12px;
  color: var(--c-muted);
  letter-spacing: 0.5px;
}
.reason-info-value {
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  color: var(--c-accent);
  letter-spacing: 1px;
}

/* Warranty */
.warranty-badges {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.warranty-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 24px;
  border: 1px solid var(--c-accent);
  background: rgba(184,134,11,0.06);
  min-width: 180px;
}
.warranty-badge-label {
  font-size: 12px;
  color: var(--c-muted);
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.warranty-badge-value {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--c-accent);
  letter-spacing: 1px;
}

/* Estimate */
.estimate-card {
  margin: 40px 0;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  overflow: hidden;
}
.estimate-header {
  padding: 24px 28px;
  border-bottom: 1px solid var(--c-border);
  background: rgba(184,134,11,0.06);
}
.estimate-client {
  font-size: 13px;
  color: var(--c-muted);
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.estimate-car {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--c-white);
  letter-spacing: 2px;
}
.estimate-mileage {
  font-size: 13px;
  color: var(--c-accent);
  margin-top: 6px;
  letter-spacing: 0.5px;
}
.estimate-table {
  width: 100%;
  border-collapse: collapse;
}
.estimate-table td {
  padding: 14px 28px;
  border-bottom: 1px solid var(--c-border);
  font-size: 14px;
}
.estimate-item {
  color: var(--c-text);
}
.estimate-price {
  text-align: right;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  color: var(--c-white);
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.estimate-total td {
  padding: 18px 28px;
  border-bottom: none;
  border-top: 2px solid var(--c-accent);
  font-weight: 700;
  color: var(--c-white);
  font-size: 15px;
}
.estimate-total .estimate-price {
  font-size: 22px;
  color: var(--c-accent);
}
.estimate-note {
  padding: 12px 28px 16px;
  font-size: 12px;
  color: var(--c-dim);
  line-height: 1.6;
}

/* Delivery */
.delivery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 40px 0;
}
.delivery-card {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  transition: border-color 0.3s;
}
.delivery-card:hover {
  border-color: var(--c-accent);
}
.delivery-pref {
  font-size: 12px;
  color: var(--c-accent);
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.delivery-car {
  font-size: 14px;
  color: var(--c-white);
  line-height: 1.5;
  flex: 1;
}
.delivery-year {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  color: var(--c-dim);
  margin-top: 8px;
  letter-spacing: 1px;
}

/* Intro */
.page-intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 48px;
  font-size: var(--fs-body);
  color: var(--c-text);
  line-height: 1.8;
  letter-spacing: 0.5px;
}

/* InfoBox */
.usa-info-box {
  padding: 32px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
}
.usa-info-box h3 {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--c-accent);
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.usa-info-box p {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.8;
}

/* Features */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-gap);
}
.feature-card {
  text-align: center;
  padding: 40px 24px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  transition: border-color 0.4s, transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.feature-card:hover {
  border-color: rgba(184,134,11,0.3);
  transform: translateY(-4px);
}
.feature-num {
  font-family: 'Oswald', sans-serif;
  font-size: 28px;
  font-weight: 300;
  color: var(--c-accent);
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.feature-card h3 {
  font-size: 16px;
  color: var(--c-white);
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.feature-card p {
  font-size: 13px;
  color: var(--c-text);
  line-height: 1.6;
}

/* ========== Responsive ========== */

@media (max-width: 1024px) {
  :root { --sp-pad: 28px; --sp-section: 64px; }

  .hd-btn { display: none; }
  .mnav-toggle { display: flex; }

  .hero { height: 440px; }
  .hero-heading { font-size: 44px; letter-spacing: 6px; }

  .arrival-grid { grid-template-columns: repeat(3, 1fr); }

  .pickup-cols { flex-direction: column; }
  .pickup-right { flex-direction: row; }

  .sv-img { width: 180px; }

  .info-map { width: 320px; }
  .brand-intro { gap: 28px; }
  .brand-img { width: 320px; }
  .import-hero { height: 300px; }
  .delivery-grid { grid-template-columns: repeat(3, 1fr); }
  .reason-body { padding-left: 40px; }
  .company-table th { width: 130px; }

  .v2-ar-hero { flex-direction: column; }
  .v2-ar-hero-img { width: 100%; aspect-ratio: 16/9; }
  .v2-ar-hero-info { width: 100%; padding: 32px; }
  .v2-ar-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .v2-why-grid { grid-template-columns: repeat(2, 1fr); }
  .v2-import-inner { flex-direction: column; gap: 32px; }
  .v2-showroom-photo { width: 360px; }
  .v2-showroom-map { width: 360px; }
  .v2-cta-btn { font-size: 14px; height: 64px; }
  .v2-cta-inner { height: 64px; }
}

@media (max-width: 768px) {
  :root { --sp-pad: 20px; --sp-section: 48px; --sp-gap: 16px; }

  .hd-btn { display: none; }
  .header-call { display: none; }
  .mnav-toggle { display: flex; }

  .main-nav {
    position: static;
    background: transparent;
    border-bottom: none;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
  }
  .main-nav .container { padding: 0; }
  .main-nav .nav-list {
    display: none;
    grid-template-columns: 1fr 1fr;
    flex-direction: initial;
    position: fixed;
    top: 62px;
    left: 0;
    right: 0;
    max-height: calc(100vh - 62px);
    overflow-y: auto;
    background: #1a1a1a;
    z-index: 9001;
    border-bottom: 2px solid var(--c-accent);
  }
  .mnav-open .main-nav .nav-list {
    display: grid;
  }
  .nav-list li { flex: none; white-space: nowrap; border-right: 1px solid #2a2a2a; border-bottom: 1px solid #2a2a2a; display: flex; }
  .nav-list li:nth-child(2n) { border-right: none; }
  .nav-list li:first-child { border-left: none; }
  .nav-list a { flex: 1; padding: 14px 16px; font-size: 13px; min-height: 56px; justify-content: center; text-align: center; }

  /* mnav toggle X color guard (Astra teal override) */
  .mnav-toggle { color: var(--c-white) !important; background: transparent !important; }
  .mnav-toggle span { background: var(--c-white, #f0f0f0) !important; }
  .mnav-open .mnav-toggle span { background: var(--c-gold, #b8860b) !important; }

  .hero { height: 380px; }
  .hero-heading { font-size: 44px; letter-spacing: 4px; }
  .hero-ja { font-size: 13px; letter-spacing: 4px; }
  .hero-desc { font-size: 13px; margin-bottom: 28px; }
  .hero-btns { flex-direction: column; gap: 12px; }
  .hero-btns .btn { min-width: 220px; }

  .news-cols { flex-direction: column; gap: 28px; }
  .arrival-grid { grid-template-columns: repeat(2, 1fr); }
  .pickup-cols { flex-direction: column; }
  .pickup-card { flex-direction: column; }
  .pc-img { width: 100%; aspect-ratio: 16/9; }
  .pickup-right { flex-direction: column; }
  .fs-banner { min-height: 140px; }
  .twin-grid { flex-direction: column; }
  .ext-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
  .sv-card { flex-direction: column; }
  .sv-img { width: 100%; aspect-ratio: 16/9; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .import-lead { flex-direction: column; gap: 12px; }
  .import-banner { padding: 28px 20px; }
  .import-item { flex-direction: column; gap: 4px; }
  .import-item dt { min-width: auto; }
  .import-ctas { flex-direction: column; align-items: center; }
  .reason-section { padding: 24px 20px; }
  .reason-body { padding-left: 0; }
  .reason-num { font-size: 26px; }
  .reason-title-en { font-size: 18px; }
  .warranty-badges { flex-direction: column; }
  .warranty-badge { min-width: auto; }
  .delivery-grid { grid-template-columns: repeat(2, 1fr); }
  .estimate-table td { padding: 12px 16px; }
  .estimate-header { padding: 20px 16px; }
  .estimate-car { font-size: 18px; }
  .estimate-note { padding: 12px 16px 16px; }
  .estimate-total .estimate-price { font-size: 18px; }
  .reason-info-row { flex-direction: column; gap: 8px; }
  .info-cols { flex-direction: column; }
  .info-map { width: 100%; }
  .info-btns { flex-direction: column; }
  .info-btns .btn { min-width: 100%; }
  .fb-phone-num { font-size: 40px; }
  .fb-actions { flex-direction: column; align-items: center; }
  .fb-meta { flex-direction: column; gap: 4px; }
  .fb-dot { display: none; }
  .btn { min-width: 180px; height: 48px; }
  .page-header { padding: 40px 0; }
  .page-header-en { font-size: 28px; letter-spacing: 5px; }
  .contact-layout { flex-direction: column; }
  .contact-sidebar { width: 100%; }
  .vci-body { flex-direction: column; gap: 16px; }
  .vci-img { width: 100%; }
  .vci-name { font-size: 16px; }
  .vci-price { font-size: 20px; }
  .wpcf7-form .cf7-row { flex-direction: column; gap: 6px; }
  .wpcf7-form .cf7-label { width: 100%; padding-top: 0; }
  .wpcf7 .wpcf7-radio label { margin-right: 8px; margin-bottom: 6px; }
  .brand-intro { flex-direction: column; }
  .brand-img { width: 100%; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-grid { grid-template-columns: repeat(3, 1fr); }
  .import-hero { height: 260px; }
  .import-hero h2 { font-size: 28px; }
  .step-flow { grid-template-columns: repeat(4, 1fr); }
  .step-card::after { display: none; }
  .map-wrap iframe { height: 300px; }
  .company-table th { width: auto; display: block; padding: 12px 16px 4px; border-right: none; }
  .company-table td { display: block; padding: 4px 16px 12px; }
  .company-business-list { grid-template-columns: 1fr; }
  .access-directions { grid-template-columns: 1fr; }
  .history-timeline-v2::before { left: 20px; }
  .tl2-item { width: 100%; padding-left: 50px; padding-right: 16px; }
  .tl2-left { text-align: left; padding-right: 16px; }
  .tl2-left::before { right: auto; left: 13px; }
  .tl2-right { margin-left: 0; padding-left: 50px; }
  .tl2-right::before { left: 13px; }
  .news-full-list li { flex-wrap: wrap; }
  .filter-bar { gap: 8px; }

  .v2-cta-inner { flex-direction: column; height: auto; gap: 10px; padding: 16px 0; }
  .v2-cta-btn { max-width: 100%; height: 56px; font-size: 15px; }
  .v2-ar-hero-info { padding: 24px 20px; }
  .v2-ar-hero-year { font-size: 22px; }
  .v2-ar-hero-name { font-size: 20px; }
  .v2-ar-hero-price { font-size: 24px; }
  .v2-ar-featured { grid-template-columns: 1fr; gap: 16px; }
  .v2-ar-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .related-grid { grid-template-columns: 1fr; gap: 16px; }
  .related-vehicles { padding: 48px 0; }
  .v2-ar-cta .btn { min-width: 100%; }
  .v2-why { padding: 64px 0; }
  .v2-why-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .v2-import { padding: 64px 0; }
  .v2-import-heading { font-size: 28px; }
  .v2-import-flow { flex-wrap: wrap; gap: 12px; }
  .v2-flow-line { width: 24px; }
  .v2-import-cta .btn { min-width: 100%; }
  .v2-showroom { padding: 64px 0; }
  .v2-showroom-cols { flex-direction: column; }
  .v2-showroom-photo { width: 100%; aspect-ratio: 16/9; }
  .v2-showroom-map { width: 100%; min-height: 280px; }
  .v2-showroom-info .visit-actions { flex-direction: column; }
  .v2-showroom-info .visit-actions .btn { min-width: 100%; }
  .v2-blog-thumb { width: 120px; height: 80px; }
  .v2-arrival { padding: 64px 0; }
  .v2-blog { padding: 48px 0; }
}

@media (max-width: 480px) {
  .hero { height: 320px; }
  .hero-heading { font-size: 36px; letter-spacing: 3px; }
  .hero-ja { font-size: 15px; letter-spacing: 3px; }
  .hero-desc { font-size: 12px; }
  .hero-label { font-size: 10px; letter-spacing: 3px; }

  .sec-heading span { font-size: 24px; letter-spacing: 5px; }
  .arrival-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ext-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: 1fr; }
  .fb-phone-num { font-size: 32px; letter-spacing: 2px; }
  .footer-nav ul { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; justify-content: center; }
  .footer-nav a { font-size: 12px; padding: 4px 0; }
  .page-header-en { font-size: 24px; letter-spacing: 4px; }
  .category-grid { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; }
  .step-flow { grid-template-columns: repeat(2, 1fr); }
  .import-hero { height: 220px; }
  .import-hero h2 { font-size: 22px; letter-spacing: 3px; }
  .delivery-grid { grid-template-columns: 1fr; }
  .reason-header { gap: 12px; }
  .reason-num { font-size: 22px; }
  .reason-title-en { font-size: 16px; letter-spacing: 2px; }

  .v2-cta-btn { height: 48px; font-size: 14px; gap: 10px; }
  .v2-why-grid { grid-template-columns: 1fr; }
  .v2-ar-grid { grid-template-columns: 1fr; }
  .v2-showroom-info .visit-badges { flex-direction: column; gap: 8px; }
  .v2-blog-item { flex-direction: column; gap: 12px; align-items: flex-start; }
  .v2-blog-thumb { width: 100%; height: auto; aspect-ratio: 16/9; }
  .v2-import-flow { flex-direction: column; align-items: center; }
  .v2-flow-line { width: 1px; height: 20px; margin: 0; }
  .blog-item-inner { flex-direction: column; }
  .blog-thumb { width: 100%; height: auto; aspect-ratio: 16/9; }
}

/* InfoGrid */
/* マルチカラム（masonry）＝記事量がバラバラでも左右の高さが自動で均等になる。
   準備中3枠でも全枠フル(各5件)でも崩れない。 */
/* 4枠を文字量に関係なく完全に同じ大きさのカードで均等配置（2×2・等幅・等高） */
.info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
  padding: 20px 0 60px;
}
.info-grid > .info-col {
  margin: 0;
  min-width: 0;
  min-height: 300px;
  border: 1px solid rgba(184,134,11,.28);
  border-radius: 10px;
  background: linear-gradient(170deg, rgba(58,50,32,.26), rgba(18,15,10,.5));
  padding: 22px 26px;
}
@media (max-width: 768px) {
  .info-grid { grid-template-columns: 1fr; gap: 18px; }
  .info-grid > .info-col { min-height: 0; }
}
.info-col-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--c-accent);
}
.info-col-title {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #fff;
}
.info-col-more {
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  text-decoration: none;
}
.info-col-more:hover { text-decoration: underline; }
.info-col-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.info-col-list li {
  border-bottom: 1px solid var(--c-border);
}
.info-col-list li a {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 14px 0;
  color: var(--c-text);
  text-decoration: none;
  transition: color 0.3s;
}
.info-col-list li a:hover { color: var(--c-accent); }
.info-date {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  color: #888;
  white-space: nowrap;
  min-width: 80px;
}
.info-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.6;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.info-col-list li a .vi-new { flex: none; }
@media (max-width: 768px) {
  .info-grid { column-count: 1; }
}

/* BlogList */
.blog-list {
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.blog-item {
  border-bottom: 1px solid var(--c-border);
}
.blog-item:first-child {
  border-top: 1px solid var(--c-border);
}
.blog-item-inner {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  text-decoration: none;
  transition: background 0.3s;
}
.blog-item-inner:hover {
  background: rgba(255,255,255,0.02);
}
.blog-thumb {
  width: 180px;
  height: 110px;
  flex-shrink: 0;
  overflow: hidden;
}
.blog-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1);
}
.blog-item-inner:hover .blog-thumb img {
  transform: scale(1.06);
}
.blog-body {
  flex: 1;
  min-width: 0;
}
.blog-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.blog-date {
  font-size: 13px;
  font-family: 'Oswald', sans-serif;
  color: var(--c-muted);
  letter-spacing: 1px;
}
.blog-cat {
  font-size: 11px;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 1px;
  color: #000;
  background: var(--c-accent);
  padding: 2px 8px;
  text-transform: uppercase;
}
.blog-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--c-white);
  margin: 0 0 6px;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.blog-item-inner:hover .blog-title {
  color: var(--c-accent);
}
.blog-excerpt {
  font-size: 13px;
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 599px) {
  .blog-item-inner { flex-direction: column; gap: 12px; }
  .blog-thumb { width: 100%; height: auto; aspect-ratio: 16/9; }
  .blog-title { white-space: normal; }
}

/* 3D Carousel */
.pc-only { display: block; }
.sp-only { display: none; }
.carousel-3d-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 420px;
  margin: 40px auto 20px;
  overflow: hidden;
  cursor: grab;
}
.carousel-3d-wrap:active { cursor: grabbing; }
.carousel-3d {
  position: relative;
  width: 200px;
  height: 280px;
  transform-style: preserve-3d;
  will-change: transform;
}
.carousel-3d.is-auto {
  animation: autoRun3d 30s linear infinite;
}
@keyframes autoRun3d {
  from { transform: perspective(1000px) rotateY(0deg); }
  to { transform: perspective(1000px) rotateY(-360deg); }
}
.c3d-card {
  position: absolute;
  display: block;
  width: 200px;
  height: 280px;
  border: 1px solid rgba(184,134,11,0.3);
  border-radius: 10px;
  top: 50%;
  left: 50%;
  transform-origin: center center;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  transition: filter 0.4s, box-shadow 0.3s;
  text-decoration: none;
  backface-visibility: hidden;
}
.c3d-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.c3d-card:hover {
  box-shadow: 0 0 30px rgba(184,134,11,0.4);
  filter: brightness(1.1) !important;
}
.c3d-card:nth-child(1) { transform: translate(-50%, -50%) rotateY(0deg) translateZ(300px); }
.c3d-card:nth-child(2) { transform: translate(-50%, -50%) rotateY(45deg) translateZ(300px); }
.c3d-card:nth-child(3) { transform: translate(-50%, -50%) rotateY(90deg) translateZ(300px); }
.c3d-card:nth-child(4) { transform: translate(-50%, -50%) rotateY(135deg) translateZ(300px); }
.c3d-card:nth-child(5) { transform: translate(-50%, -50%) rotateY(180deg) translateZ(300px); }
.c3d-card:nth-child(6) { transform: translate(-50%, -50%) rotateY(225deg) translateZ(300px); }
.c3d-card:nth-child(7) { transform: translate(-50%, -50%) rotateY(270deg) translateZ(300px); }
.c3d-card:nth-child(8) { transform: translate(-50%, -50%) rotateY(315deg) translateZ(300px); }

/* Mobile Grid */
.carousel-sp {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 20px 0 30px;
}
.csp-card {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(184,134,11,0.25);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  transition: transform 0.3s, box-shadow 0.3s;
}
.csp-card img {
  width: 100%;
  height: auto;
  display: block;
}
.csp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(184,134,11,0.3);
  border-color: rgba(184,134,11,0.5);
}
.csp-card:active { transform: scale(0.96); }

@media (max-width: 767px) {
  .pc-only { display: none !important; }
  .sp-only { display: grid !important; }

  /* Stock filter mobile */
  .stock-filters {
    padding: 12px 0;
  }
  .filter-group {
    position: relative;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
    mask-image: linear-gradient(to right, #000 85%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 85%, transparent 100%);
  }
  .filter-group::-webkit-scrollbar { display: none; }
  .filter-label {
    flex-shrink: 0;
    font-size: 11px;
    min-width: 40px;
    writing-mode: horizontal-tb;
  }
  .filter-btn {
    flex-shrink: 0;
    padding: 4px 10px;
    font-size: 11px;
    white-space: nowrap;
  }
}
/* ===== 車種図鑑 / 納車実績 (car_model / delivery) 2026-07-05 ===== */
.cm-breadcrumb{background:#0b0b0d;padding:14px 0;font-size:.72rem;color:#9a8f76;}
.cm-breadcrumb .container{max-width:var(--w-inner,1200px);margin:0 auto;padding:0 20px;}
.cm-breadcrumb a{color:#c9b072;text-decoration:none;}
.cm-breadcrumb a:hover{color:#fff;}
.cm-breadcrumb em{margin:0 8px;color:#6b6250;font-style:normal;}
.cm-hub,.cm-model{padding:40px 0 70px;}
.cm-hub .container,.cm-model .container{max-width:var(--w-inner,1200px);margin:0 auto;padding:0 20px;}
.cm-hub-lead{color:var(--c-text,#eaeaea);line-height:1.9;max-width:820px;margin:0 auto 34px;text-align:center;}
.cm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cm-grid--maker{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.cm-grid,.cm-grid--maker{grid-template-columns:repeat(2,1fr);gap:12px;}}
.cm-card{display:block;background:linear-gradient(160deg,#1a1712,#0c0a08);border:1px solid rgba(184,134,11,.35);border-radius:10px;overflow:hidden;text-decoration:none;transition:transform .3s,border-color .3s,box-shadow .3s;}
.cm-card:hover{transform:translateY(-4px);border-color:#d4af37;box-shadow:0 10px 26px rgba(0,0,0,.5);}
.cm-card-img{aspect-ratio:4/3;overflow:hidden;background:#000;}
.cm-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cm-card-body{padding:12px 14px 16px;}
.cm-card-yr{font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:1px;color:#c9b072;margin:0 0 2px;}
.cm-card-ttl{color:#fff;font-weight:700;font-size:.95rem;line-height:1.35;margin:0 0 8px;}
.cm-card-view{font-family:'Oswald',sans-serif;font-size:.68rem;letter-spacing:1px;color:#c9b072;}
.cm-h1{color:#fff;font-size:1.7rem;line-height:1.3;margin:26px 0 22px;font-weight:800;}
.cm-h1-yr{font-size:1rem;color:#c9b072;margin-left:12px;font-weight:600;}
.cm-h1-tag{display:inline-block;margin-left:12px;font-family:'Oswald',sans-serif;font-size:.62rem;letter-spacing:2px;color:#0b0b0d;background:#c9b072;padding:3px 9px;border-radius:3px;vertical-align:middle;}
.cm-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;margin-bottom:34px;align-items:start;}
@media(max-width:820px){.cm-hero{grid-template-columns:1fr;}}
.cm-hero-img img{width:100%;border-radius:10px;display:block;}
.cm-hero-lead{color:var(--c-text,#eaeaea);line-height:1.95;}
.cm-sec{margin:0 0 30px;padding:0 0 26px;border-bottom:1px solid rgba(184,134,11,.15);}
.cm-sec h2{color:#fff;font-size:1.15rem;border-left:3px solid #c9b072;padding-left:12px;margin:0 0 14px;}
.cm-sec p{color:var(--c-text,#e8e8e8);line-height:1.95;}
.cm-sec--key{background:rgba(184,134,11,.06);border:1px solid rgba(184,134,11,.25);border-radius:10px;padding:22px 24px;}
.cm-parts-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.cm-parts-links a{font-size:.8rem;color:#c9b072;border:1px solid rgba(184,134,11,.4);border-radius:20px;padding:6px 14px;text-decoration:none;transition:background .3s,color .3s;}
.cm-parts-links a:hover{background:#c9b072;color:#0b0b0d;}
.cm-works{display:flex;flex-wrap:wrap;gap:14px;}
.cm-work{width:180px;text-decoration:none;color:#fff;}
.cm-work img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;}
.cm-work span{display:block;font-size:.78rem;margin-top:6px;line-height:1.4;}
.cm-nostock{text-align:center;background:rgba(255,255,255,.03);border:1px dashed rgba(184,134,11,.4);border-radius:10px;padding:30px 20px;}
.cm-nostock p{color:#cfc6b4;margin:0 0 16px;}
.cm-cta{text-align:center;padding:34px 20px;background:linear-gradient(160deg,#1a1712,#0c0a08);border:1px solid rgba(184,134,11,.3);border-radius:12px;margin-top:34px;}
.cm-cta p{color:#e8e8e8;line-height:1.9;margin:0 auto 18px;max-width:640px;}
.cm-cta .btn{margin:6px;}
.cm-empty{color:#9a8f76;text-align:center;padding:40px 0;}

.cm-related-cars{padding:50px 0;background:#0d0d0f;}
.cm-related-cars .container{max-width:var(--w-inner,1200px);margin:0 auto;padding:0 20px;}

/* ===== 車検・整備 (maintenance) 2026-07-05 ===== */
.mt-h1{color:#fff;font-size:1.6rem;line-height:1.4;font-weight:800;}
.mt-h1 span{font-size:1rem;color:#c9b072;font-weight:600;display:inline-block;margin-top:6px;}
.mt-main{padding-top:40px;}
.mt-lead{color:var(--c-text,#eaeaea);line-height:1.95;max-width:860px;margin:0 auto 34px;text-align:center;}
.mt-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
@media(max-width:820px){.mt-reasons{grid-template-columns:1fr;}}
.mt-reason{background:linear-gradient(160deg,#1a1712,#0c0a08);border:1px solid rgba(184,134,11,.3);border-radius:10px;padding:22px 20px;}
.mt-reason .mt-num{font-family:'Oswald',sans-serif;font-size:1.5rem;color:#c9b072;}
.mt-reason h3{color:#fff;font-size:1.05rem;margin:6px 0 10px;}
.mt-reason p{color:#d8d2c4;line-height:1.85;font-size:.92rem;}
.mt-menu{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px;}
.mt-menu span{background:rgba(184,134,11,.1);border:1px solid rgba(184,134,11,.35);color:#f0e6cf;border-radius:6px;padding:8px 16px;font-size:.9rem;}
.mt-note{color:#b9b0a0;font-size:.88rem;line-height:1.8;}
.mt-flow{list-style:none;padding:0;margin:0;counter-reset:mt;}
.mt-flow li{position:relative;padding:0 0 18px 40px;color:#e2ddd0;line-height:1.8;border-left:1px solid rgba(184,134,11,.3);margin-left:14px;}
.mt-flow li:last-child{border-left-color:transparent;}
.mt-flow li:before{counter-increment:mt;content:counter(mt);position:absolute;left:-14px;top:0;width:28px;height:28px;background:#c9b072;color:#0b0b0d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;}
.mt-flow li b{color:#fff;}
.mt-faq>div{border-bottom:1px solid rgba(184,134,11,.15);padding:14px 0;}
.mt-faq b{color:#f0e6cf;display:block;margin-bottom:6px;}
.mt-faq p{color:#d8d2c4;line-height:1.8;margin:0;}
