/** Shopify CDN: Minification failed

Line 1969:23 Unexpected "-fig-02"
Line 1975:23 Unexpected "-fig-02"

**/
/* ==========================================================================
   ps-lp.css ｜ Prime Shopper 本体LP（/）共通スタイル
   v1.7.0 PC ONE-SHOT（Wave0地盤 / Wave1 DS / Wave2 S12・S1・S4・S10 / Wave3）／2026-08-10
     視覚仕様の最上位＝FABLE5_VISUAL_DIRECTIVE_v1.0 §C〜§I（P0〜P2）
     凍結事項（順序・逐語・CTA・アンカー・図解内容）は
     FINAL_HANDOFF_20260807 ＞ MASTER_v1.3 ＞ OPEN_ISSUES_v1.3 を正とし不変。
     本改修はCSSと背景リズムのclass運用のみ。DOM構造・実文は変更しない。
   正本：FINAL_HANDOFF_20260807 §05 ／ MASTER_v1.3
   配色トークン：01-DS_02-03転記データ v1.0（＝図解01 Premium v2.1 の確定実値）
   LOCK：§05のHEXと図解01実値が異なる場合は図解01実値を採用する。
     §05 #2563EB → 図解01 #1D6FD0 ／ §05 #EAF1FB → #EAF3FD
     §05 #D8E2F0 → #E1E6EC ／ §05 #F5F8FC → #F4F6F9
   寸法・字階層・余白・CTAサイズは §05（LP側の規定値）に従う。
   ========================================================================== */

:root {
  /* --- 配色（図解01 Premium v2.2実測・FABLE_VISUAL_DIRECTIVE §C） --- */
  --ps-blue: #1672d4;
  --ps-blue-deep: #0b3f8f;
  --ps-blue-tint: #edf5ff;
  --ps-blue-tint-soft: #f6f9fd;
  --ps-blue-line: #c5ddf6;
  --ps-arrow-color: #7faee0;

  --ps-white: #ffffff;
  --ps-bg: #f4f6f9;
  --ps-grey-050: #f7f9fb;
  --ps-grey-100: #edf0f4;
  --ps-grey-200: #e1e6ec;
  --ps-grey-300: #cfd6df;

  --ps-ink: #16202b;
  --ps-ink-sub: #46566a;
  --ps-ink-mute: #59697d;

  /* 濃紺（図解01 PC実値：.product-panel / .hero h1） */
  --ps-navy: #082a63;
  --ps-navy-ink: #0b2451;

  /* --- 枠線・影（図解01実値・DS-04/DS-05／§C差分） --- */
  --ps-border-card: 1px solid var(--ps-grey-200);
  --ps-border-core: 1.5px solid var(--ps-blue-line);
  --ps-shadow-card: 0 1px 2px rgba(8, 42, 99, 0.06);
  --ps-shadow-core: 0 12px 32px rgba(8, 42, 99, 0.1);
  --ps-shadow-figure: 0 12px 32px rgba(8, 42, 99, 0.1);

  /* --- 角丸（§C：カード12px／内側8px／CTA12px） --- */
  --ps-radius-card: 12px;
  --ps-radius-inner: 8px;
  --ps-radius-cta: 8px;
  --ps-radius-figure: 16px;
  --ps-radius-chip: 999px;

  /* --- 共通装置（§C追加トークン） --- */
  --ps-accent-bar: 5px solid #1672d4;
  --ps-accent-w: 5px;
  --ps-grad-canvas: linear-gradient(180deg, #fff 0%, #f6f9fd 100%);
  --ps-surface-tint: #f6f9fd;
  --ps-surface-tint-2: #f7f9fb;

  /* --- 寸法・余白（§05） --- */
  --ps-max: 1200px;
  --ps-read: 800px;
  --ps-gutter: 24px;
  --ps-sec-pad: 96px;
  --ps-sec-pad-chapter: 128px;
  --ps-gap-tight: 64px;
  --ps-card-pad: 32px;

  /* --- 字階層（§C・PC） --- */
  --ps-fs-h1: 48px;
  --ps-fs-h2: 34px;
  --ps-fs-h3: 21px;
  --ps-fs-body: 16px;
  --ps-fs-note: 13px;
  --ps-lh-h1: 1.15;
  --ps-lh-body: 1.8;

  --ps-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Meiryo",
    "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ==========================================================================
   1. ベース
   ========================================================================== */

.ps,
.ps-section,
.ps-header,
.ps-footer,
.ps-neo-band,
.ps-sticky {
  font-family: var(--ps-font);
  color: var(--ps-ink);
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

/* v1.5：`.ps`直下（S1ヒーロー・S15最終CTA）が border-box から漏れており、
   .ps-container の実コンテンツ幅が 1200px（他セクションは1152px）となって
   ページ左端が24pxずれていた。同一グリッドへ揃える。 */
.ps *,
.ps-section *,
.ps-header *,
.ps-footer *,
.ps-neo-band *,
.ps-sticky * {
  box-sizing: border-box;
}

.ps-figframe,
.ps-figframe * {
  font-family: var(--ps-font);
}

/* ボタン・入力系がUAフォントへ落ちるのを防ぐ（font stack統一） */
.ps button,
.ps-section button,
.ps-header button,
.ps-footer button,
.ps-sticky button {
  font: inherit;
}

.ps-section {
  padding-block: var(--ps-sec-pad);
  background: var(--ps-white);
}

/* 面のリズム（§C）
   S1白グラデ → S2 tint → S3白 → S4 canvas → S5白 → S6 tint → S7白 →
   S8 canvas → S9白 → S10 tint → S11(非公開) → S12白 → S13 tint-2 →
   S14白 → S15 navy → S16白 → S17 navy
   ※--alt は後方互換のため tint の別名として残す（新規使用はしない） */
.ps-section--alt,
.ps-section--tint {
  background: var(--ps-surface-tint);
}

.ps-section--tint-2 {
  background: var(--ps-surface-tint-2);
}

.ps-section--canvas {
  background: var(--ps-grad-canvas);
}

.ps-container {
  width: 100%;
  max-width: var(--ps-max);
  margin-inline: auto;
  padding-inline: var(--ps-gutter);
}

.ps-container--read {
  max-width: calc(var(--ps-read) + var(--ps-gutter) * 2);
}

/* 見出し */
.ps-h1 {
  margin: 0;
  font-size: var(--ps-fs-h1);
  font-weight: 700;
  line-height: var(--ps-lh-h1);
  letter-spacing: 0.005em;
  color: var(--ps-navy-ink);
}

/* H2＝36px/1.25/800 ＋ 先頭に5×24pxの青バー（図解01 region h2::before と同形・全セクション共通装置） */
.ps-h2 {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 24px;
  font-size: var(--ps-fs-h2);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: var(--ps-navy-ink);
}

.ps-h2::before {
  content: "";
  flex: 0 0 var(--ps-accent-w);
  width: var(--ps-accent-w);
  height: 24px;
  margin-top: calc((1.25em - 24px) / 2);
  background: var(--ps-blue);
  border-radius: 2px;
}

.ps-h3 {
  margin: 0 0 8px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
  line-height: 1.5;
  color: var(--ps-navy-ink);
}

.ps-lead {
  margin: 0 0 40px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--ps-ink-sub);
}

.ps-body {
  margin: 0;
  font-size: var(--ps-fs-body);
  line-height: var(--ps-lh-body);
  color: var(--ps-ink);
}

.ps-body + .ps-body {
  margin-top: 16px;
}

.ps-note {
  margin: 8px 0 0;
  font-size: var(--ps-fs-note);
  line-height: 1.7;
  color: var(--ps-ink-mute);
}

.ps-note a,
.ps-body a {
  color: var(--ps-blue-deep);
  text-underline-offset: 2px;
}

.ps-hr {
  height: 1px;
  margin-block: 56px;
  border: 0;
  background: var(--ps-grey-200);
}

.ps-hidden {
  display: none !important;
}

.ps-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   2. カード
   ========================================================================== */

.ps-card {
  padding: var(--ps-card-pad);
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}

.ps-card--core {
  border: var(--ps-border-core);
  box-shadow: var(--ps-shadow-core);
}

.ps-card--flat {
  box-shadow: none;
}

.ps-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-blue);
  border-radius: var(--ps-radius-chip);
}

.ps-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  color: var(--ps-blue);
  background: var(--ps-blue-tint);
  border-radius: var(--ps-radius-chip);
}

.ps-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* グリッド */
.ps-grid {
  display: grid;
  gap: 24px;
}

.ps-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ps-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ==========================================================================
   3. CTA（§05・§07）
   ========================================================================== */

.ps-cta-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  margin-top: 24px;
}

.ps-cta-group--center {
  align-items: center;
}

.ps-cta-group--row {
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}

.ps-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 56px;
  padding: 0 32px;
  font-family: var(--ps-font);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border-radius: var(--ps-radius-cta);
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ps-btn--primary {
  color: var(--ps-white);
  background: var(--ps-blue);
  border-color: var(--ps-blue);
}

.ps-btn--primary:hover {
  color: var(--ps-white);
  background: var(--ps-blue-deep);
  border-color: var(--ps-blue-deep);
}

.ps-btn--secondary {
  color: var(--ps-blue-deep);
  background: var(--ps-white);
  border-color: var(--ps-blue);
}

.ps-btn--secondary:hover {
  background: var(--ps-blue-tint);
}

/* S15 紺帯上の反転CTA（ページ内最大） */
.ps-btn--invert {
  min-height: 64px;
  font-size: 19px;
  color: var(--ps-navy);
  background: var(--ps-white);
  border-color: var(--ps-white);
}

.ps-btn--invert:hover {
  color: var(--ps-navy);
  background: var(--ps-blue-tint);
  border-color: var(--ps-blue-tint);
}

.ps-btn--sm {
  min-height: 44px;
  padding: 0 20px;
  font-size: 15px;
}

.ps-btn--block {
  width: 100%;
}

.ps-micro {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--ps-ink-mute);
}

.ps-micro a {
  color: var(--ps-blue-deep);
}

.ps-textlink {
  color: var(--ps-blue-deep);
  font-weight: 600;
  text-underline-offset: 3px;
}

/* ==========================================================================
   4. S0 ヘッダー ／ Neo細帯
   ========================================================================== */

.ps-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--ps-white);
  border-bottom: 1px solid var(--ps-grey-200);
}

.ps-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
  padding-block: 12px;
}

.ps-header__logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex: 0 0 auto;
}

.ps-header__logo img {
  display: block;
  width: auto;
  height: 36px;
  object-fit: contain;
}

.ps-header__logo-text {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ps-navy-ink);
}

.ps-header__nav {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-inline: auto;
}

.ps-header__nav a {
  font-size: 15px;
  font-weight: 600;
  color: var(--ps-ink);
  text-decoration: none;
}

.ps-header__nav a:hover {
  color: var(--ps-blue-deep);
}

.ps-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.ps-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 1px solid var(--ps-grey-200);
  border-radius: 10px;
  cursor: pointer;
}

.ps-header__burger svg {
  width: 20px;
  height: 20px;
  stroke: var(--ps-ink);
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
}

.ps-header__drawer {
  display: none;
  padding: 16px var(--ps-gutter) 24px;
  border-top: 1px solid var(--ps-grey-200);
  background: var(--ps-white);
}

.ps-header__drawer[data-open="true"] {
  display: block;
}

.ps-header__drawer a {
  display: block;
  padding: 12px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--ps-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ps-grey-100);
}

.ps-neo-band {
  background: var(--ps-blue-tint);
  border-bottom: 1px solid var(--ps-blue-line);
}

.ps-neo-band__inner {
  display: flex;
  justify-content: center;
  padding-block: 10px;
}

.ps-neo-band a {
  font-size: 13px;
  font-weight: 600;
  color: var(--ps-blue-deep);
  text-decoration: none;
}

.ps-neo-band a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   5. S1 ヒーロー
   ========================================================================== */

.ps-hero {
  padding-block: 72px 64px;
  background: linear-gradient(180deg, var(--ps-white) 0%, var(--ps-blue-tint-soft) 100%);
}

.ps-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}

.ps-hero__label {
  display: inline-block;
  margin: 0 0 20px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ps-blue-deep);
  background: var(--ps-blue-tint);
  border-radius: var(--ps-radius-chip);
}

.ps-hero__h1 {
  margin: 0 0 20px;
}

.ps-hero__h1 span {
  display: block;
}

.ps-hero__read {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: var(--ps-lh-body);
  color: var(--ps-ink-sub);
}

.ps-hero__emphasis {
  display: inline-block;
  margin: 16px 0 20px;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ps-navy-ink);
  background: var(--ps-blue-tint);
  border: 1px solid var(--ps-blue-line);
  border-radius: var(--ps-radius-inner);
}

.ps-hero__media {
  min-height: 320px;
  display: grid;
  place-items: center;
  padding: 20px;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-core);
}

.ps-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ps-radius-inner);
}

.ps-hero__media--empty {
  color: var(--ps-ink-mute);
  font-size: 13px;
  background: var(--ps-grey-050);
  border-style: dashed;
  box-shadow: none;
}

/* 対応モール帯 */
.ps-malls {
  margin-top: 56px;
}

.ps-malls__label {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ps-ink-mute);
}

.ps-logo-grid {
  display: grid;
  gap: 12px;
}

.ps-logo-grid--8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.ps-logo-grid--7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ps-logo-grid--12 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ps-logo-cell {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 72px;
  padding: 10px 8px;
  text-align: center;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-inner);
}

.ps-logo-cell img {
  display: block;
  max-width: 100%;
  max-height: 30px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.ps-logo-cell__name {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ps-ink-sub);
  word-break: keep-all;
}

