@charset "UTF-8";

ul,
ol,
li {
margin: 0;
padding: 0;
list-style: none;
}


.br-sp-only{
  display: none;
}

@media (max-width: 767px) {
.br-sp-only {
display: inline;
}
}

/* ====ここからがメインビジュアル==== */

/* プレミアムクラスのmv背景カラー設定 */
.mv{
  background-color: #005BAB;
  padding: 60px 64px;
}
/* ここまで */

/* エコノミーのmv背景カラー設定 */
.economy-mv{
  background-color: #2d771f;
  padding: 60px 64px;
}
/* ここまで */

.mv__inner{
  max-width: 1200px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 500px;
  gap: 64px;
  align-items: start;
}

.mv__head{
  display: flex;
  align-items: center;
  gap: 20px;
}

.mv__head img{
  width: 84px;
  height: auto;
}

.mv__title{
  margin: 0;
  font-weight: 900;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  color: #fff;
}

.mv__title__span{
  color: #FFE30D;
}

.mv__lead{
  margin: 42px 0 0;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #fff;
}

.mv__merits{
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}


/* プレミアムクラスのmv背景カラー設定 */
.mv__merit{
  padding: 20px 14px;
  background-color: #02085195;
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  text-align: center;
}
/* ここまで */

/* エコノミークラスのmv背景カラー設定（メリット） */
.economy-mv__merit{
  padding: 20px 14px;
  background-color: #0b4101;
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  text-align: center;
}
/* ここまで */

.mv__merit-title{
  display: block;
  margin-top: 0.4rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  color: #FFE30D;
}

.mv__merit-text{
  display: block;
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #fff;
}

/* ボタン */

.mv__buttons{
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 360px));
  justify-content: start;
  align-items: start;
  gap: 16px;
}

.mv__btn-col{
  flex: 1 1 0;
  min-width: 0;
  max-width: 300px;
}

.mv__btn-col .mv__btn{
  display: block;
  max-width: none;
}

.mv__btn{
  max-width: 560px;
  padding: 16px 24px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
}

.mv__btn{
  position: relative;
  padding-left: 2.6rem;
  padding-right: 2.6rem;
}

/*==== 外部リンクボタン ====*/


.mv__btn-ext{
  position: absolute;
  top: 50%;
  right: 1.1em;
  width: 1em;
  height: 1em;
  transform: translateY(-50%);
}

/*==== 内部リンクボタン ====*/

.mv__btn--right::after{
  content: "＞";
  position: absolute;
  top: 50%;
  right: 20px;
  color: #020851;
  transform: translateY(-50%);
}


/*==== ボタンの色付け ====*/

.mv__btn--left{
  background-color: #E06E12;
  color: #fff;
}

.mv__btn--right{
  background-color: #CCD4EA;
  color: #020851;
}

.mv__note{
  margin: 32px 0 0;
  font-size: 1.4rem;
  color: #fff;
}

.mv__image{
  margin: 0;
  width: 500px;
  max-width: 100%;
}

