@charset "utf-8";
/* 「ホテルランキング共通」PCSP共通 ベースCSS */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/tyo/common/font/RobotoCondensed-300.woff2) format('woff2');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/tyo/common/font/RobotoCondensed-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url(/tyo/common/font/MaterialSymbolsRounded.woff2) format('woff2');
}
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main .is-em {
  font-weight: bold;
}
#topbuttonApp, #searchArea {
  position: relative;
  z-index: 1;
}
.breadcrumb__inner {
  width: min(100%, 1024px);
  margin: auto;
  letter-spacing: 0 !important;
}
.is-device-pc :is(#breadcrumbArea, .breadcrumb__contents) {
  height: auto;
  min-height: 28px;
  overflow: auto;
}
.is-device-pc .breadcrumb {
  width: auto;
  margin: 0;
  overflow: hidden;
}
.goTop__link {
  display: none;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
:root {
  --default-color-black: #000;
  --default-color-gray: #ebebeb;
  --default-color-red: #cd0e0e;
  --default-font-size-pc-val: 15;
  --default-font-size-pc: 15px;
  --default-font-size-sp: calc(24vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-width-sp-val: 686;
  --default-width-pc-val: 992;
  --default-width-sp: (662vw / 7.5);
  --default-width-pc: 992px;
  --default-width: min(var(--default-width-sp), var(--default-width-pc));
  --default-width2: min(100%, var(--default-width-pc));
  --default-bg-width-pc: max(100%, 1920px);
  --default-bg-setting: no-repeat center center / cover;
  --default-ff-en: "Roboto Condensed", sans-serif;
  --default-ff-icon: "Material Symbols Rounded";
  --default-icon-arw-r: "\e5e1";
  --default-icon-blank: "\e89e";
  --default-hover-speed: .3s;
  --default-hover-opacity: .7;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
  --default-hover-transition-bg: background var(--default-hover-speed);
  --default-hover-transition-fc: color var(--default-hover-speed);
  --default-hover-transition-tf: transform var(--default-hover-speed);
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--default-color-black);
  line-height: calc(32 / var(--default-font-size-sp-val));
  font-feature-settings: "palt";
  letter-spacing: 1px;
  padding-bottom: 0 !important;
}
.is-pc .is-dsp-sp, .is-sp .is-dsp-pc {
  display: none !important;
}
.is-font-small, .is-sp .is-font-small-sp, .is-pc .is-font-small-pc {
  font-size: .8em;
}
.is-font-big {
  font-size: 1.5em;
  line-height: 1;
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.is-pr-half {
  padding-right: .5em;
}
.toggle__contents:not([class*="--active"]) {
  display: none;
}
.js-open-trigger {
  cursor: pointer;
  position: relative;
}
.js-open-target {
  display: none;
}
.js-modal-button, .js-accordion-button, .js-toggleControl:not([class*="active"]) {
  cursor: pointer;
}
.js-accordion-button + * {
  display: none;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
:where([class*="__link"], [class*="--link"]) {
  color: inherit;
}
/*button＋text-link*/
.base-text-link__link {
  color: var(--textlink-color, inherit);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0 .25em;
}
.base-button__link, .base-small-button__link, .base-text-link__link {
  &::after {
    content: var(--icon, var(--default-icon-arw-r));
    font-family: var(--default-ff-icon);
    line-height: .9;
  }
  &[href^="#"]::after {
    transform: rotate(90deg);
    margin-top: .25em;
  }
  &[target="_blank"]::after {
    --icon: var(--default-icon-blank);
  }
}
.base-button__wrapper, .base-button, .base-small-button {
  --btn-yohaku-ue: min((50vw / 7.5), 40px);
}
.base-button, .base-small-button {
  display: grid;
  justify-items: center;
  &:not(:first-child):not(.is-mt-0) {
    margin-top: var(--btn-yohaku-ue)
  }
}
.base-button__link, .base-small-button__link {
  --btn-gap: .5em;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0 var(--btn-gap);
  align-items: center;
  color: var(--btn-fc);
  font-size: var(--btn-fs);
  line-height: 1.2;
  font-weight: 500;
  text-align: center;
  letter-spacing: .05em;
  width: 100%;
  height: 100%;
  min-height: var(--btn-h);
  padding: .3em .75em .4em;
  border-radius: 500px;
  background: var(--btn-bg, #fff);
  &.base-button__link {
    --btn-fc: #fff;
    --btn-fs: min((28vw / 7.5), 18px);
    --btn-h: min((76vw / 7.5), 50px);
    max-width: var(--btn-w, min((520vw / 7.5), 340px));
    min-width: var(--btn-min-w);
  }
  &.base-small-button__link {
    --btn-fc: #333;
    --btn-h: min((61vw / 7.5), 42px);
    border: var(--btn-border, 1px solid #888);
  }
  .base-button__text {
    padding-left: calc(var(--btn-gap) * 2);
  }
}
.base-button__wrapper {
  display: grid;
  --btn-gap-tate-max: 28px;
  --btn-gap: min((20vw / 7.5), var(--btn-gap-tate-max));
  gap: var(--btn-gap);
  .is-pc & {
    --btn-gap: calc((24 / 704) * 100%);
    grid-template-columns: repeat(auto-fit, calc((100% - var(--btn-gap)) / 2));
    justify-content: center;
    grid-row-gap: var(--btn-gap-tate-max);
  }
  &:not(:first-child) {
    margin-top: var(--btn-yohaku-ue)
  }
  .base-button, .base-small-button {
    margin-top: 0 !important;
  }
}
.is-pc .base-button__wrapper:not(:has(:is(.base-button, .base-small-button):only-child)) {
  max-width: 704px;
}
.is-pc .base-button__wrapper:has(:is(.base-button, .base-small-button):only-child) {
  grid-template-columns: auto;
  :is(.base-button__link, .base-small-button__link) {
    --btn-min-w: 600px;
  }
}
/*base-banner*/
.banner_wrapper {
  display: grid;
  justify-items: center;
  gap: var(--gap, min((30vw / 7.5), 15px));
  width: min(var(--default-width-sp), 960px);
  margin: var(--yohaku-top, 0) auto var(--yohaku-btm, 0);
}
.is-pc .banner_wrapper {
  --gap: 11px;
  grid-template-columns: repeat(2, 1fr);
}
.is-pc .banner_wrapper .base-banner.is-column-1 {
  grid-column: span 2;
}
.is-sp .banner_wrapper .base-banner {
  max-width: 400px;
}
.product__title + .banner_wrapper {
  --yohaku-btm: min((50vw / 7.5), 25px);
}
.product__list--contents ~ .banner_wrapper {
  --yohaku-top: min((60vw / 7.5), 30px);
}
.base-banner__link {
  background: #fff;
}
/*slider*/
.main {
  .splide {
    --slide-arw-size: min((40vw / 7.5), 30px);
    padding-left: var(--slide-arw-size);
    padding-right: var(--slide-arw-size);
    &:not(.is-overflow) {
      .splide__arrow {
        display: none;
      }
      .splide__list {
        justify-content: center;
      }
    }
    &.is-overflow {}
  }
  /*  .splide__list {
    margin: 0 3px !important;
  }*/
  .splide__arrow {
    background: #c1beb3;
    border-radius: 0;
    height: 100%;
    width: var(--slider-arrow-size, var(--slide-arw-size));
    opacity: 1;
    transition: var(--default-hover-transition-opacity);
    &:disabled {
      opacity: 0;
      cursor: default;
    }
    svg {
      fill: #fff;
      width: min(70%, 20px);
      height: 20%;
    }
  }
  .splide__arrow--prev {
    left: 0;
  }
  .splide__arrow--next {
    right: 0;
  }
  .splide__pagination {
    --slider-pagination-size: min((20vw / 7.5), 16px);
    bottom: var(--slider-pagination-posi, min((20vw / 7.5), 20px));
    gap: var(--slider-pagination-gap, var(--slider-pagination-size));
    li {
      line-height: 0;
    }
  }
  .splide__pagination__page {
    opacity: 1;
    margin: 0;
    width: var(--slider-pagination-size);
    height: var(--slider-pagination-size);
    aspect-ratio: 1;
    background: var(--slider-pagination-bg, #c1beb3);
    border-radius: var(--slider-pagination-radius, 50%);
    &.is-active {
      --slider-pagination-bg: var(--slider-pagination-bg-active, #a6880a);
      --slider-pagination-radius: var(--slider-pagination-radius-active);
      transform: scale(1);
    }
  }
}
/*js-button-fixed*/
.js-button-fixed {
  width: min((184vw / 7.5), 131px);
  aspect-ratio: 184 / 191;
  position: fixed;
  top: min((13vw / 7.5), 13px);
  right: min((13vw / 7.5), 13px);
  z-index: 10;
  transform: translateX(var(--fixed-btn-posi, 150%));
  transition: transform .6s;
  &.is-dsp:not(.is-over) {
    --fixed-btn-posi: 0;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .base-small-button__link {
    transition: var(--default-hover-transition-bg);
    &:hover {
      --btn-bg: #e2e2e2;
    }
  }
  .base-button__link {
    transition: var(--default-hover-transition-opacity);
    &:hover {
      opacity: var(--default-hover-opacity);
    }
  }
}