@charset "utf-8";

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/tyo/common/font/NotoSansJP-500.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;
  }
  a {
    text-decoration: none;
  }
  .is-em {
    font-weight: bold;
  }
}
#topbuttonApp,
#searchArea {
  position: relative;
  z-index: 1;
}

/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
:root {
  --default-font-size-pc: 18px;
  --default-font-size-sp: calc(28vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-font-lh: 1.4;
  --default-font-lh2: 1.6;
  --default-width-sp-val: 750;
  --default-width-pc-val: 1104;
  --default-width-sp: (710vw / 7.5);
  --default-width-pc: 1104px;
  --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-color-green: #074f03;
  --default-color-light-green1: #44a83e;
  --default-color-light-green2: #99d39f;
  --default-color-red: #bc1818;
  --default-ff-icon: "Material Symbols Rounded";
  --default-ico-arrow-r: "\e5e1";
  --default-ico-blank: "\e89e";
  --default-hover-speed: .3s;
  --default-hover-opacity: .8;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
  --default-hover-transition-background: background var(--default-hover-speed);
  --default-hover-transition-color: color var(--default-hover-speed);
}
.material-symbols-rounded {
  font-family: var(--default-ff-icon);
  font-weight: normal;
  font-style: normal;
  font-size: 1em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: #000;
  line-height: var(--default-font-lh);
  padding-bottom: 0 !important;
  a[class*="link"] {
    &:not(.js-link-domAir) {
      color: inherit;
    }
  }
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1,
.section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
@media(width < 860px) {
  .is-dsp-pc {
    display: none !important;
  }
}
@media(width >=861px) {
  .is-dsp-sp {
    display: none !important;
  }
}
.is-push {
  font-weight: normal;
  color: var(--default-color-red);
}
/*.float-button*/
.float-button {
  width: min((144vw / 7.5), 170px);
  height: min((144vw / 7.5), 170px);
  position: fixed;
  top: min((40vw / 7.5), 33px);
  right: 14px;
  translate: var(--floatbtn-posi-x, 200%) 0;
  transition: translate .7s;
  z-index: 10;
  &.is-fixed:not(.is-over) {
    --floatbtn-posi-x: 0
  }
}
.float-button__link {
  display: block;
}
.float-button__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*.button__wapper*/
.button__wapper {
  display: grid;
  justify-items: center;
  gap: var(--btn-gap);
  --btn-gap: min((40vw / 7.5), 30px) 0;
  --btn-col: 2;
  margin-top: min((55vw / 7.5), 25px);
  @media(width >=861px) {
    grid-template-columns: repeat(auto-fit, calc(100% / var(--btn-col)));
    &:has(> :nth-child(-n+1):last-child) {
      justify-content: center;
    }
  }
}
/*.base-button*/
.base-button.ui-static-button {
  min-width: min((590vw / 7.5), 370px);
  height: min((72vw / 7.5), 50px);
  font-size: var(--default-font-size);
  font-weight: normal;
  padding-top: min((24vw / 7.5), 12px);
  .ui-static-icon {
    color: inherit;
  }
  &:not(.is-blank) {
    .ui-static-icon {
      font-size: 1.4em;
      --wght: 400;
    } 
  }
  &.hotel__button, &.product__button {
    background: #fff !important;
    border-color: #000 !important;
    color: #000;
  }
  &.enjoy__button {
    min-width: min((590vw / 7.5), 400px);
    background: var(--default-color-green) !important;
    border-color: #000 !important;
    color: #fff;
  }
}
/*.base-textlink*/
.base-textlink__texts {
  display: flex;
  align-items: center;
  gap: .25em;
  color: var(--ui-static-unleash-blue-100);
  line-height: 1.2;
  .ui-static-icon {
    color: inherit;
  }
  &:not(.is-blank) {
  .ui-static-icon {
    font-size: 1.4em;
    --wght: 400;
    padding-top: min((3vw / 7.5), 3px);
    }
  }
}

/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*.mv*/
.mv {
  display: grid;
  align-items: center;
  justify-content: center;
  position: relative;
  height: var(--mv-size-h);
  background: var(--mv-bg) no-repeat center top / cover;
  @media(width < 861px) {
    --mv-size-h: calc((900vw / 7.5));
    --mv-bg: url("../images/mv_bg_sp.webp");
  }
  @media(width >=861px) {
    --mv-size-h: 672px;
    --mv-bg: url("../images/mv_bg_pc.webp");
    @media(width >=1920px) {
      --mv-size-h: calc(672vw / 19.20);
    }
  }
  .mv__title {
    width: min((682vw / 7.5), 682px);
    height: min((520vw / 7.5), 520px);
    @media(width >=861px) {
      width: min((1100vw / 11.04), 1100px);
      height: min((488vw / 11.04), 488px);
    }
    .mv__title--picture {
      .mv__title--picture--image {
        width: 100%;
        height: 100%;
      }
    }
  }

}
/*.intro*/
.intro {
  width: var(--default-width);
  margin: min((104vw / 7.5), 55px) auto min((55vw / 7.5), 45px);
}
.intro__texts {
  font-size: min((30vw / 7.5), 18px);
  font-weight: bold;
  line-height: var(--default-font-lh2);
  text-align: center;
  @media(width >=861px) {
    width: min((760vw / 11.4), 760px);
    margin: auto;
  }
}

/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
/*section*/
.section__inner {
  width: var(--default-width);
  margin: auto;
  padding: min((80vw / 7.5), 55px) 0 min((100vw / 7.5), 80px);
}

.section__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min((20vw / 7.5), 30px);
  font-weight: bold;
  line-height: var(--default-font-lh2);
  text-align: center;
  margin-bottom: min((40vw / 7.5), 60px);
  &::before {
    display: block;
    content: '';
    mask-image: url(../images/title_icon.svg);
    mask-repeat: no-repeat;
    background-color: #e1c985;
    width: min((91vw / 7.5), 65px);
    height: min((60vw / 7.5), 43px);
  }
  #hotel &, #product & {
    &::before {
      background-color: rgb(255 255 255 / 0.6);
    }
  }
  #basic-info & {
    &::before {
      content: none;
    }
  }
  .section__title--text {
    display: flex;
    flex-direction: column;
    .section__title--text--main {
      font-size: min((44vw / 7.5), 32px);
    }
    .section__title-text--sub {
      font-size: min((30vw / 7.5), 22px);
    }
  }
}

