*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: #FFFFFF !important;
  margin-top: 0 !important;
}

html,
body.axihome-lp-horizontal {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: #FFFFFF !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

:root {
  --color-primary: #0197dd;
  --color-primary-dark: #0178b3;
  /* Floating CTA (also used standalone without style.css). */
  --z-floating-cta: 100;
  --color-white: #ffffff;
  --color-line: #06c755;
  --color-black-rgb: 0, 0, 0;
  --color-white-rgb: 255, 255, 255;
  --lp-safe-bottom: env(safe-area-inset-bottom, 0px);
  --lp-safe-top: env(safe-area-inset-top, 0px);
  /* Fixed LINE CTA (bottom-right) clearance on mobile. */
  --lp-floating-cta-clearance: 112px;
  /* Fine-tune swipe/CTA hint vertical position (negative = lower). */
  --lp-swipe-hint-shift: -40px;
  /* Horizontal gutter; left matches right (no decorative background inset). */
  --lp-content-pad-left: 18px;
  --lp-content-pad-top: 36px;
}

.lp-demo {
  width: 100%;
  font-size: 17px;
  line-height: 1.65;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  color: #0f172a;
  margin: 0;
  padding: 0;
}

.lp-pager {
  position: fixed;
  top: calc(10px + var(--lp-safe-top));
  right: 12px;
  z-index: 9999;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: rgba(15, 23, 42, 0.72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  pointer-events: none;
}

.lp-demo__cards {
  display: flex;
  height: 100vh;
  height: 100dvh;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  background: #FFFFFF !important;
  margin: 0;
  padding: 0;
}

.lp-demo__cards::-webkit-scrollbar {
  display: none;
}

.lp-card {
  flex: 0 0 100%;
  min-height: 100vh;
  min-height: 100dvh;
  scroll-snap-align: start;
  background-color: #ffffff;
  background-image: url("../img/LP2/bg.webp");
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: scroll;
  position: relative;
  padding: 0 0 calc(28px + var(--lp-floating-cta-clearance) + var(--lp-safe-bottom));
}

/* Keep body content on same measure (SP-first). */
.lp-card > h2,
.lp-card > p,
.lp-card > ul,
.lp-card > details.lp-slide-ref-toggle,
.lp-card > .lp-budget-compare,
.lp-card > .lp-area-blocks,
.lp-card > .lp-compare-stack {
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--lp-content-pad-left);
  padding-right: 18px;
}

/* Slide 1 FV, slide 7 FV (LP1 assets in LP2), LP2 store hero: full bleed. */
.lp-slide-01 > .lp-hero-fv,
.lp-slide-07 > .lp-hero-fv,
figure.lp-hero-fv.lp-hero-fv--lp2-store {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
}

/*
 * LP2/store1.webp (`figure.lp-hero-fv--lp2-store` in axihome-lp-v2.php): img strip height 250px.
 */
body.axihome-lp-horizontal figure.lp-hero-fv.lp-hero-fv--lp2-store {
  display: block;
  overflow: hidden;
  line-height: 0;
}

body.axihome-lp-horizontal figure.lp-hero-fv.lp-hero-fv--lp2-store img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 200px !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 50% 50%;
}

.lp-hero-fv picture {
  display: block;
  width: 100%;
  line-height: 0;
}

.lp-hero-fv img {
  display: block;
  width: 100%;
  height: auto;
}

/* Hero H2: all slides. `body.axihome-lp-horizontal` beats global theme rules from wp_head(). */
body.axihome-lp-horizontal .lp-card > h2.lp-hero-title {
  font-size: 20px;
  line-height: 1.32;
  letter-spacing: 0.01em;
  text-align: center;
}

/* Smaller variant of `.lp-hero-title`: bolder & larger than `.lp-hero-lead` (15px). */
body.axihome-lp-horizontal .lp-card > h2.lp-hero-title.lp-hero-title--sm,
body.axihome-lp-horizontal .lp-card > p.lp-hero-title.lp-hero-title--sm {
  font-size: 18px;
  line-height: 1.34;
  letter-spacing: 0.01em;
  text-align: center;
  font-weight: 700;
}

