@charset "utf-8";

/* 「季節AIRページ共通」レスポンシブCSS */
/*------------------------------------------------*/
/*★ リセット ★*/
h1, h2, h3, h4, h5, h6, p, ul {
  font-weight: inherit;
  font-size: 1em;
}
ol {
  margin: 0;
}
li {
  list-style: none;
}
img {
  max-width: 100%;
  height: auto;
}
.main {
  overflow: hidden;
}
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main b {
  font-weight: bold;
}
.main .is-em {
  font-weight: bold;
}
.is-inline-block {
  display: inline-block !important;
}
@media (width < 741px) {
  .is-dsp-pc {
    display: none;
  }
}
@media (width >= 740px) {
  .is-dsp-sp {
    display: none;
  }
}

:root {
  --default-ff-icon: "Material Symbols Rounded";
  --default-icon-arw-r: "\e5cc";
  --default-color-light-black: #262626;
  --default-hover-speed: .25s;
  --default-hover-transition: background-color var(--default-hover-speed);
}

/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
.breadcrumb__contents {
  @media(width < 861px) {
    overflow-x: scroll;
  }
}
.breadcrumb__item span {
  letter-spacing: 0 !important;
}
.breadcrumb__inner {
  overflow-y: hidden;
}
.main {
  color: var(--default-color-light-black);
  &.is-spring {
    --season-color-main: #FF6BB1;
    --season-color-sub: #3DC6CB;
  }
  &.is-goldenweek {
    --season-color-main: #50B200; /*サブカラー無*/
  }
  &.is-summer {
    --season-color-main: #009EF3;
    --season-color-sub: #FF336B;
  }
  &.is-autumn {
    --season-color-main: #FF8900;
    --season-color-sub: #DBBF00;
  }
  &.is-newyear {
    --season-color-main: #D49B41;
    --season-color-sub: #DC120C;
  }
}
.section__container, .section__container.content-seperator {
  @media(width >=741px) {
    width: min(100%, 1024px);
  }
  padding-top: var(--sec-pt);
  &.tour-recommended, #season-banners & {
    --sec-pt: min((80vw / 7.5), 100px);
  }
  #calendar & {
    --sec-pt: min((80vw / 7.5), 80px);
    @media(width < 741px) {
      padding: min((80vw / 7.5), 80px) 0 0;
    }
  }
  #article-recommended & {
    --sec-pt: min((95vw / 7.5), 150px);
  }
  #other-banners & {
    --sec-pt: min((50vw / 7.5), 50px);
  }
}
.section__linkArea h2.heading--title, .section__container h2.heading--md {
  display: grid;
  justify-items: center;
  gap: min((15vw / 7.5), 15px);
  font-size: min((32vw / 7.5), 32px);
  line-height: 1.4;
  margin-bottom: min((60vw / 7.5), 50px);
  #calendar & {
    margin-bottom: min((15vw / 7.5), 10px);
  }
  span {
    color: currentColor;
  }
  &::after {
    content: '';
    width: min((80vw / 7.5), 80px);
    height: min((8vw / 7.5), 8px);
    background: var(--h2-line-color, var(--season-color-main));
  }
  .is-newyear & {
    &::after {
      --h2-line-color: var(--season-color-sub);
    }
  }
}
.section__linkArea:not(:has(.has-product)) {
  @media(width >=741px) {
    margin-bottom: min((20vw / 7.5), 20px);
  }
}
.article-recommended .article-recommended-link a h3.heading--md  {
  font-size: min((28vw / 7.5), 20px);
  background-image: none;
}
.button__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  --btn-gap: min((13vw / 7.5), 10px);
  gap: var(--btn-gap);
  margin-top: min((10vw / 7.5), 10px);
  @media(width < 741px) {
    padding: 0 min((75vw / 7.5), 75px);
  }
  @media (width >=741px) {
    --btn-col: 2;
    grid-template-columns: repeat(auto-fit, calc((100% - var(--btn-gap) * (var(--btn-col) - 1)) / var(--btn-col)));
  }
}
.button__base--link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  background: var(--btn-color, var(--season-color-main));
  border-radius: min((44vw / 7.5), 44px);
  padding: min((16vw / 7.5), 5px) min((20vw / 7.5), 15px);
  .is-newyear & {
    --btn-color: var(--season-color-sub);
  }
  &::after {
    content: var(--icon, var(--default-icon-arw-r));
    font-family: var(--default-ff-icon);
    color: #fff;
    @media (width >741px) {
      font-size: 2em;
    }
  }
  &[href^="#"]::after {
    transform: rotate(90deg);
  }
  &[target="_blank"]::after {
    --icon: var(--default-icon-blank);
  }
}
.button__base--link--text {
  color: #fff;
  font-size: min((24vw / 7.5), 18px);
  text-align: center;
  padding-left: 1em;
  @media (width >=861px) {
    padding-left: 2em;
  }
  @media(740px <=width <=860px) {
    font-size: min((20vw / 7.5), 15px);
    padding-left: 1.5em;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
#headerArea {
  position: relative;
  #navSeason .navSeason__wraper {
    overflow-y: hidden;
    ul {
      height: 100%;
    }
    li {
      height: 100%;
      a {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
    @media(width < 741px) {
      padding: 3px 14px 0;
      ul {
        line-height: 1.2;
        li a span::after {
          bottom: -7px;
        }
      }
    }
    @media(width >=741px) {
      padding: 3px 14px;
      width: min((940vw / 9.92), 992px);
      p {
        width: min((138vw / 9.92), 138px);
        font-size: min((16vw / 9.92), 16px);
        margin-top: 0;
      }
      ul {
        font-size: min((16vw / 9.92), 14px);
        li a {
          width: min((160vw / 9.92), 160px);
          span::after {
            bottom: -11px;
          }
        }
      }
    }
    @media(width >=786px) {
      ul li a span::after {
        bottom: -10px;
      }
    }
    @media(width >=868px) {
      ul li a span::after {
        bottom: -9px;
      }
    }
  }
}
/*mv*/
.textMv__img {
  max-width: none;
}
.textMv {
  height: min((475vw / 7.5), 475px);
  @media(width < 741px) {
    height: calc(750vw / 7.5);
  }
  .is-newyear & {
    height: min((500vw / 7.5), 500px);
    @media(width <=530px) {
      height: calc(910vw / 7.5);
    }
    @media(530px <width <741px) {
      height: min((870vw / 7.5), 760px);
    }
    @media(741px <=width <=803px) {
      height: min((570vw / 8.03), 570px);
    }
  }
  .textMv__bg {
    height: 100%;
  }
  .textMv__textWrapper {
    width: min((750vw / 7.5), 1024px);
    padding: 40px 16px 0;
    .is-newyear & {
      padding-top: 20px;
    }
    @media(width < 741px) {
      width: 100%;
      padding: 8% 2% 0;
      .is-newyear & {
        padding-top: 4%;
      }
    }
    .textMv__title {
      span.textMv__title--large {
        font-size: min((32vw / 3.75), 90px);
      }
      span.textMv__title--period.is-period-year {
        font-size: min((54vw / 7.5), 70px);
        display: inline-block;
      }
    }
    span.textMv__title--ex-small {
      padding-top: min((20vw / 7.5), 20px);
    }
  }
  .calendar__wrapper {
    width: min((488vw / 7.5), 488px);
    padding: 0;
    margin: min((60vw / 7.5), 50px) auto 0;
    @media(width >=741px) {
      width: min((940vw / 9.92), 940px);
    }
    .grid-row {
      .grid-col3 {
        padding-bottom: min((25vw / 7.5), 16px);
      }
      .gridTab {
        .gridTab__item {
          font-size: min((30vw / 7.5), 22px);
          height: min((97vw / 7.5), 70px);
          padding: 0;
          a {
            width: 100%;
            height: 100%;
            align-content: center;
          }
          &::after {
            right: min((6vw / 7.5), 6px);
            @media(740px <=width <=861px) {
              right: min((3vw / 7.5), 3px);
            }
          }
        }
      }
    }
  }
}
/*intro*/
.intro {
  border-bottom: min((1vw / 7.5), 2px) solid #fff;
  background: linear-gradient(to bottom, var(--bg-gradation1), var(--bg-gradation2));
  .is-spring & {
    --bg-gradation1: var(--season-color-main);
    --bg-gradation2: #E03F8A;
  }
  .is-goldenweek & {
    --bg-gradation1: var(--season-color-main);
    --bg-gradation2: #2F8E00;
  }
  .is-summer & {
    --bg-gradation1: #40BCFF;
    --bg-gradation2: var(--season-color-main);
  }
  .is-autumn & {
    --bg-gradation1: var(--season-color-main);
    --bg-gradation2: #EA5403;
  }
  .is-newyear & {
    --bg-gradation1: #FB0009;
    --bg-gradation2: #C20605;
  }
}
.intro__text {
  width: min((664vw / 7.5), 756px);
  font-size: min((24vw / 7.5), 16px);
  font-weight: bold;
  color: #fff;
  margin: 0 auto;
  padding: min((48vw / 7.5), 36px) 0;
  line-height: 1.4;
}

/*★ ＝＝ mainArea ＝＝ ★*/
#mainArea {
  position: relative;
}
/*calendar_nav*/
.calendar_nav {
}
.calendar_nav__wrapper {
  width: 100%;
  background: var(--bg-nav);
  box-shadow: 0 min((10vw / 7.5), 8px) 0 rgb(0 0 0 / .1);
  position: relative;
  &.is-fixed-nav {
    position: fixed;
    top: var(--posi-top, -100px);
    left: 0;
    /*transition: top .5s;*/
    z-index: 3;
    &.is-fixed-active {
      --posi-top: 0;
    }
  }
  .is-spring & {
    --bg-nav: #FAFF6B;
  }
  .is-goldenweek &  {
    --bg-nav: #FFEB00;
  }
  .is-summer & {
    --bg-nav: var(--season-color-sub);
  }
  .is-autumn & {
    --bg-nav: #F9FF4D;
  }
  .is-newyear & {
    --bg-nav: var(--season-color-main);
  }
}
.calendar_nav__list {
  height: 100%;
  display: grid;
  --col-num: 5;
  grid-template-columns: repeat(var(--col-num), 1fr);
  margin: auto;
  @media(width >=741px) {
    width: min(((140vw * var(--col-num)) / 9.92), (140px * var(--col-num)));
  }
}
.calendar_nav__list--item {
  border-right: solid min((1vw / 7.5), 1px) #9E9E9E;
  &:first-of-type {
    border-left: solid min((1vw / 7.5), 1px) #9E9E9E;
  }
}
.calendar_nav__list--link {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: min((25vw / 7.5), 25px);
  color: var(--nav-color, var(--default-color-light-black));
  text-decoration: none;
  cursor: pointer;
  .is-summer & {
    --nav-color: #fff;
  }
  .is-newyear & {
    --nav-color: #fff;
  }
  @media(width >=741px) {
    gap: 8px;
  }
  &::after {
    content: var(--default-icon-arw-r);
    margin-bottom: min((5vw / 7.5), 5px);
    font-family: var(--default-ff-icon);
    font-weight: bold;
    line-height: 1;
    font-size: 1.2em;
    transform: rotate(90deg);
    @media(width >=741px) {
      font-size: 2.3em;
      margin-bottom: 0;
    }
  }
  .is-active & {
    background: var(--nav-bg-active, var(--season-color-main));
    color: #fff;
    .is-newyear & {
      --nav-bg-active: var(--season-color-sub);
    }
  }
}
.calendar_nav__list--item--text {
  font-size: min((26vw / 7.5), 18px);
  font-weight: bold;
  margin-top: min((28vw / 7.5), 14px);
}
/*product*/
#product {

}
.section__container.product-wrap {
  &:not(:has(.card)) {
    display: none;
  }
  &::before {
    content: none;
  }
  .slideCardList--col4 {
    @media(width >=741px) {
      font-size: min((14vw / 9.6), 14px);
      column-gap: min((11vw / 9.6), 11px);
      .slideCardList__item--col4 {
        width: calc((100% - (min((11vw / 9.6), 11px)*3)) / 4);
        .card__inner {
          padding: min((24vw / 9.6), 24px);
        }
        h4 {
          font-size: min((16vw / 9.6), 16px);
        }
        p:not(.card__price--compact, .card__note) {
          font-size: min((14vw / 9.6), 14px);
        }
      }
    }
    .card__imgTag {
      font-size: .86em;
    }
    .card__inner {
      padding: min((24vw / 7.5), 24px);
    }
    h4 {
      font-size: min((33vw / 7.5), 16px);
    }
    p:not(.card__price--compact, .card__note) {
      font-size: min((24vw / 7.5), 14px);
    }
    .card__note {
      font-size: .86em;
    }
  }
}