.ps-logo-cell--muted img {
  filter: grayscale(1);
  opacity: 0.65;
}

.ps-logo-cell--muted .ps-logo-cell__name {
  color: var(--ps-ink-mute);
}

.ps-logo-cell__state {
  font-size: 11px;
  font-weight: 600;
  color: var(--ps-ink-mute);
}

/* ==========================================================================
   6. S2 市場データ
   ========================================================================== */

.ps-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 32px;
  background: var(--ps-white);
  border: var(--ps-border-core);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-core);
}

.ps-stats__item {
  padding-inline: 28px;
  font-size: var(--ps-fs-body);
  line-height: 1.7;
  color: var(--ps-ink);
}

.ps-stats__item + .ps-stats__item {
  border-left: 1px solid var(--ps-grey-200);
}

.ps-stats__item b {
  display: block;
  margin-bottom: 6px;
  font-size: 20px;
  font-weight: 700;
  color: var(--ps-navy-ink);
}

.ps-footnotes {
  margin-top: 24px;
}

.ps-footnotes p {
  margin: 4px 0 0;
  font-size: var(--ps-fs-note);
  line-height: 1.7;
  color: var(--ps-ink-mute);
  overflow-wrap: anywhere;
}

/* ==========================================================================
   7. S6 Before / After
   ========================================================================== */

.ps-ba {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.ps-ba__col {
  padding: var(--ps-card-pad);
  border-radius: var(--ps-radius-card);
}

.ps-ba__col--before {
  background: var(--ps-grey-100);
  border: 1px solid var(--ps-grey-300);
}

.ps-ba__col--after {
  background: var(--ps-blue-tint);
  border: var(--ps-border-core);
  box-shadow: var(--ps-shadow-core);
}

.ps-ba__title {
  margin: 0 0 16px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
}

.ps-ba__col--before .ps-ba__title {
  color: var(--ps-ink-sub);
}

.ps-ba__col--after .ps-ba__title {
  color: var(--ps-blue-deep);
}

.ps-ba__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-ba__list li {
  padding: 10px 0;
  font-size: var(--ps-fs-body);
  line-height: 1.7;
  border-bottom: 1px dashed var(--ps-grey-300);
}

.ps-ba__list li:last-child {
  border-bottom: 0;
  font-weight: 700;
}

/* ==========================================================================
   8. S7 ステップ ／ S10 フロー
   ========================================================================== */

.ps-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ps-step {
  position: relative;
  padding: var(--ps-card-pad);
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}

.ps-step__no {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-navy);
  border-radius: 50%;
}

.ps-step__text {
  margin: 0;
  font-size: var(--ps-fs-body);
  line-height: 1.7;
}

.ps-flowline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-flowline li {
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.6;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-chip);
}

.ps-flowline li.ps-flowline__arrow {
  padding: 0;
  color: var(--ps-arrow-color);
  background: none;
  border: 0;
  font-weight: 700;
}

.ps-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-checklist li {
  position: relative;
  padding: 12px 0 12px 34px;
  font-size: var(--ps-fs-body);
  line-height: 1.7;
  border-bottom: 1px solid var(--ps-grey-200);
}

.ps-checklist li:last-child {
  border-bottom: 0;
}

.ps-checklist li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 19px;
  width: 8px;
  height: 8px;
  background: var(--ps-blue);
  border-radius: 50%;
}

/* ==========================================================================
   9. S9 比較表 ／ S12 料金表 ／ S16 会社概要
   ========================================================================== */

.ps-table-wrap:focus-visible {
  outline: 3px solid var(--ps-blue);
  outline-offset: 2px;
}

.ps-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.ps-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 15px;
  line-height: 1.6;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  /* v1.8.0 SP PHASE B：SPのsticky列と overflow:hidden は共存できない。
     角丸のクリップは overflow ではなく clip-path 相当の描画に依存しないため、
     PC表示は等価のまま overflow を clip → visible にはせず、SP側だけ上書きする。 */
  overflow: hidden;
}

.ps-table th,
.ps-table td {
  padding: 16px 18px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--ps-grey-200);
}

.ps-table thead th {
  font-weight: 700;
  color: var(--ps-navy-ink);
  background: var(--ps-grey-050);
  white-space: nowrap;
}

.ps-table thead th.ps-table__own {
  color: var(--ps-white);
  background: var(--ps-navy);
}

.ps-table tbody tr:last-child th,
.ps-table tbody tr:last-child td {
  border-bottom: 0;
}

.ps-table tbody th {
  font-weight: 600;
  background: var(--ps-grey-050);
}

.ps-table td.ps-table__own {
  font-weight: 700;
  color: var(--ps-navy-ink);
  background: var(--ps-blue-tint-soft);
}

.ps-table--kv th {
  width: 180px;
  white-space: nowrap;
}

/* 料金カード */
.ps-plans {
  display: grid;
  gap: 24px;
}

.ps-plans--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-plans--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ps-plan {
  display: flex;
  flex-direction: column;
  padding: var(--ps-card-pad);
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}

.ps-plan--recommended {
  border: 2px solid var(--ps-blue);
  box-shadow: var(--ps-shadow-core);
}

.ps-plan__badge {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-blue);
  border-radius: var(--ps-radius-chip);
}

.ps-plan__caption {
  margin: 0 0 6px;
  font-size: 13px;
  color: var(--ps-ink-mute);
}

.ps-plan__name {
  margin: 0 0 10px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
  color: var(--ps-navy-ink);
}

.ps-plan__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 4px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ps-navy-ink);
}

.ps-plan__price span {
  font-size: 15px;
  font-weight: 600;
  color: var(--ps-ink-sub);
}

.ps-plan__annual {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ps-blue-deep);
}

.ps-plan__spec {
  margin: 0 0 12px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--ps-ink);
  background: var(--ps-grey-050);
  border-radius: var(--ps-radius-inner);
}

.ps-plan__for {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.7;
}

.ps-plan__unit {
  margin: 0 0 20px;
  font-size: 13px;
  color: var(--ps-ink-mute);
}

.ps-plan__cta {
  margin-top: auto;
}

.ps-ribbon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
  margin: 24px 0 0;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ps-blue-deep);
  background: var(--ps-blue-tint);
  border-radius: var(--ps-radius-inner);
}

.ps-guide {
  margin: 24px 0 0;
  padding: 18px 20px;
  font-size: 15px;
  line-height: 1.8;
  background: var(--ps-grey-050);
  border-left: 4px solid var(--ps-blue);
  border-radius: 0 var(--ps-radius-inner) var(--ps-radius-inner) 0;
}

.ps-corp-head {
  margin: 0 0 12px;
  padding-top: 8px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
  color: var(--ps-navy-ink);
}

.ps-emph {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ps-navy-ink);
}

.ps-total {
  padding: var(--ps-card-pad);
  background: var(--ps-grey-050);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
}

.ps-total ul {
  margin: 0;
  padding-left: 1.2em;
}

.ps-total li {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.8;
}

/* ==========================================================================
   10. S14 FAQ
   ========================================================================== */

.ps-faq {
  display: grid;
  gap: 12px;
}

.ps-faq__item {
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-inner);
  overflow: hidden;
}

.ps-faq__item[open] {
  border-color: var(--ps-blue-line);
}

.ps-faq__q {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ps-navy-ink);
  cursor: pointer;
  list-style: none;
}

.ps-faq__q::-webkit-details-marker {
  display: none;
}

.ps-faq__q::after {
  content: "＋";
  margin-left: auto;
  font-size: 18px;
  font-weight: 700;
  color: var(--ps-blue);
}

.ps-faq__item[open] .ps-faq__q::after {
  content: "－";
}

.ps-faq__a {
  padding: 0 24px 22px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ps-ink-sub);
}

/* ==========================================================================
   11. S15 最終CTA（紺帯）
   ========================================================================== */

.ps-final {
  padding-block: var(--ps-sec-pad);
  color: var(--ps-white);
  background: var(--ps-navy);
  text-align: center;
}

.ps-final h2 {
  margin: 0 0 20px;
  font-size: var(--ps-fs-h2);
  font-weight: 700;
  line-height: 1.4;
  color: var(--ps-white);
}

.ps-final p {
  max-width: 720px;
  margin: 0 auto;
  font-size: 17px;
  line-height: var(--ps-lh-body);
  color: #d7e5fa;
}

.ps-final .ps-micro {
  margin-top: 16px;
  color: #b9cfee;
}

.ps-final .ps-micro a {
  color: var(--ps-white);
}

/* ==========================================================================
   12. S16 運営会社 ／ S17 フッター ／ S18 追従バー
   ========================================================================== */

.ps-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.ps-badges li {
  position: relative;
  padding: 16px 20px 16px 46px;
  font-size: 15px;
  line-height: 1.7;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-inner);
}

.ps-badges li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 22px;
  width: 12px;
  height: 7px;
  border-left: 2px solid var(--ps-blue);
  border-bottom: 2px solid var(--ps-blue);
  transform: rotate(-45deg);
}

.ps-footer {
  padding-block: 40px;
  font-size: 14px;
  line-height: 1.9;
  color: #cdd8e6;
  background: var(--ps-navy);
}

.ps-footer a {
  color: var(--ps-white);
  text-decoration: none;
}

.ps-footer a:hover {
  text-decoration: underline;
}

.ps-footer__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.ps-footer__row + .ps-footer__row {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ps-footer__sep {
  color: rgba(255, 255, 255, 0.35);
}

.ps-sticky {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 70;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: var(--ps-white);
  border-top: 1px solid var(--ps-grey-200);
  box-shadow: 0 -4px 16px rgba(11, 42, 92, 0.08);
}

.ps-sticky__label {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ps-navy-ink);
}

/* ==========================================================================
   13. 図解の差し込み枠（図解01＝画像／図解02・03＝PCソース統合）
   ========================================================================== */

.ps-figure {
  margin: 40px 0;
}

.ps-figure img {
  border-radius: var(--ps-radius-figure);
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ps-radius-card);
}

.ps-figure__placeholder {
  display: grid;
  place-items: center;
  min-height: 220px;
  padding: 32px;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
  color: var(--ps-ink-mute);
  background: var(--ps-grey-050);
  border: 1px dashed var(--ps-grey-300);
  border-radius: var(--ps-radius-card);
}

/* PCソース統合図解（固定キャンバスを列幅へ等比縮小） */
.ps-figframe {
  container-type: inline-size;
  width: 100%;
  overflow: hidden;
  border-radius: var(--ps-radius-card);
  border: var(--ps-border-card);
  background: var(--ps-bg);
}

.ps-figframe__scaler {
  position: relative;
  width: 100%;
}

.ps-figframe__canvas {
  transform-origin: top left;
}

@supports not (container-type: inline-size) {
  .ps-figframe {
    overflow-x: auto;
  }

  .ps-figframe__canvas {
    transform: none !important;
  }
}


/* 図解のPC/SP出し分け（PC縮小のSP流用禁止） */
.ps-figure__sp {
  display: none;
}

.ps-figure__pc img,
.ps-figure__sp img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ps-radius-card);
}

.ps-figframe__canvas {
  transform: scale(var(--ps-fig-scale, 0.9));
}

/* ==========================================================================
   14. Horizon既定要素の抑止（EC外殻の残骸対策）
   ========================================================================== */

/* 黒い既定ボタン → Prime ShopperのCTAスタイル */
.shopify-section .button,
.shopify-section button.button,
.shopify-section a.button {
  --color-primary-button-background: var(--ps-blue);
  --color-primary-button-text: var(--ps-white);
  --color-primary-button-border: var(--ps-blue);
  border-radius: var(--ps-radius-cta);
}

/* EC既定のUI（検索・カート・通貨・アカウント）を公開面に出さない。
   S0はps-headerへ置換済みだが、残骸が復活した場合の保険として非表示にする。 */
cart-icon,
.cart-bubble,
.header__actions,
.header-actions,
localization-form,
.localization-form,
.header__search,
.search-modal,
.header__link--catalog {
  display: none !important;
}

/* ==========================================================================
   16. FABLE VISUAL REBUILD v1.5（PC・P0〜P2）
   出典：FABLE5_VISUAL_DIRECTIVE_v1.0 §C／§D／§F／§G／§I
   原則：DOM構造・逐語コピー・CTA・アンカー・図解01/02/03の中身は一切変更しない。
        本レイヤは「面・余白・階層・装飾量」だけを担当する。
   ========================================================================== */

/* --------------------------------------------------------------------------
   16-0. 共通装置：左アクセントバー（白カードの代替）
   -------------------------------------------------------------------------- */

.ps-quiet {
  padding: 0 0 0 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

/* 固定ヘッダー（sticky）下へアンカー着地点が潜らないようにする
   ＝ LINK_ANCHOR_CHECKLIST §4.5 の要求。位置・IDは変更しない。 */
[data-ps-section],
.ps-corp-block {
  scroll-margin-top: 120px;
}

/* --------------------------------------------------------------------------
   16-1. S1 ヒーロー（§F HERO_PC_SPEC）
   左コピー460px／gap 60px／右メディア680px（コンテナ右端から+60pxブリード）
   M-08未着時（has_mock=false）は単柱へ正しく縮退する。
   -------------------------------------------------------------------------- */

.ps-hero {
  padding-block: 64px 48px;
  background: var(--ps-grad-canvas);
}

.ps-hero__grid {
  grid-template-columns: 460px minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}

/* M-08未着＝単柱縮退（枠ごと非表示・ダミーを作らない） */
.ps-hero__grid--single {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

/* 単柱時：H1の2span（＝正本が指定した改行位置）を保つ幅を確保し、
   読み物（リード・注記・マイクロコピー）だけを§F-3の720pxへ絞る。
   実測：span2の自然幅843px＞720pxのため、720px固定では
   「面”で。」1行が孤立し正本の改行構造が壊れる（SELF_QA 逸脱-02）。 */
.ps-hero__grid--single .ps-hero__copy {
  max-width: 860px;
  margin-inline: auto;
}

.ps-hero__grid--single .ps-hero__read,
.ps-hero__grid--single .ps-hero__copy .ps-note,
.ps-hero__grid--single .ps-hero__copy .ps-micro {
  max-width: 720px;
}

/* ラベル行：チップ装飾を外して13px/#1672d4/700のプレーン行へ */
.ps-hero__label {
  display: block;
  margin: 0 0 16px;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ps-blue);
  background: none;
  border-radius: 0;
}

.ps-hero__h1 {
  margin: 0 0 20px;
}

.ps-hero__read {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--ps-ink-sub);
}

