.frv-c-imageModal__button.-close {
  transform: translate(50%) !important;
}

.frv-c-imageModal__content {
  max-height: 95dvh !important;
}

.frv-c-imageModal {
  height: 100dvh !important;

}


/* ロゴサイズ調整 */
.fs-p-logo__image {
  width: 200px;
}
@media (width >= 600px) {
  .fs-p-logo__image {
    width: 180px !important;
  }
}

/* カート内お届け予定日の表示を非表示 */
.fs-c-checkout-shippingOptionPreview__note:has(
  > .fs-c-deliveryDateInfo
),
.fs-c-checkout-shippingDetail__deliveryDateInfo:has(
  > .fs-c-deliveryDateInfo
) {
  display: none !important;
}

/* TOPカルーセル矢印位置調整 */
@media screen and (width >= 768px) {
  .fs-body-top .fs-c-productListCarousel__ctrl--prev {
    top: -62px;
    left: 200px !important;
  }
  .fs-body-top .fs-c-productListCarousel__ctrl--next {
    top: -62px;
    left: 230px !important;
  }
}

/* =========================================================
   ヘッダー：検索ボックス（PC・スマホ共通）
========================================================= */
.fs-l-header.fs-A-l-header > .hmcf-header-search {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 0 auto 16px;
  padding-inline: 24px;
  box-sizing: border-box;
}

.hmcf-header-search > form {
  width: 100%;
  margin: 0;
}

.hmcf-header-search .fs-p-searchForm__inputGroup {
  display: flex;
  width: 100%;
}

.hmcf-header-search .fs-p-searchForm__input {
  flex: 1;
  width: 0;
  min-width: 0;
  font-size: 16px;
}

.hmcf-header-search .fs-p-searchForm__button {
  flex-shrink: 0;
}

/* =========================================================
   スマホ：ロゴ／アイコン／検索／お知らせ
========================================================= */
@media screen and (width < 600px) {
  .fs-l-header.fs-A-l-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px 24px;
    padding: 14px;
    align-items: center;
  }

  .fs-A-l-header > .fs-A-l-header__contents {
    display: contents;
  }

  /* 1段目：ロゴを中央に配置 */
  .fs-A-l-header__contents > .fs-A-l-header__logo {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    margin: 0;
    text-align: center;
  }

  .fs-A-l-header__logo .fs-p-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .fs-A-l-header__logo .fs-p-logo__link {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    margin: 0;
  }

  .fs-A-l-header__logo .fs-p-logo__image {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

  /* 2段目左：メニュー */
  .fs-A-l-header__contents > .fs-A-l-header__drawerOpener {
    grid-column: 1;
    grid-row: 2;
  }

  /* 2段目右：マイページ・カート・お気に入り */
  .fs-A-l-header > .fs-A-l-header__navigation {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }

  /* 3段目：検索ボックス */
  .fs-l-header.fs-A-l-header > .hmcf-header-search {
    grid-column: 1 / -1;
    grid-row: 3;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  /* 4段目：お知らせ */
  .fs-A-l-header > .fs-p-messageBoard {
    grid-column: 1 / -1;
    grid-row: 4;
    width: 100%;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
  }
}

/* スマホ：ロゴの高さ制限を解除 */
@media screen and (width < 600px) {
  .fs-A-l-header__logo,
  .fs-A-l-header__logo .fs-p-logo,
  .fs-A-l-header__logo .fs-p-logo__link {
    height: auto;
    max-height: none;
  }

  .fs-A-l-header__logo .fs-p-logo__image {
    width: 200px;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }
}