/*.appeal__list*/
.appeal__list {
  margin-top: min((35vw / 7.5), 25px);
    #product & {
      margin-top: 0;
      padding: min((30vw / 7.5), 25px) min((18vw / 7.5), 40px);
    }
  .appeal__list--item {
    display: flex;
    --point-gap: min((28vw / 7.5), 14px);
    gap: var(--point-gap);
    border-bottom: 1px dotted var(--border-color, #000);
    --num-size: 1.5em;
    padding: min((20vw / 7.5), 10px) min((8vw / 7.5), 10px) min((15vw / 7.5), 10px);
    :where(#product) & {
      --border-color: var(--default-color-green);
      padding: min((20vw / 7.5), 20px) min((8vw / 7.5), 10px) min((20vw / 7.5), 10px);
    }
    &:first-child {
      padding-top: 0;
    }
    .appeal__list--item--num {
      display: flex;
      align-items: center;
      justify-content: center;
      width: var(--num-size);
      height: var(--num-size);
      font-size: min((24vw / 7.5), 20px);
      font-weight: bold;
      text-align: center;
      color: #fff;
      border-radius: 100px;
      background: var(--num-bg, #000);
      --num-bg: var(--default-color-red);
      #product & {
        --num-bg: var(--default-color-green);
      }
    }
    .appeal__list--item--text {
      width: calc(100% - (var(--num-size) + var(--point-gap)));
      font-size: min((34vw / 7.5), 20px);
      #product & {
        font-size: min((26vw / 7.5), var(--default-font-size-pc));
      }
      @media(width <860px) {
        margin-top: max((-8vw / 7.5), -4px);
      }
    }
  }
}