/* 強調行（＼〜／）：枠を外して16px/700/#0b3f8f のテキストへ */
.ps-hero__emphasis {
  display: block;
  margin: 20px 0 4px;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ps-blue-deep);
  background: none;
  border: 0;
  border-radius: 0;
}

.ps-hero .ps-cta-group {
  margin-top: 20px;
  gap: 10px;
}

.ps-hero .ps-btn--primary {
  min-width: 240px;
}

/* 副CTA（LINE）＝主より視覚1段弱い：高さ48px・白地・1.5px枠（§F-2） */
.ps-hero .ps-btn--secondary {
  min-height: 48px;
  font-size: 16px;
}

.ps-hero .ps-micro {
  max-width: 460px;
}

.ps-hero__grid--single .ps-micro {
  max-width: none;
}

/* 右メディア（S1-IMG-01 / M-08スロット）
   白面・radius12・border 1px #dce4ed・--ps-shadow-core。偽ブラウザ枠は付けない。 */
.ps-hero__media {
  min-height: 0;
  /* コンテナ内側1152px＝460＋gap60＋632。右へブリードしてM-08の表示幅を
     §Eの680pxに合わせる（1366px未満ではブリード0へ縮退＝§F-1）。 */
  width: calc(100% + 48px);
  margin-right: -48px;
  padding: 0;
  background: var(--ps-white);
  border: 1px solid #dce4ed;
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-core);
  overflow: hidden;
}

.ps-hero__media img {
  border-radius: 0;
}

/* --- S1 ロゴ帯（§F-4）：ピルセル8個 → 枠なしフラット1行 --- */
.ps-hero .ps-malls {
  margin-top: 56px;
}

.ps-hero .ps-malls__label {
  margin: 0 0 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ps-ink-mute);
}

.ps-hero .ps-logo-grid,
[data-ps-section='S16'] .ps-logo-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 48px;
  row-gap: 18px;
}

.ps-hero .ps-logo-cell,
[data-ps-section='S16'] .ps-logo-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 0;
  padding: 0;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
}

.ps-hero .ps-logo-cell img {
  max-height: 32px;
  max-width: none;
}

/* 未着ロゴは社名テキストへフォールバック（AI生成ロゴを作らない・§B-1／MASTER §6） */
.ps-hero .ps-logo-cell__name,
[data-ps-section='S16'] .ps-logo-cell__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--ps-ink-sub);
}

.ps-hero .ps-malls .ps-note {
  margin-top: 12px;
}

/* --------------------------------------------------------------------------
   16-2. S2 市場データ（§D）：カード装飾を解除して「数字帯」へ
   -------------------------------------------------------------------------- */

.ps-stats {
  gap: 0;
  padding: 8px 0 4px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.ps-stats__item {
  padding-inline: 32px;
  font-size: 17px;
  line-height: 1.75;
  color: var(--ps-ink);
}

.ps-stats__item:first-child {
  padding-left: 0;
}

.ps-stats__item + .ps-stats__item {
  border-left: 1px solid var(--ps-grey-200);
}

/* 数値強調は正本のマークアップ（<b>）に依存する。
   逐語コピー凍結のため本改修では文中へ新規タグを差し込まない（SELF_QA §逸脱-01）。 */
.ps-stats__item b {
  display: block;
  margin-bottom: 6px;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ps-navy-ink);
}

[data-ps-section='S2'] .ps-body {
  max-width: var(--ps-read);
}

/* --------------------------------------------------------------------------
   16-3. S3 課題4選（§D／§I）：白カード4 → 0。背景透過＋左アクセントのみ
   -------------------------------------------------------------------------- */

[data-ps-section='S3'] .ps-grid--2 {
  gap: 32px 48px;
}

[data-ps-section='S3'] .ps-card {
  padding: 2px 0 2px 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

[data-ps-section='S3'] .ps-container > .ps-body {
  max-width: var(--ps-read);
}

/* --------------------------------------------------------------------------
   16-4. S4「とは」＋図解01（§G-1）：図解01を幅1200pxで主役化
   -------------------------------------------------------------------------- */

[data-ps-section='S4'] {
  padding-top: 112px;
  padding-bottom: 96px;
}

[data-ps-section='S4'] .ps-grid--3 {
  gap: 40px;
}

[data-ps-section='S4'] .ps-grid--3 .ps-card {
  padding: 0 0 0 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

[data-ps-section='S4'] .ps-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
}

/* 図解01：コンテナ内側1152px → 左右のガターへ広げて実表示1200px（1600×900→1200×675） */
#s4-fig-01 {
  margin: 48px calc(var(--ps-gutter) * -1) 0;
}

#s4-fig-01 .ps-figure__img-pc {
  width: 100%;
  height: auto;
  border-radius: var(--ps-radius-card);
  border: 1px solid #d8e0eb;
  box-shadow: var(--ps-shadow-figure);
}

/* --------------------------------------------------------------------------
   16-5. S5 導入メリット（§I）：白カード4 → 0（実UI 2行構成はP3・素材待ち）
   -------------------------------------------------------------------------- */

[data-ps-section='S5'] .ps-grid--2 {
  gap: 32px 48px;
}

[data-ps-section='S5'] .ps-card {
  padding: 2px 0 2px 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

/* M-09/M-10 スロット（S5-IMG-01/02）：未着のあいだは枠ごと非表示。
   ダミー画像・プレースホルダは作らない（§H-1）。 */
[data-ps-section='S5'] [data-slot^="M-"],
[data-ps-section='S5'] .ps-hero__media--empty {
  display: none !important;
}

/* --------------------------------------------------------------------------
   16-6. S6 Before/After（§D）：After列を濃紺パネル化＝LP中盤の強アンカー
   -------------------------------------------------------------------------- */

.ps-ba {
  gap: 32px;
}

.ps-ba__col--before {
  background: var(--ps-surface-tint-2);
  border: 1px solid var(--ps-grey-200);
  box-shadow: none;
}

.ps-ba__col--after {
  color: var(--ps-white);
  background: var(--ps-navy);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--ps-shadow-core);
}

.ps-ba__col--after .ps-ba__title {
  color: var(--ps-white);
}

.ps-ba__col--after .ps-ba__list li {
  color: #eaf2ff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.ps-ba__col--after .ps-ba__list li:last-child {
  color: var(--ps-white);
  border-bottom: 0;
}

.ps-ba__col--before .ps-ba__list li {
  border-bottom: 1px solid var(--ps-grey-200);
}

/* --------------------------------------------------------------------------
   16-7. S7 操作の流れ（§I quiet化・レール化はP3＝M-08/M-10クロップ待ち）
   -------------------------------------------------------------------------- */

[data-ps-section='S7'] .ps-steps {
  gap: 32px;
}

[data-ps-section='S7'] .ps-step {
  padding: 0 0 0 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

[data-ps-section='S7'] .ps-step__no {
  width: 48px;
  height: 48px;
  font-size: 20px;
  font-weight: 700;
  background: var(--ps-blue-deep);
}

[data-ps-section='S7'] .ps-container > .ps-body,
[data-ps-section='S13'] .ps-checklist {
  max-width: var(--ps-read);
}

/* --------------------------------------------------------------------------
   16-8. S8 活用モデルケース＋図解03（§D／§G-3）
   ケース枠は反復比較のため維持（影は廃止・左アクセントへ減装飾）
   -------------------------------------------------------------------------- */

[data-ps-section='S8'] .ps-card {
  background: #f7faff;
  border: 1px solid var(--ps-grey-200);
  border-left: var(--ps-accent-bar);
  border-radius: var(--ps-radius-card);
  box-shadow: none;
}

/* 図解03：幅1044px中央。前後余白は§G-3（88px／72px）。
   DOM上の差込位置（ケース2の後・ケース3の前）はMASTER v1.3の凍結事項のため動かさない。 */
#s8-fig-03 {
  width: 100%;
  max-width: 1044px;
  margin: 88px auto 72px;
}

#s8-fig-03 .ps-figframe {
  background: var(--ps-grad-canvas);
  border: 1px solid #d8e0eb;
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-figure);
}

/* --------------------------------------------------------------------------
   16-9. S9 他社比較（§D）：ヘッダー行濃紺／Prime Shopper列を主役化・行高56px
   -------------------------------------------------------------------------- */

[data-ps-section='S9'] .ps-table {
  border-radius: var(--ps-radius-card);
  box-shadow: none;
}

[data-ps-section='S9'] .ps-table th,
[data-ps-section='S9'] .ps-table td {
  height: 56px;
  padding: 12px 18px;
}

[data-ps-section='S9'] .ps-table thead th {
  color: var(--ps-white);
  background: var(--ps-navy);
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

[data-ps-section='S9'] .ps-table tbody th {
  background: var(--ps-white);
}

/* Prime Shopper列＝#edf5ff地＋外周2px #1672d4（insetで列の外周を描く） */
[data-ps-section='S9'] .ps-table thead th.ps-table__own {
  color: var(--ps-white);
  background: var(--ps-navy);
  box-shadow: inset 2px 2px 0 0 var(--ps-blue), inset -2px 0 0 0 var(--ps-blue);
}

[data-ps-section='S9'] .ps-table tbody td.ps-table__own {
  color: var(--ps-navy-ink);
  background: var(--ps-blue-tint);
  box-shadow: inset 2px 0 0 0 var(--ps-blue), inset -2px 0 0 0 var(--ps-blue);
}

[data-ps-section='S9'] .ps-table tbody tr:last-child td.ps-table__own {
  box-shadow: inset 2px 0 0 0 var(--ps-blue), inset -2px 0 0 0 var(--ps-blue),
    inset 0 -2px 0 0 var(--ps-blue);
}

/* --------------------------------------------------------------------------
   16-10. S10 サポート（§D／§I）：枠2 → 0。チェックは線アイコン化
   -------------------------------------------------------------------------- */

.ps-checklist li::before {
  content: "";
  left: 5px;
  top: 21px;
  width: 13px;
  height: 7px;
  background: none;
  border-left: 1.8px solid #0e5eb5;
  border-bottom: 1.8px solid #0e5eb5;
  border-radius: 1px;
  transform: rotate(-45deg);
}




/* --------------------------------------------------------------------------
   16-11. S12 料金（§D／§G-2）
   プラン2カードは比較目的で維持。法人枠は区画として維持。他はquiet化。
   -------------------------------------------------------------------------- */

[data-ps-section='S12'] .ps-plans--2 {
  gap: 32px;
}

[data-ps-section='S12'] .ps-plans--2 .ps-plan {
  border: 1px solid var(--ps-grey-200);
  border-radius: var(--ps-radius-card);
  box-shadow: none;
}

.ps-plan__price {
  font-size: 44px;
  font-weight: 700;
  color: var(--ps-navy-ink);
}

/* 法人枠（§G-2）：地#f5f9fe・radius12・padding48px */
.ps-corp-block {
  margin-top: 8px;
  padding: 48px;
  background: #f5f9fe;
  border-radius: var(--ps-radius-card);
}

/* 統制3点：白カード → 左アクセントのテキストへ */
.ps-corp-block .ps-grid--3 .ps-card {
  padding: 0 0 0 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}

/* 図解02：幅1040px中央・上64px／下48px。枠の入れ子を避け図解自体に追加枠を付けない。 */
[data-ps-section='S12']-fig-02 {
  width: 100%;
  max-width: 1040px;
  margin: 64px auto 48px;
}

[data-ps-section='S12']-fig-02 .ps-figframe {
  background: var(--ps-grad-canvas);
  border: 1px solid #dce4ed;
  border-radius: var(--ps-radius-card);
  box-shadow: none;
}

[data-ps-section='S12'] .ps-guide,
[data-ps-section='S12'] .ps-ribbon {
  background: none;
  border-top: 1px solid var(--ps-grey-200);
  border-bottom: 1px solid var(--ps-grey-200);
  border-radius: 0;
  color: var(--ps-navy-ink);
}

/* --------------------------------------------------------------------------
   16-12. S13 できないこと（§D）：quiet化・読み幅800px・誠実トーン維持
   -------------------------------------------------------------------------- */

[data-ps-section='S13'] .ps-checklist li {
  border-bottom: 1px solid var(--ps-grey-200);
}

/* --------------------------------------------------------------------------
   16-13. S14 FAQ（§D）：border-bottom 1本だけのフラットアコーディオン
   -------------------------------------------------------------------------- */

.ps-faq {
  gap: 0;
}

.ps-faq__item {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--ps-grey-200);
  border-radius: 0;
}

.ps-faq__item[open] {
  border-color: var(--ps-grey-200);
}

.ps-faq__q {
  padding: 20px 4px;
  font-size: 17px;
}

.ps-faq__q::after {
  color: var(--ps-blue);
}

