@charset "UTF-8";

/* ギフトTOP（SP: 390px / PC: コンテンツ幅1200px） */

#gift-top {
  --gift-gray: #595757;
  --gift-gray-price: #5a5959;
  --gift-blue: #a3dcf3;
  --gift-pink: #f3cac6;
  --gift-pink-bg: #fbebea;
  --gift-beige: #f8f7f5;
  --gift-rank-all: #e8f6fc;
  --gift-rank-1000: #f9e5e3;
  --gift-rank-3000: #fff4d8;
  --gift-rank-10000: #daf1e9;
  --gift-accent: #fb7e71;
  box-sizing: border-box;
  width: 100%;
  overflow-x: clip;
  color: var(--gift-gray);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    sans-serif;
}

#gift-top > .inner {
  width: min(390px, 100%);
  margin-inline: auto;
  padding-inline: 0;

  @media (width >= 769px) {
    width: min(calc(1200px + 25px * 2), 100%);
    padding-inline: 25px;
  }
}

#gift-top *,
#gift-top *::before,
#gift-top *::after {
  box-sizing: border-box;
}

/* bxSlider の幅計算を壊さない */
#gift-top .bx-wrapper,
#gift-top .bx-wrapper .bx-viewport {
  box-sizing: content-box;
}

#gift-top img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

#gift-top a {
  color: inherit;
  text-decoration: none;
}

#gift-top a:hover {
  opacity: 0.8;
}

#gift-top .gift-top-btn,
#gift-top .gift-top-sort__link,
#gift-top .gift-top-more__item {
  color: #fff;
}

/* セクション見出し */
.gift-top-heading {
  margin: 0;
  color: var(--gift-gray);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.54;
  text-align: center;

  @media (width >= 769px) {
    font-size: 24px;
    line-height: 1.283; /* 30.8 / 24 */
  }
}

.gift-top-heading::after {
  content: "";
  display: block;
  width: 50px;
  height: 0;
  margin-block-start: 16px;
  margin-inline: auto;
  border-block-end: 1px dotted var(--gift-gray);
}

.gift-top-heading[data-lines="2"] {
  line-height: 1.5;
  letter-spacing: 2px;

  @media (width >= 769px) {
    letter-spacing: 0;

    br {
      display: none;
    }
  }
}

.gift-top-heading[data-lines="2"]::after {
  margin-block-start: 12px;

  @media (width >= 769px) {
    margin-block-start: 16px;
  }
}

/* 共通ボタン */
.gift-top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(250px, 100%);
  min-height: 42px;
  margin-inline: auto;
  padding-inline: 12px;
  border-radius: 21px;
  background-color: var(--gift-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;

  @media (width >= 769px) {
    min-height: 60px;
    border-radius: 30px;
    font-size: 16px;
    line-height: 1.925; /* 30.8 / 16 */
  }
}

.gift-top-btn[data-size="lg"] {
  min-height: 60px;
  border-radius: 30px;
  border: 1px solid #fff;
  line-height: 1.4;

  @media (width >= 769px) {
    min-height: 80px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 1.225; /* 19.6 / 16 */
  }
}

/* 商品カード */
.gift-top-goods {
  display: block;
  color: var(--gift-gray);
}

.gift-top-goods__img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.gift-top-goods__img[src$="baby-09.png"] {
  object-position: top center;
}

.gift-top-goods__brand {
  display: block;
  margin-block-start: 11px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.65;
}

.gift-top-goods__name {
  display: block;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
}

.gift-top-goods__contents {
  display: block;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.65;
}