.mv__image img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/*====  1024px以下は画像を下に  ====*/
@media (max-width: 1024px){
  .mv{
    padding: 64px 20px;
  }

  /* エコノミークラス用設定 */
  .economy-mv{
    padding: 64px 20px;
  }
  /* ここまで */

  .mv__inner{
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .mv__body{
    margin: 0 auto;
  }

  .mv__image{
    justify-self: center;
  }

  .mv__image img{
    width: 100%;
    height: auto;
  }
}


/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .mv__head{
    flex-direction: column;
    /* align-items: flex-start; */
    gap: 14px;
    text-align: center;
  }

  .mv{
    padding: 40px 20px;
  }

  /* エコノミークラス用設定 */
  .economy-mv{
    padding: 40px 20px;
  }
  /* ここまで */

  .mv__title{
    font-size: 2.3rem;
  }

  .mv__lead{
    margin-top: 16px;
    font-size: 1.5rem;
  }

  .mv__merits{
    margin-top: 24px;
    gap: 8px;
  }

  .mv__merit{
    padding: 14px 10px;
  }

  .economy-mv__merit{
    padding: 14px 10px;
  }

  .mv__merit-title{
    font-size: 1.8rem;
  }

  .mv__buttons{
    margin-top: 16px;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 16px;
  }

  .mv__btn-col{
    flex: none;
    max-width: none;
  }

  .mv__buttons > .mv__btn{
    flex: none;
  }

  .mv__note{
    margin-top: 8px;
  }

  .mv__merits{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mv__btn{
    max-width: none;
    padding-inline: 2em;
    font-size: 1.6rem;
  }

  .mv__image{
    width: 365px;
  }

}



/* ====ここまでがメインビジュアル==== */


/* ======ここからがバナーエリア====== */

.bnr-Contents{
  margin-top: 100px;
}

.bnr-Contents__area{
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
  text-align: center;
}

.bnr-Contents__img{
  text-align: center;
}

.bnr-Contents__img img{
  width: 800px;
  height: auto;
}

@media (max-width: 767px) {
  .bnr-Contents{
  margin-top: 40px;
}
  
  .bnr-Contents__img img{
  width: 330px;
  height: auto;
  }

}

/* ======ここまでがバナーエリア====== */


/* ======ここからが目玉商品エリア====== */

/*==== セクション全体 ====*/

.pickup{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}

.pickup__head{
  margin-top: 100px;
}

.pickup__title{
  margin: 0;
  font-size: 3.5rem;
}

.pickup__lead{
  margin: 16px 0 24px 0;
  font-size: 1.6rem;
}

/*==== 見出し・リード文 ====*/


/*==== 商品リスト ====*/

.pickup__list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/*==== 注目商品（下部） ====*/

.pickup-product{
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-template-areas: "image body" "spec spec";
  align-content: start;
  gap: 8px 22px;
  grid-row: span 2;
  grid-template-rows: auto auto;
  grid-template-rows: subgrid;
}

.pickup-product__image{
  margin: 0;
  overflow: hidden;
  align-self: start;
  height: 300px;
  grid-area: image;
}

.pickup-product__image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.pickup-product__image:hover img{
  transform: scale(1.03);
}

.pickup-product__body{
  grid-area: body;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pickup-product__spec-box{
  grid-area: spec;
  display: flex;
  flex-direction: column;
}


.pickup-product__new{
  display: inline-block;
  width: fit-content;
  background-color: #005BAB;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 5px 20px;
  letter-spacing: .08rem;
  margin: 0 0 24px 0;
}

.pickup-product__title{
  margin: 0 0 24px 0;
  font-size: 1.8rem;
  line-height: 1.3;
}

.pickup-product__desc{
  margin: 0 0 16px 0;
  font-size: 1.4rem;
}

.pickup-product__price{
  margin: 0;
  font-size: 2.5rem;
  font-weight: 600;
}

.pickup-product__price small{
  font-size: 1.5rem;
}

.pickup-product__spec dd{
  margin: 0;
}

/*==== 商品仕様 ====*/

.pickup-product__spec-title{
  margin-bottom: 10px;
  font-size: 1.5rem;
}

.pickup-product__spec{
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #333;
}

.pickup-product__spec div{
  display: grid;
  grid-template-columns: 5em 1fr;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid #333;
  flex: 1 1 auto;
}

/* .pickup-product__spec div:last-child{
  border-bottom: 1px solid #333;
} */

/*==== 注目商品（上部） ====*/

.pickup-product--featured{
  grid-column: 1 / -1;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "image body" "image spec";
  grid-template-rows:  auto 1fr;
  gap: 25px;
}

.pickup-product--featured .pickup-product__title{
  font-size: 2.25rem;
  line-height: 1.5;
}

.pickup-product--featured .pickup-product__desc{
  margin-bottom: 32px;
  font-size: 1.5rem;
}

.pickup-product--featured .pickup-product__image{
  height: auto;
}

.pickup-product--featured .pickup-product__image img{
  height: auto;
}

.pickup-product--featured .pickup-product__price{
  font-size: 2.5rem;
  margin-bottom: 32px;
}

.pickup-product--featured .pickup-product__spec-title{
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.pickup-product--featured .pickup-product__spec{
  font-size: 1.4rem;
}


/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .pickup__head{
  margin-top: 40px;
  }

  .pickup__lead{
  margin: 16px 0 24px 0;
  font-size: 1.4rem;
  }

  .br-pc-only{
  display: none;
  }

  /*==== 注目商品共通 ====*/

  .pickup{
  width: 100%;
  max-width: 375px;
  }

  .pickup__title{
    margin: 0 auto;
    font-size: 2.5rem;
  }

  .pickup__list{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .pickup-product, .pickup-product--featured{
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "image" "body" "spec";
    gap: 14px;
  }

  /*==== 注目商品（下部） ====*/

.pickup-product__image img{
  margin: 0 auto;
  width: 100%;
  height: 300px;
  object-fit: cover;
  }

.pickup-product__title{
  margin-bottom: 16px;
  font-size: 1.8rem;
  line-height: 1.2;
}

.pickup-product__desc{
  margin-bottom: 24px;
}

.pickup-product__price{
  margin: 0 0 8px 0;
  font-size: 2rem;
}

.pickup-product__price small{
  font-size: 1.8rem;
}

.pickup-product__spec dd{
  margin: 0;
}

/*==== 商品仕様 ====*/

.pickup-product__spec-title{
  margin-bottom: 8px;
}

.pickup-product__spec div{
  display: grid;
  grid-template-columns: 5em 1fr;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
}

/*==== 注目商品（上部） ====*/

.pickup-product--featured .pickup-product__title{
  margin-bottom: 16px;
  font-size: 1.8rem;
  line-height: 1.2;
}

.pickup-product--featured .pickup-product__desc{
  margin-bottom: 30px;
  font-size: 1.4rem;
}

.pickup-product--featured .pickup-product__price{
  margin: 0 0 16px 0;
  font-size: 2rem;
}

.pickup-product--featured .pickup-product__spec-title{
  margin-bottom: 8px;
}

}

/* ======ここまでが目玉商品エリア====== */



/* ======ここからが新着商品エリア====== */

.new-product{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}

.new-product__head{
  margin-top: 100px;
}

.new-product__lead{
  margin: 16px 0 16px 0;
  font-size: 1.6rem;
}

.new-product__title{
  font-size: 3.5rem;
}

.new-product__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  gap: 32px;
}

.new-product-figure{
  overflow: hidden;
}

.new-product__image{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .4s ease;
}

.new-product-figure:hover .new-product__image{
  transform: scale(1.03);
}

.new-product__new{
  margin-top: 8px;
  display: inline-block;
  width: fit-content;
  background-color: #005BAB;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 6px 20px;
  letter-spacing: .08rem;
}

.new-product__product-title{
  margin: 14px 0 0 0;
  font-size: 1.4rem;
}

.new-product__price{
  margin: 8px 0 0 0;
  font-size: 2rem;
  font-weight: 600;
}

.new-product__price small{
  font-size: 1.4rem;
}

.btn{
  position: relative;
  width: fit-content;
  margin-inline: auto;
  margin-top: 30px;
}

.new-benefits__view-more-btn{
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  width: 250px;
  height: 60px;
  font-size: 2rem;
  font-weight: 700;
  border: 3px solid #005BAB;
  border-radius: 999px;
  color: #005BAB;
  transition: .3s;
}

.new-benefits__view-more-btn:hover{
  background-color: #005BAB;
  color: #fff;
}

.new__title-icon {
position: absolute;
top: 50%;
right: 16px;
width: 12px;
height: 12px;
transform: translateY(-50%);
pointer-events: none;
color: #005BAB;
transition: color 0.2s ease;
}

.new__title-icon::before,
.new__title-icon::after{
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 1px;
}

.new__title-icon::before{
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.new__title-icon::after{
  left: 50%;
  top: 0;
  width: 3px;
  height: 100%;
  transform: translateX(-50%);
  transition: opacity 0.3s ease;
}

.new-benefits__view-more-btn[aria-expanded="true"] + .new__title-icon::after{
  opacity: 0 !important;
}

.new-benefits__view-more-btn[hidden] + .new__title-icon{
  display: none;
}

.btn:hover .new__title-icon{
  color: #fff;
}






/*====  TB表示(1024px以下)  ====*/
@media (max-width: 1024px){

  .new-product__list{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

}



/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .new-product__head{
  margin-top: 40px;
  }

.new-product__title{
  font-size: 2.5rem;
}

.new-product__lead{
  margin: 16px 0 16px 0;
  font-size: 1.4rem;
}
  .new-product{
  max-width: 375px;
  }

  .new-product__list{
    grid-template-columns: repeat(2, minmax(0, 1fr) );
    gap: 18px;
  }

  .new-product__new{
    background-color: #005BAB;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 3px 12px;
    letter-spacing: .08rem;
  }

.new-product__price{
  margin: 8px 0 0 0;
}

  .new-benefits__view-more-btn{
  width: 200px;
  height: 50px;
  font-size: 1.5rem;
  font-weight: 600;
  border: 3px solid #005BAB;
  }
}


/* ======ここまでが新着商品エリア====== */



/* ======ここからが特集・おすすめエリア====== */


    /* ==============================
       共通
    ============================== */
    /* 1. リセット・共通設定 */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    [hidden] {
      display: none !important;
    }

    button {
      font: inherit;
    }

    .product-tabs__title{
      font-size: 3.5rem;
    }

    .recommended__lead{
      font-size: 1.6rem;
    }

    .product-slider__card-title{
      font-size: 1.8rem;
      font-weight: 300;
    }

    .product-slider__text{
      font-size: 2rem;
      font-weight: 600;
    }

    .product-slider__text small{
      font-size: 1.4rem;
    }

    /* 2. Swiperの最低限の基本スタイル */
    .product-slider__swiper.swiper {
      position: relative;
      z-index: 1;
      display: block;
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      padding: 0;
      overflow: hidden;
      list-style: none;
    }

    .product-slider__swiper.swiper-horizontal {
      touch-action: pan-y;
    }

    .product-slider__swiper > .swiper-wrapper {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: stretch;
      width: 100%;
      height: 100%;
      box-sizing: content-box;
      transition-property: transform;
    }

    .product-slider__swiper > .swiper-wrapper > .swiper-slide {
      position: relative;
      display: block;
      width: 100%;
      height: auto;
      transition-property: transform;
    }

    .product-slider__swiper.swiper-android > .swiper-wrapper {
      transform: translate3d(0, 0, 0);
    }

    .product-slider__swiper .swiper-notification {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1000;
      opacity: 0;
      pointer-events: none;
    }

    .product-slider .is-locked {
      display: none;
    }

    /* 3. タブのスタイル */
    .product-tabs {
      width: min(1200px, 100%);
      margin: 100px auto;
      padding-inline: 20px;
      padding-left: 4%;
      padding-right: 4%;
    }

    .product-tabs__tab-list {
      display: flex;
      gap: 8px;
      margin-bottom: 32px;
      padding: 4px;
      overflow-x: auto;
      border-radius: 12px;
    }

    .product-tabs__tab {
      position: relative;
      border-radius: 0;
      flex: 1 0 auto;
      min-width: 140px;
      padding: 14px 20px;
      color: #333;
      font-weight: 700;
      background: transparent;
      border: 0;
      cursor: pointer;
      font-size: 1.7rem;
    }

    .product-tabs__tab[aria-selected="true"] {
      color: #333;
      border-bottom: 3px solid #005BAB;

    }

    .product-tabs__tab:focus-visible,
    .product-tabs__panel:focus-visible {
      outline: 3px solid #ffbf47;
      outline-offset: 3px;
    }

    /* 4. カード */
    .product-slider {
      position: relative;
      width: 100%;
    }

    .product-slider__card {
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow: hidden;
      background: #f5f6fb;
      border: 1px solid #dddfea;
      border-radius: 16px;
    }

    .product-slider__image {
      display: grid;
      place-items: center;
      color: #fff;
      font-size: 28px;
      font-weight: 700;
      overflow: hidden;
    }

    .product-slider__image img{
      width: 300px;
      height: auto;
      transition: transform .4s ease;
    }

    .product-slider__image:hover img{
      transform: scale(1.03);
     }

    .product-slider__content {
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 20px;
    }

    /* 5. 操作エリア */
    .product-slider__controls {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin-top: 24px;
    }

    .product-slider__button {
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      width: 48px;
      height: 48px;
      padding: 0;
      color: #fff;
      background: #222;
      border: 0;
      border-radius: 50%;
      cursor: pointer;
    }

    .product-slider__button:hover:not(.is-disabled) {
      background: #005BAB;
    }

    .product-slider__button:focus-visible {
      outline: 3px solid #ffbf47;
      outline-offset: 3px;
    }

    .product-slider__button.is-disabled {
      opacity: 0.3;
      cursor: not-allowed;
    }

    .product-slider__button-icon {
      width: 12px;
      height: 12px;
      border-top: 2px solid currentColor;
      border-right: 2px solid currentColor;
    }

    .product-slider__button--prev .product-slider__button-icon {
      margin-left: 4px;
      transform: rotate(-135deg);
    }

    .product-slider__button--next .product-slider__button-icon {
      margin-right: 4px;
      transform: rotate(45deg);
    }

    .product-slider__botton-left{
      position: absolute;
      top: 40%;
      left: 0;
      transform: translateY(-40%);
      z-index: 999;
    }

    .product-slider__botton-right{
      position: absolute;
      top: 40%;
      right: 0;
      transform: translateY(-40%);
      z-index: 999;
    }

    /* 6. ページネーション */
    .product-slider__pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: auto;
      min-width: 100px;
    }

    .product-slider__pagination .product-slider__bullet {
      display: block;
      width: 10px;
      height: 10px;
      margin: 0;
      padding: 0;
      background: #c3c5cc;
      border: 0;
      border-radius: 999px;
      cursor: pointer;
      opacity: 1;
    }

    .product-slider__pagination .product-slider__bullet.is-active {
      width: 30px;
      background: #333;
    }

    .product-slider__pagination .product-slider__bullet:focus-visible {
      outline: 3px solid #ffbf47;
      outline-offset: 3px;
    }

    

    /* 7. SP */
    @media (max-width: 767px) {

      .product-tabs__title{
      font-size: 2.5rem;
      }

      .recommended__lead{
      font-size: 1.4rem;
      }

      .product-tabs {
        margin-block: 40px;
        padding-inline: 16px;
      }

      .product-tabs__tab {
        padding: 12px 16px;
      }

      .product-slider__card {
        min-height: 200px;
      }

      .product-slider__image {
        min-height: 200px;
      }

      .product-slider__image img{
        width: 200px;
        height: 200px;
      }

      .product-slider__card-title{
        font-size: 1.6rem;
      }

      .product-slider__text{
      font-size: 1.8rem;
      }

      .product-slider__controls {
        gap: 14px;
        margin-top: 20px;
      }

      .product-slider__button {
        width: 44px;
        height: 44px;
      }
    }

    /* 動きを減らす設定への配慮 */
    @media (prefers-reduced-motion: reduce) {
      .product-tabs__tab,
      .product-slider__button,
      .product-slider__bullet {
        transition: none;
      }
    }


/* ======ここまでが特集・おすすめエリア====== */



/* ======ここからがバッグ＆トラベルエリア====== */

.bag-travel{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}

.bag-travel__title{
  margin-top: 100px;
  font-size: 3.5rem;
}

.bag-travel__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  gap: 32px;
}

.bag-travel__figure{
  overflow: hidden;
}

.bag-travel__image{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .4s ease;
}

.bag-travel__figure:hover .bag-travel__image{
  transform: scale(1.03);
}

.bag-travel__product-title{
  margin: 14px 0 0 0;
  font-size: 1.5rem;
}

.bag-travel__product-price{
  margin: 8px 0 0 0;
  font-size: 2rem;
  font-weight: 600;
}

.bag-travel__product-price small{
  font-size: 1.4rem;
}


/*====  TB表示(1024px以下)  ====*/
@media (max-width: 1024px){

  .bag-travel__list{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

}



/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .bag-travel{
  max-width: 375px;
  }

  .bag-travel__title{
    margin-top: 40px;
    font-size: 2.5rem;
    }

  .bag-travel__list{
    grid-template-columns: minmax(0, 385px);
    gap: 18px;
  }

  .bag-travel__product-price{
    margin: 8px 0 0 0;
  }
}


/* ======ここまでがバッグ＆トラベルエリア====== */



/* ======ここからがファッションエリア====== */

.fashion{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}

.fashion__title{
  margin-top: 100px;
  font-size: 3.5rem;
}

.fashion__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  gap: 32px;
}