.ps-faq__a {
  padding: 0 4px 22px;
}

/* --------------------------------------------------------------------------
   16-14. S15 最終CTA（§D）：全幅濃紺帯。H2は中央寄せのため青バーを横置きへ
   -------------------------------------------------------------------------- */

.ps-final {
  background: var(--ps-navy);
}

.ps-final h2 {
  position: relative;
  padding-top: 28px;
  font-size: var(--ps-fs-h2);
  font-weight: 700;
  line-height: 1.25;
}

.ps-final h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 48px;
  height: var(--ps-accent-w);
  margin-left: -24px;
  background: #6ba6ee;
  border-radius: 2px;
}

.ps-final p {
  font-size: 18px;
  line-height: 1.65;
}

.ps-final .ps-btn--invert {
  min-width: 320px;
  color: var(--ps-navy-ink);
}

/* --------------------------------------------------------------------------
   16-15. S16 運営会社（§D）：認定チップquiet化・パートナーロゴをフラット1行帯へ
   -------------------------------------------------------------------------- */

[data-ps-section='S16'] .ps-badges {
  gap: 0 40px;
}

[data-ps-section='S16'] .ps-badges li {
  padding: 12px 0 12px 30px;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--ps-grey-200);
  border-radius: 0;
}

[data-ps-section='S16'] .ps-badges li::before {
  left: 4px;
  top: 20px;
  width: 13px;
  height: 7px;
  border-left: 1.8px solid #0e5eb5;
  border-bottom: 1.8px solid #0e5eb5;
}

[data-ps-section='S16'] .ps-malls__label {
  color: var(--ps-ink-mute);
}

/* S4の13ロゴも同系統へ（§I：白カード装飾の削減）。
   グリッド段組・受入順序は維持。ロッテONは他モールと同列表示（休止表記0）。枠だけを外す。 */
[data-ps-section='S4'] .ps-logo-cell {
  min-height: 56px;
  padding: 6px 4px;
  background: none;
  border: 0;
  border-radius: 0;
}

[data-ps-section='S4'] .ps-logo-cell img {
  max-height: 30px;
}

[data-ps-section='S16'] .ps-logo-cell img {
  max-height: 28px;
  max-width: none;
}

/* 会社概要表：罫線最小（border-bottom 1本主義） */
[data-ps-section='S16'] .ps-table {
  background: none;
  border: 0;
  border-radius: 0;
}

[data-ps-section='S16'] .ps-table tbody th {
  background: none;
  color: var(--ps-ink-mute);
  font-weight: 700;
}

[data-ps-section='S16'] .ps-table th,
[data-ps-section='S16'] .ps-table td {
  padding: 14px 0;
}

[data-ps-section='S16'] .ps-table tbody td {
  padding-left: 8px;
}

/* --------------------------------------------------------------------------
   16-16. S17 フッター／S18 追従バー（§D）
   -------------------------------------------------------------------------- */

.ps-footer {
  padding-block: 48px;
  background: var(--ps-navy);
}

.ps-sticky {
  min-height: 64px;
  padding: 10px 16px;
  border-top: 1px solid var(--ps-grey-200);
}

/* --------------------------------------------------------------------------
   16-17. 未着素材スロットの共通規則（§H-1）
   M-08/M-09/M-10・動画・非公開枠は「枠ごと非表示」。空白・ダミー・壊れ画像を出さない。
   -------------------------------------------------------------------------- */

[data-slot][aria-hidden="true"],
.ps-hero__media--empty,
.ps-figure__placeholder:empty {
  display: none !important;
}

/* ==========================================================================
   15. レスポンシブ（今回はPC一巡。SP一巡はP2で実施）
   ========================================================================== */

@media screen and (max-width: 1099px) {
  .ps-logo-grid--8,
  .ps-logo-grid--12,
  .ps-logo-grid--7 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ps-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (max-width: 989px) {
  :root {
    --ps-sec-pad: 64px;
    --ps-card-pad: 24px;
    --ps-fs-h1: 28px;
    --ps-fs-h2: 24px;
    --ps-fs-h3: 18px;
    /* v1.8.0 SP PHASE B：SPの本文基準を16pxへ（SP SPEC Global）。PC値は不変。 */
    --ps-fs-body: 16px;
  }

  .ps-grid--2,
  .ps-grid--3,
  .ps-grid--4,
  .ps-steps,
  .ps-ba,
  .ps-plans--2,
  .ps-plans--3,
  .ps-badges {
    grid-template-columns: minmax(0, 1fr);
  }

  .ps-stats {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .ps-stats__item {
    padding-inline: 0;
  }

  .ps-stats__item + .ps-stats__item {
    padding-top: 20px;
    border-left: 0;
    border-top: 1px solid var(--ps-grey-200);
  }

  .ps-figure:has(.ps-figure__sp:not(.ps-hidden)) .ps-figure__pc {
    display: none;
  }

  .ps-figure__sp:not(.ps-hidden) {
    display: block;
  }

  .ps-header__nav {
    display: none;
  }

  .ps-header__burger {
    display: inline-flex;
  }

  .ps-sticky {
    display: flex;
  }
}

@media screen and (max-width: 749px) {
  .ps-logo-grid--8,
  .ps-logo-grid--12,
  .ps-logo-grid--7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==========================================================================
   17. v1.5 レスポンシブ・ガード
   PC一巡で追加した装置（Heroブリード／図解の実表示幅／法人枠padding）が
   狭い幅で破綻しないための最小限の縮退。SP一巡の設計はここでは行わない。
   ========================================================================== */

/* §F-1：1280px幅ではHeroメディアのブリードを0へ縮退させる */
@media screen and (max-width: 1365px) {
  .ps-hero__media {
    width: 100%;
    margin-right: 0;
  }
}

@media screen and (max-width: 1199px) {
  .ps-hero__grid {
    grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
    gap: 40px;
  }
}

@media screen and (max-width: 1099px) {
  .ps-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .ps-hero .ps-micro {
    max-width: none;
  }

  .ps-corp-block {
    padding: 32px;
  }
}

@media screen and (max-width: 989px) {
  #s4-fig-01 {
    margin-inline: 0;
  }

  #s8-fig-03 {
    margin-block: 48px 40px;
  }

  #s12-fig-02 {
    margin-block: 40px 32px;
  }

  .ps-corp-block {
    padding: 24px;
  }

  [data-ps-section='S3'] .ps-grid--2,
  [data-ps-section='S5'] .ps-grid--2 {
    gap: 24px;
  }

  .ps-stats__item {
    padding-inline: 0;
  }
}


/* ==========================================================================
   18. v1.6 P3 REAL UI INTEGRATION（PC）
   正式ロゴ・実Prime Shopper UIのみ使用。AI生成ロゴ/UIは公開面へ不使用。
   ========================================================================== */

@media screen and (min-width: 990px) {
  /* Hero: 52/460/60の競合を解消。実画面の存在感とFV密度を両立。 */
  .ps-hero {
    padding-block: 56px 40px;
  }

  .ps-hero__h1 {
    font-size: var(--ps-fs-h1);
    line-height: 1.14;
    letter-spacing: 0;
  }

  .ps-hero__read {
    font-size: 17px;
    line-height: 1.65;
  }

  .ps-hero .ps-cta-group {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(190px, 0.8fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 6px;
    max-width: 500px;
    align-items: start;
  }

  .ps-hero .ps-cta-group > :nth-child(1) { grid-column: 1; grid-row: 1; }
  .ps-hero .ps-cta-group > :nth-child(2) { grid-column: 1; grid-row: 2; }
  .ps-hero .ps-cta-group > :nth-child(3) { grid-column: 2; grid-row: 1; }
  .ps-hero .ps-cta-group > :nth-child(4) { grid-column: 2; grid-row: 2; }

  .ps-hero .ps-btn { width: 100%; }
  .ps-hero .ps-micro { max-width: none; }

  .ps-hero__media img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .ps-hero .ps-malls {
    margin-top: 40px;
  }

  /* 正式ロゴはファイル比率を保持。 */
  .ps-hero .ps-logo-cell img,
  [data-ps-section='S16'] .ps-logo-cell img {
    max-height: 30px;
    max-width: 118px;
    object-fit: contain;
  }

  /* S5: Z型2行。本文は凍結したまま、実UIを視覚証拠として配置。 */
  .ps-benefits-p3 {
    display: grid;
    gap: 72px;
    margin-top: 44px;
  }

  .ps-benefit-row {
    display: grid;
    grid-template-columns: 460px minmax(0, 1fr);
    gap: 52px;
    align-items: center;
  }

  .ps-benefit-row--reverse {
    grid-template-columns: minmax(0, 1fr) 460px;
  }

  .ps-benefit-row__copy {
    display: grid;
    gap: 30px;
  }

  [data-ps-section='S5'] .ps-benefit-row__copy .ps-card {
    padding: 0 0 0 20px;
  }

  .ps-benefit-row__media {
    position: relative;
    min-width: 0;
  }

  .ps-benefit-row__media > img:first-child {
    display: block;
    width: 100%;
    height: auto;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 12px;
    box-shadow: 0 14px 32px rgba(17, 48, 89, 0.12);
  }

  .ps-benefit-row__inset {
    position: absolute;
    right: -20px;
    bottom: -28px;
    width: 42%;
    height: auto;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
    box-shadow: 0 12px 26px rgba(17, 48, 89, 0.14);
  }

  /* v1.7.2: S7のレール枠・180px固定メディア枠は §17-3 のクローズアップ実装へ置換（削除）。 */
}


/* v1.6.2: Heroの520/40レイアウトと48pxブリードは広幅PCだけに限定。
   1365px以下では§17の420px/単柱・ブリード0縮退を優先する。 */
@media screen and (min-width: 1366px) {
  .ps-hero__grid {
    grid-template-columns: 520px minmax(0, 1fr);
    gap: 40px;
    align-items: center;
  }

  .ps-hero__media {
    width: calc(100% + 48px);
    margin-right: -48px;
    border: 1px solid #dce4ed;
    box-shadow: 0 18px 42px rgba(8, 42, 99, 0.18);
  }
}

/* v1.8.0 SP PHASE B：SPでも実UIを出すため一律非表示をやめる。
   PC専用の重ね配置・PC全画面キャプチャだけを .ps-p3-pc-only で落とし、
   SPで見せる実UIは ps-sp.css 側で明示的に制御する（!important は解消）。 */
@media screen and (max-width: 989px) {
  .ps-p3-pc-only {
    display: none;
  }

  .ps-benefit-row,
  .ps-benefit-row--reverse {
    display: block;
  }

  .ps-benefit-row__copy {
    display: grid;
    gap: 24px;
  }

  .ps-benefit-row + .ps-benefit-row {
    margin-top: 24px;
  }
}

/* ==========================================================================
   v1.6.3 S4｜SSG.COM転載構造 + 実ロゴ補完
   ========================================================================== */
[data-ps-section='S4'] .ps-logo-grid--s4 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: stretch;
}

[data-ps-section='S4'] .ps-logo-cell--ssg-family {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(110px, 0.8fr) minmax(150px, 1.2fr);
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-left: 2px solid var(--ps-blue);
}

[data-ps-section='S4'] .ps-ssg-family__primary {
  display: grid;
  place-items: center;
  min-width: 0;
}

[data-ps-section='S4'] .ps-ssg-family__primary img {
  width: auto;
  max-width: 116px;
  max-height: 30px;
}

[data-ps-section='S4'] .ps-ssg-family__route {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "label arrow"
    "children children";
  align-items: center;
  gap: 3px 8px;
  min-width: 0;
  padding-left: 12px;
  border-left: 1px solid var(--ps-grey-200);
}

[data-ps-section='S4'] .ps-ssg-family__route-label {
  grid-area: label;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ps-blue-deep);
  letter-spacing: 0.01em;
  white-space: nowrap;
}

[data-ps-section='S4'] .ps-ssg-family__arrow {
  grid-area: arrow;
  color: var(--ps-blue);
  font-size: 12px;
  line-height: 1;
}

