.anbo_banner_main {
  --anbo-banner-u: calc(100vw / 1920);
  position: relative;
  overflow: hidden;
  background: var(--bg-color);
}

.anbo_banner_main .anbo_banner_swiper,
.anbo_banner_main .anbo_banner_slide {
  position: relative;
  height: calc(800 * var(--anbo-banner-u));
  user-select: none;
  -webkit-user-select: none;
}

@media (hover: hover) and (pointer: fine) {
  .anbo_banner_main .anbo_banner_title,
  .anbo_banner_main .anbo_banner_description {
    -webkit-user-select: text;
    user-select: text;
    cursor: text;
  }
}

.anbo_banner_main .anbo_banner_image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  -webkit-user-drag: none;
}

.anbo_banner_main .anbo_banner_inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.anbo_banner_main .anbo_banner_content {
  position: absolute;
  top: calc(var(--content-y, 20) * 1%);
  box-sizing: border-box;
  max-width: calc(var(--content-width, 9999) * var(--anbo-banner-u));
}

.anbo_banner_main .anbo_banner_content--left {
  left: calc(var(--content-x, 10) * 1%);
  width: calc(100% - calc(var(--content-x, 10) * 1%));
  padding-right: calc(40 * var(--anbo-banner-u));
}

.anbo_banner_main .anbo_banner_content--center {
  left: 0;
  width: 100%;
  padding: 0 calc(40 * var(--anbo-banner-u));
  text-align: center;
}

.anbo_banner_main .anbo_banner_title {
  margin: 0;
  font-family: var(--font-family);
  font-size: calc(var(--title-size, 60) * var(--anbo-banner-u));
  font-weight: var(--title-weight, 700);
  line-height: 1.22;
  letter-spacing: 0;
  position: relative;
  left: calc(var(--title-offset-x, 0) * var(--anbo-banner-u));
}

.anbo_banner_main .anbo_banner_title_main,
.anbo_banner_main .anbo_banner_title_accent_text {
  background: linear-gradient(222deg, rgba(183, 124, 68, 1) 4%, rgba(254, 229, 187, 1) 22%, rgba(191, 133, 74, 1) 42%, rgba(252, 223, 179, 1) 61%, rgba(192, 134, 75, 1) 78%, rgba(251, 232, 212, 1) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 calc(1 * var(--anbo-banner-u)) calc(1 * var(--anbo-banner-u)) rgba(0, 0, 0, 0.7));
}

.anbo_banner_main .anbo_banner_title_accent {
  position: relative;
  display: inline-block;
  margin-left: calc(79 * var(--anbo-banner-u));
  font-size: calc(var(--accent-size, 40) * var(--anbo-banner-u));
  font-weight: 600;
}

.anbo_banner_main .anbo_banner_title_accent::before {
  content: "";
  position: absolute;
  left: calc(14 * var(--anbo-banner-u));
  bottom: calc(100% + calc(10 * var(--anbo-banner-u)));
  width: calc(198 * var(--anbo-banner-u));
  height: calc(8 * var(--anbo-banner-u));
  background: linear-gradient(90deg, rgba(183, 125, 69, 1) 0%, rgba(244, 212, 166, 1) 45%, rgba(202, 151, 99, 1) 79%, rgba(220, 179, 131, 1) 100%);
  box-shadow: 0 calc(1 * var(--anbo-banner-u)) calc(1 * var(--anbo-banner-u)) rgba(0, 0, 0, 0.7);
}

.anbo_banner_main .anbo_banner_description {
  margin: calc(var(--desc-gap, 12) * var(--anbo-banner-u)) 0 0;
  color: #fff;
  font-family: var(--font-family);
  font-size: calc(var(--desc-size, 40) * var(--anbo-banner-u));
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: 0;
  position: relative;
  left: calc(var(--desc-offset-x, 0) * var(--anbo-banner-u));
  filter: drop-shadow(0 calc(2 * var(--anbo-banner-u)) calc(2 * var(--anbo-banner-u)) rgba(0, 0, 0, 0.35));
}

