/* Home rail banner: square transport controls; preserve the existing cyan palette. */
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-controls--square {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-count {
  flex: 0 0 auto;
  min-width: 46px;
  margin-right: 0;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-actions {
  display: flex;
  gap: 4px;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button {
  display: grid;
  place-items: center;
  position: relative;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 0;
  color: #fff;
  background: rgba(92, 160, 190, .82);
  cursor: pointer;
  transition: background-color 180ms ease;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-prev::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: translate(-35%, -50%) rotate(-135deg);
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-prev .ph {
  display: none;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button span {
  font-family: "Segoe UI Symbol", var(--pp-font-latin);
  font-size: 12px;
  line-height: 1;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-toggle span {
  font-size: 22px;
  font-weight: 400;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button:is(:hover, :focus-visible) {
  color: #fff;
  background: rgba(84, 178, 220, .94);
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button:focus-visible {
  outline: 2px solid var(--pp-deep, #004a99);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button {
    transition: none;
  }
}

body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-controls--square .top-banner-carousel-count {
  position: absolute;
  width: 1px;
  min-width: 0;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dots {
  display: flex;
  align-items: center;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dot {
  display: grid;
  place-items: center;
  width: 24px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dot span {
  width: 7px;
  height: 7px;
  border: 1px solid rgba(92, 160, 190, .82);
  border-radius: 50%;
  background: rgba(92, 160, 190, .82);
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dot[aria-pressed="true"] span {
  background: transparent;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dot:focus-visible {
  outline: 2px solid var(--pp-deep, #004a99);
  outline-offset: -2px;
}
body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-toggle[data-paused="true"] span {
  font-size: 12px;
}

/* The rail's existing banner becomes the first content after the mobile hero. */
@media (max-width: 980px) {
  body[data-page="home"] .stage-inner > .rail-banner-slot {
    display: block;
    margin: var(--pp-space-4, 16px) 0;
  }
  body[data-page="home"] .stage-inner > .rail-banner-slot #jrfa5kansaine4000 {
    --top-banner-card-width: min(440px, calc(calc(100 * var(--pp-wide-vw, 1vw)) - 40px));
  }
  body[data-page="home"] .stage-inner > .rail-banner-slot .top-banner-carousel-controls {
    width: var(--top-banner-card-width);
    margin: var(--pp-space-1, 4px) auto 0;
  }
  body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-button {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    color: var(--pp-surface);
    background: var(--pp-action, var(--pp-deep));
  }
  body[data-page="home"] #jrfa5kansaine4000 .top-banner-carousel-dot {
    width: 44px;
    height: 44px;
  }
  body[data-page="home"] #jrfa5kansaine4000 .banner-layout:focus-visible {
    outline: 2px solid var(--pp-action, var(--pp-deep));
    outline-offset: -2px;
  }
}