[data-ps-section='S4'] .ps-ssg-family__children {
  grid-area: children;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

[data-ps-section='S4'] .ps-ssg-family__child {
  display: inline-grid;
  place-items: center;
  min-width: 0;
  min-height: 24px;
  color: var(--ps-ink-sub);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

[data-ps-section='S4'] .ps-ssg-family__child img {
  width: auto;
  max-width: 72px;
  max-height: 21px;
}

@media screen and (max-width: 1099px) {
  [data-ps-section='S4'] .ps-logo-grid--s4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  [data-ps-section='S4'] .ps-logo-cell--ssg-family {
    grid-column: span 2;
  }
}

@media screen and (max-width: 767px) {
  [data-ps-section='S4'] .ps-logo-cell--ssg-family {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  [data-ps-section='S4'] .ps-ssg-family__route {
    padding-left: 0;
    padding-top: 7px;
    border-left: 0;
    border-top: 1px solid var(--ps-grey-200);
  }
}


/* ==========================================================================
   20. v1.6.4 MARKETING VISUAL POLISH｜S10 / S12
   ========================================================================== */
/* --------------------------------------------------------------------------
   v1.6.4 CURRENT レイヤ（S10 / S12）
   旧実装は [data-ps-section='S10'] / [data-ps-section='S12'] のID＋!important で先行レイヤを押し切っていた。
   Wave0でIDと!importantを撤去し、[data-ps-section] によるクラス相当の
   スコープ＋記述順で優先度を確定させる（見た目は変えない・§P0-TECH 3/4）。
   -------------------------------------------------------------------------- */
[data-ps-section='S12'] .ps-plans--2 {grid-template-columns:1fr 1.12fr;align-items:stretch}
[data-ps-section='S12'] .ps-plan {position:relative}
[data-ps-section='S12'] .ps-plans--2 .ps-plan {padding-top:58px;overflow:hidden}
[data-ps-section='S12'] .ps-plans--2 .ps-plan:not(.ps-plan--recommended) {background:var(--ps-grey-050)}
[data-ps-section='S12'] .ps-plans--2 .ps-plan__caption,
[data-ps-section='S12'] .ps-plans--2 .ps-plan__badge {position:absolute;top:0;left:0;right:0;display:grid;place-items:center;height:38px;margin:0;padding:0;font-size:13px;letter-spacing:.04em;border-radius:0}
[data-ps-section='S12'] .ps-plans--2 .ps-plan__caption {font-weight:600;color:var(--ps-ink-sub);background:var(--ps-white);border-bottom:1px solid var(--ps-grey-200)}
[data-ps-section='S12'] .ps-plans--2 .ps-plan--recommended {border:1px solid var(--ps-blue);background:var(--ps-white);box-shadow:var(--ps-shadow-core);transform:none}
[data-ps-section='S12'] .ps-plans--2 .ps-plan--recommended .ps-plan__badge {font-weight:700;color:#fff;background:var(--ps-blue);box-shadow:none}
[data-ps-section='S12'] .ps-plans--2 .ps-plan--recommended .ps-plan__name {font-size:26px}
[data-ps-section='S12'] .ps-guide {margin-top:24px;font-weight:600;color:#29435f;background:#f6f9fd;border-left:5px solid #1672d4}
[data-ps-section='S12'] .ps-chapter-break {height:1px;margin-block:var(--ps-sec-pad-chapter);border:0;background:var(--ps-grey-200)}
[data-ps-section='S12'] .ps-corp-block {border:1px solid #dce8f5;box-shadow:var(--ps-shadow-card)}
.ps-governance-features {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px}
.ps-governance-feature {display:grid;grid-template-columns:46px 1fr;gap:14px;padding:22px;background:#fff;border:1px solid #dce5ef;border-radius:10px}
.ps-governance-feature__no {display:grid;place-items:center;width:42px;height:42px;font-size:12px;font-weight:700;color:#1672d4;background:#edf5ff;border-radius:8px}
.ps-governance-feature h4 {margin:1px 0 7px;font-size:17px;font-weight:700;color:#082a63}
.ps-governance-feature p {margin:0;font-size:13px;line-height:1.7;color:#556577}
.ps-governance-feature strong {color:#10243f}
[data-ps-section='S12'] .ps-corp-plans {gap:18px;align-items:stretch}
[data-ps-section='S12'] .ps-corp-plans .ps-plan {position:relative;padding:52px 26px 26px;background:#fff;border:1px solid #d7e1ec;border-radius:12px;box-shadow:var(--ps-shadow-card)}
[data-ps-section='S12'] .ps-corp-plans .ps-plan--corp-recommended {overflow:hidden;border:1px solid var(--ps-blue);background:#fff;box-shadow:var(--ps-shadow-core);transform:none}
[data-ps-section='S12'] .ps-corp-plans .ps-plan--corp-recommended .ps-plan__badge {position:absolute;top:0;left:0;right:0;display:grid;place-items:center;height:34px;margin:0;padding:0;font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;background:var(--ps-blue);border-radius:0;box-shadow:none}
[data-ps-section='S12'] .ps-corp-plans .ps-plan__name {font-size:21px;font-weight:700}
[data-ps-section='S12'] .ps-corp-plans .ps-plan__price {font-size:34px}
[data-ps-section='S12'] .ps-corp-cta {display:flex;justify-content:center;margin-top:28px}
[data-ps-section='S12'] .ps-corp-cta .ps-btn {min-width:360px;min-height:58px;padding:16px 34px;font-size:17px;font-weight: 700;box-shadow:0 10px 22px rgba(22,114,212,.18)}
[data-ps-section='S12'] .ps-total--visual {padding:34px;background:#f7faff;border:1px solid #d8e5f3}
[data-ps-section='S12'] .ps-total__head {text-align:center;margin-bottom:24px}
[data-ps-section='S12'] .ps-total__eyebrow {display:block;margin-bottom:7px;font-size:11px;font-weight: 700;letter-spacing:.12em;color:#1672d4}
[data-ps-section='S12'] .ps-total__head .ps-h3 {margin:0;font-size:28px;font-weight: 700;color:#082a63}
[data-ps-section='S12'] .ps-cost-stack {display:grid;gap:10px}
[data-ps-section='S12'] .ps-cost-item {display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;padding:18px 20px;background:#fff;border:1px solid #dce5ef;border-radius:10px}
[data-ps-section='S12'] .ps-cost-item--main {border-left:5px solid #1672d4}
[data-ps-section='S12'] .ps-cost-item__tag {display:grid;place-items:center;min-height:34px;padding:6px 10px;font-size:12px;font-weight: 700;color:#0b5eb7;background:#edf5ff;border-radius:7px}
[data-ps-section='S12'] .ps-cost-item__content h4 {margin:0 0 5px;font-size:17px;font-weight: 700;color:#10243f}
[data-ps-section='S12'] .ps-cost-item__content p {margin:0 0 5px;font-size:15px;color:#42556d}
[data-ps-section='S12'] .ps-cost-item__content small {display:block;font-size:12px;line-height:1.65;color:#59697d}
[data-ps-section='S12'] .ps-total__included {display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;padding:14px;background:#fff;border:1px dashed #a9c9ea;border-radius:8px}
[data-ps-section='S12'] .ps-total__included strong {font-size:16px;color:#0b5eb7}
[data-ps-section='S12'] .ps-total__included span {font-size:13px;color:#59697d}
[data-ps-section='S12'] .ps-total__final {margin:18px 0 12px;padding:18px;text-align:center;font-size:22px;font-weight: 700;color:#fff;background:#082a63;border-radius:10px}
@media (max-width: 989px){[data-ps-section='S12'] .ps-corp-cta .ps-btn {width:100%;min-width:0}
[data-ps-section='S12'] .ps-cost-item {grid-template-columns:1fr;gap:10px}
[data-ps-section='S12'] .ps-cost-item__tag {justify-self:start;min-width:76px}
[data-ps-section='S12'] .ps-total__included {align-items:flex-start;flex-direction:column;gap:4px}}


/* ==========================================================================
   19. Wave2 STEP2 ｜ S1 / S4 / S10（FINAL LEDGER v1.0 §3）
   §16のS1/S4規則より後段。[data-ps-section] スコープで、IDと!importantは使わない。
   ========================================================================== */

/* ---- S1 ヒーロー：主階層を6要素へ圧縮し、注記・強調・ロゴ帯は下段へ ---- */
[data-ps-section='S1'].ps-hero {
  padding-block: 64px 56px;
  background: var(--ps-white);          /* generic gradient を廃止 */
}
[data-ps-section='S1'] .ps-hero__grid {
  grid-template-columns: 596px minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
[data-ps-section='S1'] .ps-hero__h1 {
  font-size: var(--ps-fs-h1);
  line-height: var(--ps-lh-h1);
  margin-block: 14px 18px;
}
[data-ps-section='S1'] .ps-hero__h1 span { display: block; }
@media screen and (min-width: 1200px) {
  [data-ps-section='S1'] .ps-hero__h1 span:first-child { white-space: nowrap; }
}
[data-ps-section='S1'] .ps-hero__read { margin-bottom: 26px; }
[data-ps-section='S1'] .ps-hero__main .ps-cta-group { margin-top: 0; }
[data-ps-section='S1'] .ps-hero__foot {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--ps-grey-200);
}
[data-ps-section='S1'] .ps-hero__emphasis {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 600;
  color: var(--ps-blue-deep);
}
[data-ps-section='S1'] .ps-hero__foot .ps-note { margin: 0 0 6px; }
/* 実UIは装飾ではなく主役。右ガターへブリードさせ、ページ内最大の証拠にする */
[data-ps-section='S1'] .ps-hero__media {
  width: auto;
  /* ブリード量はガターの実残量までに自動で収める（20pxはスクロールバー確保）。
     ブレークポイント依存をやめ、1200px以下では自動的に0へ縮退する。 */
  margin-right: calc(-1 * clamp(0px, (100vw - var(--ps-max) - 20px) / 2, 96px));
  border-radius: var(--ps-radius-figure);
}
[data-ps-section='S1'] .ps-hero__media img {
  width: 100%;
  height: auto;
  border-radius: var(--ps-radius-figure);
}
[data-ps-section='S1'] .ps-malls--foot { margin-top: 48px; }

/* ---- S4 接続構造：直接連携 → SSG.COM親ノード → 転載先 ---- */
[data-ps-section='S4'] .ps-logo-grid--direct {
  --ps-cols: 6;
  --ps-gap: 12px;
  grid-template-columns: repeat(var(--ps-cols), minmax(0, 1fr));
  gap: var(--ps-gap);
}
[data-ps-section='S4'] .ps-logo-cell--parent {
  position: relative;
  border-color: var(--ps-blue);
  box-shadow: inset 0 -3px 0 0 var(--ps-blue);
}
[data-ps-section='S4'] .ps-syndication {
  position: relative;
  margin-top: 28px;
  padding: 18px 24px 22px;
  background: var(--ps-blue-tint);
  border: 1px solid var(--ps-blue-line);
  border-radius: var(--ps-radius-card);
}
[data-ps-section='S4'] .ps-syndication__label {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--ps-blue-deep);
}
[data-ps-section='S4'] .ps-logo-grid--syndication {
  grid-template-columns: repeat(2, minmax(0, 200px));
  gap: 12px;
}
[data-ps-section='S4'] .ps-logo-grid--syndication .ps-logo-cell { min-height: 62px; }
[data-ps-section='S4'] #s4-note-02 { margin-top: 16px; }

/* 光学サイズ補正（縦横比の3段階）。高さ一律だと正方形ロゴが痩せ、横長が太る。
   見た目の面積を揃える。正式ロゴのトリミング・再描画・改変はしない。 */
.ps-malls .ps-logo-cell--sq img { height: 44px; }
.ps-malls .ps-logo-cell--w1 img { height: 32px; }
.ps-malls .ps-logo-cell--w2 img { height: 26px; }
.ps-malls .ps-logo-cell img { width: auto; max-width: 100%; max-height: none; object-fit: contain; }

/* ---- S10 サポート／キット／導入フロー ---- */
[data-ps-section='S10'] .ps-support-rows { margin-top: 34px; border-top: 1px solid var(--ps-grey-200); }
[data-ps-section='S10'] .ps-support-row {
  display: grid;
  grid-template-columns: 40px 260px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 20px 4px;
  border-bottom: 1px solid var(--ps-grey-200);
}
[data-ps-section='S10'] .ps-support-row__icon svg {
  width: 26px; height: 26px; fill: none; stroke: var(--ps-blue);
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
[data-ps-section='S10'] .ps-support-row__title {
  margin: 0; font-size: 17px; font-weight: 700; color: var(--ps-navy);
}
[data-ps-section='S10'] .ps-support-row__text {
  margin: 0; font-size: 15px; line-height: 1.75; color: var(--ps-ink-sub);
}

[data-ps-section='S10'] .ps-onboarding { margin-top: var(--ps-gap-tight); }
[data-ps-section='S10'] .ps-onboarding__head { text-align: center; margin-bottom: 28px; }
[data-ps-section='S10'] .ps-onboarding__eyebrow {
  display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700;
  letter-spacing: .12em; color: var(--ps-blue);
}
[data-ps-section='S10'] .ps-onboarding__title { margin: 0; font-size: 26px; font-weight: 700; color: var(--ps-navy); }
[data-ps-section='S10'] .ps-onboarding__lead { margin: 8px 0 0; font-size: 14px; color: var(--ps-ink-sub); }
[data-ps-section='S10'] .ps-onboarding__lane {
  display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 24px;
  align-items: center; padding: 22px 0; border-top: 1px solid var(--ps-grey-200);
}
[data-ps-section='S10'] .ps-onboarding__lane:last-child { border-bottom: 1px solid var(--ps-grey-200); }
[data-ps-section='S10'] .ps-onboarding__type {
  margin: 0; padding: 8px 10px; text-align: center;
  font-size: 14px; font-weight: 700; color: var(--ps-blue-deep);
  background: var(--ps-blue-tint); border-radius: var(--ps-radius-inner);
}
/* 共通ステップ部品：列数だけが違い、ステップの体裁は3stepも4stepも同一 */
.ps-flow { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.ps-flow--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ps-flow--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-flow__step { position: relative; padding-left: 42px; min-height: 40px; }
.ps-flow__step:not(:last-child)::after {
  content: ""; position: absolute; right: -20px; top: 14px;
  width: 9px; height: 9px; border-top: 2px solid var(--ps-arrow-color);
  border-right: 2px solid var(--ps-arrow-color); transform: rotate(45deg);
}
.ps-flow__no {
  position: absolute; left: 0; top: 0; display: grid; place-items: center;
  width: 30px; height: 30px; font-size: 11px; font-weight: 700;
  color: var(--ps-white); background: var(--ps-blue); border-radius: 50%;
}
.ps-flow__step strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.55; color: var(--ps-navy-ink); }
.ps-flow__step small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: var(--ps-ink-mute); }

@media screen and (max-width: 1199px) {
  [data-ps-section='S1'] .ps-hero__grid { grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 36px; }
  [data-ps-section='S1'] .ps-hero__media { margin-right: 0; }
}
@media screen and (max-width: 1099px) {
  [data-ps-section='S1'] .ps-hero__grid { grid-template-columns: minmax(0, 1fr); }
  [data-ps-section='S4'] .ps-logo-grid--direct { --ps-cols: 4; }
  [data-ps-section='S10'] .ps-support-row { grid-template-columns: 40px minmax(0, 1fr); }
  [data-ps-section='S10'] .ps-support-row__text { grid-column: 2; }
}


/* ==========================================================================
   20. Wave3 ｜ Minorセクション一巡（FINAL LEDGER v1.0 §4）
   実文・順序の凍結は維持。面・余白・階層・装飾量のみを扱う。
   ========================================================================== */

/* ---- S2：3statの事実は保持。数字帯を大きく、出典を小さく ---- */
[data-ps-section='S2'] .ps-stats__item { display: block; }
[data-ps-section='S2'] .ps-stats__fact {
  display: block;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--ps-navy-ink);
}
[data-ps-section='S2'] .ps-stats__src {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 400;
  color: var(--ps-ink-mute);
}

/* ---- S3：4課題は番号＋罫。generic cardを使わない ---- */
[data-ps-section='S3'] .ps-issues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 48px;
  margin-top: 32px;
  border-top: 1px solid var(--ps-grey-200);
}
[data-ps-section='S3'] .ps-issue {
  padding: 22px 0;
  border-bottom: 1px solid var(--ps-grey-200);
}
[data-ps-section='S3'] .ps-issue__title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ps-navy);
}
[data-ps-section='S3'] .ps-issue__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--ps-ink-sub);
}

/* ---- S5：実UIを主役に。コピー側の白カード装飾を外す ---- */
[data-ps-section='S5'] .ps-benefit-row__copy .ps-card {
  padding: 0 0 0 20px;
  background: none;
  border: 0;
  border-left: var(--ps-accent-bar);
  border-radius: 0;
  box-shadow: none;
}
[data-ps-section='S5'] .ps-benefit-row__copy { display: grid; gap: 28px; }
[data-ps-section='S5'] .ps-benefit-row__media img { border-radius: var(--ps-radius-figure); }

/* ---- S6：Before淡 / After濃 ---- */
[data-ps-section='S6'] .ps-ba__col--before {
  background: var(--ps-grey-050);
  border: 1px solid var(--ps-grey-200);
}
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__list { color: var(--ps-ink-mute); }
[data-ps-section='S6'] .ps-ba__col--after {
  background: var(--ps-blue-tint);
  border: 1px solid var(--ps-blue-line);
}
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__list { color: var(--ps-navy-ink); font-weight: 600; }
[data-ps-section='S6'] .ps-ba__title--before { color: var(--ps-ink-mute); }
[data-ps-section='S6'] .ps-ba__title--after { color: var(--ps-blue-deep); }

/* ---- S7：必要3点をフローへ接続 ---- */
[data-ps-section='S7'] .ps-steps-req {
  margin-top: 32px;
  padding: 24px 28px;
  background: var(--ps-blue-tint);
  border-radius: var(--ps-radius-card);
}
[data-ps-section='S7'] .ps-steps-req__title {
  margin: 0 0 8px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
  color: var(--ps-navy);
}
[data-ps-section='S7'] .ps-steps-req__list {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ps-ink);
}

/* ---- S8：法人/Neoへの交通整理は末尾で一段落とす ---- */
[data-ps-section='S8'] .ps-case--corp { margin-top: 24px; }

/* ---- S16：3ブロックを罫で分離 ---- */
[data-ps-section='S16'] .ps-trust-logos {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--ps-grey-200);
}
[data-ps-section='S16'] .ps-trust-table {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--ps-grey-200);
}

/* ---- S10：ステップ間の矢印が次の番号へ寄り過ぎないよう間隔を確保 ---- */
.ps-flow { gap: 36px; }
.ps-flow__step:not(:last-child)::after { right: -24px; }


/* ==========================================================================
   17. v1.7.2 PC VISUAL FINAL（CURRENT v22）
       S4光学サイズ / S6 Before淡・After濃 / S7実UIクローズアップ /
       S3・S5・導入フローの図解性復元 / S12 Shop Linker誤認防止 / S9
       追記のみ。!important は増やさない。PC（>=990px）専用の指定は
       末尾のメディアクエリにまとめる。
   ========================================================================== */

/* ---- 共通：線画アイコン（ブランドロゴではない。AI生成素材は不使用） ---- */
.ps-ico { width: 100%; height: 100%; display: block; }
.ps-ico path,
.ps-ico rect,
.ps-ico circle,
.ps-ico line {
  fill: none;
  stroke: var(--ps-blue);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ps-ico .ps-ico__fillbg { fill: var(--ps-blue-tint); }
.ps-ico .ps-ico__solid { fill: var(--ps-blue); stroke: var(--ps-blue); }
.ps-ico .ps-ico__on-solid { stroke: var(--ps-white); stroke-width: 2.8; }
.ps-ico .ps-ico__accent { stroke: var(--ps-navy); }

/* ==========================================================================
   17-1. S4 ロゴの光学サイズ（CURRENT v22）
     SSG.COM / NAVER SmartStore = 現状比1.35倍、AUCTION = 1.2倍。
     基準は .ps-malls .ps-logo-cell--sq/--w1/--w2（44 / 32 / 26px）。
   ========================================================================== */
.ps-malls .ps-logo-cell--opt35.ps-logo-cell--sq img { height: 59px; }
.ps-malls .ps-logo-cell--opt35.ps-logo-cell--w1 img { height: 43px; }
.ps-malls .ps-logo-cell--opt35.ps-logo-cell--w2 img { height: 35px; }
.ps-malls .ps-logo-cell--opt20.ps-logo-cell--sq img { height: 53px; }
.ps-malls .ps-logo-cell--opt20.ps-logo-cell--w1 img { height: 38px; }
.ps-malls .ps-logo-cell--opt20.ps-logo-cell--w2 img { height: 31px; }

/* SSG.COMは親ノード。転載2ブランドは従属＝ひと回り小さく揃える */
[data-ps-section='S4'] .ps-logo-grid--syndication .ps-logo-cell img { max-height: none; }
[data-ps-section='S4'] .ps-logo-grid--syndication .ps-logo-cell--w2 img { height: 29px; }
[data-ps-section='S4'] .ps-logo-grid--syndication .ps-logo-cell--w1 img { height: 27px; }
[data-ps-section='S4'] .ps-syndication__label { letter-spacing: 0.04em; }

/* ==========================================================================
   17-2. S6 Before / After（白飛び修復）
     旧 §16-6 は li に直接 color を当て、後段S6スコープが背景のみ淡色へ戻したため
     「白文字 × 淡背景」で本文が消えていた。ここで背景と文字色をセットで確定する。
   ========================================================================== */
[data-ps-section='S6'] .ps-ba { gap: 32px; align-items: stretch; }

[data-ps-section='S6'] .ps-ba__col {
  padding: 32px;
  border-radius: var(--ps-radius-card);
}

/* Before＝淡・静か */
[data-ps-section='S6'] .ps-ba__col--before {
  color: var(--ps-ink-sub);
  background: var(--ps-white);
  border: 1px solid var(--ps-grey-200);
  box-shadow: none;
}
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__title { color: var(--ps-ink-sub); }
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__list li { color: var(--ps-ink-sub); border-bottom: 1px solid var(--ps-grey-200); }
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__when { color: var(--ps-ink-mute); background: var(--ps-grey-100); }
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__sum { color: var(--ps-ink); }

/* After＝濃紺・視覚的に強く（コントラスト 12:1 以上／白飛び0） */
[data-ps-section='S6'] .ps-ba__col--after {
  color: var(--ps-white);
  background: var(--ps-navy);
  border: 1px solid var(--ps-navy);
  box-shadow: var(--ps-shadow-core);
}
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__title { color: var(--ps-white); }
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__list li { color: #e8f1ff; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__when { color: #e6f0ff; background: #14417e; }
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__sum { color: var(--ps-white); }
[data-ps-section='S6'] .ps-ba__col--after .ps-ba__list li:last-child { border-bottom: 0; }
[data-ps-section='S6'] .ps-ba__col--before .ps-ba__list li:last-child { border-bottom: 0; }

[data-ps-section='S6'] .ps-ba__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  font-size: var(--ps-fs-h3);
  font-weight: 700;
}
[data-ps-section='S6'] .ps-ba__tag {
  display: inline-block;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: var(--ps-radius-chip);
}
[data-ps-section='S6'] .ps-ba__tag--before { color: var(--ps-ink-mute); background: var(--ps-grey-100); }
[data-ps-section='S6'] .ps-ba__tag--after { color: var(--ps-navy); background: var(--ps-white); }
[data-ps-section='S6'] .ps-ba__titletext { font-size: 18px; }

[data-ps-section='S6'] .ps-ba__list li {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 12px 0;
  font-size: var(--ps-fs-body);
  line-height: 1.7;
}
[data-ps-section='S6'] .ps-ba__when {
  display: inline-block;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  border-radius: var(--ps-radius-chip);
}
[data-ps-section='S6'] .ps-ba__list li.ps-ba__sum {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 6px;
  padding-top: 16px;
  font-weight: 700;
}

/* ==========================================================================
   17-3. S7 3ステップ（要点行＋実UIクローズアップ）
   ========================================================================== */
[data-ps-section='S7'] .ps-steps--focus { gap: 24px; align-items: stretch; }
[data-ps-section='S7'] .ps-steps--focus .ps-step {
  display: flex;
  flex-direction: column;
  padding: 24px 20px 20px;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}
[data-ps-section='S7'] .ps-step__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
[data-ps-section='S7'] .ps-step__no {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-navy);
  border-radius: 50%;
}
[data-ps-section='S7'] .ps-step__lead {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ps-navy);
}
[data-ps-section='S7'] .ps-step__text {
  min-height: 3.5em;
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--ps-ink-sub);
}
[data-ps-section='S7'] .ps-step__media {
  margin: auto 0 0;
  padding: 0;
  border-top: 1px solid var(--ps-grey-200);
  padding-top: 16px;
}
[data-ps-section='S7'] .ps-step__media img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--ps-grey-200);
  border-radius: var(--ps-radius-inner);
}
[data-ps-section='S7'] .ps-step__cap {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ps-ink-mute);
}
[data-ps-section='S7'] .ps-steps__after { margin-top: 32px; }

/* ==========================================================================
   17-4. S3 課題4選（番号バッジ＋アイコン＋縦罫）
   ========================================================================== */
[data-ps-section='S3'] .ps-issues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}
[data-ps-section='S3'] .ps-issue {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 28px 28px 28px 24px;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}
[data-ps-section='S3'] .ps-issue__no {
  position: absolute;
  top: 18px;
  left: 20px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-navy);
  border-radius: 50%;
}
[data-ps-section='S3'] .ps-issue__fig {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  margin-top: 22px;
  padding: 18px;
  background: var(--ps-blue-tint);
  border-radius: 50%;
}
[data-ps-section='S3'] .ps-issue__body {
  padding-left: 20px;
  border-left: 1px solid var(--ps-grey-200);
}
[data-ps-section='S3'] .ps-issue__title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ps-navy);
}
[data-ps-section='S3'] .ps-issue__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--ps-ink-sub);
}
[data-ps-section='S3'] .ps-issues__close {
  margin: 40px 0 0;
  padding: 20px 24px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.8;
  color: var(--ps-navy);
  background: var(--ps-blue-tint);
  border-left: var(--ps-accent-bar);
  border-radius: var(--ps-radius-inner);
}

/* ==========================================================================
   17-5. S5 導入メリット（番号バッジ＋アイコン＋実UI主役）
   ========================================================================== */
[data-ps-section='S5'] .ps-benefit {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 24px;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}
[data-ps-section='S5'] .ps-benefit__no {
  position: absolute;
  top: -12px;
  left: 18px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-blue);
  border-radius: 50%;
}
[data-ps-section='S5'] .ps-benefit__fig {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin-top: 6px;
  padding: 14px;
  background: var(--ps-blue-tint);
  border-radius: var(--ps-radius-inner);
}
[data-ps-section='S5'] .ps-benefit__title {
  margin: 4px 0 8px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ps-navy);
}
[data-ps-section='S5'] .ps-benefit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--ps-ink-sub);
}
[data-ps-section='S5'] .ps-shot { margin: 0; }
[data-ps-section='S5'] .ps-shot img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--ps-grey-200);
  border-radius: var(--ps-radius-figure);
}
[data-ps-section='S5'] .ps-shot figcaption {
  margin-top: 10px;
  font-size: 12px;
  color: var(--ps-ink-mute);
}

