@charset "UTF-8";

html { font-size: min(0.694444vw, 10px); scroll-behavior: smooth; scroll-padding-top: 160px; }
@media (max-width: 767px) { html { font-size: calc(2.564103vw); } }

body { margin: 0; overflow-x: clip; background: #fff; color: #333; font-family: "Arimo", "Noto Sans JP", sans-serif; }

.page, .page * { margin: 0; padding: 0; box-sizing: border-box; }
.page img { display: block; vertical-align: bottom; max-width: 100%; height: auto; }
.page { position: relative; overflow-x: clip;
  text-spacing-trim: space-all;
  line-break: strict; }

.l-container { width: 100%; }
.l-footer, .pc-footer { margin: 0; padding: 0; }
.l-container::after { content: ""; }
sup, sub { position: static; top: auto; }

.js-slider { position: relative; overflow: hidden; list-style: none; padding: 0; z-index: 1; }
:where(.js-slider) .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; box-sizing: content-box; transition-property: transform; }
:where(.js-slider) .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }

.page { font-family: "Arimo", "Noto Sans JP", sans-serif; font-weight: 500; color: #333; }
.page a { color: inherit; text-decoration: none; }
.page ul, .page ol { list-style: none; }
.page h1, .page h2, .page h3, .page h4 { font-weight: 500; }
.page .tax { font-size: .8235em; }

.page .pc { display: contents; }
.page .sp { display: none; }
.page br.br-sp { display: none; }

.page .btn { display: inline-flex; align-items: center; justify-content: center; padding: 2.4rem; border-radius: 7rem; background: #A3843B; color: #fff; font-size: 1.5rem; line-height: 1.9rem; letter-spacing: .114rem; text-align: center; }

.page .sec-head { display: flex; align-items: flex-end; gap: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid #D6D6D6; }
.page .sec-head__en { font-size: 4.9rem; line-height: 4.9rem; letter-spacing: .4116rem; }
.page .sec-head__ttl { margin-bottom: .4rem; font-size: 1.7rem; line-height: 1.9rem; letter-spacing: .114rem; }

.page .dot-ttl { display: flex; align-items: center; gap: 1.2rem; font-size: 2.1rem; line-height: 2.1rem; letter-spacing: .114rem; }
.page .dot-ttl::before { content: ""; flex: 0 0 1.1rem; height: 1.1rem; border-radius: 50%; background: #A3843B; }

.page .rec__img, .page .rank__img, .page .type__img, .page .brand__img, .page .gift__img { display: block; background: #fff; }
.page .brand__img { background: transparent; }

.mv__box { position: relative; width: 144rem; height: 52.3rem; margin: 0 auto; overflow: hidden; background: #5C1420; }
.mv__box::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.6rem; border-top: .1rem solid rgba(207, 174, 106, .8); background: #143328; }
.page .mv__flake { position: absolute; }
.mv__flake--1 { left: 8.44rem; top: 5.06rem; width: 16.88rem; opacity: .2; }
.mv__flake--2 { left: 118.69rem; top: 24.75rem; width: 20.25rem; opacity: .1; }
.mv__flake--3 { left: 126.56rem; top: 6.19rem; width: 5.06rem; opacity: .7; }
.mv__flake--4 { left: 18.56rem; top: 26.44rem; width: 3.94rem; opacity: .7; }
.mv__dots li { position: absolute; width: .34rem; height: .34rem; border-radius: 50%; background: #CFAE6A; }
.mv__dots li:nth-child(1) { left: 34.71rem; top: 7.71rem; background: rgba(255, 255, 255, .5); }
.mv__dots li:nth-child(2) { left: 49.28rem; top: 23.4rem; width: .45rem; height: .45rem; background: rgba(255, 255, 255, .4); }
.mv__dots li:nth-child(3) { left: 96.58rem; top: 7.14rem; background: rgba(255, 255, 255, .5); }
.mv__dots li:nth-child(4) { left: 111.15rem; top: 23.96rem; width: .45rem; height: .45rem; background: rgba(255, 255, 255, .4); }
.mv__dots li:nth-child(5) { left: 31.33rem; top: 31.33rem; background: rgba(255, 255, 255, .4); }
.mv__dots li:nth-child(6) { left: 114.58rem; top: 32.46rem; background: rgba(255, 255, 255, .4); }
.mv__dots li:nth-child(7) { left: 42.58rem; top: 29.08rem; }
.mv__dots li:nth-child(8) { left: 104.46rem; top: 29.08rem; }
.mv__dots li:nth-child(9) { left: 133.71rem; top: 16.71rem; }
.mv__dots li:nth-child(10) { left: 7.71rem; top: 24.02rem; }
.mv__copy { position: absolute; left: 0; right: 0; top: 5.6rem; display: flex; flex-direction: column; align-items: center; text-align: center; color: #CFAE6A; }
.mv__rule { display: flex; align-items: center; gap: 1.2rem; height: .57rem; }
.mv__rule::before, .mv__rule::after { content: ""; width: 5.1rem; height: .1rem; background: #CFAE6A; }
.mv__rule span { width: .403rem; height: .403rem; background: #CFAE6A; transform: rotate(45deg); }
.mv__title { margin-top: 1.5rem; color: #F3E9D6; font-family: "Shippori Mincho", serif; font-size: 2.1rem; line-height: 3.36rem; letter-spacing: .546rem; }
.mv__script { margin-top: 1.5rem; font-family: "Pinyon Script", cursive; font-weight: 400; font-size: 10.5rem; line-height: 10.5rem; letter-spacing: .21rem; }
.mv__sub { margin-top: 1.2rem; font-family: "Cormorant Garamond", serif; font-size: 2.5rem; line-height: 2.75rem; letter-spacing: .95rem; }
.mv__photos { position: absolute; left: 0; right: 0; top: 32.5rem; display: flex; justify-content: center; gap: 3rem; }
.mv__photo { width: 15.2rem; height: 15.2rem; padding: .3rem; border: .1rem solid #CFAE6A; border-radius: 50%; }
.page .mv__photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

.intro__inner { position: relative; width: 140rem; margin: 0 auto; padding: 10.4rem 0 6.3rem; text-align: center; }
.page .intro__flake { position: absolute; }
.intro__flake--1 { left: 15.05rem; top: 9.7rem; width: 18.8rem; opacity: .7; }
.intro__flake--2 { left: 29.65rem; top: 24.2rem; width: 10.1rem; opacity: .9; }
.intro__flake--3 { left: 102.63rem; top: 30.85rem; width: 8.65rem; opacity: .9; }
.intro__flake--4 { left: 107.68rem; top: 35.25rem; width: 16.45rem; opacity: .7; }
.intro__ttl { position: relative; color: #A3843B; font-size: 2.2rem; line-height: 1.9rem; letter-spacing: .114rem; }
.intro__txt { position: relative; margin-top: 3.1rem; font-size: 1.4rem; line-height: 3.1rem; letter-spacing: .114rem; }
.intro__txt--3 { margin-bottom: 3.1rem; }

.gray-band { padding: 10rem 0 4.2rem; background: #F2F2F2; }
.cat, .type, .brand { width: 140rem; margin-left: auto; margin-right: auto; text-align: center; }
.cat__en { color: #A3843B; font-weight: 700; font-size: 1.7rem; line-height: 1.9rem; letter-spacing: .114rem; }
.cat__ttl { margin-top: 1.9rem; font-size: 1.9rem; line-height: 2.7rem; letter-spacing: .114rem; }
.cat__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.3rem; margin-top: 5.8rem; }
.type { margin-top: 6.2rem; }
.type__list { display: flex; justify-content: center; gap: 2.8rem; margin-top: 5.8rem; }
.type__item { width: 31rem; }
.page .type__img img { width: 100%; height: 15.7rem; object-fit: cover; }
.type__name { margin-top: 2.2rem; font-size: 1.6rem; line-height: 1.9rem; letter-spacing: .114rem; }
.brand { margin-top: 6.5rem; }
.brand__list { display: grid; grid-template-columns: repeat(4, 22rem); column-gap: 4rem; width: 100rem; margin: 5.8rem auto 0; }
.page .brand__img img { width: 100%; height: 22rem; object-fit: cover; }
.brand__name { padding: 2rem 0 5rem; font-size: 1.6rem; line-height: 1.9rem; letter-spacing: .114rem; }

.rank { width: 100rem; margin: 0 auto; padding: 10.1rem 0 8rem; }
.rank__body { display: flex; gap: 5rem; margin-top: 5.8rem; }
.rank__first { flex: 0 0 40rem; }
.rank__rest { display: flex; flex-direction: column; gap: 3rem; flex: 0 0 55rem; }
.page .rank__img { position: relative; overflow: hidden; }
.page .rank__img img { width: 100%; height: 100%; object-fit: cover; }
.rank__first .rank__img { width: 40rem; height: 40rem; }
.rank__no { position: absolute; left: 0; top: 0; background: #A3843B; color: #fff; }
.rank__first .rank__no { padding: .8rem 1.9rem 1.3rem; font-size: 2.9rem; line-height: 2.9rem; letter-spacing: .114rem; }
.rank__name { color: #A3843B; }
.rank__first .rank__txt { margin-top: 1.8rem; }
.rank__first .rank__name { font-size: 1.7rem; line-height: 2.55rem; letter-spacing: .114rem; }
.rank__first .rank__price { margin-top: 1.7rem; font-size: 1.7rem; line-height: 1.9rem; letter-spacing: .114rem; }
.rank__first .rank__desc { margin-top: 1.8rem; font-size: 1.4rem; line-height: 2.5rem; letter-spacing: .114rem; }
.rank__item { display: flex; }
.rank__item .rank__img { flex: 0 0 19.5rem; height: 19.5rem; margin-right: 2rem; }
.rank__item .rank__no { padding: .7rem 1.3rem 1rem; font-size: 2.1rem; line-height: 2.1rem; letter-spacing: .114rem; }
.rank__item .rank__txt { flex: 0 0 33.5rem; }
.rank__item .rank__name { font-size: 1.5rem; line-height: 2.4rem; letter-spacing: .114rem; }
.rank__item .rank__price { height: 1.9rem; margin-top: .8rem; font-size: 1.5rem; line-height: 1.9rem; letter-spacing: .114rem; }
.rank__item .rank__desc { margin-top: 1.3rem; font-size: 1.3rem; line-height: 2.2rem; letter-spacing: .114rem; }

.rec { width: 100rem; margin: 0 auto; padding-bottom: 2.2rem; }
.rec__block { padding-top: 7.9rem; }
.rec__head + .rec__block { padding-top: 5.45rem; }
.rec__block:last-child { padding-bottom: 8.5rem; }
.rec__desc { margin-top: 2rem; font-size: 1.4rem; line-height: 2.6rem; letter-spacing: .114rem; }
.rec__slider { margin-top: 3rem; }
.rec__slider .swiper-slide { width: 34.5rem; }
.page .rec__img img { width: 31rem; height: 31rem; object-fit: cover; }
.rec__name { display: block; width: 31rem; margin-top: 1.8rem; color: #A3843B; font-size: 1.4rem; line-height: 2.2rem; letter-spacing: .114rem; }
.rec__price { display: block; height: 2rem; margin-top: 1.3rem; font-size: 1.5rem; line-height: 1.9rem; letter-spacing: .114rem; }

.price { width: 100rem; margin: 0 auto; padding-bottom: 10rem; }
.price__block { padding-top: 7.9rem; }
.price__head + .price__block { padding-top: 5.45rem; }
.price__desc { margin-top: 2rem; font-size: 1.4rem; line-height: 2.6rem; letter-spacing: .114rem; }
.price__slider { margin-top: 3rem; }
.price__slider .swiper-slide { width: 23.5rem; padding-right: 2rem; }
.pcard { font-weight: 400; }
.pcard__tags { display: flex; gap: .6rem; }
.pcard__tag { padding: .2rem .8rem; color: #fff; font-size: 1.2rem; line-height: 1.68rem; }
.pcard__tag--media { background: #9C8F52; }
.pcard__tag--unisex { background: #8F8F8F; }
.pcard__tag--dark { background: #6E6E6E; }
.pcard__tag--gift { background: #D4A3A3; }
.pcard__tag--women { background: #E6B3B3; }
.pcard__img { display: flex; align-items: center; justify-content: center; height: 25.8rem; margin-top: .8rem; border: 1px solid #9E9E9E; background: #D9D9D9; color: #6B6B6B; font-size: 1.1rem; line-height: 1.54rem; }
.pcard__sws { display: flex; align-items: center; gap: .6rem; margin-top: .8rem; }
.pcard__sw { width: 2.2rem; height: 2.2rem; }
.pcard__sw--1 { background: #3A3A3A; }
.pcard__sw--2 { background: #BFAE95; }
.pcard__sw--3 { background: #8D8D8D; }
.pcard__sw--4 { background: #2D3E5A; }
.pcard__sw--5 { background: #E5D6C6; }
.pcard__more { padding: .3rem .6rem; border: 1px solid #C9C9C9; font-size: 1.1rem; line-height: 1.54rem; }
.pcard__brand { margin-top: .8rem; font-size: 1.3rem; line-height: 1.82rem; }
.pcard__name { margin-top: .2rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 1.3rem; line-height: 1.82rem; }
.pcard__price { margin-top: 1.4rem; font-size: 1.6rem; line-height: 2.24rem; }
.pcard__price span { margin-left: .4rem; font-size: 1.1rem; line-height: 1.54rem; }
.pcard__price--was { text-decoration: line-through; }
.pcard__off { margin-top: .2rem; color: #D0021B; font-size: 1.4rem; line-height: 1.96rem; }
.pcard__price--sale { margin-top: .2rem; color: #D0021B; }
.price__more { margin-top: 2.8rem; text-align: center; }

.gift { position: relative; overflow: clip; padding: 11.2rem 0 12rem; background: linear-gradient(170deg, #7A1F2E, #3A0B13); }
.page .gift__flake { position: absolute; }
.gift__flake--1 { left: calc(50% - 83.9rem); top: -.7rem; width: 18.8rem; opacity: .2; }
.gift__flake--2 { left: calc(50% - 69.4rem); top: 13.8rem; width: 10.1rem; opacity: .7; }
.gift__flake--3 { left: calc(50% + 53.45rem); top: 20.4rem; width: 13.5rem; opacity: .7; }
.gift__flake--4 { left: calc(50% + 61.35rem); top: 27.3rem; width: 25.7rem; opacity: .2; }
.gift__flake--5 { left: calc(50% - 90.84rem); top: 97rem; width: 24.67rem; opacity: .2; }
.gift__flake--6 { left: calc(50% - 75.52rem); top: 195.5rem; width: 13.45rem; opacity: .7; }
.gift__flake--7 { left: calc(50% + 59.62rem); top: 163.2rem; width: 25.05rem; opacity: .2; }
.gift__flake--8 { left: calc(50% + 78.58rem); top: 182.2rem; width: 13.45rem; opacity: .7; }
.gift__inner { position: relative; width: 140rem; margin: 0 auto; color: #fff; text-align: center; }
.gift__ttl { font-size: 4.9rem; line-height: 4.9rem; letter-spacing: .392rem; }
.gift__lead { margin-top: 3.9rem; font-weight: 400; font-size: 1.6rem; line-height: 3.3rem; letter-spacing: .114rem; }
.gift__group--original { margin-top: 4.4rem; }
.gift__group--brand { padding: 7rem 0 8rem; }
.gift__sub { font-size: 2.6rem; line-height: 1.9rem; letter-spacing: .114rem; }
.gift__note { margin-top: 4rem; font-weight: 400; font-size: 1.6rem; line-height: 3.1rem; letter-spacing: .114rem; }
.gift__brand { display: table; margin: 3.6rem auto 0; padding-bottom: .7rem; border-bottom: .1rem solid #fff; font-size: 2rem; line-height: 1.9rem; letter-spacing: .114rem; }
.gift__brand--pj { margin-top: 4rem; }
.gift__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 4rem; max-width: 101.6rem; margin: 2.5rem auto 0; }
.gift__group--original .gift__list { margin-top: 4.1rem; }
.gift__item { width: 31.2rem; font-weight: 400; }
.page .gift__img { width: fit-content; }
.page .gift__img img { width: 31rem; height: 31rem; object-fit: cover; }
.gift__name { display: block; margin-top: 2rem; font-size: 1.6rem; line-height: 2.3rem; letter-spacing: .114rem; }
.gift__price { display: block; margin-top: .8rem; font-size: 1.7rem; line-height: 1.9rem; letter-spacing: .114rem; }
.howto { position: relative; width: 100rem; margin: 0 auto; padding: 7.5rem 8.5rem 5.8rem; background: #E8E8E8; }
.howto__ttl { text-align: center; font-size: 2rem; line-height: 1.9rem; letter-spacing: .114rem; }
.howto__steps { margin-top: 2.5rem; padding-left: 2rem; }
.howto__steps li { position: relative; font-size: 1.4rem; line-height: 2.5rem; letter-spacing: .114rem; }
.howto__no { position: absolute; right: 100%; top: 0; width: 1.7rem; margin-right: .6rem; text-align: right; }
.howto__img { margin-top: 2rem; }
.page .howto__img img { width: 100%; }
.howto__notes { margin-top: 3.9rem; }
.howto__notes-ttl, .howto__notes-txt { font-size: 1.2rem; line-height: 1.998rem; letter-spacing: .03rem; }

.faq { width: 100rem; margin: 0 auto; padding: 10rem 0 12rem; }
.faq__head .sec-head__ttl { font-size: 1.8rem; }
.faq__lead { margin-top: 4rem; font-size: 1.4rem; line-height: 2.6rem; letter-spacing: .114rem; }
.faq__item { padding-top: 5.45rem; }
.faq__a { margin-top: 2rem; font-size: 1.4rem; line-height: 2.6rem; letter-spacing: .114rem; }
.faq__links { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; margin-top: 1.6rem; }
.faq__links a { color: #A3843B; text-decoration: underline; font-size: 1.4rem; line-height: 2.6rem; letter-spacing: .114rem; }

@media (hover: hover) {
  .page a img, .page a:not(:has(img:not([alt=""]))) { transition: opacity .3s; }
  .page a:has(img:not([alt=""])):hover img { opacity: .7; }
  .page a:not(:has(img:not([alt=""]))):hover { opacity: .7; }
}

html.js-anim .js-reveal { opacity: 0; transform: translateY(1rem); transition: opacity 1.2s, transform 1.2s; }
html.js-anim .js-reveal.is-inview { opacity: 1; transform: none; }
html.js-anim.is-still .js-reveal { opacity: 1; transition: none; transform: none; }
html.is-still { scroll-behavior: auto; }

@media (max-width: 767px) {
  .page .pc { display: none; }
  .page .sp { display: contents; }
  .page br.br-sp { display: inline; }

  .page .btn { padding: 1.7rem; border-radius: 6.95rem; font-size: 1.29rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .page .sec-head { display: block; }
  .page .sec-head__en { font-size: 2.779rem; line-height: 2.779rem; letter-spacing: .2223rem; }
  .page .sec-head__ttl { margin: 1.51rem 0 0; font-size: 1.389rem; line-height: 1.389rem; letter-spacing: .0695rem; }
  .page .dot-ttl { gap: 1.1rem; font-size: 1.5878rem; line-height: 2.4944rem; letter-spacing: .0695rem; align-items: flex-start; }
  .page .dot-ttl::before { flex-basis: .7rem; height: .7rem; margin-top: .9rem; }

  .mv__box { width: 100%; height: 60.6rem; }
  .mv__box::after { height: 2.1rem; }
  .mv__flake--1 { left: -3rem; top: 2rem; width: 12rem; opacity: .2; }
  .mv__flake--2 { left: 30rem; top: 42rem; width: 13rem; opacity: .1; }
  .mv__flake--3 { left: 33.8rem; top: 4rem; width: 3rem; opacity: .7; }
  .mv__flake--4 { left: 2.8rem; top: 33rem; width: 2.6rem; opacity: .7; }
  .mv__dots li { width: .4rem; height: .4rem; }
  .mv__dots li:nth-child(1) { left: 10.2rem; top: 4.6rem; width: .4rem; height: .4rem; background: rgba(255, 255, 255, .5); }
  .mv__dots li:nth-child(2) { left: 29rem; top: 15.8rem; width: .4rem; height: .4rem; background: rgba(255, 255, 255, .4); }
  .mv__dots li:nth-child(3) { left: 6.6rem; top: 24.8rem; background: rgba(255, 255, 255, .4); }
  .mv__dots li:nth-child(4) { left: 32.8rem; top: 52.8rem; width: .4rem; height: .4rem; background: rgba(255, 255, 255, .4); }
  .mv__dots li:nth-child(5) { left: 4.6rem; top: 17.4rem; background: #CFAE6A; }
  .mv__dots li:nth-child(6) { left: 35.6rem; top: 25.4rem; background: #CFAE6A; }
  .mv__dots li:nth-child(7) { left: 19.8rem; top: 55.8rem; }
  .mv__dots li:nth-child(n+8) { display: none; }
  .mv__copy { top: 8.2rem; }
  .mv__rule { gap: .8rem; height: .49rem; }
  .mv__rule::before, .mv__rule::after { width: 3rem; }
  .mv__rule span { width: .346rem; height: .346rem; }
  .mv__title { margin-top: 1.4rem; font-size: 1.3rem; line-height: 2.08rem; letter-spacing: .286rem; }
  .mv__script { margin-top: 1.6rem; font-size: 5.6rem; line-height: 5.6rem; letter-spacing: .056rem; }
  .mv__sub { margin-top: 1.4rem; font-size: 1.4rem; line-height: 1.54rem; letter-spacing: .504rem; }
  .mv__photos { display: block; top: 0; bottom: 0; }
  .mv__photo { position: absolute; }
  .mv__photo--1 { left: 1.6rem; top: 27.2rem; width: 12.6rem; height: 12.6rem; }
  .mv__photo--2 { left: 24.6rem; top: 25.6rem; width: 10.8rem; height: 10.8rem; }
  .mv__photo--3 { left: 14.2rem; top: 32.9rem; width: 10.8rem; height: 10.8rem; }
  .mv__photo--4 { left: 4.6rem; top: 41.6rem; width: 13.2rem; height: 13.2rem; }
  .mv__photo--5 { left: 23rem; top: 41.2rem; width: 12rem; height: 12rem; }

  .intro__inner { width: auto; padding: 5.46rem 2.93rem 2.86rem; }
  .intro__flake--1 { left: -3.58rem; top: 1.09rem; width: 8.28rem; opacity: .7; }
  .intro__flake--2 { left: 1.21rem; top: 12.43rem; width: 4.43rem; opacity: .9; }
  .intro__flake--3 { left: 30.55rem; top: 45.84rem; width: 4.43rem; opacity: .9; }
  .intro__flake--4 { left: 33.06rem; top: 48.18rem; width: 8.8rem; opacity: .7; }
  .intro__ttl { font-size: 1.786rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .intro__txt { margin-top: 2.65rem; font-size: 1.389rem; line-height: 2.5802rem; letter-spacing: .0556rem; }
  .intro__txt--1 { margin-top: 2.5rem; }
  .intro__txt--3 { margin-bottom: 2.65rem; }

  .gray-band { padding: 5.2rem 0 5.83rem; }
  .cat, .type, .brand { width: auto; }
  .cat__en { font-size: 1.4885rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .cat__ttl { margin-top: 1.56rem; font-size: 1.5878rem; line-height: 2.3817rem; letter-spacing: .0556rem; }
  .cat__nav { gap: .5rem; max-width: 33rem; margin: 3.64rem auto 0; }
  .type { margin-top: 4.21rem; }
  .type__list { flex-wrap: wrap; column-gap: .67rem; row-gap: 1.76rem; width: 32.94rem; margin: 4.45rem auto 0; }
  .type__item { width: 16.08rem; }
  .page .type__img img { height: 11.98rem; }
  .type__name { margin-top: 1.77rem; font-size: 1.389rem; line-height: 1.389rem; letter-spacing: -.1389rem; }
  .brand { margin-top: 4.42rem; }
  .brand__list { grid-template-columns: repeat(2, 15.88rem); column-gap: 1.22rem; row-gap: 1.76rem; width: 32.94rem; margin-top: 4.44rem; }
  .brand__item:nth-child(5), .brand__item:nth-child(6) { min-height: 16.43rem; }
  .page .brand__img img { height: 11.83rem; }
  .brand__name { padding: 1.66rem 0 .16rem; font-size: 1.29rem; line-height: 1.389rem; letter-spacing: .0556rem; }

  .rank { width: auto; padding: 4.47rem 1.87rem 8rem; }
  .rank__body { display: block; margin-top: 3.64rem; }
  .rank__first .rank__img { width: 34.7rem; height: 34.7rem; }
  .rank__first .rank__no { padding: .57rem 1.56rem 1.04rem; font-size: 2.48rem; line-height: 2.48rem; letter-spacing: .0556rem; }
  .rank__first .rank__txt { margin-top: .52rem; }
  .rank__first .rank__name { font-size: 1.5878rem; line-height: 2.3rem; letter-spacing: .0556rem; }
  .rank__first .rank__price { margin-top: 1.61rem; font-size: 1.5878rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .rank__first .rank__desc { margin-top: 1.46rem; font-size: 1.29rem; line-height: 2.084rem; letter-spacing: .0258rem; }
  .rank__rest { gap: 3.55rem; margin-top: 3.22rem; }
  .rank__item .rank__img { flex-basis: 13.7rem; height: 14.7rem; margin-right: 1.45rem; }
  .rank__item .rank__no { padding: .36rem .68rem .52rem; font-size: 1.389rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .rank__item .rank__txt { flex-basis: 20.1rem; }
  .rank__item .rank__name { font-size: 1.4885rem; line-height: 2.1rem; letter-spacing: .0556rem; }
  .rank__item .rank__price { height: 1.389rem; margin-top: 1.04rem; font-size: 1.4885rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .rank__item .rank__desc { margin-top: 1.04rem; font-size: 1.1908rem; line-height: 1.9053rem; letter-spacing: .0238rem; }

  .rec { width: auto; padding-bottom: 1.56rem; }
  .rec__head { margin: 0 2.13rem; }
  .rec__block { padding-top: 4rem; }
  .rec__head + .rec__block { padding-top: 2.55rem; }
  .rec__block:last-child { padding-bottom: 0; }
  .rec__block:nth-child(3) { padding-bottom: 1.9rem; }

  .rec__ttl, .rec__desc { margin-left: 2.13rem; margin-right: 2.13rem; }
  .page .rec__ttl { line-height: 1.5878rem; align-items: center; }
  .page .rec__ttl::before { margin-top: 0; }
  .rec__desc { margin-top: 1.04rem; font-size: 1.389rem; line-height: 2.1832rem; letter-spacing: .0695rem; }
  .rec__slider { margin-top: 2.3rem; }
  .rec__slider .swiper-wrapper { padding-left: 2.53rem; }
  .rec__slider .swiper-slide { width: 25.4rem; }
  .page .rec__img img { width: 22.6rem; height: 22.6rem; }
  .rec__name { width: 21.5rem; margin-top: 1.14rem; font-size: 1.389rem; line-height: 1.9rem; letter-spacing: .0695rem; }
  .rec__price { height: 1.389rem; margin-top: .78rem; font-size: 1.4885rem; line-height: 1.389rem; letter-spacing: .0695rem; }

  .price { width: auto; padding: 6.34rem 0 6rem; }
  .price__head { margin: 0 2.13rem; }
  .price__block { padding-top: 4rem; }
  .price__head + .price__block { padding-top: 2.55rem; }
  .price__ttl, .price__desc { margin-left: 2.13rem; margin-right: 2.13rem; }
  .price__desc { margin-top: 1.04rem; font-size: 1.389rem; line-height: 2.1832rem; letter-spacing: .0695rem; }
  .price__slider { margin-top: 2.3rem; }
  .price__slider .swiper-wrapper { padding-left: 1.9rem; }
  .price__slider .swiper-slide { width: 17.2rem; padding-right: 1.2rem; }
  .pcard__tags { gap: .5rem; }
  .pcard__tag { padding: .2rem .7rem; font-size: 1rem; line-height: 1.4rem; }
  .pcard__img { height: 19.2rem; margin-top: .7rem; }
  .pcard__sws { gap: .5rem; margin-top: .7rem; }
  .pcard__sw { width: 1.9rem; height: 1.9rem; }
  .pcard__more { padding: .3rem .5rem; font-size: 1rem; line-height: 1.4rem; }
  .pcard__brand { margin-top: .7rem; font-size: 1.1rem; line-height: 1.54rem; }
  .pcard__name { font-size: 1.1rem; line-height: 1.54rem; }
  .pcard__price { margin-top: 1.2rem; font-size: 1.4rem; line-height: 1.96rem; }
  .pcard__price--sale { margin-top: .2rem; }
  .pcard__price span { margin-left: .3rem; font-size: .9rem; line-height: 1.26rem; }
  .pcard__off { font-size: 1.2rem; line-height: 1.68rem; }
  .price__more { margin-top: 2rem; }

  .price__slider { clip-path: inset(0 0 0 1.9rem); }

  .gift { padding: 6.34rem 0 3.64rem; background: linear-gradient(178deg, #7A1F2E, #3A0B13); }
  .gift__flake--1 { left: -2.21rem; top: -3.49rem; width: 8.55rem; opacity: .2; }
  .gift__flake--2 { left: 4.07rem; top: 3.12rem; width: 4.63rem; opacity: .7; }
  .gift__flake--3 { left: 31.62rem; top: 22.25rem; width: 4.91rem; opacity: .7; }
  .gift__flake--4 { left: 34.48rem; top: 24.64rem; width: 9.32rem; opacity: .2; }
  .gift__flake--5 { left: -3.17rem; top: 63.96rem; width: 10.28rem; opacity: .2; }
  .gift__flake--6 { left: -2.94rem; top: 182.1rem; width: 10.37rem; opacity: .2; }
  .gift__flake--7 { left: 30.57rem; top: 142.94rem; width: 7.59rem; opacity: .2; }
  .gift__flake--8 { left: 35.94rem; top: 148.51rem; width: 4.03rem; opacity: .7; }
  .gift__inner { width: auto; }
  .gift__ttl { font-size: 2.779rem; line-height: 2.779rem; letter-spacing: .2223rem; }
  .gift__lead { margin-top: 2.03rem; font-size: 1.389rem; line-height: 2.7588rem; letter-spacing: .0556rem; }
  .gift__group { margin: 0 1.98rem; }
  .gift__group--original { margin-top: 4.16rem; padding-bottom: 4rem; }
  .gift__group--brand { padding: 0 0 4rem; }
  .gift__sub { font-size: 2.084rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .gift__note { margin-top: 1.56rem; font-size: 1.389rem; line-height: 2.7786rem; letter-spacing: .0556rem; }
  .gift__brand { margin-top: 2.55rem; font-size: 1.687rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .gift__brand--pj { margin-top: 5.6rem; }
  .gift__list { column-gap: .73rem; row-gap: 2.5rem; max-width: 33.67rem; margin-top: 2.5rem; }
  .gift__group--original .gift__list { margin-top: 2.5rem; }
  .gift__item { width: 16.47rem; }
  .page .gift__img img { width: 16.5rem; height: 16.5rem; }
  .gift__name { margin-top: 1.14rem; font-size: 1.1908rem; line-height: 1.6rem; letter-spacing: .0556rem; }
  .gift__price { margin-top: .73rem; font-size: 1.389rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .howto { width: auto; margin: 0 2.6rem; padding: 4.42rem 0 2.6rem; }
  .howto__ttl { padding: 0 1.56rem 0 2.6rem; font-size: 1.786rem; line-height: 1.389rem; letter-spacing: .0556rem; }
  .howto__steps { margin-top: 2.44rem; padding: 0 1.56rem 0 3.64rem; }
  .howto__steps li { font-size: 1.389rem; line-height: 2.4015rem; letter-spacing: .0556rem; }
  .howto__img { margin-top: 1.82rem; }
  .howto__notes { margin-top: 2.03rem; padding: 0 2.08rem; }
  .howto__notes-ttl, .howto__notes-txt { font-size: 1.1908rem; line-height: 1.8855rem; letter-spacing: -.0298rem; }

  .faq { width: auto; padding: 6rem 0; }
  .faq__head { margin: 0 2.13rem; }
  .faq__head .sec-head__ttl { font-size: 1.389rem; }
  .faq__lead, .faq__q, .faq__a, .faq__links { margin-left: 2.13rem; margin-right: 2.13rem; }
  .faq__lead { margin-top: 2.4rem; font-size: 1.389rem; line-height: 2.1832rem; letter-spacing: .0695rem; }
  .faq__item { padding-top: 2.55rem; }
  .faq__a { margin-top: 1.04rem; font-size: 1.389rem; line-height: 2.1832rem; letter-spacing: .0695rem; }
  .faq__links a { font-size: 1.389rem; line-height: 2.1832rem; letter-spacing: .0695rem; }
}
