@charset "UTF-8";
.nb-prosneaker-lp {
  --nb-ink: #202124;
  --nb-muted: #5f6368;
  --nb-line: #d9dde2;
  --nb-soft: #f4f6f8;
  --nb-accent: #cf202f;
  --nb-dark: #22262b;
  color: var(--nb-ink);
  font-family: Arial, "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  max-width: 1100px;
  margin: 0 auto;
  overflow-wrap: anywhere;
}
.nb-prosneaker-lp * { box-sizing: border-box; }
.nb-prosneaker-lp img { display: block; max-width: 100%; height: auto; }
.nb-prosneaker-lp .nb-section { margin: 0 0 56px; }
.nb-prosneaker-lp .nb-section-heading {
  margin: 0 0 12px;
  font-size: clamp(25px, 3.2vw, 38px);
  line-height: 1.3;
  letter-spacing: -.025em;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-section-lead { margin: 0 0 28px; color: var(--nb-muted); }
.nb-prosneaker-lp .nb-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--nb-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.nb-prosneaker-lp .nb-rule {
  border: 0;
  border-top: 1px solid var(--nb-line);
  margin: 30px 0;
}

/* Feature cards */
.nb-prosneaker-lp .nb-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.nb-prosneaker-lp .nb-feature-card {
  min-width: 0;
  border: 1px solid var(--nb-line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.nb-prosneaker-lp .nb-feature-image {
  aspect-ratio: 4 / 3;
  background: #f0f1f3;
  overflow: hidden;
}
.nb-prosneaker-lp .nb-feature-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nb-prosneaker-lp .nb-feature-body {
  padding: 18px 18px 16px;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.nb-prosneaker-lp .nb-feature-title {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-feature-copy {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.7;
}
.nb-prosneaker-lp .nb-model-tag {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #eceef0;
  color: var(--nb-muted);
  font-size: 12px;
  font-weight: 700;
}

/* JSAA introduction */
.nb-prosneaker-lp .nb-jsaa-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr);
  gap: 28px;
  align-items: center;
  padding: clamp(22px, 4vw, 42px);
  background: var(--nb-dark);
  color: #fff;
  border-radius: 10px;
}
.nb-prosneaker-lp .nb-jsaa-intro .nb-section-heading { color: #fff; }
.nb-prosneaker-lp .nb-jsaa-statement {
  margin: 0;
  font-size: clamp(21px, 2.7vw, 30px);
  font-weight: 800;
  line-height: 1.5;
}
.nb-prosneaker-lp .nb-jsaa-label {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 12px;
  background: var(--nb-accent);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-jsaa-list { margin: 14px 0; padding-left: 1.5em; }
.nb-prosneaker-lp .nb-jsaa-video-note {
  margin: 14px 0 0;
  font-size: 13px;
  color: #e2e5e8;
}

/* Test panels */
.nb-prosneaker-lp .nb-test-group-title {
  margin: 32px 0 14px;
  padding: 10px 14px;
  background: var(--nb-dark);
  color: #fff;
  font-size: 19px;
  line-height: 1.45;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-test-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--nb-line);
  align-items: start;
}
.nb-prosneaker-lp .nb-test-card:first-of-type {
  border-top: 1px solid var(--nb-line);
}
.nb-prosneaker-lp .nb-test-card img {
  width: 100%;
  height: auto;
}
.nb-prosneaker-lp .nb-test-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--nb-muted);
  font-size: 13px;
  font-weight: 700;
}
.nb-prosneaker-lp .nb-test-title {
  margin: 0 0 10px;
  font-size: 23px;
  line-height: 1.4;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-test-copy { margin: 0; }
.nb-prosneaker-lp .nb-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.5;
}
.nb-prosneaker-lp .nb-spec-table th,
.nb-prosneaker-lp .nb-spec-table td {
  padding: 11px 10px;
  border: 1px solid #d5d8dc;
  text-align: center;
  vertical-align: middle;
}
.nb-prosneaker-lp .nb-spec-table thead th {
  background: #f0f1f3;
  font-weight: 800;
}
.nb-prosneaker-lp .nb-spec-table tbody th {
  background: #f7f8f9;
  text-align: left;
}
.nb-prosneaker-lp .nb-spec-table strong { font-size: 18px; }
.nb-prosneaker-lp .nb-spec-note {
  margin: 8px 0 0;
  color: var(--nb-muted);
  font-size: 12px;
  line-height: 1.6;
}
.nb-prosneaker-lp .nb-test-visual-note {
  margin: 12px 0 0;
  padding: 12px 14px;
  background: var(--nb-soft);
  color: var(--nb-muted);
  font-size: 13px;
}
.nb-prosneaker-lp .nb-performance-highlight {
  padding: 18px;
  background: var(--nb-soft);
  border-left: 4px solid var(--nb-accent);
}
.nb-prosneaker-lp .nb-performance-highlight strong { font-size: 24px; }
.nb-prosneaker-lp .nb-footnote {
  margin: 22px 0 0;
  color: var(--nb-muted);
  font-size: 12px;
}

@media (max-width: 760px) {
  .nb-prosneaker-lp { font-size: 15px; }
  .nb-prosneaker-lp .nb-section { margin-bottom: 40px; }
  .nb-prosneaker-lp .nb-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .nb-prosneaker-lp .nb-feature-body { padding: 13px 12px; }
  .nb-prosneaker-lp .nb-feature-title { font-size: 16px; }
  .nb-prosneaker-lp .nb-feature-copy { font-size: 13px; }
  .nb-prosneaker-lp .nb-jsaa-intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .nb-prosneaker-lp .nb-test-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 0;
  }
  .nb-prosneaker-lp .nb-test-title { font-size: 20px; }
  .nb-prosneaker-lp .nb-spec-table { font-size: 12px; }
  .nb-prosneaker-lp .nb-spec-table th,
  .nb-prosneaker-lp .nb-spec-table td { padding: 8px 5px; }
}
@media (max-width: 380px) {
  .nb-prosneaker-lp .nb-feature-grid { grid-template-columns: 1fr; }
}
/* ========================================
   New Balance series Product Page
   ======================================== */

.nb-harrisburg {
  max-width: 1000px;
  margin: 0 auto;
  color: #222;
  font-family: inherit;
  line-height: 1.7;
  font-size: 15px;
}

.nb-harrisburg *,
.nb-harrisburg *::before,
.nb-harrisburg *::after {
  box-sizing: border-box;
}

.nb-harrisburg img {
  display: block;
  max-width: 100%;
  height: auto;
}

.nb-harrisburg .nb-section {
  margin: 64px 0;
}

.nb-harrisburg .nb-section-heading {
  margin: 0 0 28px;
  padding-bottom: 12px;
  border-bottom: 2px solid #222;
}

.nb-harrisburg .nb-section-heading .en {
  display: block;
  margin-bottom: 4px;
  color: #777;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.nb-harrisburg .nb-section-heading .jp {
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

/* 商品画像 */

.nb-harrisburg .nb-product-gallery {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 20px;
  align-items: start;
}

.nb-harrisburg .nb-main-visual {
  background: #f5f5f5;
  padding: 24px;
}

.nb-harrisburg .nb-main-visual img {
  width: 100%;
  object-fit: contain;
}

.nb-harrisburg .nb-gallery-sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.nb-harrisburg .nb-gallery-item {
  margin: 0;
  background: #f5f5f5;
  padding: 12px;
}

.nb-harrisburg .nb-gallery-item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.nb-harrisburg .nb-gallery-item figcaption {
  margin-top: 8px;
  text-align: center;
  font-size: 12px;
  color: #555;
}

/* カラーバリエーション */

.nb-harrisburg .nb-color-heading {
  margin: 32px 0 16px;
  font-size: 18px;
  font-weight: 700;
}

.nb-harrisburg .nb-color-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.nb-harrisburg .nb-color-card {
  border: 1px solid #ddd;
  padding: 14px;
  text-align: center;
}

.nb-harrisburg .nb-color-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f7f7f7;
}

.nb-harrisburg .nb-color-card .code {
  display: block;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
}

.nb-harrisburg .nb-color-card .size {
  display: block;
  margin-top: 3px;
  color: #666;
  font-size: 12px;
}

/* BOA機能 */

.nb-harrisburg .nb-boa-section {
  padding: 36px;
  background: #f3f4f5;
}

.nb-harrisburg .nb-boa-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}