/* ==========================================================================
   17-6. S10 導入フロー（STEPラベル＋アイコン＋矢印コネクタ）
   ========================================================================== */
[data-ps-section='S10'] .ps-flow--fig .ps-flow__step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 26px 18px 22px;
  text-align: center;
  background: var(--ps-white);
  border: var(--ps-border-card);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-card);
}
[data-ps-section='S10'] .ps-flow--fig .ps-flow__no {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ps-white);
  background: var(--ps-blue);
  border: 2px solid var(--ps-white);
  border-radius: 50%;
}
[data-ps-section='S10'] .ps-flow__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--ps-blue);
}
[data-ps-section='S10'] .ps-flow--fig .ps-flow__step strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ps-navy);
}
[data-ps-section='S10'] .ps-flow--fig .ps-flow__step small {
  font-size: 12px;
  line-height: 1.7;
  color: var(--ps-ink-mute);
}
[data-ps-section='S10'] .ps-flow__fig {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin-top: 10px;
  padding: 12px;
  background: var(--ps-blue-tint);
  border-radius: 50%;
}
/* 旧レイアウト（左バッジ＋左padding）の矢印は figバリアントでは使わない */
[data-ps-section='S10'] .ps-flow--fig .ps-flow__step:not(:last-child)::after { content: none; }
[data-ps-section='S10'] .ps-flow--fig .ps-flow__step { padding-left: 18px; padding-right: 18px; min-height: 0; }