body.axihome-lp-horizontal .lp-card > p.lp-hero-title.lp-hero-title--sm {
  margin: 20px 0 12px;
  color: var(--color-primary-dark);
}

/* Slide 1, slide 7 & LP2 store hero: first H2 under full-bleed figure; tighter vertical spacing. */
body.axihome-lp-horizontal .lp-slide-01 > h2.lp-hero-title,
body.axihome-lp-horizontal .lp-slide-07 > .lp-hero-fv + h2.lp-hero-title,
body.axihome-lp-horizontal figure.lp-hero-fv--lp2-store + h2.lp-hero-title {
  padding-top: 0;
  margin: 16px 0 22px;
}

body.axihome-lp-horizontal .lp-card .lp-hero-lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.02em;
  color: #0f172a;
}

body.axihome-lp-horizontal .lp-card .lp-hero-lead + .lp-hero-lead {
  margin-top: 12px;
}

/* Slide 2: compact “参考文献” disclosure (native <details>; no LP exit). */
body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle {
  margin-top: 18px;
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle > .lp-slide-ref-toggle__summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(15, 23, 42, 0.5);
  cursor: pointer;
  user-select: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(15, 23, 42, 0.28);
  -webkit-tap-highlight-color: transparent;
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle > .lp-slide-ref-toggle__summary:hover {
  color: rgba(15, 23, 42, 0.68);
  text-decoration-color: rgba(15, 23, 42, 0.4);
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle > .lp-slide-ref-toggle__summary:focus-visible {
  outline: 2px solid rgba(10, 132, 255, 0.45);
  outline-offset: 2px;
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle > .lp-slide-ref-toggle__summary::-webkit-details-marker {
  display: none;
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle > .lp-slide-ref-toggle__panel {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
}

body.axihome-lp-horizontal .lp-card > details.lp-slide-ref-toggle .lp-slide-ref__text {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: rgba(15, 23, 42, 0.52);
  text-align: left;
}

/* Top padding belongs to first headline/content, not the whole card. */
.lp-card > h2 {
  padding-top: 0;
  margin-top: var(--lp-content-pad-top);
  color: var(--color-primary-dark);
}

/* Old header design removed; keeping markup-free style. */

.lp-card h3 {
  margin: 14px 0 6px;
  font-size: 16px;
  line-height: 1.35;
}

.lp-card p {
  margin: 0 0 12px;
  letter-spacing: 0.01em;
}

.lp-card ul {
  margin: 8px 0 0;
  padding-left: 1.2em;
}

.lp-card li + li {
  margin-top: 6px;
}

.lp-area-blocks {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lp-area-block {
  padding: 10px;
  border: none;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.02);
}

body.axihome-lp-horizontal .lp-area-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: rgba(15, 23, 42, 0.82);
}

.lp-area-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

/* Match `.lp-compare-label` / `.lp-compare-text` scale (beats `.lp-card h3` 16px). */
body.axihome-lp-horizontal .lp-card h3.lp-area-title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.lp-area-media {
  flex: 0 0 30%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: rgba(15, 23, 42, 0.5);
  background: linear-gradient(135deg, rgba(10, 132, 255, 0.14), rgba(15, 23, 42, 0.02));
  border: 1px dashed rgba(10, 132, 255, 0.35);
}

/* Small square thumbs (`img/LP2/area-*.webp`). */
.lp-area-media.lp-area-media--photo {
  flex: 0 0 64px;
  width: 64px;
  min-width: 64px;
  max-width: 64px;
  aspect-ratio: 1 / 1;
  padding: 0;
  display: block;
  overflow: hidden;
  border: none;
  background: transparent;
  line-height: 0;
  border-radius: 8px;
}

.lp-area-media.lp-area-media--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-area-body {
  flex: 1 1 70%;
  min-width: 0;
}

.lp-checklist {
  list-style: none;
  padding-left: 0;
  font-size: 14px;
  line-height: 1.55;
}

.lp-checklist li {
  position: relative;
  padding-left: 1.8em;
}

/* Checklist: add a bit more left inset than normal content padding; space below before next block. */
.lp-card > ul.lp-checklist {
  margin: 8px 0 12px;
  padding-left: calc(var(--lp-content-pad-left) + 14px);
}

.lp-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  font-weight: 800;
  color: #0a84ff;
}

/* Slide 4: compact “same budget” before → after rows (under checklist). */
body.axihome-lp-horizontal .lp-budget-compare {
  margin-top: 20px;
}

body.axihome-lp-horizontal .lp-budget-compare__intro {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
  letter-spacing: 0.02em;
  color: rgba(15, 23, 42, 0.75);
}

body.axihome-lp-horizontal .lp-budget-compare__row {
  display: flex;
  align-items: stretch;
  gap: 6px;
  padding: 8px 8px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.65);
  font-size: 11px;
  line-height: 1.35;
}

body.axihome-lp-horizontal .lp-budget-compare__row + .lp-budget-compare__row {
  margin-top: 8px;
}

body.axihome-lp-horizontal .lp-budget-compare__col {
  flex: 1 1 0;
  min-width: 0;
  padding: 6px 6px;
  border-radius: 8px;
  text-align: center;
}

body.axihome-lp-horizontal .lp-budget-compare__col--before {
  background: rgba(15, 23, 42, 0.05);
}

body.axihome-lp-horizontal .lp-budget-compare__col--after {
  background: rgba(10, 132, 255, 0.08);
}

body.axihome-lp-horizontal .lp-budget-compare__label {
  display: block;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 0.06em;
  margin-bottom: 2px;
  color: rgba(15, 23, 42, 0.55);
}

body.axihome-lp-horizontal .lp-budget-compare__spec {
  display: block;
  font-weight: 700;
  font-size: 11px;
  color: rgba(15, 23, 42, 0.88);
}

body.axihome-lp-horizontal .lp-budget-compare__arrow {
  flex: 0 0 auto;
  align-self: center;
  font-weight: 800;
  font-size: 11px;
  color: #0a84ff;
  padding: 0 2px;
  line-height: 1;
}

body.axihome-lp-horizontal .lp-budget-compare__note {
  margin: 10px 0 16px;
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
  color: rgba(15, 23, 42, 0.5);
}

.lp-compare-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
}