.anbo_banner_main .anbo_banner_description--gray {
  color: transparent;
  background: linear-gradient(193deg, rgba(139, 139, 139, 1) 0%, rgba(214, 213, 213, 1) 22%, rgba(139, 139, 139, 1) 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.anbo_banner_main .anbo_banner_description_hl {
  color: #f3d3b2;
}

.anbo_banner_main .anbo_banner_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  left: calc(var(--button-offset-x, 0) * var(--anbo-banner-u));
  width: fit-content;
  min-width: calc(258.63 * var(--anbo-banner-u));
  max-width: 100%;
  min-height: calc(54 * var(--anbo-banner-u));
  margin-top: calc(var(--button-gap, 60) * var(--anbo-banner-u));
  padding: calc(5.68 * var(--anbo-banner-u)) calc(18.95 * var(--anbo-banner-u));
  border: calc(0.71 * var(--anbo-banner-u)) solid transparent;
  border-radius: calc(38.84 * var(--anbo-banner-u));
  background: linear-gradient(214deg, rgba(183, 124, 68, 1) 12%, rgba(254, 229, 187, 1) 100%) padding-box,
    linear-gradient(90deg, rgba(255, 239, 218, 1) 0%, rgba(255, 202, 153, 1) 100%) border-box;
  box-shadow: calc(-0.47 * var(--anbo-banner-u)) calc(3.79 * var(--anbo-banner-u)) calc(4.74 * var(--anbo-banner-u)) rgba(0, 0, 0, 0.05);
  color: #fff !important;
  font-family: var(--font-family);
  font-size: calc(20 * var(--anbo-banner-u));
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
}

.anbo_banner_main .anbo_banner_button:hover {
  background: linear-gradient(214deg, rgba(166, 112, 62, 1) 12%, rgba(240, 216, 176, 1) 100%) padding-box,
    linear-gradient(90deg, rgba(229, 215, 196, 1) 0%, rgba(229, 182, 138, 1) 100%) border-box;
}

.anbo_banner_main .anbo_banner_button:active,
.anbo_banner_main .anbo_banner_button.is-active,
.anbo_banner_main .anbo_banner_button[aria-pressed="true"] {
  background: linear-gradient(214deg, rgba(153, 104, 57, 1) 12%, rgba(217, 195, 160, 1) 100%) padding-box,
    linear-gradient(90deg, rgba(217, 203, 186, 1) 0%, rgba(217, 172, 130, 1) 100%) border-box;
}

.anbo_banner_main .anbo_banner_button:disabled,
.anbo_banner_main .anbo_banner_button.is-disabled,
.anbo_banner_main .anbo_banner_button[aria-disabled="true"] {
  pointer-events: none;
  cursor: not-allowed;
  background: linear-gradient(214deg, rgba(148, 148, 148, 1) 12%, rgba(210, 210, 210, 1) 100%) padding-box,
    #dbdbdb border-box;
}

.anbo_banner_main .anbo_banner_button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.anbo_banner_main .anbo_banner_controls {
  position: absolute;
  left: 50%;
  bottom: calc(120 * var(--anbo-banner-u));
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: calc(16 * var(--anbo-banner-u));
  gap: calc(31.25 * var(--anbo-banner-u));
  transform: translateX(-50%);
}

.anbo_banner_main .anbo_banner_nav {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(20 * var(--anbo-banner-u));
  height: calc(20 * var(--anbo-banner-u));
  margin: 0 calc(-5.875 * var(--anbo-banner-u));
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.anbo_banner_main .anbo_banner_nav::before {
  content: "";
  width: 0;
  height: 0;
  border-top: calc(4.75 * var(--anbo-banner-u)) solid transparent;
  border-bottom: calc(4.75 * var(--anbo-banner-u)) solid transparent;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}

.anbo_banner_main .anbo_banner_prev::before {
  border-right: calc(8.25 * var(--anbo-banner-u)) solid #d9d9d9;
}

.anbo_banner_main .anbo_banner_next::before {
  border-left: calc(8.25 * var(--anbo-banner-u)) solid #d9d9d9;
}

.anbo_banner_main .anbo_banner_nav:hover::before,
.anbo_banner_main .anbo_banner_nav:focus-visible::before {
  border-right-color: #e2c786;
  border-left-color: #e2c786;
}

.anbo_banner_main .anbo_banner_nav.swiper-button-disabled {
  cursor: not-allowed;
}

.anbo_banner_main .anbo_banner_nav.swiper-button-disabled::before,
.anbo_banner_main .anbo_banner_nav.swiper-button-disabled:hover::before {
  border-right-color: #d9d9d9;
  border-left-color: #d9d9d9;
  opacity: 0.45;
}

.anbo_banner_main .anbo_banner_pagination {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(18 * var(--anbo-banner-u));
}

.anbo_banner_main .anbo_banner_pagination.swiper-pagination-horizontal {
  width: auto;
}

.anbo_banner_main .anbo_banner_pagination .swiper-pagination-bullet {
  width: calc(10 * var(--anbo-banner-u));
  height: calc(10 * var(--anbo-banner-u));
  margin: 0 !important;
  opacity: 1;
  background: #fff;
  transition: width 0.25s ease, height 0.25s ease;
}

.anbo_banner_main .anbo_banner_pagination .swiper-pagination-bullet-active {
  width: calc(16 * var(--anbo-banner-u));
  height: calc(16 * var(--anbo-banner-u));
  background: #e2c786;
}