/*#point*/
#point {
  .point-area {
    display: flex;
    flex-direction: column;
    /*grid-template-columns: 1fr;*/
    --area-gap: min((60vw / 7.5), 63px);
    gap: var(--area-gap);
    @media(width >=861px) {
      flex-direction: row;
      /*grid-template-columns: 380px 1fr;*/
    }
    --point-img-w: min((710vw / 7.5), 710px);
    --point-img-h: min((500vw / 7.5), 500px);
    @media(width >=861px) {
      --point-img-w: min((380vw / 11.04), 380px);
      --point-img-h: min((500vw / 11.04), 500px);
    }
    .point-area__image {
      width: var(--point-img-w);
      height: var(--point-img-h);
      .base-picture__image {
        width: 100%;
        height: 100%;
      }
    }
    .point-area__list {
      @media(width >=861px) {
        width: calc(100% - calc(var(--point-img-w) + var(--area-gap)));
      }
      .point-area__list--item {
        line-height: var(--default-font-lh2);
        margin-top: min((50vw / 7.5), 30px);
        &:first-child {
          margin-top: 0;
        }
        .point-area__list--item--title {
          display: flex;
          align-items: center;
          --ttl-gap: min((28vw / 7.5), 28px);
          gap: var(--ttl-gap);
          font-size: min((34vw / 7.5), 21px);
          font-weight: bold;
          margin-bottom: .5em;
          --ttl-num-size: min((90vw / 7.5), 74px);
          .point-area__list--item--title--num {
            width: var(--ttl-num-size);
            height: var(--ttl-num-size);
            .point-area__list--item--title--num--image {
              width: 100%;
              height: 100%;
            }
          }
          .point-area__list--item--title--text {
            width: calc(100% - calc(var(--ttl-num-size) + var(--ttl-gap)));
          }
        }
        .point-area__list--item--detail {
          padding-left: min((118vw / 7.5), 102px);
          .point-area__list--item--detail--otoku:not(:first-child) {
            margin-top: .5em;
          }
        }
      }
    }
  }
}