.fashion__figure{
  overflow: hidden;
}

.fashion__image{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .4s ease;
}

.fashion__figure:hover .fashion__image{
  transform: scale(1.03);
}

.fashion__product-title{
  margin: 14px 0 0 0;
  font-size: 1.5rem;
}

.fashion__product-price{
  margin: 8px 0 0 0;
  font-size: 2rem;
  font-weight: 600;
}

.fashion__product-price small{
  font-size: 1.4rem;
}


/*====  TB表示(1024px以下)  ====*/
@media (max-width: 1024px){

  .fashion__list{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

}



/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .fashion{
  max-width: 375px;
  }

  .fashion__title{
    margin-top: 40px;
  font-size: 2.5rem;
  }

  .fashion__list{
    grid-template-columns: minmax(0, 385px);
    gap: 18px;
  }

  .fashion__product-price{
    margin: 8px 0 0 0;
  }
}


/* ======ここまでがファッションエリア====== */

/* ======ここからがご利用の流れエリア====== */

.step-flow {
  margin-top: 100px;
padding: 80px 0;
background: #005bab;
}

.step-flow__wrapper {
max-width: 1200px;
margin: 0 auto;
padding-inline: 4%;
}


/* アコーディオン設定 */
.step-accordion__button {
width: 100%;
padding: 20px 24px;
border: 1px solid #ddd;
background: #fff;
cursor: pointer;
box-sizing: border-box;
}