.nb-harrisburg .nb-boa-image {
  background: #fff;
  padding: 16px;
}

.nb-harrisburg .nb-boa-image img {
  width: 100%;
  object-fit: contain;
}

.nb-harrisburg .nb-boa-label {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 12px;
  background: #222;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.nb-harrisburg .nb-boa-copy h3 {
  margin: 0 0 16px;
  font-size: 25px;
  line-height: 1.4;
}

.nb-harrisburg .nb-boa-copy p {
  margin: 0;
  font-size: 14px;
}

.nb-harrisburg .nb-boa-note {
  margin-top: 20px !important;
  padding-top: 16px;
  border-top: 1px solid #ccc;
  color: #555;
  font-size: 13px !important;
}

/* スペック表 */

.nb-harrisburg .nb-spec-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  font-size: 14px;
}

.nb-harrisburg .nb-spec-table th,
.nb-harrisburg .nb-spec-table td {
  padding: 14px 18px;
  border-bottom: 1px solid #ddd;
  text-align: left;
  vertical-align: middle;
}

.nb-harrisburg .nb-spec-table th {
  width: 25%;
  background: #f4f4f4;
  font-weight: 700;
}

.nb-harrisburg .nb-spec-table td {
  background: #fff;
}

.nb-harrisburg .nb-spec-price {
  font-size: 20px;
  font-weight: 700;
}

