@charset "utf-8";
/*------------------------------------------------*/
/*★ フェア共通スタイル設定（メイン） ★*/
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
#headerArea {
  --header-gap: var(--default-gap-40-56);
  padding: var(--default-gap-40-56) 0;
  position: relative;
  z-index: 2;
  .header-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--default-gap-24);
  }
  /*mv-base*/
  .mv-base__inner {
    display: grid;
    justify-items: center;
    gap: var(--default-gap-24);
  }
  .mv-logo__image {
    display: block;
    background: var(--fair-logo) no-repeat center top / contain;
    width: var(--fair-logo-size-w);
    height: var(--fair-logo-size-h);
  }
  .mv-portal-navi {
    .mv-portal-navi__button {
      min-width: 180px;
      height: 48px;
      font-size: var(--default-font-size-18);
      font-weight: bold;
      color: var(--fair-color-portal-navi-button-text);
      border-radius: var(--default-radius-button);
      background: var(--fair-color-portal-navi-button-bg);
      padding: 0 var(--default-gap-16) 0 var(--default-gap-32);
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0 var(--default-gap-16);
      align-items: center;
      &::after {
        content: var(--default-ico-plus);
        font-family: var(--default-icon-ff);
        font-size: 1.25em;
        font-weight: normal;
      }
    }
    .mv-portal-navi__list {
      width: 180px;
      background: #fff;
      padding: var(--default-gap-16) var(--default-gap-32);
      border-radius: var(--default-radius-16);
      position: absolute;
      z-index: 1;
      translate: 0 var(--default-gap-16);
      border: 1px solid var(--fair-color-portal-navi-button-bg);
      .mv-portal-navi__list--item {
        text-align: center;
        font-weight: bold;
        letter-spacing: 1.26px;
        &:not(:first-child) {
          margin-top: var(--default-gap-8);
        }
      }
      .mv-portal-navi__list--link {
        display: block;
        padding: var(--default-gap-4);
      }
    }
  }
  /*schedule-text*/
  .schedule-text {
    display: grid;
    justify-content: center;
    justify-items: center;
    font-weight: bold;
    gap: var(--default-gap-4);
    --schedule-text-base-font-size: var(--default-font-size-12);
    --schedule-text-main-font-size: var(--default-font-size-22);
    --schedule-text-sub-font-size: var(--default-font-size-14);
    font-size: var(--schedule-text-base-font-size);
    line-height: var(--default-font-lh-150);
    text-align: center;
    .is-size-sp & {
      padding: var(--default-gap-12) var(--default-gap-16);
    }
    .is-size-pc & {
      --schedule-text-base-font-size: var(--default-font-size-16);
      --schedule-text-main-font-size: var(--default-font-size-32);
      --schedule-text-sub-font-size: var(--default-font-size-26);
    }
    .schedule-text__main--subtext {
      font-size: var(--schedule-text-sub-font-size);
    }
    .schedule-text__main--text {
      font-size: var(--schedule-text-main-font-size);
    }
    .schedule-text__main--notes {
      --notes-item-font-size: var(--schedule-text-base-font-size);
      margin-top: var(--default-gap-4);
    }
    .schedule-text__sub--text {
      display: flex;
      gap: 0 1em;
      flex-wrap: wrap;
      justify-content: center;
    }
  }
}
/*mv-slide*/
.mv-slide {
  --slider-item-w: 320px;
  --cover-img-height: calc((420 / 320) * 100%);
  .is-size-pc & {
    --slider-item-w: 480px;
    --cover-img-height: calc((560 / 480) * 100%);
  }
  .splide__slide {
    transition: scale 0.2s cubic-bezier(0.05, 0.45, 0.58, 1);
    will-change: transform; /* scaleでのぼやけ対処用：ハードウェアアクセラレーションが効き、滑らかさやクリアさが向上 */
    backface-visibility: hidden; /* scaleでのぼやけ対処用： activeでscaleの数値が変わる時に滑らかなさが向上*/
    &:not(.is-active) {
      scale: 0.95;
    }
  }
  .mv-slide__pagination {
    --slider-pagination-gap: 16px;
    --slider-pagination-size: 30px;
    --slider-pagination-bg: #fff;
    --slider-pagination-bg-active: var(--fair-color-tertiary);
    --mv-slide-pagination-icon-color: var(--fair-color-tertiary);
    --mv-slide-pagination-icon-size: 20px;
    --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_star.svg);
    .mv-slide__pagination--item--page {
      display: grid;
      justify-content: center;
      align-items: center;
      &::before {
        content: '';
        width: var(--mv-slide-pagination-icon-size);
        height: var(--mv-slide-pagination-icon-size);
        background: var(--mv-slide-pagination-icon-color);
        mask: var(--mv-slide-pagination-icon-img) no-repeat center center / contain;
      }
      &.is-active {
        --mv-slide-pagination-icon-color: #fff;
        transform: scale(1);
      }
      &[class*='is-tour'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_tour.svg);
      }
      &[class*='is-business'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_business.svg);
      }
      &[class*='is-impresso'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_impresso.svg);
      }
      &[class*='is-air'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_air.svg);
      }
      &[class*='is-airhotel'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_airz.svg);
      }
      &[class*='is-hotel'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_hotel.svg);
      }
      &[class*='is-oe'] {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_online_experience.svg);
      }
      &:is([class*='is-tavica'], [class*='is-kokoroodoru']) {
        --mv-slide-pagination-icon-img: url(../images/mv_slider/icon_favorite.svg);
      }
    }
  }
}
/*gnavi*/
/*gnavi-type__lineup--item--lv2の基準地を設定*/
.gnavi {
  width: 100%;
  position: relative;
}
/*ナビデザイン設定*/
.gnavi__inner {
  width: min(var(--default-width-sp), 1200px);
  margin: auto;
  background: #fff;
  --gnavi-radius: var(--default-radius-button);
  border-radius: var(--gnavi-radius);
  display: grid;
  align-items: center;
  grid-template-areas: 'gnavi-logo gnavi-all';
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  box-shadow: var(--default-box-shadow);
  .gnavi.is-type-fixed & {
    padding: var(--default-gap-8);
    padding-left: var(--default-gap-24);
  }
  @media (width < 1200px) {
    .gnavi.is-type-normal & {
      --gnavi-radius: var(--default-radius-24);
    }
    gap: var(--default-font-size-16);
    justify-items: center;
    padding: var(--default-gap-16);
    &:has(.gnavi-type) {
      grid-template-columns: 1fr auto;
      grid-template-areas:
        'gnavi-logo gnavi-all'
        'gnavi-type gnavi-type';
    }
  }
  @media (width >= 1200px) {
    height: 66px;
    &:has(.gnavi-type) {
      grid-template-columns: auto calc((880 / 1168) * 100%) auto; /*1200-余白*/
      grid-template-areas: 'gnavi-logo gnavi-type gnavi-all';
    }
    gap: 0;
    padding: 0 var(--default-gap-8) 0 var(--default-gap-24);
    --gnavi-logo-name-font-size: var(--default-font-size-16);
    --gnavi-logo-image-width: 102px;
    --gnavi-logo-name-gap: var(--default-gap-4);
    .gnavi-type {
      .gnavi-type__lineup {
        justify-content: space-between;
      }
    }
  }
  .gnavi-logo {
    grid-area: gnavi-logo;
    width: fit-content;
    margin: auto;
    .gnavi-logo__image {
      width: var(--gnavi-logo-image-width, 126px);
      aspect-ratio: var(--gnavi-logo-image-aspect, 102 / 26);
      background: var(--gnavi-logo-image-bg, var(--fair-logo-s)) no-repeat center top / contain;
    }
    .gnavi-logo__name {
      font-weight: bold;
      font-size: var(--gnavi-logo-name-font-size, var(--default-font-size-18));
      color: var(--fair-color-primary);
      text-align: center;
      margin-top: var(--gnavi-logo-name-gap, var(--default-gap-8));
    }
  }
  .gnavi-type {
    grid-area: gnavi-type;
    font-weight: bold;
    .gnavi-type__lineup {
      display: flex;
      flex-wrap: wrap;
      gap: var(--default-gap-8);
    }
    .gnavi-type__lineup--item {
      &:has(.gnavi-type__lineup--item--lv2) {
        --gnavi-type-lineup-item-lv1-icon: var(--default-ico-plus);
        --gnavi-type-lineup-item-lv1-icon-size: 1.3em;
      }
      &:has(.gnavi-type__lineup--item--lv2.is-open) {
        --gnavi-type-lineup-item-lv1-text-color: var(--fair-color-primary);
      }
      &.is-kaigai {
        --gnavi-type-lineup-item-lv1-text-color: var(--default-color-kaigai);
      }
      &.is-kokunai {
        --gnavi-type-lineup-item-lv1-text-color: var(--default-color-kokunai);
      }
    }
    .gnavi-type__lineup--item--lv1 {
      font-size: var(--default-font-size-14);
      color: var(--gnavi-type-lineup-item-lv1-text-color, inherit);
      .gnavi-type__lineup--item--lv1--text {
        display: flex;
        align-items: center;
        gap: var(--default-gap-8);
        &::after {
          content: var(--gnavi-type-lineup-item-lv1-icon, var(--default-ico-arrow-right));
          font-family: var(--default-icon-ff);
          font-size: var(--gnavi-type-lineup-item-lv1-icon-size, 1em);
          line-height: 1;
          color: var(--gnavi-type-lineup-item-lv1-icon-color, var(--fair-color-primary));
        }
      }
    }
    .gnavi-type__lineup--item--lv2 {
      background: var(--gnavi-type-lineup-item-lv2-bg, var(--fair-color-primary));
      position: absolute;
      bottom: var(--gnavi-type-lineup-item-lv2-position-bottom, -16px);
      left: 0;
      right: 0;
      translate: 0 100%;
      z-index: 20;
      --gnavi-type-lineup-item-lv2-gap: var(--default-gap-24) var(--default-gap-4);
      padding: var(--gnavi-type-lineup-item-lv2-gap);
      .is-size-pc & {
        --gnavi-type-lineup-item-lv2-gap: var(--default-gap-24) var(--default-gap-40);
      }
      .gnavi-type__lineup--item--lv2--item:not(:first-child) {
        margin-top: var(--default-gap-32);
      }
      .gnavi-type__lineup--item--lv2--item--title {
        color: #fff;
        text-align: center;
        font-size: var(--default-font-size-20);
        font-weight: bold;
        margin-bottom: var(--default-gap-16);
      }
      .gnavi-type__lineup--item--lv2--item--lineup {
        display: flex;
        flex-wrap: wrap;
        gap: var(--default-gap-12) var(--default-gap-8);
        justify-content: center;
      }
      .gnavi-type__lineup--item--lv2--item--lineup--item {
        width: min((114vw / 3.75), 120px);
        .gnavi-type__lineup--item--lv2--item--lineup--item--link {
          height: 100%;
          background: #fff;
          display: grid;
          grid-template-rows: auto 1fr;
          border-radius: var(--default-radius-8);
          overflow: hidden;
          font-size: var(--default-font-size-12);
        }
        .gnavi-type__lineup--item--lv2--item--lineup--item--photo {
          width: 100%;
          height: min((74vw / 3.75), 80px);
          object-fit: cover;
        }
        .gnavi-type__lineup--item--lv2--item--lineup--item--text {
          align-self: center;
          text-align: center;
          padding: var(--default-gap-4);
        }
      }
    }
  }
  .gnavi-all {
    grid-area: gnavi-all;
  }
}
/*追従ナビ時のみ*/
.gnavi.is-type-fixed {
  width: max-content;
  position: fixed;
  top: var(--default-gap-16);
  --gnavi-fixed-posi-x: 0;
  left: var(--gnavi-fixed-posi-x);
  z-index: 10;
  translate: 0 -200%;
  transition: var(--default-transition-translate);
  &.is-fixed {
    translate: 0 0;
  }
  .is-size-sp & {
    right: 0;
    margin: auto;
  }
  .is-size-pc & {
    --gnavi-fixed-posi-x: var(--default-gap-width100-yoko);
    @media (width >= 1535px) {
      --gnavi-fixed-posi-x: calc(50% - 718px);
    }
  }
  .gnavi__inner {
    width: calc(355vw / 3.75);
    grid-template-columns: repeat(2, auto);

    .is-size-pc & {
      width: 270px;
    }
  }
}
/*総合ナビ開閉ボタン*/
.gnavi-all__open-button,
.gnavi-all__close-button {
  --gnavi-all-button-size: 50px;
  width: var(--gnavi-all-button-size);
  height: var(--gnavi-all-button-size);
  border-radius: 100%;
  background: var(--fair-color-primary) no-repeat center center / 30px;
  &.gnavi-all__open-button {
    background-image: url(../images/navi/all_navi_menu_default.svg);
  }
  &.gnavi-all__close-button {
    background-image: url(../images/navi/all_navi_menu_close.svg);
    position: absolute;
    top: var(--default-gap-12);
    right: var(--default-gap-24);
    z-index: 1;
  }
}
/*総合ナビ中身のみ*/
.gnavi-all__content {
  width: 100%;
  height: 100lvh;
  background: rgba(255, 255, 255, 0.96);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;

  .gnavi-all__content--inner {
    overflow-y: auto;
    height: 100%;
    padding: var(--default-gap-80) var(--default-gap-48);
  }
  .gnavi-all__content--block.is-main {
    .gnavi-all__content--block--main {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--default-gap-40) var(--default-gap-24);
      .is-size-pc & {
        grid-template-columns: repeat(2, 1fr);

        @media (width >= 1200px) {
          grid-template-columns: repeat(3, 1fr);
        }
      }
    }
    .gnavi-all__content--block--main--item--title {
      --cover-img-height: calc((100 / 464) * 100%);
      border-radius: var(--default-radius-8);
      overflow: hidden;
      margin-bottom: var(--default-gap-24);
      .gnavi-all__content--block--main--item--title--text {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        font-size: var(--default-font-size-24);
        font-weight: bold;
        color: #fff;
        line-height: var(--default-font-lh-180);
      }
    }
    .gnavi-all__content--block--main--item--lineup--wrapper {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--gnavi-all-block-main-item-default-gap) var(--default-gap-24);
      font-weight: bold;
      --gnavi-all-block-main-item-default-gap: var(--default-gap-8);
      @media (width > 640px) {
        grid-template-columns: repeat(2, 1fr);
        .gnavi-all__content--block--main--item--lineup--item--lv2 {
          display: block !important;
        }
      }
    }
    .gnavi-all__content--block--main--item--lineup--item {
      &:has(.gnavi-all__content--block--main--item--lineup--item--lv2) {
        .gnavi-all__content--block--main--item--lineup--item--lv1::before {
          rotate: 90deg;
          translate: -17% 0;
        }
      }
      &:not(:first-child) {
        margin-top: var(--gnavi-all-block-main-item-default-gap);
      }
      .gnavi-all__content--block--main--item--lineup--item--lv1 {
        font-size: var(--default-font-size-18);
        display: flex;
        align-items: center;
        gap: var(--default-gap-4);
        line-height: var(--default-font-lh-180);
        &::before {
          content: var(--default-ico-arrow-right);
          font-family: var(--default-icon-ff);
        }
      }
      .gnavi-all__content--block--main--item--lineup--item--lv2 {
        padding-left: var(--default-gap-12);
        .gnavi-all__content--block--main--item--lineup--item--lv2--item {
          margin-top: var(--gnavi-all-block-main-item-default-gap);
        }
        .gnavi-all__content--block--main--item--lineup--item--lv2--item--title {
          font-size: var(--default-font-size-16);
          line-height: var(--default-font-lh-180);
        }
        .gnavi-all__content--block--main--item--lineup--item--lv2--item--lineup {
          font-size: var(--default-font-size-14);
          padding-left: var(--default-gap-12);
          .gnavi-all__content--block--main--item--lineup--item--lv2--item--lineup--item {
            margin-top: var(--gnavi-all-block-main-item-default-gap);
          }
          .gnavi-all__content--block--main--item--lineup--item--lv2--item--lineup--item--link {
            display: flex;
            align-items: center;
            gap: var(--default-gap-4);
            &::before {
              content: '\e15b';
              color: var(--default-color-gray);
              font-family: var(--default-icon-ff);
            }
          }
        }
      }
    }
  }
  .gnavi-all__content--block.is-other {
    &:not(:first-child) {
      margin-top: var(--default-gap-40);
      .is-size-sp & {
        border-top: 1px solid var(--default-color-gray);
        padding-top: var(--default-gap-40);
      }
    }
    .gnavi-all__content--block--other {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: var(--default-gap-32);
      .gnavi-all__content--block--other--item {
        min-width: 256px;
        &.is-line {
          --btn-bg: var(--default-color-line);
        }
      }
    }
  }
}