.step-accordion__title {
display: flex;
align-items: center;
width: 100%;
}

.step-accordion__title-text {
margin: 0;
font-size: 2.0rem;
font-weight: 700;
color: #333;
}

.step-accordion__title-icon {
margin-left: auto;
flex-shrink: 0;
line-height: 1;
}

.step-accordion__title-icon::before {
content: "+";
font-size: 32px;
font-weight: 300;
color: #333;
}

/* 開いた時 */
.step-accordion__button[aria-expanded="true"]
.step-accordion__title-icon::before {
content: "−";
color: #333;
}



/* アコーディオンここまで */


.ttlBlockB01 {
margin: 30px 0 60px 0;
text-align: center;
}

.ttlBlockB01 img {
max-width: 100%;
height: auto;
}

.step-flow__list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px 30px;
}

.step-flow__item {
  position: relative;
  display: flex;
  flex-direction: column;
}

.step-flow__item:not(:last-child)::after {
content: "→";
position: absolute;
top: 50%;
right: 30px;
color: #fff;
font-size: 32px;
font-weight: bold;
transform: translateY(-50%);
}

/* タイトルエリアを揃える */
.ttl {
min-height: 80px;
}

.ttl img {
display: block;
max-width: 100%;
height: auto;
}

/* 画像エリアを揃える */
.detail {
display: flex;
align-items: flex-start;
justify-content: flex-start;
height: 320px;
}