[data-ps-section='S10'] .ps-flow--fig .ps-flow__step + .ps-flow__step::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -18px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border-top: 2px solid var(--ps-arrow-color);
  border-right: 2px solid var(--ps-arrow-color);
  transform: rotate(45deg);
}

/* ==========================================================================
   17-7. S12 Shop Linker（必須誤認0）／ ASIN PICK 補足
   ========================================================================== */
[data-ps-section='S12'] .ps-cost-item--optional { border-style: dashed; }
[data-ps-section='S12'] .ps-cost-item__flag {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ps-blue-deep);
  vertical-align: middle;
  background: var(--ps-blue-tint);
  border: 1px solid var(--ps-blue-line);
  border-radius: var(--ps-radius-chip);
}
[data-ps-section='S12'] .ps-cost-item__exempt {
  margin: 10px 0 0;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--ps-blue-deep);
  background: var(--ps-blue-tint);
  border-left: 4px solid var(--ps-blue);
  border-radius: var(--ps-radius-inner);
}
[data-ps-section='S12'] .ps-cost-item__sub {
  margin-top: 12px;
  padding: 12px 14px;
  background: var(--ps-grey-050);
  border: 1px solid var(--ps-grey-200);
  border-radius: var(--ps-radius-inner);
}
[data-ps-section='S12'] .ps-cost-item__sub-label {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ps-navy);
}
[data-ps-section='S12'] .ps-cost-item__sub-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--ps-ink-sub);
}

/* ==========================================================================
   17-8. S9 比較表：根拠のないセルは記号を付けず「記載なし」
   ========================================================================== */
[data-ps-section='S9'] .ps-table__na { color: var(--ps-ink-mute); }

/* S4：対応モール表示文（CURRENT v22 固定文） */
[data-ps-section='S4'] .ps-malls__more {
  margin: 18px 0 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--ps-navy);
}

/* S12 governance番号：AA（4.5:1）を満たす濃度へ */
[data-ps-section='S12'] .ps-governance-feature__no { color: var(--ps-blue-deep); }

/* ========================================================================== 
   18. S16 trust/logo launch hotfix — v1.8.6.1
   12 exact-source partner logos. No AI logo rendering; no planned-partner showcase.
   ========================================================================== */
[data-ps-section='S16'] .ps-trust-logos {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--ps-grey-200);
}

[data-ps-section='S16'] .ps-logo-grid--12 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  /* v1.8.6.13: 公式ロゴの光学サイズ拡大分をセル内に収めるための余白調整（spacingのみ）。 */
  column-gap: 24px;
  row-gap: 22px;
  align-items: center;
}

[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 58px;
  padding: 5px 0;
}

[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell img {
  max-width: 126px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* 11st: use the OWNER-received JPEG as-is. Never crop, redraw, add text, or recolor. */
[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell:nth-child(5) img {
  width: 118px;
  height: auto;
  max-width: 118px;
  max-height: 52px;
  object-fit: contain;
}

/* SSG.COM: normal optical weight; explicitly prevent the old 1.35x treatment. */
[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell:nth-child(3) img {
  max-width: 130px;
  max-height: 38px;
}

/* Shop Linker is intentionally lower-priority and last, not visually dominant. */
[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell:nth-child(12) img {
  max-width: 116px;
}

/* Received Kakao yellow CI is not recolored; dark container only provides contrast. */
[data-ps-section='S16'] .ps-logo-cell--dark-mark img {
  box-sizing: content-box;
  padding: 8px 12px;
  background: #181818;
  border-radius: 8px;
}

[data-ps-section='S16'] .ps-s16-quickstart {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.22fr);
  gap: 32px;
  align-items: center;
  margin-top: 44px;
  padding: 28px;
  background: linear-gradient(135deg, var(--ps-blue-tint), var(--ps-white));
  border: 1px solid var(--ps-blue-line);
  border-radius: var(--ps-radius-card);
  box-shadow: var(--ps-shadow-soft);
}

[data-ps-section='S16'] .ps-s16-quickstart__visual {
  max-height: 220px;
  overflow: hidden;
  border: 1px solid var(--ps-grey-200);
  border-radius: var(--ps-radius-inner);
  background: var(--ps-white);
  box-shadow: var(--ps-shadow-soft);
}

[data-ps-section='S16'] .ps-s16-quickstart__visual img {
  display: block;
  width: 100%;
  height: auto;
}

[data-ps-section='S16'] .ps-s16-quickstart__eyebrow {
  margin: 0 0 8px;
  color: var(--ps-blue-deep);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}

[data-ps-section='S16'] .ps-s16-quickstart__content .ps-h3 {
  margin-bottom: 10px;
}

[data-ps-section='S16'] .ps-s16-quickstart__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

/* ========================================================================== 
   19. Launch polish — v1.8.6.2
   OWNER 2026-08-12 01:48: source-locked trust copy, LINE green CTA,
   understated credential lines, and subtle motion on the main start CTA.
   ========================================================================== */

/* Credentials stay as live HTML text near the field-facing company message. */
[data-ps-section='S16'] .ps-credentials-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 18px 0 4px;
  padding: 14px 16px;
  background: var(--ps-grey-050);
  border-left: 3px solid var(--ps-blue);
  border-radius: 0 var(--ps-radius-cta) var(--ps-radius-cta) 0;
}

[data-ps-section='S16'] .ps-credentials-inline p {
  margin: 0;
  color: var(--ps-navy-ink);
  font-size: 14px;
  line-height: 1.65;
  font-weight: 650;
}

/* LINE: brand-color treatment without generating or redrawing the LINE logo. */
.ps-btn--line {
  color: #fff;
  background: #06c755;
  border-color: #06c755;
  box-shadow: 0 8px 18px rgba(6, 199, 85, 0.18);
}

.ps-btn--line:hover {
  color: #fff;
  background: #05b94e;
  border-color: #05b94e;
}

/* Primary CTA: restrained moving highlight, not an image. */
.ps-btn--sparkle {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 10px 22px rgba(22, 114, 212, 0.20);
}

.ps-btn--sparkle::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: -40%;
  bottom: -40%;
  left: -42%;
  width: 30%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.06) 25%, rgba(255,255,255,0.62) 50%, rgba(255,255,255,0.06) 75%, transparent 100%);
  transform: skewX(-18deg) translateX(0);
  animation: ps-cta-shine 3.8s ease-in-out infinite;
}

.ps-btn--sparkle > * {
  position: relative;
  z-index: 2;
}

@keyframes ps-cta-shine {
  0%, 62% { transform: skewX(-18deg) translateX(0); opacity: 0; }
  67% { opacity: 1; }
  84% { transform: skewX(-18deg) translateX(520%); opacity: 1; }
  100% { transform: skewX(-18deg) translateX(520%); opacity: 0; }
}

.ps-sticky__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

@media (prefers-reduced-motion: reduce) {
  .ps-btn--sparkle::after { animation: none; display: none; }
}

/* Hero LINE CTA keeps the established secondary height while using LINE green. */
.ps-hero .ps-btn--line {
  min-height: 48px;
  font-size: 16px;
}


/* ==========================================================================\n   v1.8.6.3 PDC / source-lock / Neo draft\n   ========================================================================== */
.ps-hero-smartstore .ps-logo-cell img { transform: scale(var(--ps-smartstore-scale, 1.2)); transform-origin: center; }

/* Reorder-safe S16 optical sizing: keyed by logo name, not nth-child. */
[data-ps-section='S16'] .ps-logo-grid--12 > div { min-width:0; }
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo] { min-height:62px; }
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo] img { width:auto; height:auto; max-height:40px; max-width:132px; object-fit:contain; }
/* v1.8.6.13 HOTFIX / P1 公式ロゴの光学サイズ
   旧版の個別指定は [.ps-logo-grid--12 [data-logo] img] (0,3,1) に詳細度で負け全て無効化されていた。
   個別ルールを同一詳細度(0,3,1)かつ後置に揃え、確実に適用させる。
   ロゴasset自体は無改変。width / max-width / height / max-height / container / spacing のみで調整。
   基準セル内幅 = 172px（1152px ÷ 6列, column-gap 24px, セル左右padding 0）。 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='coupang'] img { width:140px; max-width:140px; max-height:44px; }        /* 約1.30倍 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='ssg-com'] img { width:140px; max-width:140px; max-height:40px; }        /* 約1.20倍 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='11st'] img { width:82px; height:auto; max-width:82px; max-height:44px; object-fit:contain; }  /* 約1.10倍（高さ基準・cropしない） */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='auction'] img { width:134px; max-width:134px; max-height:50px; object-fit:contain; }          /* 約1.15倍 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='shop-linker'] img { width:132px; max-width:132px; max-height:30px; }    /* 約1.15倍 */
/* NAVER は現状維持（汎用の 132px / 40px をそのまま適用。個別指定は置かない）。 */

/* Kakao：黄色い枠・背景プレート・囲み・border は一切付与しない。白背景にそのまま置く。
   公式SVGの実寸が 24.17 x 7.75px のため width 指定が無いと拡大されず、これが極小表示の直接原因だった。
   セル内幅172pxの約70% = 120px を上限とし、WorldFirst〜AUCTION と同等の存在感に合わせる。 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='kakao'] { background:transparent; border:0; border-radius:0; box-shadow:none; }
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='kakao'] img { width:96px; height:auto; max-width:96px; max-height:none; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }

/* WorldFirst：パートナー提供の公式素材(608x110)をバイト無変更で使用。
   recolor / crop / 文字追加は行わない。旧素材向けの clip-path 切り抜きと translateY は新素材に不要なため削除。 */
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='worldfirst'] { overflow:visible; }
[data-ps-section='S16'] .ps-logo-grid--12 [data-logo='worldfirst'] img { width:124px; height:auto; max-width:124px; max-height:32px; object-fit:contain; clip-path:none; transform:none; }  /* 約1.20倍 */