.gift-top-goods__price {
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

/* タイトル */
.gift-top-title {
  display: flex;
  align-items: center;
  width: min(360px, 100%);
  min-height: 49px;
  margin-inline: auto;
  padding-inline: 15px;
  color: var(--gift-gray);
  font-size: 19.2px;
  font-weight: 700;
  line-height: normal;

  @media (width >= 769px) {
    width: 100%;
    min-height: 56px;
    padding-inline: 0;
    font-size: 24px;
  }
}

/* MV */
.gift-top-mv {
  margin-block-start: 10px;

  @media (width >= 769px) {
    margin-block-start: 0;
  }
}

.gift-top-mv__img {
  width: 100%;
  height: auto;
  aspect-ratio: 390 / 510;
  object-fit: cover;

  @media (width >= 769px) {
    aspect-ratio: 1200 / 440;
  }
}

/* ランキング */
.gift-top-ranking {
  margin-block-start: 61px;

  @media (width >= 769px) {
    margin-block-start: 80px;
  }
}

.gift-top-ranking__heading {
  margin: 0;
  color: var(--gift-gray);
  font-size: 20px;
  font-weight: 700;
  line-height: 0.95;
  text-align: center;

  @media (width >= 769px) {
    font-size: 24px;
    line-height: 1.283;
  }
}

.gift-top-ranking__heading::after {
  content: "";
  display: block;
  width: 50px;
  height: 0;
  margin-block-start: 26px;
  margin-inline: auto;
  border-block-end: 1px dotted var(--gift-gray);

  @media (width >= 769px) {
    margin-block-start: 27px;
  }
}

.gift-top-ranking__label {
  position: relative;
  display: inline-block;
}

.gift-top-ranking__crown {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 100%;
  width: 24px;
  height: 19px;
  object-fit: contain;
  translate: -10px -50%;

  @media (width >= 769px) {
    width: 28px;
    height: 22px;
  }
}

.gift-top-ranking__tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  margin: 0;
  margin-block-start: 30px;
  padding: 0;
  list-style: none;

  @media (width >= 769px) {
    width: min(606px, 100%);
    margin-block-start: 38px;
    margin-inline: auto;
  }
}

.gift-top-ranking__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 41px;
  padding: 0 4px;
  border: 0;
  border-start-start-radius: 10px;
  border-start-end-radius: 10px;
  color: var(--gift-gray);
  font-size: 12px;
  font-weight: 700;
  line-height: 2.57;
  cursor: pointer;
  background-color: var(--gift-rank-1000);

  @media (width >= 769px) {
    min-height: 64px;
    font-size: 16px;
    line-height: 1.925;
  }
}

.gift-top-ranking__tab[data-tab="all"] {
  background-color: var(--gift-rank-all);
}

.gift-top-ranking__tab[data-tab="3000"] {
  background-color: var(--gift-rank-1000);
}

.gift-top-ranking__tab[data-tab="5000"] {
  background-color: var(--gift-rank-3000);
}

.gift-top-ranking__tab[data-tab="10000"] {
  background-color: var(--gift-rank-10000);
}

.gift-top-ranking__tab.is-active {
  position: relative;
}

.gift-top-ranking__panels {
  background-color: var(--gift-rank-all);
  min-height: 280px;
  padding-block: 21px 40px;
  /* padding-inline-start: 20px; */

  @media (width >= 769px) {
    min-height: 396px;
    padding-block: 32px 48px;
    padding-inline-start: 40px;
  }
}

.gift-top-ranking[data-panel="1"] .gift-top-ranking__panels {
  background-color: var(--gift-rank-1000);
}

.gift-top-ranking[data-panel="2"] .gift-top-ranking__panels {
  background-color: var(--gift-rank-3000);
}

.gift-top-ranking[data-panel="3"] .gift-top-ranking__panels {
  background-color: var(--gift-rank-10000);
}

.gift-top-ranking .ranking_slider_lightningrecommend {
  display: none;
}

.gift-top-ranking .ranking_slider_lightningrecommend.is-active {
  display: block;
}

/* PC: 修正前の横並び＋横スクロール。SPは bxSlider に任せる */
@media (width >= 769px) {
  .gift-top-ranking .ranking_slider_lightningrecommend.is-active {
    overflow-x: auto;
    overflow-y: hidden;
  }

  #gift-top .gift-top-ranking .bx-wrapper,
  #gift-top .gift-top-ranking .bx-viewport {
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: visible;
  }

  #gift-top .gift-top-ranking .ranking_slider_lightningrecommend ul,
  #gift-top
    .gift-top-ranking
    .ranking_slider_lightningrecommend
    .block-ranking-r {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #gift-top .gift-top-ranking .ranking_slider_lightningrecommend li,
  #gift-top
    .gift-top-ranking
    .ranking_slider_lightningrecommend
    .block-ranking-r--item {
    display: flex;
    flex-direction: column;
    flex: 0 0 180px;
    float: none;
    width: 180px;
    margin-right: 20px !important;
  }

  #gift-top
    .gift-top-ranking
    .ranking_slider_lightningrecommend
    .block-ranking-r--goods-image
    figure {
    width: 180px;
    height: 180px;
  }

  #gift-top
    .gift-top-ranking
    .ranking_slider_lightningrecommend
    .block-ranking-r--goods-image
    figure
    img {
    width: 180px;
    height: 180px;
    object-fit: cover;
  }

  .gift-top-ranking .ranking_slider_lightningrecommend::-webkit-scrollbar {
    height: 4px;
  }

  .gift-top-ranking .ranking_slider_lightningrecommend::-webkit-scrollbar-thumb {
    background-color: var(--gift-gray);
  }
}