.detail img {
display: block;
max-width: 100%;
max-height: 320px;
width: auto;
height: auto;
}

.info {
margin-top: 16px;
color: #fff;
font-size: 1.4rem;
}

.step-flow__item:not(:nth-child(5)) {
display: flex;
flex-direction: column;
align-items: center;
}

.step-flow__item:nth-child(5) {
grid-column: span 2;
padding-left: 20px;
}

@media (max-width: 767px) {

.step-flow__list {
grid-template-columns: repeat(2, 1fr);
gap: 40px;
}

.detail {
height: auto;
}

.step-flow__item:not(:last-child)::after {
right: -5px;
}

.step-flow__item:not(:nth-child(5)) .ttl img {
width: 80%;
}

.step-flow__item:not(:nth-child(5)) .detail img{
width: 80%;
}

}


/* ======ここまでがご利用の流れエリア====== */

/* ======ここからが注意事項エリア====== */

.notice{
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}

.notice__title{
  margin-top: 100px;
  font-size: 3.5rem;
}

.notice__inner{
  background-color: #ccc;
  border: 2px solid #ccc;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 0;
}

.notice__text{
  padding-left: 4%;
  padding-right: 4%;
  font-size: 1.4rem;
  line-height: 1.6;
  text-indent: -1em;
}