/* Neo draft lives in the same Shopify theme. No generated Japanese text images. */
.neo-hero { padding-top:88px; background:linear-gradient(145deg,#f7fbff 0%,#fff 58%,#eef6ff 100%); }
.neo-eyebrow { margin:0 0 14px; color:var(--ps-blue-deep); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.neo-hero .ps-h1 { max-width:920px; margin-bottom:20px; }
.neo-hero__lead { max-width:820px; font-size:18px; line-height:1.85; color:var(--ps-ink); }
.neo-mall-line { margin:26px 0; padding:14px 18px; border:1px solid var(--ps-blue-line); border-radius:12px; background:#fff; font-weight:700; color:var(--ps-navy); }
.neo-flow__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:32px; }
.neo-flow__item { position:relative; padding:22px 18px; background:#fff; border:1px solid var(--ps-grey-200); border-radius:14px; min-height:150px; }
.neo-flow__item > span { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--ps-blue); color:#fff; font-weight:800; font-size:12px; }
.neo-flow__item strong { display:block; margin-top:14px; color:var(--ps-navy); font-size:17px; }
.neo-flow__item p { margin:8px 0 0; color:var(--ps-ink-mute); line-height:1.65; font-size:14px; }
.neo-views__lead { max-width:820px; }
.neo-view-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:38px; }
.neo-view-card { overflow:hidden; border:1px solid var(--ps-grey-200); border-radius:18px; background:#fff; box-shadow:var(--ps-shadow-soft); }
.neo-view-card__copy { padding:22px 24px 14px; }
.neo-view-card__no { color:var(--ps-blue); font-size:12px; font-weight:900; letter-spacing:.12em; }
.neo-view-card h3 { margin:6px 0 8px; color:var(--ps-navy); font-size:22px; }
.neo-view-card__copy p { margin:0; color:var(--ps-ink-mute); line-height:1.7; }
.neo-view-card img { display:block; width:100%; height:auto; border-top:1px solid var(--ps-grey-100); }
.neo-dev-note { margin:10px 16px 16px; color:var(--ps-ink-mute); font-size:11px; line-height:1.55; }
.neo-contact { text-align:center; }

/* NEO v2 balanced positioning: core commerce first, management intelligence second */
.neo-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}.neo-hero__chips span{display:inline-flex;padding:7px 11px;border:1px solid #cfe0f3;border-radius:999px;background:#fff;color:#244566;font-size:12px;font-weight:800}
.neo-core__lead,.neo-flow__lead{max-width:880px}.neo-io{display:grid;grid-template-columns:minmax(0,1.25fr) auto minmax(180px,.7fr) auto minmax(0,1.25fr);align-items:center;gap:14px;margin:30px 0 24px;padding:18px 22px;border:1px solid var(--ps-grey-200);border-radius:16px;background:#f8fbff}.neo-io div{min-width:0}.neo-io small{display:block;color:var(--ps-blue);font-weight:900;letter-spacing:.1em;font-size:10px}.neo-io strong{display:block;color:var(--ps-navy);font-size:14px;line-height:1.55;margin-top:5px}.neo-io>b{text-align:center;color:#fff;background:var(--ps-navy);border-radius:12px;padding:14px 12px;font-size:15px}.neo-io>span{color:var(--ps-blue);font-weight:900;font-size:20px}.neo-core__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.neo-core__card{border:1px solid var(--ps-grey-200);border-radius:18px;background:#fff;padding:24px;box-shadow:var(--ps-shadow-soft)}.neo-core__kicker{display:inline-flex;color:var(--ps-blue);font-size:11px;font-weight:900;letter-spacing:.12em}.neo-core__card h3{margin:8px 0 10px;color:var(--ps-navy);font-size:21px;line-height:1.45}.neo-core__card>p{margin:0;color:var(--ps-ink-mute);font-size:14px;line-height:1.7}.neo-core__points{margin-top:16px;padding-top:14px;border-top:1px solid var(--ps-grey-100);color:#2f4d6e;font-size:13px;line-height:1.9}.neo-core__bridge{display:flex;align-items:baseline;gap:14px;margin-top:20px;padding:16px 20px;border-left:4px solid var(--ps-blue);background:#eef6ff;border-radius:0 12px 12px 0}.neo-core__bridge strong{color:var(--ps-navy);font-size:15px;white-space:nowrap}.neo-core__bridge span{color:var(--ps-ink-mute);font-size:13px;line-height:1.65}.neo-flow__grid{grid-template-columns:repeat(3,minmax(0,1fr));}

/* Neo v1.8.6.6 — official-source architecture + core operations */
.neo-architecture__lead{max-width:880px}.neo-architecture__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr) minmax(0,1.35fr);gap:18px;align-items:stretch;margin-top:30px}.neo-architecture__side,.neo-architecture__center{border:1px solid var(--ps-grey-200);border-radius:18px;background:#fff;padding:22px;box-shadow:var(--ps-shadow-soft)}.neo-architecture__center{background:linear-gradient(160deg,#0b2f57,#153f6c);color:#fff}.neo-architecture__label{display:block;color:var(--ps-blue);font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:16px}.neo-logo-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.neo-logo-cell,.neo-market-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--ps-grey-100);border-radius:10px;min-height:72px;padding:12px}.neo-logo-cell img{max-width:150px;max-height:44px;width:auto;height:auto;object-fit:contain}.neo-architecture__minor{margin:16px 0 0;color:var(--ps-ink-mute);font-size:12px;line-height:1.65}.neo-architecture__neo-logo{display:block;max-width:250px;width:100%;height:auto;margin:2px auto 18px;object-fit:contain}.neo-architecture__center ul{margin:0;padding-left:20px}.neo-architecture__center li{margin:9px 0;font-size:13px;line-height:1.5}.neo-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.neo-market-logo{min-height:58px}.neo-market-logo img{max-width:124px;max-height:34px;width:auto;height:auto;object-fit:contain}.neo-source-note{margin:14px 0 0;color:var(--ps-ink-mute);font-size:11px;line-height:1.55}.neo-core__grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.neo-core__grid--four .neo-core__card{padding:21px}.neo-core__grid--four .neo-core__card h3{font-size:18px}
@media(max-width:989px){.neo-architecture__grid{grid-template-columns:1fr}.neo-architecture__center{order:2}.neo-architecture__side--input{order:1}.neo-architecture__side--output{order:3}.neo-core__grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:749px){.neo-logo-stack,.neo-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neo-core__grid--four{grid-template-columns:1fr}.neo-architecture__side,.neo-architecture__center{padding:18px}.neo-market-logo img{max-width:112px;max-height:32px}}

/* v1.8.6.8 — PDCA editor + Fable final visual QA */
.neo-heading-safe,.ps-h1,.ps-h2,.ps-h3{word-break:keep-all;overflow-wrap:normal;line-break:strict}
.neo-hero__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}.neo-hero__layout--with-visual{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.neo-hero__visual img{width:100%;height:auto;border-radius:18px;box-shadow:var(--ps-shadow-soft)}
.neo-trust-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.neo-trust-chips span{font-size:11px;font-weight:800;color:#315271;background:#f2f7fc;border:1px solid #d8e6f4;border-radius:999px;padding:7px 10px}
.neo-visual-sp{display:none}.neo-core__card-image img,.neo-flow__image img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:14px}
.neo-order-proof{margin-top:34px;border:1px solid var(--ps-grey-200);border-radius:18px;background:#fff;box-shadow:var(--ps-shadow-soft);overflow:hidden}.neo-order-proof__copy{padding:24px 26px 10px}.neo-order-proof__copy h3{margin:7px 0 8px;color:var(--ps-navy);font-size:24px}.neo-order-proof__copy p{margin:0;color:var(--ps-ink-mute);line-height:1.7}.neo-order-proof__media img{display:block;width:100%;height:auto;border-top:1px solid var(--ps-grey-100)}
.neo-view-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.neo-view-card__media img{display:block;width:100%;height:auto;border-top:1px solid var(--ps-grey-100)}
.neo-trust__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.neo-trust__card{display:flex;gap:12px;padding:20px;border:1px solid var(--ps-grey-200);border-radius:14px;background:#fff}.neo-trust__card>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#e8f8f5;color:#008e82;font-weight:900}.neo-trust__card h3{margin:2px 0 6px;font-size:16px;color:var(--ps-navy)}.neo-trust__card p{margin:0;color:var(--ps-ink-mute);font-size:13px;line-height:1.65}.neo-company-mini{display:grid;grid-template-columns:1fr .7fr 2fr;gap:1px;margin-top:18px;border:1px solid var(--ps-grey-200);border-radius:12px;overflow:hidden;background:var(--ps-grey-200)}.neo-company-mini>div{display:flex;flex-direction:column;gap:4px;background:#fff;padding:14px 16px}.neo-company-mini strong{font-size:11px;color:var(--ps-blue);letter-spacing:.06em}.neo-company-mini span{font-size:13px;color:var(--ps-navy)}
.neo-contact--dark{background:linear-gradient(145deg,#082b50,#0e3b68);color:#fff}.neo-contact--dark .ps-h2,.neo-contact--dark .ps-body,.neo-contact--dark .neo-eyebrow{color:#fff}.neo-contact__email{margin:18px 0 0;color:#dcecff;font-size:13px}.neo-contact__email a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.neo-sticky{display:none}.ps-ba-visual{margin:0 0 26px}.ps-ba-visual img{width:100%;height:auto;border-radius:16px;box-shadow:var(--ps-shadow-soft)}
@media(max-width:989px){.neo-hero__layout--with-visual{grid-template-columns:1fr}.neo-view-grid--three{grid-template-columns:1fr}.neo-trust__grid{grid-template-columns:1fr}.neo-company-mini{grid-template-columns:1fr}.neo-visual-pc{display:none}.neo-visual-sp{display:block}.neo-ui-crop{height:250px;overflow:hidden;border-top:1px solid var(--ps-grey-100)}.neo-ui-crop img{width:145%;max-width:none;height:auto;transform:translateX(-8%)} }
@media(max-width:749px){.neo-hero{padding-top:52px}.neo-hero .ps-h1{font-size:clamp(32px,10vw,46px);line-height:1.22}.neo-hero__lead{font-size:16px;line-height:1.75}.neo-mall-line{font-size:12px;line-height:1.55}.neo-core__bridge{display:block}.neo-core__bridge strong{white-space:normal;display:block;margin-bottom:6px}.neo-order-proof__copy h3{font-size:20px}.neo-sticky{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:70;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 14px;background:rgba(7,38,69,.96);backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 12px 35px rgba(0,0,0,.22)}.neo-sticky>span{font-size:11px;color:#fff;font-weight:800}.neo-sticky .ps-btn{margin:0}.neo-trust-chips{gap:6px}.neo-trust-chips span{font-size:10px}.ps-figure__pc{display:none}.ps-figure__sp{display:block}}


/* v1.8.6.9 — safe recovery: Prime Shopper final CTA + follow sticky */
.ps-final__actions{align-items:center;gap:12px;flex-wrap:wrap}
.ps-final__actions .ps-btn--line{min-height:64px;font-size:19px;padding-inline:32px}
.ps-sticky{display:flex;visibility:hidden;opacity:0;transform:translateY(110%);transition:transform .22s ease,opacity .22s ease,visibility .22s;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.ps-sticky[data-state='visible']{visibility:visible;opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.ps-sticky{transition:none}}
@media(max-width:749px){.ps-final__actions{width:100%;display:grid;grid-template-columns:1fr}.ps-final__actions .ps-btn{width:100%}}


/* ==========================================================================
   v1.8.6.10 ｜ PC2 通常Prime Shopper 視覚回復（S3崩れの構造的再発防止）
   方針：既存ルールは書き換えず、末尾追記のみ。Neo（.neo-*）へは触れない。
   ========================================================================== */

/* 1) 和文見出しの折返し安全化。
      v1.8.6.8 の word-break:keep-all は和文長文で折返し不能＝横溢れを招くため、
      通常LP側の見出しだけ標準の和文折返し（禁則あり）へ戻す。
      Neo見出しは .neo-heading-safe を持つため対象外＝Neoの見た目は不変。 */
.ps-h1:not(.neo-heading-safe),
.ps-h2:not(.neo-heading-safe),
.ps-h3:not(.neo-heading-safe) {
  word-break: normal;
  overflow-wrap: normal;
  line-break: strict;
}
@supports (word-break: auto-phrase) {
  .ps-h1:not(.neo-heading-safe),
  .ps-h2:not(.neo-heading-safe),
  .ps-h3:not(.neo-heading-safe) {
    word-break: auto-phrase;
  }
}

/* 2) S3 課題4カード：本文列が潰れて「縦文字化」する事故を構造的に不可能にする。
      - カードは常に［図版列 / 本文列］の2列
      - 図版と本文は行・列を明示配置（自動配置の巻き込みで本文が96px列へ落ちない）
      - 本文列は minmax(0,1fr)＋min-width:0 で必ず残り幅を占有 */
[data-ps-section='S3'] .ps-issues {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
[data-ps-section='S3'] .ps-issue {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
}
[data-ps-section='S3'] .ps-issue__no {
  position: absolute;
}
[data-ps-section='S3'] .ps-issue__fig {
  grid-column: 1;
  grid-row: 1;
  box-sizing: border-box;
  flex: 0 0 auto;
}
[data-ps-section='S3'] .ps-issue__fig > svg {
  display: block;
  width: 100%;
  height: 100%;
}
[data-ps-section='S3'] .ps-issue__body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
[data-ps-section='S3'] .ps-issue__title,
[data-ps-section='S3'] .ps-issue__text {
  word-break: normal;
  overflow-wrap: normal;
  line-break: strict;
}

/* 2-b) 保険：将来 .ps-issue__fig が失われても本文が96px列に閉じ込められない。
        （図版列は auto のため0幅になり、本文は全幅で読める） */
@supports selector(:has(*)) {
  [data-ps-section='S3'] .ps-issue:not(:has(.ps-issue__fig)) {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 68px;
  }
  [data-ps-section='S3'] .ps-issue:not(:has(.ps-issue__fig)) .ps-issue__body {
    grid-column: 1;
  }
}

/* 3) S5 メリットカードにも同じ保険を掛ける（同一構造のため） */
[data-ps-section='S5'] .ps-benefit {
  grid-template-columns: auto minmax(0, 1fr);
}
[data-ps-section='S5'] .ps-benefit__no {
  position: absolute;
}
[data-ps-section='S5'] .ps-benefit__fig {
  grid-column: 1;
  grid-row: 1;
  box-sizing: border-box;
  flex: 0 0 auto;
}
[data-ps-section='S5'] .ps-benefit__fig > svg {
  display: block;
  width: 100%;
  height: 100%;
}
[data-ps-section='S5'] .ps-benefit__body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
@supports selector(:has(*)) {
  [data-ps-section='S5'] .ps-benefit:not(:has(.ps-benefit__fig)) {
    grid-template-columns: minmax(0, 1fr);
  }
  [data-ps-section='S5'] .ps-benefit:not(:has(.ps-benefit__fig)) .ps-benefit__body {
    grid-column: 1;
  }
}

/* 4) 追従固定バー（S18）をPCでも成立させる最小調整。
      表示・非表示制御は v1.8.6.9 の .ps-sticky[data-state] を継承する。 */
@media screen and (min-width: 990px) {
  .ps-sticky {
    padding-inline: clamp(16px, 5vw, 56px);
  }
  .ps-sticky__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--ps-navy);
  }
  .ps-sticky__actions {
    gap: 12px;
  }
  .ps-sticky .ps-btn--sm {
    min-height: 46px;
    font-size: 15px;
    white-space: nowrap;
  }

  /* PCでも追従バーがフッター最終行を隠さないよう退避余白を確保する */
  .ps-footer {
    padding-bottom: calc(48px + 72px);
  }
}

/* 5) 最終CTA（S15）の2ボタン整列。1ボタン時の見た目は変えない。 */
.ps-final__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

/* v1.8.6.15 — S16 logo optical balance + Theme Editor width controls.
   Source-locked logo bytes remain untouched; only display width is editable. */
[data-ps-section='S16'] .ps-logo-grid--12 .ps-logo-cell[data-logo][data-editable-logo] img {
  width: var(--ps-logo-width-pc);
  max-width: var(--ps-logo-width-pc);
  height: auto;
  object-fit: contain;
}

/* S16 quickstart visual polish — actual form crop, no fake UI */
[data-ps-section='S16'] .ps-s16-quickstart__visual {
  position:relative;
  height:220px;
  max-height:none;
}
[data-ps-section='S16'] .ps-s16-quickstart__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 10%;
}
[data-ps-section='S16'] .ps-s16-quickstart__visual-label {
  position:absolute;
  z-index:2;
  left:12px;
  top:12px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(13,74,145,.12);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--ps-blue-deep);
  box-shadow:0 4px 12px rgba(10,45,90,.08);
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
}
@media screen and (max-width:749px){
  [data-ps-section='S16'] .ps-s16-quickstart__visual { height:200px; max-height:none; }
  [data-ps-section='S16'] .ps-s16-quickstart__visual img { object-position:center 8%; }
}