/*#flight*/
#flight {
  background: #f3f0e0;
  .flight-area {
    width: min((672vw / 7.5), 1064px);
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--flight-gap);
    --flight-gap: min((32vw / 7.5), 32px);
    margin: auto;
    @media(width >=861px) {
      grid-template-columns: repeat(auto-fit, calc((100% - var(--flight-gap) * 1) / 2));
      --flight-gap: 24px;
    }
    .flight-area__inner {
      @media(width >=861px) {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        gap: 0;
      }
      .flight-area__title {
        background: var(--default-color-green);
        color: #fff;
        font-size: min((26vw / 7.5), 20px);
        text-align: center;
        padding: min((10vw / 7.5), 7px) 0;
      }
      .flight-area__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border: 1px solid #000;
        @media(width >=861px) {
          grid-template-rows: subgrid;
          grid-row: span 2;
          grid-template-columns: 40% 30% 30%;
          @media(width <1065px) {
            grid-template-columns: repeat(3, 1fr);
          }
        }
        .flight-area__list--item {
          display: grid;
          grid-template-rows: subgrid;
          grid-row: span 2;
          background: #fff;
          gap: 0;
          &:not(:first-child) {
            border-left: 1px solid #000;
          }
          .flight-area__list--item--title {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            background: #e5e5e5;
            font-size: min((24vw / 7.5), 16px);
            font-weight: normal;
            border-bottom: 1px solid #000;
            padding: min((10vw / 7.5), 7px);
          }
          .flight-area__list--item--data {
            height: 100%;
            font-size: min((26vw / 7.5), 16px);
            font-weight: 500;
            text-align: center;
            padding: min((10vw / 7.5), 7px);
            @media(width <1065px) {
              display: flex;
              flex-direction: column;
              justify-content: center;
            }
          }
        }
      }
    }
  }
  .flight-appeal {
    width: fit-content;
    min-width: min((622vw / 7.5), 515px);
    margin: min((70vw / 7.5), 55px) auto 0;
    @media(width <672px) {
      width: min((622vw / 7.5), 515px);
    }
    .flight-appeal__title {
      color: var(--default-color-green);
      font-size: min((39vw / 7.5), 24px);
      font-weight: bold;
      text-align: center;
    }
  }
  .flight__notes {
    width: min((672vw / 7.5), 1064px);
    font-size: 14px;
    margin: min((22vw / 7.5), 22px) auto 0;
    @media(width <860px) {
      font-size: min((24vw / 7.5), 14px);
    }
    .flight__notes--item:not(:first-child) {
      margin-top: .3em;
    }
  }
  .carrier-info {
    width: min((672vw / 7.5), 1064px);
    background: #fff;
    margin: min((90vw / 7.5), 42px) auto 0;
    padding: min((50vw / 7.5), 35px) min((25vw / 7.5), 25px) min((50vw / 7.5), 50px);
    .carrier-info__title {
      color: var(--default-color-green);
      font-size: min((39vw / 7.5), 24px);
      font-weight: bold;
      text-align: center;
    }
    .carrier-info__inner {
      display: flex;
      --carrier-gap:  min((30vw / 7.5), 40px);
      gap: var(--carrier-gap);
      --carrier-img-pc-w: min((390vw / 11.04), 390px);
      margin-top: min((40vw / 7.5), 40px);
      @media(width <861px) {
        flex-direction: column;
      }
      .carrier-info__list {
        display: flex;
        flex-direction: column;
        gap: min((25vw /7.5), 12px);
        @media(width >=860px) {
          width: calc(100% - (var(--carrier-gap) + var(--carrier-img-pc-w)));
        }
        .carrier-info__list--item {
          display: flex;
          gap: .3em;
          border-bottom: 1px dotted #000;
          padding: 0 0 min((25vw /7.5), 12px) min((10vw /7.5), 10px);
          @media(width <860px) {
            flex-direction: column;
          }
          @media(width >=861px) {
            gap: 1em;
            align-items: baseline;
          }
          .carrier-info__list--item--title {
            width: 6em;
            height: fit-content;
            font-size: min((24vw / 7.5), 16px);
            font-weight: bold;
            text-align: center;
            color: #fff;
            background: var(--default-color-green);
            border-radius: 100px;
            padding: min((3vw / 7.5), 3px) 1em min((5vw / 7.5), 5px);
          }
          .carrier-info__list--item--text {
            font-size: min((30vw / 7.5), 16px);
            @media(width >=860px) {
              width: calc(100% - (7em + 10px));
            }
          }
        }
      }
      .carrier-info__image {
        width: min((620vw / 7.5), 620px);
        height: min((390vw / 7.5), 390px);
        @media(width <861px) {
          display: flex;
          align-self: center;
        }
        @media(width >=861px) {
          width: var(--carrier-img-pc-w);
          height: min((245vw / 11.04), 245px);
        }
        .carrier-info__imag--photo {
          width: 100%;
          height: 100%;
        }
      }
    }
  }

}

/*#enjoy*/
#enjoy {
  .enjoy__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, calc((100% - var(--enjoy--gap) * (var(--enjoy-col) - 1)) / var(--enjoy-col)));
    gap: var(--enjoy--gap);
    --enjoy--gap: min((44vw / 7.5), 27px);
    --enjoy-col: 2;
    @media(width >=861px) {
      --enjoy-col: 3;
    }
    @media(width <860px) {
      width: calc(674vw / 7.5);
      margin: auto;
    }
    .enjoy__list--item {
      display: flex;
      flex-direction: column;
      .enjoy__list--item--title {
        font-size: min((34vw / 7.5), 22px);
        font-weight: bold;
        text-align: center;
        margin-bottom: min((15vw / 7.5), 15px);
      }
      .enjoy__list--item--image {
        width: 100%;
        --item-img-size-h: calc((220 / 350) * 100%);
        padding-top: var(--item-img-size-h);
        margin-bottom: min((22vw / 7.5), 28px);
        position: relative;
        order: -1;
        .enjoy__list--item--image--photo {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
        }
      }
      .enjoy__list--item--text {
        line-height: var(--default-font-lh2);
      }
    }
  }
}