.lp-compare-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  font-size: 18px;
  font-weight: 900;
  color: #0a84ff;
  opacity: 0.9;
  line-height: 1;
}

.lp-compare-item {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  background: #fff;
}

body.axihome-lp-horizontal .lp-compare-item--before {
  opacity: 0.72;
  background: rgba(255, 255, 255, 0.78);
}

body.axihome-lp-horizontal .lp-compare-item--featured {
  padding: 14px 12px 12px;
  border: 2px solid rgba(1, 151, 221, 0.55);
  background:
    linear-gradient(135deg, rgba(1, 151, 221, 0.16), rgba(255, 255, 255, 0.96) 48%),
    #ffffff;
  box-shadow: 0 10px 26px rgba(1, 120, 179, 0.18);
}

body.axihome-lp-horizontal .lp-compare-pickup {
  position: absolute;
  top: -10px;
  right: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--color-primary);
  color: #ffffff;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  box-shadow: 0 4px 12px rgba(1, 120, 179, 0.24);
}

.lp-compare-item--featured .lp-compare-media.lp-compare-media--photo {
  border-color: rgba(1, 151, 221, 0.32);
  box-shadow: 0 0 0 3px rgba(1, 151, 221, 0.11);
}

.lp-compare-item--featured .lp-compare-label {
  color: var(--color-primary-dark);
}

.lp-compare-media {
  flex: 0 0 42%;
  min-height: 92px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: rgba(15, 23, 42, 0.55);
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.02));
  border: 1px dashed rgba(15, 23, 42, 0.18);
}

.lp-compare-media.lp-compare-media--photo {
  display: block;
  padding: 0;
  min-height: 0;
  border-style: solid;
  border-color: rgba(15, 23, 42, 0.12);
  background: #e8eef5;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  line-height: 0;
}

.lp-compare-media.lp-compare-media--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-compare-body {
  flex: 1 1 auto;
  min-width: 0;
}

