@font-face {
  font-family: his-icons;
  src: url("../fonts/hisicons-icomoon.woff") format("woff");
}
@keyframes blink-opacity {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
@keyframes bounce-scale {
  0%, 80%, 100% {
    opacity: 0.3;
    transform: scale(0);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}
.db-p-header-alert {
  background-color: var(--background-color-error);
}
.db-p-header-alert__wrapper {
  flex-direction: column;
  align-items: flex-start;
}
.db-p-header-alert__wrapper + .db-p-header-alert__wrapper {
  /* stylelint-disable-next-line */
  margin-top: 12px;
}
.db-p-header-alert__wrapper.is-open .db-p-header-alert__icon--arrow {
  transform: rotate(180deg);
}
.db-p-header-alert__wrapper.is-open .db-p-header-alert__text {
  display: block;
}
.db-p-header-alert__inner {
  display: flex;
  gap: 8px;
  width: 100%;
  cursor: pointer;
}
.db-p-header-alert__heading {
  width: 100%;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-caution);
  text-decoration: underline;
}
.db-p-header-alert__icon {
  color: var(--color-caution);
}
.db-p-header-alert__icon.material-symbols-rounded {
  margin-right: 0;
}
.db-p-header-alert__icon--arrow {
  transition: transform 0.3s ease-out;
}
.db-p-header-alert__text {
  display: none;
  margin-top: 8px;
  color: var(--color-caution);
}

.db-top-mv {
  position: relative;
  margin-top: 8px;
  background: none;
}
.db-top-mv__img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.db-top-mv__img-wrapper .db-top-mv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.db-top-mv__heading {
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}

.db-top-product-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.db-top-product-wrapper__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.db-top-product-wrapper .ui-static-border {
  width: calc(100% + 40px);
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  margin-right: calc(50% - 50cqi);
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  margin-left: calc(50% - 50cqi);
}

.db-top-product-section__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.db-top-product-section__heading .ui-static-button {
  font-weight: var(--font-normal);
}
.db-top-product-section .db-top-ranking-slider.ui-static-slider-pagination-out {
  padding-bottom: 40px;
}
.db-top-product-section .db-top-ranking-slider .swiper {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  padding: 10px;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  margin: -10px;
}
.db-top-product-section .db-top-ranking-slider .swiper-wrapper {
  counter-reset: ranking-counter;
}
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-prev,
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-next {
  background: rgba(44, 42, 41, 0.55);
}
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-prev .ui-static-icon,
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-next .ui-static-icon {
  color: var(--color-white);
}
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-prev {
  left: -22px;
}
.db-top-product-section .db-top-ranking-slider .ui-static-slider-button-next {
  right: -22px;
}
.db-top-product-section .ui-static-product-card-overlay-image {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  max-height: 26px;
  aspect-ratio: initial !important;
}
.db-top-product-section .ui-static-banner {
  width: 190px;
}
.db-top-product-section__purpose.swiper {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  padding: 0 20px;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  margin: 0 -20px;
}
.db-top-product-section__purpose.swiper .swiper-slide {
  width: 96px;
}
.db-top-product-section__purpose.swiper .swiper-slide.db-top-product-section__purpose-more {
  align-self: center;
  width: auto;
}
.db-top-product-section__purpose.swiper .ui-static-button {
  font-weight: var(--font-normal);
}
.db-top-product-section__purpose-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
}
.db-top-product-section__purpose-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.db-top-product-section__purpose-text {
  margin-top: 8px;
  font-size: 1rem;
  color: var(--color-base);
}
.db-top-product-section__purpose-modal-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.db-top-product-section__recommend {
  --swiper-pagination-bottom: 0;
}
.db-top-product-section__recommend .swiper {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  padding: 0 20px;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  margin: 0 -20px;
}
.db-top-product-section__recommend .swiper .swiper-slide {
  width: 147px;
}
.db-top-product-section__recommend .ui-static-slider-button-prev,
.db-top-product-section__recommend .ui-static-slider-button-next {
  background: rgba(44, 42, 41, 0.55);
}
.db-top-product-section__recommend .ui-static-slider-button-prev .ui-static-icon,
.db-top-product-section__recommend .ui-static-slider-button-next .ui-static-icon {
  color: var(--color-white);
}
.db-top-product-section__recommend .ui-static-slider-button-prev {
  left: -22px;
}
.db-top-product-section__recommend .ui-static-slider-button-next {
  right: -22px;
}
.db-top-product-section__recommend-link {
  overflow: hidden;
  border-radius: 8px;
  transition: opacity 0.25s;
}
.db-top-product-section__recommend-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.db-top-ranking-cards {
  counter-increment: ranking-counter;
}
.db-top-ranking-cards.swiper-slide {
  width: 264px;
}
.db-top-ranking-cards .ui-static-product-card .ui-static-product-card-container {
  /* stylelint-disable-next-line */
  padding: 16px 16px 0 44px;
}
.db-top-ranking-cards .ui-static-product-card .ui-static-product-card-container::before {
  position: absolute;
  top: 16px;
  left: 18px;
  display: block;
  width: 20px;
  height: 20px;
  content: "";
  background: #e6e6e6;
  mask-image: url("../image/common/icon_crown.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.db-top-ranking-cards .ui-static-product-card .ui-static-product-card-container::after {
  position: absolute;
  top: 21px;
  left: 18px;
  width: 20px;
  font-family: var(--font-family-robot);
  font-size: 0.75rem;
  font-weight: bold;
  color: #373737;
  text-align: center;
  content: counter(ranking-counter);
}
.db-top-ranking-cards:nth-child(1) .ui-static-product-card .ui-static-product-card-container::before {
  background: linear-gradient(129.37deg, #a98a1c 16.85%, #cda726 28.48%, #b1901c 38.82%, #63500e 100%);
}
.db-top-ranking-cards:nth-child(1) .ui-static-product-card .ui-static-product-card-container::after {
  color: var(--color-white);
}
.db-top-ranking-cards:nth-child(2) .ui-static-product-card .ui-static-product-card-container::before {
  background: linear-gradient(128.66deg, #697180 16.77%, #8b95a8 27.38%, #697180 40.87%, #434b59 100%);
}
.db-top-ranking-cards:nth-child(2) .ui-static-product-card .ui-static-product-card-container::after {
  color: var(--color-white);
}
.db-top-ranking-cards:nth-child(3) .ui-static-product-card .ui-static-product-card-container::before {
  background: linear-gradient(129.37deg, #9e2a00 17.71%, #c73f0d 29.34%, #9e2a00 41.41%, #5d1900 100%);
}
.db-top-ranking-cards:nth-child(3) .ui-static-product-card .ui-static-product-card-container::after {
  color: var(--color-white);
}

.db-top-feature-cards.swiper-slide {
  max-width: 264px;
}
.db-top-feature-cards.swiper-slide.u-sp-only {
  align-self: center;
  width: auto;
  max-width: none;
}
.db-top-feature-cards.swiper-slide .ui-static-button {
  font-weight: var(--font-normal);
}
.db-top-feature-cards .ui-static-product-card .ui-static-product-card-container {
  padding-top: 16px;
}

.db-top-ranking-cards .ui-static-product-card .ui-static-product-card-departure-arival-info,
.db-top-feature-cards .ui-static-product-card .ui-static-product-card-departure-arival-info {
  padding: 0;
  margin: 0;
}

.ui-static-modal-overlay .ui-static-modal-content-header-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-base);
}

.db-top-sidebar {
  position: sticky;
  top: 0;
  height: fit-content;
}
.db-top-sidebar__heading {
  font-size: 1.125rem;
}
.db-top-sidebar__heading--icon {
  width: 24px;
  height: 24px;
  background-color: var(--color-muted);
  mask-image: url("../image/icon_category-search.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.db-top-sidebar__purposes {
  margin-top: 16px;
}
.db-top-sidebar__link {
  width: 100%;
}
.db-top-sidebar__link + .db-top-sidebar__link {
  /* stylelint-disable-next-line */
  margin-top: 12px;
}
.db-top-sidebar__item-wrapper {
  /* stylelint-disable-next-line */
  gap: 12px;
}
.db-top-sidebar__item-wrapper img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.db-top-sidebar__link-text {
  width: 100%;
  font-size: 1rem;
  text-underline-offset: 3px;
  text-shadow: none;
}
.db-top-sidebar__more-button {
  min-width: 100%;
  margin-top: 16px;
  font-weight: var(--font-normal);
}
.db-top-sidebar__more-button:focus {
  color: var(--color-base);
  background: var(--color-white);
  border-color: #939dad;
}

.db-banner__list {
  display: flex;
  gap: 24px;
  justify-content: center;
}
.db-banner__link {
  transition: opacity 0.25s;
}
.db-banner--rectangle {
  padding-bottom: 0;
}
.db-banner--rectangle .db-banner__item {
  width: calc((100% - 24px) / 2);
  max-width: 540px;
  aspect-ratio: 736/300;
}
.db-banner--rectangle .db-banner__img {
  width: 100%;
  height: 100%;
}
.db-banner--rectangle .db-banner__button {
  display: none;
}
.db-banner--square .db-banner__item {
  width: 164px;
  aspect-ratio: 1/1;
}
.db-banner--square .db-banner__list {
  flex-wrap: wrap;
}
.db-banner:has(.js-banner-slider) .db-banner__list {
  gap: 0;
  justify-content: initial;
}
.db-banner:has(.js-banner-slider) .db-banner__button {
  top: 50%;
  display: block;
}
.db-banner:has(.js-banner-slider) .swiper-pagination {
  display: none;
}

.db-top-banner {
  margin-bottom: 96px;
}

.db-top-layout {
  margin-bottom: 96px;
}
.db-top-layout__sidebar {
  flex-shrink: 0;
  width: 24%;
  max-width: 232px;
}
.db-top-layout__main {
  flex-grow: 1;
  width: calc(76% - 40px);
  min-width: 0;
}
@media screen and (width < 768px) {
  .db-p-header-alert__inner {
    align-items: flex-start;
  }
  .db-p-header-alert__icon {
    line-height: 1.5;
  }
  .db-top-mv {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
  }
  .db-top-mv__heading {
    padding-inline: 0;
    font-size: 1.5rem;
  }
  .db-top-product-section__heading {
    margin-bottom: 16px;
  }
  .db-top-product-section__heading .ui-static-button {
    display: none;
  }
  .db-top-product-section .db-top-ranking-slider .swiper {
    /* stylelint-disable-next-line declaration-property-value-allowed-list */
    padding: 10px 20px;
    /* stylelint-disable-next-line declaration-property-value-allowed-list */
    margin: -10px -20px;
  }
  .db-top-product-section .db-top-ranking-slider .ui-static-slider-button-prev {
    left: -16px;
  }
  .db-top-product-section .db-top-ranking-slider .ui-static-slider-button-next {
    right: -16px;
  }
  .db-top-product-section__recommend {
    /* stylelint-disable-next-line declaration-property-value-allowed-list */
    padding-bottom: 30px;
  }
  .db-top-product-section__recommend .swiper .swiper-slide {
    width: 140px;
  }
  .db-top-product-section__recommend .ui-static-slider-button-prev,
  .db-top-product-section__recommend .ui-static-slider-button-next {
    display: none;
  }
  .db-top-product-section__recommend .ui-static-slider-button-prev {
    left: -16px;
  }
  .db-top-product-section__recommend .ui-static-slider-button-next {
    right: -16px;
  }
  .db-banner--rectangle:has(.js-banner-slider) {
    padding-bottom: 40px;
  }
  .db-banner--rectangle .db-banner__item {
    width: 100%;
    height: auto;
  }
  .db-banner--square {
    display: none;
  }
  .db-banner:has(.js-banner-slider) .db-banner__button {
    display: none;
  }
  .db-banner:has(.js-banner-slider) .swiper-pagination {
    display: block;
  }
  .db-top-banner {
    margin-bottom: 40px;
  }
  .db-top-layout__sidebar {
    display: none;
  }
  .db-top-layout__main {
    width: 100%;
  }
}
@media (any-hover: hover) {
  .db-p-header-alert__inner:hover .db-p-header-alert__heading {
    text-decoration: none;
  }
  .db-top-product-section .db-top-ranking-slider .ui-static-slider-button-prev:hover,
  .db-top-product-section .db-top-ranking-slider .ui-static-slider-button-next:hover {
    background: rgba(44, 42, 41, 0.3);
  }
  .db-top-product-section__recommend .ui-static-slider-button-prev:hover,
  .db-top-product-section__recommend .ui-static-slider-button-next:hover {
    background: rgba(44, 42, 41, 0.3);
  }
  .db-top-product-section__recommend-link:hover {
    opacity: 0.7;
  }
  .db-top-sidebar__link:hover .ui-static-icon-color-gray {
    color: var(--color-hover);
  }
  .db-banner__link:hover {
    opacity: 0.7;
  }
}
@media print, screen and (width >= 768px) {
  .db-top-mv__heading {
    padding-block: 0;
  }
  .db-top-mv__heading--br {
    display: none;
  }
  .db-top-product-wrapper {
    gap: 40px;
  }
  .db-top-product-wrapper__inner--recommend {
    /* stylelint-disable-next-line */
    margin-top: 56px;
  }
  .db-banner:has(.js-banner-slider) .db-banner__swiper.swiper .swiper-slide {
    width: 352px;
  }
  .db-top-layout {
    display: flex;
    gap: 40px;
  }
}