/*#hotel*/
#hotel {
  background: var(--default-color-light-green2);
    .hotel__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--hotel--gap);
    --hotel--gap: min((55vw / 7.5), 27px);
    @media(width >=861px) {
      grid-template-columns: repeat(auto-fit, calc((100% - var(--hotel--gap) * (var(--hotel-col) - 1)) / var(--hotel-col)));
      --hotel-col: 3;
    }
    .hotel__list--item {
      display: flex;
      flex-direction: column;
      background: #fff;
      .hotel__list--item--title {
        font-size: min((34vw / 7.5), 22px);
        font-weight: bold;
        text-align: center;
        padding: 0 min((25vw / 7.5), 15px);
        margin-bottom: min((15vw / 7.5), 15px);
        .is-inline-block {
          @media(width <861px) {
            padding: 0 .25em;
          }
        }
      }
      .hotel__list--item--image {
        width: 100%;
        --item-img-size-h: calc((220 / 350) * 100%);
        padding-top: var(--item-img-size-h);
        margin-bottom: min((22vw / 7.5), 24px);
        position: relative;
        order: -1;
        .hotel__list--item--image--photo {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
        }
      }
      .hotel__list--item--text {
        line-height: var(--default-font-lh2);
        padding: 0 min((25vw / 7.5), 15px) min((40vw / 7.5), 25px);
      }
    }
  }
}

/*#tokuten*/
#tokuten {
  background: #f3f0e0;
  .tokuten__list {
    display: grid;
    gap: min((55vw / 7.5), 45px);
    @media(width >=861px) {
      grid-template-columns: repeat(2, 1fr);
    }
    .tokuten__list--item {
      background: linear-gradient(90deg,rgba(188, 141, 28, 1) 0%, rgba(233, 214, 152, 1) 50%, rgba(188, 141, 28, 1) 100%);
      padding: min((10vw / 7.5), 10px);
      @media(width >=861px) {
        &:nth-child(n+3) {
          grid-column: span 2;
        }
      }
      .tokuten__list--item--texts--title {
        width: fit-content;
        margin: 0 auto min((30vw / 7.5), 25px);
      }
      .tokuten_list--item--texts {
        height: 100%;
        background: #fff;
        padding: min((44vw / 7.5), 22px) min((20vw / 7.5), 34px);
        .tokuten__list--item--texts--title {
          font-size: min((30vw / 7.5), 20px);
          color: #fff;
          background: var(--default-color-red);
          text-align: center;
          padding: min((10vw / 7.5), 10px) min((20vw / 7.5), 20px);
        }
        .tokuten__list--item--texts--detail {
          display: grid;
          grid-template-columns: 1fr;
          gap: min((45vw / 7.5), 60px);
          .is-comfortable & {
            @media(width >=861px) {
              grid-template-columns: repeat(2, 1fr);
              gap: 60px;
            }
          }
          .tokuten__list--item--texts--detail--inner {
            font-size: min((26vw / 7.5), 18px);
            line-height: var(--default-font-lh2);
            .tokuten__list--item--texts--detail--main {
              font-size: min((28vw / 7.5), 22px);
              color: var(--default-color-red);
              border-bottom: min((2vw / 7.5), 2px) var(--default-color-red) solid;
              text-align: center;
              padding-bottom: min((10vw / 7.5), 5px);
              margin-bottom: min((10vw / 7.5), 10px);
              @media(width >=861px) {
                .is-op & {
                  display: flex;
                  justify-content: center;
                  gap: .5em
                }
              }
              .is-title-notes {
                color: #000;
                @media(width <861px) {
                  display: inline-block;
                  padding-bottom: min((5vw / 7.5), 5px);
                }
              }
            }
            .tokuten__list--item--texts--detail--text1 {
              .tokuten__list--item--texts--detail--text1--item {
                text-indent: -1em;
                padding-left: 1em;
                &::before {
                  content: "・";
                }
              }
              .is-push {
                font-size: min(var(--default-font-size-sp), 20px);
              }
              .is-indent-1 {
                display: block;
              }
            }
            .tokuten__list--item--texts--detail--text2 {
              margin-top: 1em;
              .tokuten__list--item--texts--detail--text2--item {
                text-indent: -1em;
                padding-left: 1em;
                &::before {
                  content: "・";
                }
                .is-wifi & {
                text-indent: -1.2em;
                padding-left: 1.2em;
                  &::before {
                    display: inline-block;
                    content: "";
                    width: 1em;
                    height: 1em;
                    background: var(--default-color-red);
                    margin-right: .2em;
                  }
                }
              }
            }
            .tokuten__list--item--texts--detail--notes {
              font-size: min((24vw / 7.5), 16px);
              margin-top: 1em;
            }
            .tokuten__list--item--texts--detail--links--item {
              font-size: min((24vw / 7.5), 16px);
              margin-left: 1em;
            }
          }
        }
      }
    }
  }
}