/* 予算別に探す */
.gift-top-sort {
  margin-block-start: 61px;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 80px;
    margin-inline: auto;
  }
}

.gift-top-sort__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 10px;
  width: min(350px, 100%);
  margin-block-start: 29px;
  margin-inline: auto;
  padding-inline: 20px;

  @media (width >= 769px) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    width: 100%;
    margin-block-start: 33px;
    padding-inline: 0;
  }
}

.gift-top-sort__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  border-radius: 21px;
  background-color: var(--gift-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;

  @media (width >= 769px) {
    min-height: 60px;
    border-radius: 30px;
    font-size: 16px;
    line-height: 1.925;
  }
}

.gift-top-sort__banner {
  position: relative;
  width: min(388px, 100%);
  margin-block-start: 44px;
  margin-inline: auto;

  @media (width >= 769px) {
    width: min(600px, 100%);
    margin-block-start: 113px;

    picture {
      display: block;
      width: 100%;
    }
  }
}

.gift-top-sort__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-start-start-radius: 40px;
  border-start-end-radius: 40px;
  object-fit: cover;

  @media (width >= 769px) {
    aspect-ratio: 600 / 337;
    border-radius: 0;
  }
}

.gift-top-sort__banner .gift-top-btn {
  position: absolute;
  inset-block-start: calc(363 / 388 * 100%);
  inset-inline-start: 50%;
  translate: -50% 0;

  @media (width >= 769px) {
    inset-block-start: calc(295 / 337 * 100%);
  }
}

/* ギフトセット */
.gift-top-set {
  margin-block-start: 131px;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 100px;
    margin-inline: auto;

    .gift-top-heading {
      font-size: 20px;
      letter-spacing: 2px;
      line-height: 1.5;
    }

    .gift-top-heading::after {
      margin-block-start: 17px;
    }
  }
}

.gift-top-set__featured {
  position: relative;
  margin-block-start: 28px;

  @media (width >= 769px) {
    display: grid;
    grid-template-columns: minmax(0, 510fr) minmax(0, 570fr);
    align-items: end;
    margin-block-start: 37px;
  }
}

.gift-top-set__hero {
  width: 100%;
  height: auto;
  aspect-ratio: 390 / 271;
  border-start-start-radius: 40px;
  border-start-end-radius: 40px;
  object-fit: cover;
  object-position: bottom;

  @media (width >= 769px) {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 510 / 355;
    border-start-end-radius: 0;
  }
}

.gift-top-set__badge {
  position: absolute;
  inset-block-start: 193px;
  inset-inline-end: 4px;
  width: 109px;
  height: 109px;

  @media (width >= 769px) {
    inset-block-start: 18px;
    inset-inline-start: 18px;
    inset-inline-end: auto;
    width: 126px;
    height: 126px;
    z-index: 2;
  }
}

.gift-top-set__note-mark {
  position: absolute;
  inset-block-start: 240px;
  inset-inline-end: 20px;
  color: #e39c7f;
  font-size: 8px;
  letter-spacing: 0.16px;
  line-height: 2.8125;

  @media (width >= 769px) {
    inset-block-start: 72px;
    inset-inline-start: 116px;
    inset-inline-end: auto;
    z-index: 3;
  }
}

.gift-top-set__featured-body {
  min-height: 168px;
  padding: 17px 15px 18px;
  background-color: var(--gift-pink-bg);

  @media (width >= 769px) {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    min-height: 288px;
    padding-block: 59px 40px;
    padding-inline: min(80px, calc(80 / 1200 * 100vw)) 30px;
    z-index: auto;
  }
}

.gift-top-set__featured-link {
  display: grid;
  grid-template-columns: minmax(0, 133px) minmax(0, 1fr);
  column-gap: 17px;

  @media (width >= 769px) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 166px);
    column-gap: 16px;
    align-items: flex-end;
  }
}

.gift-top-set__box {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;

  @media (width >= 769px) {
    order: 2;
    max-width: 166px;
  }
}

.gift-top-set__featured-text {
  min-width: 0;

  @media (width >= 769px) {
    order: 1;

    .gift-top-goods__brand,
    .gift-top-goods__name,
    .gift-top-goods__price {
      font-size: 14px;
      line-height: 1.486; /* 20.8 / 14 */
    }

    .gift-top-goods__brand {
      margin-block-start: 0;
    }
  }
}