/* サイズ展開 */

.nb-harrisburg .nb-size-area {
  margin-top: 28px;
  padding: 24px;
  background: #f7f7f7;
}

.nb-harrisburg .nb-size-area h3 {
  margin: 0 0 12px;
  font-size: 17px;
}

.nb-harrisburg .nb-size-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nb-harrisburg .nb-size-list li {
  min-width: 58px;
  padding: 7px 12px;
  border: 1px solid #ccc;
  background: #fff;
  text-align: center;
  font-size: 13px;
}

/* 共通パーツ挿入エリア */

.nb-harrisburg .nb-common-feature,
.nb-harrisburg .nb-common-jsaa {
  margin-top: 64px;
}

/* 注記 */

.nb-harrisburg .nb-caption {
  margin-top: 12px;
  color: #777;
  font-size: 12px;
}

/* タブレット・スマートフォン */

@media screen and (max-width: 767px) {
  .nb-harrisburg {
    font-size: 14px;
  }

  .nb-harrisburg .nb-section {
    margin: 44px 0;
  }

  .nb-harrisburg .nb-section-heading {
    margin-bottom: 20px;
  }

  .nb-harrisburg .nb-section-heading .jp {
    font-size: 21px;
  }

  .nb-harrisburg .nb-product-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .nb-harrisburg .nb-main-visual {
    padding: 16px;
  }

  .nb-harrisburg .nb-gallery-sub {
    gap: 8px;
  }

  .nb-harrisburg .nb-gallery-item {
    padding: 8px;
  }

  .nb-harrisburg .nb-color-list {
    gap: 8px;
  }

  .nb-harrisburg .nb-color-card {
    padding: 8px;
  }

  .nb-harrisburg .nb-color-card .code {
    font-size: 13px;
  }

  .nb-harrisburg .nb-color-card .size {
    font-size: 10px;
  }

  .nb-harrisburg .nb-boa-section {
    padding: 20px;
  }

  .nb-harrisburg .nb-boa-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .nb-harrisburg .nb-boa-copy h3 {
    font-size: 21px;
  }

  .nb-harrisburg .nb-spec-table th,
  .nb-harrisburg .nb-spec-table td {
    padding: 11px 10px;
    font-size: 13px;
  }

  .nb-harrisburg .nb-spec-table th {
    width: 32%;
  }

  .nb-harrisburg .nb-size-area {
    padding: 18px;
  }

  .nb-harrisburg .nb-common-feature,
  .nb-harrisburg .nb-common-jsaa {
    margin-top: 44px;
  }
}