/*#product*/
#product {
  background: var(--default-color-light-green2);
  .product__inner {
    &:not(:first-of-type) {
      margin-top: min((80vw / 7.5), 80px);
    }
    .product-plan {
      background: #fff;
      .product-plan__title {
        display: flex;
        align-items: center;
        color: #fff;
        background: var(--default-color-light-green1);
        .product-plan__title--plan {
          width: min((235vw / 7.5), 252px);
          font-size: min((26vw / 7.5), 24px);
          font-weight: bold;
          background: var(--default-color-green);
          padding: min((15vw / 7.5), 8px) min((30vw / 7.5), 30px) min((15vw / 7.5), 8px) min((20vw / 7.5), 20px);
          text-align: center;
          clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
        }
        .product-plan__title--text {
          font-size: min((30vw / 7.5), 26px);
          font-weight: 500;
          padding: min((15vw / 7.5), 6px) min((25vw / 7.5), 30px);
        }
      }
    }
    .product__list {
      display: grid;
      color: #000;
      margin-top: min((35vw / 7.5), 35px);
      @media(width >=861px) {
        --gap: 15px;
        --col-num: 4;
        grid-template-columns: repeat(auto-fit, calc((100% - var(--gap) * (var(--col-num) - 1)) / var(--col-num)));
        justify-content: center;
        gap: var(--gap);
      }
      
    }
    .product__list--inner {
      font-size: min((20vw / 7.5), 12px);
      line-height: 1.4;
      color: inherit;
      font-weight: normal;
      background: #fff;
      display: grid;
      grid-template-columns: min((268vw / 7.5), 280px) 1fr;
      position: relative;
    }
    .product__list--image {
      aspect-ratio: 944 / 628;
      object-fit: cover;
      height: min((175vw / 7.5), 186px);
    }
    .product__list--price {
      text-align: center;
    }
    .product__list--minmax {
      color: #F01C1C;
      font-size: min((37vw / 7.5), 20px);
    }
    .product__list--notes {
      font-size: min((22vw / 7.5), 12px);
    }
    .product__list--detail, .product__list--price {
      color: #333;
    }
    .product__list--detail {
      font-size: min((26vw / 7.5), 14px);
    }
    @media(width < 861px) {
      .product__list--item:not(:first-child) {
        --yohaku: min((32vw / 7.5), 32px);
        margin-top: var(--yohaku);
      }
      .product__list--inner {
        grid-template-areas:
          "img txt";
        grid-template-rows: max-content 1fr;
        &:has(.product__list--label.is-economy) {
          grid-template-areas: "img txt";
        }
      }
      .product__list--image-wrapper {
        grid-area: img;
      }
      .product__list--label-wrapper {
        grid-area: label;
        display: flex;
        flex-wrap: wrap;
        gap: min((10vw / 7.5), 8px);
      }
      .product__list--text-wrapper {
        grid-area: txt;
        padding: min((10vw / 7.5), 10px) min((15vw / 7.5), 15px);
      }
      .product__list--price {
        margin-top: min((20vw / 7.5), 20px);
        text-align: right;
      }
    }
    @media(width >=861px) {
      .product__list--item, .product__list--data {
        display: contents;
        background: #fff;
      }
      .product__list--inner {
        grid-template-columns: 1fr;
        grid-template-rows: subgrid;
        grid-row: span 2;
        gap: 0;
        &::after {
          position: absolute;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          top: 0;
          background-size: cover;
          background-color: #fff;
          opacity: 0;
        }
      }
      .product__list--image-wrapper {
        display: grid;
        grid-template-rows: auto 1fr;
        .product__list--image {
          width: 100%;
          height: auto;
        }
      }
      .product__list--text-wrapper {
        padding: 8px 10px 10px;
        display: grid;
        align-content: space-between;
        gap: 1em;
      }
    }
  }
}