.gift-top-set__featured-text .gift-top-goods__name {
  line-height: 1.89;
}

.gift-top-set__label {
  display: flex;
  align-items: center;
  column-gap: 6px;
  margin-block-start: 8px;
  color: var(--gift-accent);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;

  @media (width >= 769px) {
    margin-block-start: 16px;
    font-size: 14px;
    line-height: 1.179; /* 16.5 / 14 */
  }
}

.gift-top-set__label::before {
  content: "";
  width: 0;
  height: 0;
  border-inline-start: 6.5px solid transparent;
  border-inline-end: 6.5px solid transparent;
  border-block-start: 8px solid var(--gift-accent);

  @media (width >= 769px) {
    border-inline-start-width: 9px;
    border-inline-end-width: 9px;
    border-block-start-width: 11px;
  }
}

.gift-top-set__pack {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.6;

  @media (width >= 769px) {
    font-size: 14px;
    line-height: 1.4; /* 19.6 / 14 */
  }
}

.gift-top-set__note {
  width: min(350px, 100%);
  margin: 7px auto 0;
  padding-inline: 20px;
  font-size: 8px;
  letter-spacing: 0.16px;
  line-height: 2.8125;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 6px;
    padding-inline: 0;
    text-align: end;
  }
}

.gift-top-set__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 16px;
  width: min(350px, 100%);
  margin-block-start: 21px;
  margin-inline: auto;

  @media (width >= 769px) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 24px;
    width: 100%;
    margin-block-start: 40px;
  }
}

.gift-top-set__btn {
  margin-block-start: 15px;

  @media (width >= 769px) {
    margin-block-start: 32px;
  }
}

/* ブランド・アイテム */
.gift-top-choose {
  margin-block-start: 60px;
  padding-block: 60px 55px;
  padding-inline: 20px;
  background-color: var(--gift-beige);

  @media (width >= 769px) {
    margin-block-start: 80px;
    padding-block: 80px 70px;
    padding-inline: 0;
  }
}

.gift-top-choose__brands {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 8px;
  width: min(350px, 100%);
  margin-block-start: 27px;
  margin-inline: auto;

  @media (width >= 769px) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 30px;
    width: min(1000px, 100%);
    margin-block-start: 36px;
  }
}

.gift-top-choose__brand {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}

.gift-top-choose__brand img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gift-top-choose__items {
  margin-block-start: 90px;

  @media (width >= 769px) {
    margin-block-start: 80px;
  }
}

.gift-top-choose__cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 8px;
  row-gap: 27px;
  width: min(350px, 100%);
  margin-block-start: 30px;
  margin-inline: auto;

  @media (width >= 769px) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 24px;
    width: min(1000px, 100%);
    margin-block-start: 36px;
  }
}

.gift-top-choose__cat {
  display: block;
  width: 100%;
  text-align: center;
}

.gift-top-choose__cat img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  margin-inline: auto;
}

.gift-top-choose__cat-name {
  display: block;
  margin-block-start: 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.27;

  @media (width >= 769px) {
    font-size: 14px;
    line-height: 1.4;
  }
}

.gift-top-choose__btn {
  margin-block-start: 30px;

  @media (width >= 769px) {
    margin-block-start: 40px;
  }
}

/* 出産祝いの選び方 */
.gift-top-guide {
  padding-block-start: 60px;
  padding-inline: 20px;

  @media (width >= 769px) {
    width: 100%;
    margin-inline: auto;
    padding-block-start: 80px;
    padding-inline: 0;
  }
}

.gift-top-guide__lead {
  width: min(349px, 100%);
  margin: 30px auto 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.58;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 36px;
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
  }
}

.gift-top-guide__point {
  width: min(350px, 100%);
  margin-block-start: 16px;
  margin-inline: auto;
  padding: 23px 20px 24px;
  border-radius: 10px;
  background-color: #f3c9c6;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 24px;
    padding: 32px 40px;
  }
}

.gift-top-guide__point-label {
  margin: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;

  @media (width >= 769px) {
    font-size: 14px;
  }
}

.gift-top-guide__point-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;

  @media (width >= 769px) {
    font-size: 16px;
  }
}

.gift-top-guide__point-title::after {
  content: "";
  display: block;
  width: min(298px, 100%);
  height: 0;
  margin-block-start: 18px;
  margin-inline: auto;
  border-block-end: 1px solid #fff;

  @media (width >= 769px) {
    width: 100%;
  }
}