.notice__list li{
  margin-bottom: 8px;
}


@media (max-width: 767px){

  .notice__text{
  line-height: 1.5;
  }

  .notice__list li{
    padding-left: 6%;
  }

}


/* ======ここまで注意事項エリア====== */






/* ======ここからがお問い合わせエリア====== */

.contact{
  margin: 0 auto;
  max-width: 1200px;
  padding-left: 4%;
  padding-right: 4%;
}

.contact__title{
  margin-top: 100px;
  font-size: 3.5rem;
}


.contact__inner{
  background-color: #005BAB;
  border: 1px solid #005BAB;
  border-radius: 10px;
  padding: 20px 0;
}

.contact h3{
  font-size: 2.5rem;
}

.contact__inner h4{
  font-size: 1.8rem;
  padding-left: 4%;
  color: #fff;
}

.contact__inner h4 a{
  position: relative;
  font-size: 1.8rem;
  color: #fff;
}

.contact__btn-ext{
  position: absolute;
  top: 50%;
  right: -2rem;
  width: 1em;
  height: 1em;
  transform: translateY(-50%);
}

.contact__tel{
  margin: 0 0 16px 0;
  padding-left: 4%;
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  line-height: .8;
}

.contact__tel small{
  font-size: 1.5rem;
  font-weight: 600;
}

.contact__hours{
  padding-left: 4%;
  font-size: 1.4rem;
  color: #fff;
}

.contact__note{
  margin-top: 15px;
}


.contact__note-item{
  font-size: 1.4rem;
}

/*====  sp表示(767px以下)  ====*/
@media (max-width: 767px){

  .contact__title{
  margin-top: 40px;
  font-size: 2.5rem;
  }

  .contact h3{
  font-size: 2rem;
  }

.contact__inner h4{
  font-size: 1.5rem;
  }

.contact__inner h4 a{
  font-size: 1.5rem;
  }

}
/* ======ここまでお問い合わせエリア====== */