/*calendar*/
.update {
  color: var(--update-color, var(--season-color-sub));
  font-size: min((24vw / 7.5), 14px);
  text-align: center;
  margin-bottom: min((72vw / 7.5), 70px);
  @media(width >=741px) {
    margin-bottom: 30px;
  }
  .is-goldenweek & {
    --update-color: var(--season-color-main);
  }
}
.info__area {
  width: min((664vw / 7.5), 886px);
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  margin: auto;
  gap: calc(33vw / 7.5) 18px;
  @media(width >=741px) {
    grid-template-columns: 85px 1fr;
  }
}
.info__area--title {
  display: grid;
  justify-self: center;
  justify-content: center;
  align-items: center;
  width: min((320vw / 7.5), 320px);
  font-size: min((24vw / 7.5), 17px);
  font-weight: bold;
  color: #fff;
  border-radius: calc(44vw / 7.5);
  padding: min((10vw / 7.5), 10px);
  background:var(--info-bg, var(--season-color-sub));
  .is-goldenweek & {
    --info-bg: var(--season-color-main);
  }
  @media(width >=741px) {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
  }
}
.info__area--detail {
  font-size: min((24vw / 7.5), 14px);
  line-height: 1.4;
  @media(width <741px) {
    font-weight: bold;
  }
}
.dst-calendar {
  width: var(--sec-w, 100%);
  padding-top: min((150vw / 7.5), 135px);
  margin: auto;
  + .dst-calendar {
    padding-top: min((150vw / 7.5), 150px);
  }
}
.dst-calendar__title {
  font-size: min((36vw / 7.5), 36px);
  font-weight: bold;
  text-align: center;
  margin-bottom: min((50vw / 7.5), 50px);
  color: var(--h3-color, var(--season-color-main));
  .is-newyear & {
    --h3-color: var(--season-color-sub);
  }
}
.dst-calendar__lineup {
  display: grid;
  gap: min((30vw / 7.5), 20px);
  + .dst-calendar__lineup {
    margin-top: min((150vw / 7.5), 150px);
  }
}
.dst-calendar__lineup--title {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .5em;
  align-items: center;
  font-size: min((20vw / 7.5), 20px);
  font-weight: bold;
  .is-dst-name {
    font-size: calc(32em / 20);
    line-height: 1;
    margin-right: .2em;
  }
  &::before {
    content: "";
    --size: min((15vw / 7.5), 15px);
    width: var(--size);
    height: var(--size);
    background: var(--icon-color, var(--season-color-main));
  }
  .is-summer &, .is-newyear & {
    &::before {
      --icon-color: var(--season-color-sub);
    }
  }
}
.dst-calendar__lineup--photo {
  height: 0;
  width: var(--photo-size-w, 100%);
  padding-top: var(--photo-size-h, calc((270 / 750) * 100%));
  position: relative;
}
.dst-calendar__lineup--photo--image {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.dst-calendar__lineup--detail {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0 1em;
}
.dst-calendar__lineup--detail--meyasu {
  min-width: min((298vw / 7.5), 280px);
  font-size: min((24vw / 7.5), 18px);
  font-weight: bold;
  text-align: center;
  padding: .3em .5em .25em;
  border-radius: min((5vw / 7.5), 3px);
  background: var(--bg-meyasu);
  .is-spring & {
    --bg-meyasu: #C9F2F4;
  }
  .is-goldenweek & {
    --bg-meyasu: #CBEDAF;
  }
  .is-summer & {
    --bg-meyasu: #DBF3FF;
  }
  .is-autumn & {
    --bg-meyasu: #F4EAA9;
  }
  .is-newyear & {
    --bg-meyasu: #F4E5CD;
  }
}
.dst-calendar__lineup--detail--minprice {
  margin-left: auto;
  @media(width >=741px) {
    padding-right: 1em;
  }
}
.dst-calendar__lineup--detail--minprice--text {
  font-size: min((24vw / 7.5), 20px);
  line-height: 1;
  font-weight: bold;
  .is-price-num {
    font-size: min((36vw / 7.5), 30px);
  }
  .is-price {
    font-size: min((24vw / 7.5), 18px);
    color: #DC120C;
    margin-left: .25em;
  }
}
.dst-calendar__lineup--month--lineup {
  display: flex;
  justify-content: right;
  gap: min((25vw / 7.5), 25px);
  --button-arrow-h: min((16vw / 7.5), 16px);
  padding-bottom: var(--button-arrow-h);
  @media(width >=741px) {
    gap: 12px;
    @media(width >=1024px) {
      &:has(> :nth-child(2):last-child) {
        padding-right:  min((182vw / 7.5), 182px);
      }
    }
    @media(width <1024px) {
      justify-content: left;
      padding-left: calc(((100vw - 730px) - 32px) / 2);
    }
  }
}
.dst-calendar__lineup--month--lineup--item {
  width: min((200vw / 7.5), 170px);
  height: min((50vw / 7.5), 50px);
  border-radius: 100px;
  border: 1px solid var(--button-bd, var(--default-color-light-black));
  background: var(--button-bg, #fff);
  color: var(--button-fc, var(--default-color-light-black));
  display: grid;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  @media(width >=741px) {
    width: 170px;
    height: 50px;
    @media(width <1024px) {
      width: min((170vw / 9.6), 170px);
    }
  }
  &:not(.js-tab-button) {
    --button-bg: #E0E0E0;
    --button-fc: #fff;
    --button-bd: #E0E0E0;
    cursor: default;
  }
  &.is-active {
    --button-bg: var(--default-color-light-black);
    --button-fc: #fff;
    --button-bd: var(--default-color-light-black);
    cursor: default;
    position: relative;
    &::after {
      content: "";
      width: min((20vw / 7.5), 20px);
      height: var(--button-arrow-h);
      background: var(--button-bg);
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      transform: translateY(calc(100% - 1px));
    }
  }
}
.dst-calendar__lineup--month--lineup--item--text {
  font-size: min((26vw / 7.5), 24px);
  font-weight: bold;
  @media(width >=741px) {
    font-size: min((26vw / 9.92), 24px);
  }
}
.calendar-table {
  width: 100%;
}
.calendar-table--head--row, .calendar-table--contents--row {
  display: grid;
  --gap-td: min((8vw / 7.5), 5px);
  gap: var(--gap-td);
  grid-template-columns: repeat(7, calc((100% - (var(--gap-td) * 6)) / 7));
}
.calendar-table--head--row--th {
  font-size: min((24vw / 7.5), 24px);
  font-weight: bold;
  color: #4B4B4B;
  text-align: center;
  &:first-of-type {
    color: #DC120C;
  }
  &:last-of-type {
    color: #2E75D0;
  }
}
.calendar-table--contents {
  display: grid;
  gap: min((8vw / 7.5), 5px);
  .calendar-table--contents--row--td {
    width: 100%;
    height: min((93vw / 7.5), 100px);
    background: var(--bg-td, #F1F1F1);
    color: var(--color-td, inherit);
    @media(width >=741px) {
      width: min((100vw / 7.5), 100px);
    }
    &:first-of-type, &.is-holiday {
      --bg-td: #FFF5F5;
    }
    &:last-of-type {
      --bg-td: #F1F7FF;
    }
    &:has(.calendar-table--contents--row--td--price:empty) {
      --bg-td: #D9D9D9;
    }
  }
}
.calendar-table--contents--row--td--link {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  gap: .5em;
  @media(width >=741px) {
    gap: .8em;
  }
  &.is-no-link {
    pointer-events: none;
  }
}
.calendar-table--contents--row--td--day {
  display: flex;
  align-self: end;
  font-size: min((24vw / 7.5), 24px);
  line-height: 1;
  font-weight: bold;
  color: #474747;
  .calendar-table--contents--row--td--link:has(.calendar-table--contents--row--td--price:empty) & {
    color: #fff;
  }
}
.calendar-table--contents--row--td--price {
  display: flex;
  align-items: center;
  color: #DC120C;
  font-size: min((24vw / 7.5), 22px);
  height: 1em;
  align-self: start;
  justify-items: baseline;
}
@media(width <741px) {
  .dst-calendar__lineup--title, .dst-calendar__lineup--detail {
    width: 94%;
    margin: auto;
  }
  .dst-calendar__lineup--month--lineup {
    justify-content: center;
  }
}
@media(width >=740px) {
  .dst-calendar {
    --sec-w: min(100%, 1010px)
  }
  .dst-calendar__lineup {
    gap: 18px 38px;
    grid-template-areas:
      "ttl img"
      "detail img"
      "month img"
      "main main"
      "notes notes"
      "btn btn";
    grid-template-columns: 1fr calc((295 / 1010) * 100%);
    grid-template-rows: 1fr repeat(3, auto);
    align-items: start;
    .dst-calendar__lineup--title {
      grid-area: ttl;
    }
    .dst-calendar__lineup--photo {
      grid-area: img;
      --photo-size-h: calc((190 / 295) * 100%);
    }
    .dst-calendar__lineup--detail {
      grid-area: detail;
    }
    .dst-calendar__lineup--month {
      grid-area: month;
    }
    .dst-calendar__lineup--main {
      grid-area: main;
      display: flex;
      justify-content: center;
      width: 730px;
      margin: 0 auto;
    }
    .calender_dst__notes {
      grid-area: notes;
    }
    .calender_dst__button {
      grid-area: btn;
    }
  }
}
.calender_dst__notes {
  @media(width < 741px) {
    padding: 0 1em;
  }
}
.calender_dst__notes--item {
  font-size: min((24vw / 7.5), 16px);
  text-indent: -1em;
  padding-left: 1em;
  &:not(:first-child) {
    margin-top: .5em;
  }

}

/*article-recommended*/
#article-recommended {
  .article-recommended-link p {
    font-size: min((24vw / 7.5), 14px);
  }
}
/*season-banners*/
.season-air-banner__list {
  display: grid;
  grid-template-columns: var(--column, repeat(3, 1fr));
  gap: min((26vw / 7.5), 42px);
  @media (width >=741px) {
    --column: repeat(5, 1fr);
    gap: 0 20px;
  }
}
/*other-banners*/
#other-banners {
}
.reco-banner__list {
  display: grid;
  gap: var(--bnr-gap);
  --bnr-gap: min((36vw / 7.5), 24px);
  --bnr-col: 2;
  @media(width >=741px) {
    grid-template-columns: repeat(auto-fit, calc((100% - var(--bnr-gap) * (var(--bnr-col) - 1)) / var(--bnr-col)));
    &:has(> :nth-child(-n+1):last-child) {
      justify-content: center;
    }
    .reco-banner__item:has(.reco-banner__image[src*=_960]) {
      grid-column: span 2;
    }
  }
}

/*search__button*/
.search__button {
  position: absolute;
  z-index: 9;
  top: min((160vw / 7.5), 160px);
  right: 4px;
  @media(width >=741px) {
    top: 150px;
  }
}
.search__button.is-fixed {
  position: fixed;
  top: min((160vw / 7.5), 160px);
  right: 4px;
  @media(width >=741px) {
    top: 120px;
  }
}
.search__button--link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.4);
  padding-top: 10px;
  width: min((160vw / 7.5), 128px);
  height: min((160vw / 7.5), 128px);
  background: var(--bg-search_anc);
  transition: opacity .3s;
  opacity: .9;
  .is-spring & {
    --bg-search_anc: linear-gradient(180deg, #FF6BB1 0%, #E03F8A 100%);
  }
  .is-goldenweek & {
    --bg-search_anc: linear-gradient(180deg, #4FB100 0%, #308F00 100%);
  }
  .is-summer & {
    --bg-search_anc: linear-gradient(180deg, #3FBBFE 0%, #019EF3 100%);
  }
  .is-autumn & {
    --bg-search_anc: linear-gradient(180deg, #FF8800 0%, #EA5403 100%);
  }
  .is-newyear & {
    --bg-search_anc: linear-gradient(180deg, #FB0009 0%, #C20605 100%);
  }
  .search__button--link--text--main {
    font-size: min((25vw / 7.5), 25px);
    font-weight: bold;
    margin-bottom: 4px;
    line-height: 1;
  }
  .search__button--link--text--sub {
    font-size: min((20vw / 7.5), 14px);
  }
  &::after {
    content: "";
    display: block;
    width: min((20vw / 7.5),24px);
    height: min((20vw / 7.5),24px);
    margin: 4px auto 0;
    background: url(../../../common/__renew/images/to_search_section_anchor_arrow.svg) no-repeat center / contain;
  }
}


/*searchArea*/
#searchArea {
  margin-top: min((80vw / 7.5), 80px);
  .rn-searchMod__formSection {
    box-shadow: none;
  }
  .rn-searchMod__navList {
    z-index: 2;
    margin: 0;
  }
  .rn-searchMod__navLinkItem.navi--dom {
    display: none !important; /*春休み共通スタイルの!important打消しのため*/
  }
  .rn-searchMod__navList .rn-searchMod__navListButton--ovs:hover {
    background-color: #fff !important;
    color: var(--color-type-ovs) !important;
  }
  .rn-searchMod__formDomLink::after, .rn-searchMod__formOvsLink::after {
    top: 13px;
  }
  .rn-searchMod__inputField, .rn-searchMod__select, .rn-searchMod__formDomLink, .rn-searchMod__formOvsLink {
    font-size: inherit;
  }
}



/*close*/
#close {
  .section__container.content-seperator {
    padding-bottom: min((50vw / 7.5), 50px);
    @media(width >=741px) {
      padding: 155px 0 50px;
    }
    @media(width < 740px) {
      padding-top: calc(130vw / 7.5);
    }
  }
}
.close__message {
  display: grid;
  justify-content: center;
  font-size: min((32vw / 7.5), 32px);
  font-weight: bold;
  text-align: center;
  &::after {
    display: block;
    justify-self: center;
    content: '';
    width: min((80vw / 7.5), 80px);
    height: min((8vw / 7.5), 8px);
    background: var(--h2-line-color, var(--season-color-main));
    margin-top: min((15vw / 7.5), 15px);
  }
  .is-newyear & {
    &::after {
      --h2-line-color: var(--season-color-sub);
    }
  }
}
.search-close__button {
  margin-top: min((72vw / 7.5), 106px);
  .button__base--link--text {
    font-size: min((24vw / 7.5), 22px);
  }
}

/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .calendar_nav__list--link {
    transition: all var(--default-hover-speed);
    &:hover {
      background-color: var(--nav-hover, var(--season-color-main));
      color: #fff;
      .is-newyear & {
        --nav-hover: var(--season-color-sub);
      }
    }
  }
  .dst-calendar__lineup--month--lineup--item.js-tab-button {
    transition: all var(--default-hover-speed);
    &:hover {
      background-color: var(--default-color-light-black);
      color: #fff;
    }
  }
  .button__base--link {
    transition: all var(--default-hover-speed);
    
    &:hover {
      background: var(--btn-hover);
      .is-spring & {
        --btn-hover: #E03F8A;
      }
      .is-goldenweek & {
        --btn-hover: #367900;
      }
      .is-summer & {
        --btn-hover: #007DC0;
      }
      .is-autumn & {
        --btn-hover: #EA5403;
      }
      .is-newyear & {
        --btn-hover: #C30505;
      }
    }
  }
  .season-air-banner__list--item--link, .reco-banner__link {
    transition: all var(--default-hover-speed);
    &:hover {
      opacity: .7;
    }
  }
}