/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
#mainArea {
  --main-gap: var(--default-gap-40-56);
  display: grid;
  grid-template-columns: 100%;
  gap: var(--main-gap);
  /* justify-items: center; */
  padding: var(--main-gap) 0 var(--default-gap-96);
}
/*section*/
.section__inner:not(.is-width-full) {
  width: var(--default-width);
  margin: auto;
}
/*coupon-tag and pickup-tag*/
.coupon-tag,
.pickup-tag {
  .is-size-sp & {
    width: 100%;
    .coupon-tag__lineup--wrapper,
    .pickup-tag__lineup--wrapper {
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 0 calc(20vw / 3.75) var(--default-gap-16);
    }
  }
  .coupon-tag__lineup,
  .pickup-tag__lineup {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tag-lineup-gap);
    .is-size-sp & {
      --tag-lineup-gap: var(--default-gap-8);
      flex-direction: column;
      width: max-content;
      height: 84px;
      margin: auto;
    }
    .is-size-pc & {
      --tag-lineup-gap: var(--default-gap-16);
      justify-content: center;
      padding: 0 var(--default-gap-width100-yoko);
      --tag-lineup-item-font-size: var(--default-font-size-16);
      --tag-lineup-item-gap-left: var(--default-gap-16);
      --tag-lineup-item-gap-right: var(--default-gap-24);
    }
  }
  .coupon-tag__lineup--item--link,
  .pickup-tag__lineup--item--link {
    display: flex;
    align-items: center;
    width: max-content;
    height: 38px;
    --tag-lineup-item-font-size: var(--default-font-size-14);
    --tag-lineup-item-gap-left: var(--default-gap-12);
    --tag-lineup-item-gap-right: var(--default-gap-16);
    padding: 0 var(--tag-lineup-item-gap-right) 0 var(--tag-lineup-item-gap-left);
    border-radius: var(--default-radius-button);
    background: #fff;
    border: var(--default-border-black);
    font-size: var(--tag-lineup-item-font-size);
    font-weight: bold;
  }
  .coupon-tag__lineup--item--texts,
  .pickup-tag__lineup--item--texts {
    display: flex;
    align-items: center;
    gap: var(--default-gap-8);
  }
  .coupon-tag__lineup--item--label,
  .pickup-tag__lineup--item--label {
    min-width: 59px;
    --tag-lineup-item-label-height: 16px;
    height: var(--tag-lineup-item-label-height);
    font-size: var(--default-font-size-12);
    line-height: var(--tag-lineup-item-label-height);
    color: #fff;
    text-align: center;
    background: var(--tag-lineup-item-label-bg);
    border-radius: var(--default-radius-4);
    &.is-sale {
      --tag-lineup-item-label-bg: var(--default-color-tag-sale);
    }
    &.is-coupon {
      --tag-lineup-item-label-bg: var(--default-color-tag-coupon);
    }
    &.is-other {
      --tag-lineup-item-label-bg: var(--default-color-tag-other);
    }
  }
  .coupon-tag__notes {
    width: var(--default-width);
    margin: var(--default-gap-16) auto 0;
    display: grid;
    justify-content: center;
  }
}
/*child-page-navi and .text-links*/
.child-page-navi,
.text-links {
  --title-sub-text-font-size: 1em;
  --title-sub-text-gap-bottom: 0;
  /*画像版*/
  &:has(.child-page-navi__lineup.is-image) {
    --title-gap-bottom: var(--default-gap-16);
    .is-size-pc & {
      --title-gap-bottom: var(--default-gap-24);
    }
    .child-page-navi__lineup.is-image {
      --child-page-navi--item-w: 100px;
      --child-page-navi--item-gap: var(--default-gap-8);
      .is-size-pc & {
        --child-page-navi--item-w: 120px;
        max-width: 800px;
        margin: auto;
      }
      &.splide {
        --slider-item-w: var(--child-page-navi--item-w);
        --slider-gap: var(--child-page-navi--item-gap);
      }
      .child-page-navi__lineup--list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--child-page-navi--item-gap);
      }
      .child-page-navi__lineup--list--item {
        width: var(--child-page-navi--item-w);
      }
      .child-page-navi__lineup--list--item--link {
        position: relative;
        border-radius: var(--default-radius-4);
        overflow: hidden;
      }
      .child-page-navi__lineup--list--item--text {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: center;
        width: 100%;
        height: 100%;
        background: var(--child-page-navi--item-text-bg, rgba(0, 0, 0, 0.35));
        padding: var(--default-gap-4);
        text-align: center;
        font-weight: bold;
        color: #fff;
        font-size: var(--default-font-size-12);
        position: absolute;
        top: 0;
        left: 0;
      }
    }
  }
  /*テキスト版*/
  &:has(.child-page-navi__lineup.is-text),
  &.text-links {
    --title-gap-bottom: var(--default-gap-8);
    .base-title {
      text-align: left;
      border-bottom: var(--default-border-black);
      padding-bottom: var(--title-gap-bottom);
    }
    .child-page-navi__lineup.is-text,
    .text-links__lineup {
      display: flex;
      flex-wrap: wrap;
      gap: var(--default-gap-8) var(--default-gap-16);
      font-weight: bold;
      .base-textlink__link {
        color: var(--default-color-black);
      }
    }
  }
}
#child-page-navi {
  .section__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--default-gap-40);
  }
}
/*promote-obi*/
.promote-obi {
  width: 100%;
  overflow: hidden;
  .is-size-pc & {
    --promote-obi-slide-speed: 30s;
  }
  .promote-obi__inner {
    width: 200vw;
    background: repeat-x center center / 911px;
    height: 60px;
    animation: slide-yoko var(--promote-obi-slide-speed, 15s) linear infinite;
  }
}
@keyframes slide-yoko {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100vw);
  }
}
/*special-theme（主に今が旬枠用）*/
#special-theme {
  .reco-banner {
    --slider-item-w: 300px;
    --cover-img-height: calc((300 / 736) * 100%);
    .reco-banner__lineup {
      display: flex;
    }
    .reco-banner__lineup--item {
      background: #fff;
      border-radius: var(--default-radius-4);
      overflow: hidden;
      box-shadow: var(--default-box-shadow);
    }
    .reco-banner__lineup--item--link {
      display: grid;
      grid-template-rows: auto 1fr;
      height: 100%;
    }
    .reco-banner__lineup--item--texts {
      padding: var(--default-gap-16);
    }
  }
}
/*reco-banner*/
.reco-banner {
  .reco-banner__lineup {
    display: grid;
    gap: var(--default-gap-16);
    .is-size-pc & {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .reco-banner__lineup--item {
    width: 100%;
    &.is-size-350 {
      --cover-img-height: 100%;
    }
    &.is-size-710 {
      --cover-img-height: calc((200 / 710) * 100%);
    }
    &.is-size-736 {
      --cover-img-height: calc((300 / 736) * 100%);
    }
    &.is-size-960 {
      margin: auto;
      .is-size-sp & {
        --cover-img-height: calc((200 / 710) * 100%);
        max-width: 710px;
      }
      .is-size-pc & {
        --cover-img-height: calc((100 / 960) * 100%);
        max-width: 960px;
        grid-column: span 2;
      }
    }
  }
}
/*close*/
#close {
  text-align: center;
  .close-title {
    font-size: var(--default-font-size-20);
    font-weight: bold;
    display: inline-block;
    border: var(--default-border-black);
    padding: var(--default-gap-8) var(--default-gap-16);
    margin-bottom: var(--default-gap-16);
  }
  .close-text {
    font-size: var(--default-font-size-16);
    .is-em {
      display: block;
      font-size: var(--default-font-size-24);
      &:not(:first-child) {
        margin-top: var(--default-gap-8);
      }
      &:not(:last-child) {
        margin-bottom: var(--default-gap-8);
      }
    }
  }
  .link-read-text {
    font-size: var(--default-font-size-20);
    &:not(:first-child) {
      margin-top: var(--default-gap-40);
    }
    &:not(:last-child) {
      margin-bottom: var(--default-gap-24);
    }
  }
  .link-banner {
    .reco-banner__list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      max-width: 380px;
      margin: auto;
      gap: var(--default-gap-16);
      @media (width > 740px) {
        max-width: 680px;
        grid-template-columns: repeat(4, 1fr);
      }
    }
    .reco-banner__link {
      display: block;
      position: relative;
      width: 100%;
      height: 0;
      padding-top: 100%;
    }
    .reco-banner__image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea ＝＝ ★*/
#footerArea {
  --footer-gap: var(--default-gap-56-96);
  display: grid;
  grid-template-columns: 100%;
  gap: var(--footer-gap);
  justify-items: center;
  padding: var(--footer-gap) 0;
  position: relative;
  z-index: 1;
  &:has(#search-mod:first-child) {
    padding-top: 0;
  }
  /*base-title*/
  .base-title.is-section-title {
    --title-gap-bottom: var(--default-gap-24);
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 0.25em;
    &::before,
    &::after {
      content: '';
      width: 1px;
      height: 1.25em;
      background: currentColor;
      transform-origin: bottom;
      rotate: 45deg;
    }
    &::before {
      rotate: -45deg;
    }
  }
  /*reco-banner*/
  .reco-banner {
    --reco-banner-column: 2;
    .reco-banner__lineup {
      width: min(var(--default-width-sp), var(--reco-banner-max-width, 710px));
      margin: auto;
      display: grid;
      gap: var(--default-gap-16);
      grid-template-columns: repeat(var(--reco-banner-column), 1fr);
      .is-size-sp & {
        max-width: 380px;
      }
    }
    .is-size-pc & {
      --reco-banner-column: 4;
      --reco-banner-max-width: 848px;
    }
  }
}
/*zenkoku-banner*/
.zenkoku-banner {
  .zenkoku-banner__lineup {
    width: min(var(--default-width-sp), var(--zenkoku-banner-max-width, 710px));
    margin: auto;
    display: grid;
    align-items: center;
    gap: var(--default-gap-16);
    .is-size-sp & {
      @media (width <= 740px) {
        & {
          max-width: 480px;
        }
      }
      @media (width > 740px) {
        & {
          grid-template-columns: repeat(2, 1fr);
        }
      }
    }
    .zenkoku-banner__lineup--item {
      --cover-img-height: calc((200 / 710) * 100%);
    }
  }

  .is-size-pc & {
    --zenkoku-banner-max-width: 960px;
    .zenkoku-banner__lineup {
      grid-template-columns: repeat(3, 1fr);
    }
    .zenkoku-banner__lineup--item {
      &.is-size-full {
        grid-column: span 3;
        --cover-img-height: calc((100 / 960) * 100%);
      }
    }
  }
}
/*search-mod*/
#search-mod {
  width: 100%;
  @media (width > 740px) {
    padding: var(--default-gap-100) 0;
    background: var(--fair-search-bg) no-repeat center top / var(--default-bg-width-pc);
  }
}

/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover: hover) and (pointer: fine) {
  .mv-portal-navi__list--link {
    &:hover {
      color: var(--fair-color-primary);
    }
  }
}