.gift-top-guide__point-list {
  margin: 12px 0 0;
  padding-inline-start: 21px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.58;

  @media (width >= 769px) {
    font-size: 16px;
    line-height: 1.75;
    width: max-content;
    margin-inline: auto;
  }
}

.gift-top-guide__point-list li + li {
  margin-block-start: 7.5px;
}

.gift-top-guide__blocks {
  width: min(350px, 100%);
  margin-block-start: 30px;
  margin-inline: auto;

  @media (width >= 769px) {
    width: 100%;
    margin-block-start: 48px;
  }
}

.gift-top-guide__block + .gift-top-guide__block {
  margin-block-start: 58px;

  @media (width >= 769px) {
    margin-block-start: 72px;
  }
}

.gift-top-guide__block-title {
  display: flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding-inline-start: 20px;
  background-color: rgba(243, 201, 198, 0.2);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: inset 6px 0 0 var(--gift-pink);

  @media (width >= 769px) {
    min-height: 40px;
    font-size: 16px;
  }
}

.gift-top-guide__block-text {
  margin: 16px 0 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.58;
}

.gift-top-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 8px;
  row-gap: 16px;
  margin-block-start: 21px;

  @media (width >= 769px) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 24px;
    margin-block-start: 28px;
  }
}

.gift-top-guide__grid .gift-top-goods__img {
  width: 100%;
  height: auto;
}

/* もっとよく知りたい */
.gift-top-more {
  margin-block-start: 48px;
  padding-block: 60px 60px;
  padding-inline: 20px;
  background-color: var(--gift-beige);

  @media (width >= 769px) {
    margin-block-start: 80px;
    padding-block: 80px;
    padding-inline: 25px;
  }
}

.gift-top-more__list {
  display: grid;
  row-gap: 14px;
  width: min(350px, 100%);
  margin-block-start: 30px;
  margin-inline: auto;

  @media (width >= 769px) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 15px;
    row-gap: 0;
    width: 100%;
    max-width: 1080px;
    margin-block-start: 22px;
  }
}

.gift-top-more__item {
  position: relative;
  display: grid;
  grid-template-columns: 73px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  height: 90px;
  padding-inline-end: 18px;
  border-radius: 10px;
}

.gift-top-more__item[data-topic="01"] {
  background-color: #f3cac6;
}

.gift-top-more__item[data-topic="02"] {
  background-color: #80c1e7;
}

.gift-top-more__item[data-topic="03"] {
  background-color: #d4d0c5;
}

.gift-top-more__meta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 73px;
  height: 90px;
  padding-block-start: 13px;
  padding-inline: 10px 12px;
}

.gift-top-more__meta::after {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  width: 0;
  height: 58px;
  translate: 0 -50%;
  border-inline-end: 3px solid #fff;
}

#gift-top .gift-top-more__icon {
  width: 51px;
  height: 26px;
  object-fit: contain;
}

.gift-top-more__num {
  font-family: "Arial Black", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
}

.gift-top-more__text {
  padding-inline-start: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.gift-top-more__mark {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding-inline: 8px;
  border-radius: 10px;
  line-height: 1;
  translate: 0 2px;
}

.gift-top-more__item[data-topic="01"] .gift-top-more__mark {
  background-color: var(--gift-accent);
}

.gift-top-more__item[data-topic="02"] .gift-top-more__mark {
  background-color: #2c95d2;
}

.gift-top-more__item[data-topic="03"] .gift-top-more__mark {
  background-color: #ddc57a;
}

.gift-top-more__item[data-topic="03"] .gift-top-more__sub {
  font-size: 13px;
  line-height: calc(24 / 13);
}

#gift-top .gift-top-more__arrow {
  position: absolute;
  inset-inline-end: 6.5px;
  inset-block-start: 50%;
  width: 5px;
  height: 9px;
  object-fit: contain;
  translate: 0 -50%;
}

/* 出産祝い・誕生日祝いバナー */
.gift-top-scene-bnr {
  margin-block-start: 40px;
  padding-block-end: 40px;

  @media (width >= 769px) {
    margin-block-start: 60px;
    padding-block-end: 80px;
  }
}

.gift-top-scene-bnr__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;

  @media (width >= 769px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

.gift-top-scene-bnr__link {
  display: block;
  width: 100%;
}

#gift-top .gift-top-scene-bnr__img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 1;
  object-fit: cover;
}