.lp-compare-label {
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.lp-compare-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.lp-compare-note {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.45;
  color: rgba(15, 23, 42, 0.6);
}

/* Bottom hints: copy per slide via data-lp-hint-* on .lp-card (see axihome-lp-v2.php). */
.lp-card::before {
  content: attr(data-lp-hint-primary);
  position: absolute;
  left: 50%;
  bottom: calc(18px + var(--lp-floating-cta-clearance) + var(--lp-safe-bottom) + var(--lp-swipe-hint-shift));
  transform: translateX(-50%);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: rgba(15, 23, 42, 0.48);
  text-align: center;
}

.lp-card[data-lp-hint-anim="down"]::before {
  bottom: calc(20px + var(--lp-floating-cta-clearance) + var(--lp-safe-bottom) + var(--lp-swipe-hint-shift));
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(15, 23, 42, 0.58);
  white-space: nowrap;
}

.lp-card::after {
  content: attr(data-lp-hint-secondary);
  position: absolute;
  left: 50%;
  bottom: calc(4px + var(--lp-floating-cta-clearance) + var(--lp-safe-bottom) + var(--lp-swipe-hint-shift));
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: rgba(15, 23, 42, 0.48);
  transform: translateX(-50%);
}

.lp-card[data-lp-hint-anim="swipe-right"]::after {
  animation: lpSwipeHint 1.5s ease-in-out infinite;
}

.lp-card[data-lp-hint-anim="swipe-both"]::after {
  letter-spacing: 0.22em;
  animation: lpSwipeHintBoth 1.7s ease-in-out infinite;
}

.lp-card[data-lp-hint-anim="down"]::after {
  font-weight: 800;
  color: rgba(15, 23, 42, 0.58);
  animation: lpDownHint 1.6s ease-in-out infinite;
}

/* Floating CTA (base; theme style.css は読まない構成向け). */
.axihome-floating-cta {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: var(--z-floating-cta);
  will-change: transform;
}

.axihome-floating-cta-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 24px;
  background: var(--color-line);
  color: var(--color-white);
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(var(--color-black-rgb), 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.axihome-floating-cta-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(var(--color-white-rgb), 0.3);
  transform: translate(-50%, -50%) translateZ(0);
  transition:
    width 0.6s ease,
    height 0.6s ease;
  will-change: width, height;
}

.axihome-floating-cta-btn:active::before {
  width: 300px;
  height: 300px;
}

.axihome-floating-cta-btn:hover {
  text-decoration: none;
}

.axihome-floating-cta-btn:active {
  transform: scale(0.95);
  text-decoration: none;
}

.axihome-floating-cta-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.axihome-floating-cta-text {
  white-space: nowrap;
}

/* Tablet〜SP（〜960px）: 右下角ピルと揃える（テーマ style.css と同調） */
@media (max-width: 960px) {
  .axihome-floating-cta {
    bottom: 16px;
    right: 16px;
  }

  .axihome-floating-cta-btn {
    padding: 14px 20px;
    font-size: 14px;
  }

  .axihome-floating-cta-icon {
    width: 20px;
    height: 20px;
  }
}

body.axihome-lp-horizontal .lp-floating-cta-sp {
  background: #fff;
  border-top: 1px solid #d8e3ef;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a {
  min-height: 4rem;
  gap: 0.35rem;
  padding-top: 0.6rem;
  padding-bottom: 0.65rem;
  border-top: 0 !important;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a + a {
  border-left: 1px solid #c9decd;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a span {
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a svg {
  width: 1.25rem;
  height: 1.25rem;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a:first-child {
  background: #dcecff;
  color: #123d69;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a:first-child span,
body.axihome-lp-horizontal .lp-floating-cta-sp a:first-child svg {
  color: #123d69;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a:last-child {
  background: #dcf7e8;
  color: #185c35;
}

body.axihome-lp-horizontal .lp-floating-cta-sp a:last-child span,
body.axihome-lp-horizontal .lp-floating-cta-sp a:last-child svg {
  color: #185c35 !important;
  fill: currentColor;
}

/* LP only: remove "edge bleeding" effects without changing shape/colors. */
body.axihome-lp-horizontal .axihome-floating-cta-btn {
  box-shadow: none;
}

body.axihome-lp-horizontal .axihome-floating-cta-btn::before {
  display: none;
}

body.axihome-lp-horizontal .lp-slide-nav {
  position: absolute;
  right: -8px;
  bottom: calc(100% + 8px);
  left: -8px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  pointer-events: none;
}

body.axihome-lp-horizontal .lp-slide-nav[hidden] {
  display: none !important;
}

body.axihome-lp-horizontal .lp-slide-nav__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

body.axihome-lp-horizontal .lp-slide-nav__button--prev {
  transform: translateX(-2px) rotate(-2deg);
}

body.axihome-lp-horizontal .lp-slide-nav__button--next {
  transform: translateX(2px) rotate(2deg);
}

body.axihome-lp-horizontal .lp-slide-nav__button:active {
  opacity: 0.82;
}

body.axihome-lp-horizontal .lp-slide-nav__button:focus-visible {
  outline: 2px solid rgba(10, 132, 255, 0.58);
  outline-offset: 4px;
  border-radius: 12px;
}

body.axihome-lp-horizontal .lp-slide-nav__button:disabled {
  cursor: default;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.axihome-lp-horizontal .lp-slide-nav__button img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

body.axihome-lp-horizontal .lp-slide-nav__text {
  position: relative;
  z-index: 1;
  color: #2388ea;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.03em;
  pointer-events: none;
  text-shadow:
    0 2px 0 #ffffff,
    2px 0 0 #ffffff,
    0 -2px 0 #ffffff,
    -2px 0 0 #ffffff,
    0 4px 8px rgba(15, 23, 42, 0.18);
}

body.axihome-lp-horizontal .lp-slide-nav__button--prev .lp-slide-nav__text {
  margin-left: 22px;
}

body.axihome-lp-horizontal .lp-slide-nav__button--next .lp-slide-nav__text {
  margin-right: 22px;
}

/* SP（〜640px）: 下端フルワイズバー（テーマのモバイル版と同一方針。上の LP 用 box-shadow:none より後ろで復帰） */
@media (max-width: 640px) {
  body.axihome-lp-horizontal .axihome-floating-cta {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  body.axihome-lp-horizontal .axihome-floating-cta-btn {
    width: 100%;
    border-radius: 0;
    padding: 16px 20px;
    font-size: 16px;
    justify-content: center;
    /* 緑ベタの半透明シャドウが上方向に広がり「滲み」になりやすいので、縁は硬め・ぼかしはニュートラルに抑える */
    box-shadow:
      0 -1px 0 rgba(0, 0, 0, 0.07),
      0 -3px 14px rgba(15, 23, 42, 0.08);
  }

  body.axihome-lp-horizontal .axihome-floating-cta-text {
    display: inline;
    white-space: normal;
    line-height: 1.3;
  }

  body.axihome-lp-horizontal .axihome-floating-cta-icon {
    width: 24px;
    height: 24px;
  }

  body.axihome-lp-horizontal .lp-slide-nav {
    right: 16px;
    bottom: calc(100% + 10px);
    left: 16px;
  }

  body.axihome-lp-horizontal .lp-slide-nav__button {
    width: 112px;
    height: 42px;
  }

  body.axihome-lp-horizontal .lp-slide-nav__text {
    font-size: 16px;
  }
}

@keyframes lpSwipeHint {
  0% {
    transform: translateX(calc(-50% - 6px));
    opacity: 0.25;
  }
  50% {
    transform: translateX(calc(-50% + 2px));
    opacity: 1;
  }
  100% {
    transform: translateX(calc(-50% + 8px));
    opacity: 0.1;
  }
}

@keyframes lpSwipeHintBoth {
  0% {
    transform: translateX(-50%);
    letter-spacing: 0.12em;
    opacity: 0.45;
  }
  50% {
    transform: translateX(-50%);
    letter-spacing: 0.28em;
    opacity: 1;
  }
  100% {
    transform: translateX(-50%);
    letter-spacing: 0.12em;
    opacity: 0.45;
  }
}

@keyframes lpDownHint {
  0% {
    transform: translateX(-50%) translateY(-2px);
    opacity: 0.4;
  }
  50% {
    transform: translateX(-50%) translateY(3px);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-2px);
    opacity: 0.4;
  }
}

/* SP only: no desktop-specific overrides. */