/*#basic-info*/
#basic-info {
  background: var(--info-bg) no-repeat center top / cover;
  @media(width < 861px) {
    --info-bg: url("../images/information_photo_sp.webp");
  }
  @media(width >=861px) {
    --info-bg: url("../images/information_photo_pc.webp");
  }
  .basic-info__list {
    display: grid;
    grid-template-columns: max-content 1fr;
    @media(width >=861px) {
      grid-template-columns: repeat(2, max-content 1fr);
    }
    .basic-info__list--item {
      display: grid;
      grid-template-columns: subgrid;
      grid-column: span 2;
      --info-gap: min((45vw / 7.5), 60px);
      gap: var(--info-gap);
      /*--info-ttl-size: 3.2em;*/
      border-bottom: 1px dotted #000;
      padding: min((20vw / 7.5), 18px);
      @media(width >=861px) {
        &:nth-child(n+5) {
          grid-column: span 4;
          .basic-info__list--item--text {
            grid-column: span 3;
          }
        }
      }
      .basic-info__list--item--title {
        width: var(--info-ttl-size);
        font-size: min((32vw / 7.5), 24px);
        font-weight: 500;
      }
      .basic-info__list--item--text {
        width: calc(100% - (var(--info-ttl-size) + var(--info-gap)));
        font-size: min((28vw / 7.5), 20px);
        line-height: var(--default-font-lh2);
      }
    }
  }
}

/*------------------------------------------------*/
/*★ ＝＝ searchArea ＝＝ ★*/
#searchArea {
  padding-bottom: 40px;
  @media(width >=741px) {
    padding: 63px 0;
    min-height: 805px;
    background: url(../images/search_photo_pc.webp) no-repeat center top / var(--default-bg-width-pc);
  }
  .rn-searchMod__formDomLink, .rn-searchMod__formOvsLink {
    font-size: min((24vw / 7.5), 12px);
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .float-button__link {
    transition: var(--default-hover-transition-opacity);
    &:hover {
      opacity: .6;
    }
  }
  .base-button.ui-static-button {
    &.hotel__button, &.product__button {
      &:hover {
        --btn-bg: var(--default-color-green);
        border-color: var(--btn-bg) !important;
        background-color: var(--btn-bg) !important;
        color: #fff;
      }
    }
    &.enjoy__button {
      &:hover {
        --btn-bg: var(--default-color-light-green1);
        border-color: #000 !important;
        background-color: var(--btn-bg) !important;
        color: #fff;
      }
    }
  }
  .base-textlink__link {
    &:hover {
      .base-textlink__text {
        text-decoration: underline;
        text-underline-offset: .2em;
      }
    }
  }
  .product__list--inner {
    &::after {
      transition: var(--default-hover-transition-opacity);
    }
    &:hover {
      &::after {
        opacity: .4 !important;
      }
    }
  }
}