h1 {
  padding-top: 1em;
  font-size: clamp(60px, calc(60px + 0vw), 60px);
  letter-spacing: 0.02em;
}
h2,
h3 {
  margin-bottom: 2em;
  padding-block: 2.5vw;
}
h2 {
  font-size: 3.8rem;
}
h3 {
  margin-bottom: 4.25rem;
  font-size: 2.4rem;
}

.img {
  img {
    border: 20px white solid;
  }
}

[nh-list-product] .name {
  font-size: 1.8rem;
}

[nh-list-product] .category,
[nh-list-product] .color {
  font-size: 0.75em;

  .image {
    background-size: 80%;
  }
}

[nh-list-product] li {
  width: 25%;
}

.tit::before,
.tit::after {
  height: 2px;
  width: min(75vw, 1200px);
}

.limited_box {
  .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  .img {
    flex-basis: 60%;
  }

  .txt {
    margin-left: 3%;
    font-size: clamp(14px, calc(10.43155452436195px + 0.46403712296983757vw), 16px);
  }
}

#hero_img {
  width: 100vw;
  height: calc(100vh - 198px);
  background-attachment: fixed;
}

#lead {
  .text {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
  }
}

#campaign-date {
  font-size: 1.8rem;
  inline-size: fit-content;
  margin-inline: auto;
  .week {
    font-size: 1.4rem;
  }
}

#content {
  .mb16rem,
  .guide_price_box,
  .guide_for_box,
  .limited_box {
    margin-bottom: 16rem;
  }

  #limited_item {
    .tabs {
      margin-right: 2.5em;
    }
    .tab {
      font-size: 2.4rem;
    }
    .tebcontainer {
      display: flex;

      .tab::after {
        margin-left: 1.25em;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f105";
        font-size: 0.65em;
      }
    }
  }

  #limited_wrapping {
    margin-bottom: 0;
  }

  #guide_price,
  #guide,
  #limited {
    padding-bottom: 8rem;
  }

  .guide_for_box {
    .img {
      flex-basis: 43.3%;
    }
    .items {
      .image {
        position: relative;

        .rank {
          width: 15%;
          top: 15%;
          right: 10%;
        }
      }
    }
  }

  #card_img {
    transform: translate(5%, clamp(-40%, calc(-98.87935034802784% + 7.65661252900232vw), -7%)) rotate(15deg);

    img {
      width: clamp(80px, calc(-9.211136890951266px + 11.600928074245939vw), 130px);
    }
  }

  #engraving {
    .txt {
      max-width: 430px;
    }
  }

  #guide_for {
    ul {
      li {
        width: 33%;
        max-width: 197px;
      }
    }
    .flex {
      display: flex;
      gap: 3%;
    }
  }

  #guide_price {
    h4 {
      letter-spacing: 0.25em;
      font-size: 16px;
      margin-block: 1em;
    }
  }
}

#line {
  .btn {
    margin-bottom: 3em;
  }

  .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: center;

    .logo_line {
      max-width: 100px;
      img {
        width: 100%;
      }
    }
    .logo_line:hover {
      opacity: 0.65;
    }

    .text {
      max-width: 31em;
    }

    .btn p {
      margin: 0;
    }
  }
}

#price_tab {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.tab-switch {
  display: none;
}
.tab-label {
  color: #333;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 3px 12px;
  order: -1;
  /* width: 280px;*/
  height: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.25em;
  font-size: 1.8rem;
  flex-basis: 33%;
  cursor: pointer;
}

.tab-label {
  color: var(--red);
}

.price-content {
  width: 100%;
  display: none;
}

.tab-switch {
  width: 240px;
  height: 80px;
}

/* アクティブなタブ */
.tab-switch:checked + .tab-label {
  background-color: white;
  color: var(--green);
  opacity: 1;
}

.tab-switch:checked + .tab-label:hover {
  cursor: default;
}

.tab-switch:checked + .tab-label + .price-content {
  display: block;
}
