@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
  border: none;
}

/* img */
img,
div, p, blockquote,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
form, fieldset, textarea,
address,
main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  text-decoration: none;
  list-style-type: none;
}

/* html5 */
main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

/* heading */
h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
}

/* table */
table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  text-align: left;
  vertical-align: top;
}

caption {
  text-align: left;
}

/* a */
a, a:focus, a:hover, a:active {
  outline: 0;
}

/* form */
input, input:focus, input:hover, input:active,
textarea, textarea:focus, textarea:hover, textarea:active {
  outline: 0;
}

/* img */
img {
  vertical-align: top;
}

/* line-heightのハーフ・レディングを打ち消す */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* html, body */
html {
  font-size: 11px;
  background: #747685;
  overflow-x: clip;
}
html.modalOpen, html.menuOpen {
  scrollbar-gutter: stable;
  overflow: hidden;
}

/* SP(767px) */
@media (max-width: 767px) {
  html {
    font-size: 2.5642vw;
  }
}
body {
  background: #747685;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.54;
  letter-spacing: 0.04em;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
}

/* selection */
::-moz-selection {
  background: #b3d7ff;
  color: #ffffff;
}

::selection {
  background: #b3d7ff;
  color: #ffffff;
}

/* a */
a {
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease 0s;
  transition-property: border, background;
}

/* img */
img {
  max-width: 100%;
  height: auto;
}

/* input, textarea */
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  outline: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type=text]::placeholder, input[type=text]:placeholder-shown, input[type=text]::-webkit-input-placeholder, input[type=text]:-moz-placeholder, input[type=text]::-moz-placeholder, input[type=text]:-ms-input-placeholder,
input[type=tel]::placeholder,
input[type=tel]:placeholder-shown,
input[type=tel]::-webkit-input-placeholder,
input[type=tel]:-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]::placeholder,
input[type=email]:placeholder-shown,
input[type=email]::-webkit-input-placeholder,
input[type=email]:-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=password]::placeholder,
input[type=password]:placeholder-shown,
input[type=password]::-webkit-input-placeholder,
input[type=password]:-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=password]:-ms-input-placeholder,
textarea::placeholder,
textarea:placeholder-shown,
textarea::-webkit-input-placeholder,
textarea:-moz-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder {
  color: #cccccc;
}

input::-ms-clear {
  visibility: hidden;
}

input::-ms-reveal {
  visibility: hidden;
}

/* select */
select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
select::-ms-expand {
  display: none;
}

/* button */
button {
  box-sizing: border-box;
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* svg symbols */
.symbols {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}

/* svg .c-orbit__star */
.c-orbit__star svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* iPhone最新版iOS26のアドレスバー背景色 */
.iphone.safari {
  background: rgb(0, 0, 0);
}
.iphone.safari #wrapper {
  background: #747685;
}

.iphone.safari.ios_latest .sp__spacer {
  position: fixed;
  z-index: -1;
  transform: translate3d(0, 0, -1px);
  pointer-events: none;
}
@media only screen and (min-width: 767px) {
  .iphone.safari.ios_latest .sp__spacer {
    display: none;
  }
}
.iphone.safari.ios_latest::before, .iphone.safari.ios_latest::after {
  --space-h: 100px;
  content: "";
  background: rgb(0, 0, 0);
  position: fixed;
  left: 0;
  z-index: 9999;
  transform: translate3d(0, 0, 9999px);
  width: 100%;
  height: var(--space-h);
  pointer-events: none;
}
@media only screen and (min-width: 767px) {
  .iphone.safari.ios_latest::before, .iphone.safari.ios_latest::after {
    content: none;
  }
}
.iphone.safari.ios_latest::before {
  top: calc(var(--space-h) * -1);
}
.iphone.safari.ios_latest::after {
  bottom: calc(var(--space-h) * -1);
}

/*
FV animation style
*/
.fv__ss__logo {
  opacity: 0;
  will-change: opacity;
}
html.loaded .fv__ss__logo {
  transition: opacity 1s ease;
  opacity: 1;
  transition-delay: 0.7s;
}
.fv__logo {
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
}
html.loaded .fv__logo {
  transition: opacity 1s ease;
  opacity: 1;
  pointer-events: all;
  transition-delay: 0.7s;
}
.fv__productImage img {
  opacity: 0;
  will-change: opacity;
}
html.loaded .fv__productImage img {
  transition: opacity 1s ease;
  transition-delay: 0.7s;
  opacity: 1;
}
.fv__memberImage picture {
  opacity: 0;
  will-change: transform, opacity;
}
html.loaded .fv__memberImage picture {
  transition: opacity 0.6s ease;
  transition-delay: 0.5s;
  opacity: 1;
}
.fv__memberImage::before {
  -webkit-clip-path: polygon(0px 48%, 0% 48.08%, 0% 100.13%, 0px 100%);
          clip-path: polygon(0px 48%, 0% 48.08%, 0% 100.13%, 0px 100%);
  will-change: clip-path;
}
html.loaded .fv__memberImage::before {
  transition: -webkit-clip-path 0.3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: clip-path 0.3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: clip-path 0.3s cubic-bezier(0.55, 0.05, 0.22, 0.99), -webkit-clip-path 0.3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  -webkit-clip-path: polygon(0px 48%, 100% 15.52%, 100% 66.03%, 0px 100%);
          clip-path: polygon(0px 48%, 100% 15.52%, 100% 66.03%, 0px 100%);
}
html.loaded .fv__copy img {
  transition: -webkit-clip-path 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  transition: clip-path 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  transition: clip-path 0.3s cubic-bezier(0.43, 0.05, 0.17, 1), -webkit-clip-path 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  will-change: clip-path;
}
.fv__copy__1 img {
  -webkit-clip-path: inset(0% 100% 0% 0%);
          clip-path: inset(0% 100% 0% 0%);
}
html.loaded .fv__copy__1 img {
  transition-delay: 1.1s;
  -webkit-clip-path: inset(0% 0% 0% 0%);
          clip-path: inset(0% 0% 0% 0%);
}
.fv__copy__2 img {
  -webkit-clip-path: inset(0% 100% 0% 0%);
          clip-path: inset(0% 100% 0% 0%);
}
html.loaded .fv__copy__2 img {
  transition-delay: 1.2s;
  -webkit-clip-path: inset(0% 0% 0% 0%);
          clip-path: inset(0% 0% 0% 0%);
}
.fv__banner {
  transform: translateY(30%);
  opacity: 0;
  pointer-events: none;
}
html.loaded .fv__banner {
  transition: all 1s cubic-bezier(0.26, 0.06, 0, 1);
  transition-property: opacity, transform;
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
  transition-delay: 0.7s;
}
.fv__scroll {
  opacity: 0;
  will-change: opacity;
}
html.loaded .fv__scroll {
  transition: opacity 1s ease;
  opacity: 1;
  transition-delay: 0.7s;
}

@media only screen and (max-width: 940px) {
  .fv__memberImage::before {
    -webkit-clip-path: polygon(0px 38%, 0% 37.61%, 0% 98.92%, 0px 100%);
            clip-path: polygon(0px 38%, 0% 37.61%, 0% 98.92%, 0px 100%);
  }
  html.loaded .fv__memberImage::before {
    -webkit-clip-path: polygon(0px 38%, 100% 20%, 100% 80%, 0px 100%);
            clip-path: polygon(0px 38%, 100% 20%, 100% 80%, 0px 100%);
  }

  .sp__sticky__ctaBtn {
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
  }
  html.loaded .sp__sticky__ctaBtn {
    transition: all 1s cubic-bezier(0.26, 0.06, 0, 1);
    transition-property: opacity, transform;
    transition-delay: 0.7s;
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
  }
}
.page__bg__grad {
  width: 100%;
  height: 100lvh;
  display: block;
  position: fixed;
  inset: 0;
  background: url("../imgs/gradation/page_bg.webp") no-repeat;
  background-size: 100% 100%;
  background-position: left top;
}

@media only screen and (max-width: 940px) {
  .page__bg__grad {
    background: url("../imgs/gradation/sp_page_bg.webp") no-repeat;
    background-size: 100% 100%;
    background-position: right top;
  }
}
.wrap {
  position: relative;
  opacity: 0;
  pointer-events: none;
}
html.loaded .wrap {
  transition: opacity 1s cubic-bezier(0.26, 0.06, 0, 1);
  transition-delay: 0.7s;
  opacity: 1;
  pointer-events: auto;
}

/* .sp__sticky */
.sp__sticky {
  position: sticky;
  top: 0;
  z-index: 2;
}
.sp__sticky__ctaBtn {
  position: fixed;
  right: 0;
  box-shadow: -4px -4px 10px 0 rgba(146, 147, 181, 0.3);
  cursor: pointer;
  border-radius: 6px 0 0 6px;
}
@media (any-hover: hover) {
  .sp__sticky__ctaBtn:hover .sp__sticky__ctaBtn__icon .arw {
    -webkit-animation: arw_animation 0.4s ease;
            animation: arw_animation 0.4s ease;
  }
}
.sp__sticky__ctaBtn__inner {
  display: grid;
  place-content: center;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
  border-radius: 6px 0 0 6px;
  background: linear-gradient(107deg, #f0f0f0 -11.71%, #e0d4f0 55.95%, #f0e5ff 123.61%);
}
.sp__sticky__ctaBtn__label {
  display: block;
  color: #5f5969;
  font-weight: 700;
  line-height: 1.44;
}
.sp__sticky__ctaBtn__label::before, .sp__sticky__ctaBtn__label::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.sp__sticky__ctaBtn__label::before {
  -webkit-margin-after: calc((1 - 1.44) * 0.5em);
          margin-block-end: calc((1 - 1.44) * 0.5em);
}
.sp__sticky__ctaBtn__label::after {
  -webkit-margin-before: calc((1 - 1.44) * 0.5em);
          margin-block-start: calc((1 - 1.44) * 0.5em);
}
.sp__sticky__ctaBtn__txt__icon {
  display: flex;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.sp__sticky__ctaBtn__txt {
  display: block;
  color: #5f5969;
  font-family: "Noto Sans JP";
  font-weight: 700;
  line-height: 1.21;
}
.sp__sticky__ctaBtn__txt::before, .sp__sticky__ctaBtn__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.sp__sticky__ctaBtn__txt::before {
  -webkit-margin-after: calc((1 - 1.21) * 0.5em);
          margin-block-end: calc((1 - 1.21) * 0.5em);
}
.sp__sticky__ctaBtn__txt::after {
  -webkit-margin-before: calc((1 - 1.21) * 0.5em);
          margin-block-start: calc((1 - 1.21) * 0.5em);
}
.sp__sticky__ctaBtn__icon {
  background: #ffffff;
  border-radius: 50%;
  display: grid;
  place-content: center;
}
.sp__sticky__ctaBtn__icon .icon {
  color: #807490;
}

@media only screen and (max-width: 940px) {
  .sp__sticky__ctaBtn {
    bottom: 1.6591251885cqh;
  }
  .sp__sticky__ctaBtn__inner {
    width: 26.9230769231cqw;
    height: 14.358974359cqw;
    padding-inline: 0;
  }
  .sp__sticky__ctaBtn__label {
    font-size: 2.3076923077cqw;
  }
  .sp__sticky__ctaBtn__txt__icon {
    -moz-column-gap: 2.0512820513cqw;
         column-gap: 2.0512820513cqw;
    margin-top: 1.2820512821cqw;
  }
  .sp__sticky__ctaBtn__txt {
    font-size: 3.5897435897cqw;
  }
  .sp__sticky__ctaBtn__icon {
    width: 3.5897435897cqw;
    height: 3.5897435897cqw;
  }
  .sp__sticky__ctaBtn__icon .icon {
    width: 1.5384615385cqw;
    height: 1.5384615385cqw;
  }
}
/*
.fv
=========================================*/
.fv {
  container-type: inline-size;
  aspect-ratio: 1300/769;
  position: relative;
}
.fv__logo {
  position: absolute;
  top: 3.6923076923cqw;
  left: 4.6153846154cqw;
  z-index: 2;
  width: 19.2307692308cqw;
}
.fv__logo a img {
  width: 100%;
}
.fv__ss__logo {
  position: absolute;
  z-index: 2;
  top: 0.9230769231cqw;
  right: 1.0769230769cqw;
  margin-left: auto;
  width: 12.6923076923cqw;
}
.fv__ss__logo img {
  width: 100%;
}
.fv__productImage {
  position: absolute;
  top: 18.5384615385cqw;
  left: -2.9230769231cqw;
  z-index: 2;
  width: 34.4615384615cqw;
}
.fv__productImage img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.fv__memberImage {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  overflow: hidden;
}
.fv__memberImage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: auto;
  background: #ede4f5;
  opacity: 0.5;
}
.fv__memberImage img {
  width: 100%;
}
.fv__banner {
  overflow: hidden;
  position: absolute;
  z-index: 2;
  bottom: 0.7692307692vw;
  left: 1.3846153846vw;
}
.fv__banner__inner__info {
  display: flex;
  align-items: center;
}
@media (any-hover: hover) {
  .fv__banner__inner:hover .fv__banner__content::before {
    opacity: 1;
  }
  .fv__banner__inner:hover .fv__banner__icon .arw {
    -webkit-animation: arw_animation 0.6s ease;
            animation: arw_animation 0.6s ease;
  }
}
.fv__banner img {
  width: 7.6923076923cqw;
  aspect-ratio: 1/1;
  position: relative;
  z-index: 1;
}
.fv__banner__content {
  display: flex;
  flex: 1;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  border-radius: 0 100vmax 100vmax 0;
  border: 1px solid #ffffff;
  box-sizing: border-box;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%), rgba(0, 0, 0, 0.03);
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
  margin-left: -2.3cqw;
  height: 4.6923076923cqw;
  padding: 0 1.23cqw 0 2.8cqw;
  margin-top: -0.4rem;
  position: relative;
  overflow: hidden;
}
.fv__banner__content::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: linear-gradient(0deg, rgba(43, 27, 67, 0.45) 0%, rgba(43, 27, 67, 0.45) 100%), rgba(0, 0, 0, 0.03);
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}
.fv__banner__content > * {
  position: relative;
  z-index: 1;
}
.fv__banner__desc {
  margin-top: -0.3rem;
}
.fv__banner__desc__label {
  font-size: 0.8461538462cqw;
  font-weight: 700;
  line-height: 1.54;
  display: block;
}
.fv__banner__desc__label::before, .fv__banner__desc__label::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.fv__banner__desc__label::before {
  -webkit-margin-after: calc((1 - 1.54) * 0.5em);
          margin-block-end: calc((1 - 1.54) * 0.5em);
}
.fv__banner__desc__label::after {
  -webkit-margin-before: calc((1 - 1.54) * 0.5em);
          margin-block-start: calc((1 - 1.54) * 0.5em);
}
.fv__banner__desc__txt {
  font-size: 1cqw;
  font-weight: 700;
  line-height: 1.3;
  display: block;
  margin-top: 0.2cqw;
}
.fv__banner__desc__txt::before, .fv__banner__desc__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.fv__banner__desc__txt::before {
  -webkit-margin-after: calc((1 - 1.3) * 0.5em);
          margin-block-end: calc((1 - 1.3) * 0.5em);
}
.fv__banner__desc__txt::after {
  -webkit-margin-before: calc((1 - 1.3) * 0.5em);
          margin-block-start: calc((1 - 1.3) * 0.5em);
}
.fv__banner__icon {
  background: #ffffff;
  border-radius: 50%;
  width: 1.5384615385cqw;
  height: auto;
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  position: relative;
}
.fv__banner__icon .arw {
  color: #756788;
  margin-top: 0.1538461538cqw;
  width: 0.6153846154cqw;
  height: 0.6153846154cqw;
  transition: transform 0.3s ease;
}
.fv__copy__1 {
  overflow: hidden;
  position: absolute;
  bottom: 4.6923076923cqw;
  right: 22.1538461538cqw;
}
.fv__copy__1 img {
  width: 30.3846153846cqw;
}
.fv__copy__2 {
  overflow: hidden;
  position: absolute;
  bottom: 3.5384615385cqw;
  right: 3.3076923077cqw;
}
.fv__copy__2 img {
  width: 29cqw;
}
.fv__scroll {
  position: absolute;
  bottom: 0;
  right: 1.3846153846cqw;
}
.fv__scroll__txt {
  display: block;
  font-family: "futura-pt", sans-serif;
  font-size: 1.0769230769cqw;
  font-weight: 450;
  line-height: 1;
  margin-bottom: 0.7692307692cqw;
  writing-mode: vertical-lr;
}
.fv__scroll__line {
  background: #ffffff;
  display: block;
  width: 1px;
  height: 2.3076923077cqw;
  margin-inline: auto;
  margin-right: 0.6153846154cqw;
}

@media only screen and (max-width: 940px) {
  .fv {
    overflow-x: clip;
    aspect-ratio: 390/900;
  }
  .fv__ss__logo {
    position: unset;
    width: 41.5384615385cqw;
    margin-left: unset;
    margin-right: auto;
    padding-top: 3.8461538462cqw;
    padding-left: 3.8461538462cqw;
  }
  .fv__logo {
    width: 99.7435897436cqw;
    top: 20.5128205128cqw;
    left: 0;
    right: 0;
  }
  .fv__logo__sp {
    margin-inline: auto;
  }
  .fv__logo__sp img {
    width: 100%;
  }
  .fv__productImage {
    left: unset;
    z-index: 2;
    width: 64.1025641026cqw;
    top: 88.9743589744cqw;
    right: -7.6923076923cqw;
  }
  .fv__productImage img {
    width: 100%;
  }
  .fv__memberImage {
    top: 23.5897435897cqw;
    width: 102.0512820513cqw;
  }
  .fv__memberImage::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #ffffff;
    opacity: 0.5;
  }
  .fv__copy__1 {
    bottom: unset;
    right: unset;
    left: 3.0769230769cqw;
    top: 114.358974359cqw;
  }
  .fv__copy__1 img {
    width: 47.6923076923cqw;
  }
  .fv__copy__2 {
    bottom: unset;
    right: unset;
    left: 13.8461538462cqw;
    top: 122.0512820513cqw;
  }
  .fv__copy__2 img {
    width: 45.1282051282cqw;
  }
  .fv__banner {
    bottom: unset;
    left: 0;
    right: 0;
    top: 143.5897435897cqw;
    z-index: 2;
    width: 89.7435897436cqw;
    margin-inline: auto;
    padding: 5.641025641cqw 1.2820512821cqw 7.6923076923cqw;
    border-radius: 3px;
    background: rgba(235, 231, 247, 0.5);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
    -webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);
  }
  .fv__banner::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
    width: 97.2%;
    height: 97.2%;
    margin-inline: auto;
    border-radius: 2px;
    background: linear-gradient(129deg, #f0eeff 0%, #ebe1f3 100%);
    background-size: 100% 100%;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
    -webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);
  }
  .fv__banner__inner__info {
    justify-content: center;
    flex-direction: row-reverse;
    padding-top: 0.5128205128cqw;
    -moz-column-gap: 3.5897435897cqw;
         column-gap: 3.5897435897cqw;
  }
  .fv__banner__inner__info picture {
    position: relative;
    display: grid;
    place-content: center;
    aspect-ratio: 1/1;
    width: 22.0512820513cqw;
    height: auto;
  }
  .fv__banner__inner__info picture::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    aspect-ratio: 1/1;
    width: inherit;
    height: auto;
    background: #ffffff;
    border-radius: 50%;
  }
  .fv__banner__inner__info img {
    width: 19.4871794872cqw;
    height: 24.358974359cqw;
    -o-object-fit: cover;
       object-fit: cover;
    top: -1.7948717949cqw;
    right: -1.0256410256cqw;
  }
}
@media only screen and (max-width: 940px) and (any-hover: hover) {
  .fv__banner__inner:hover .fv__banner__content::before {
    opacity: 0;
  }
}
@media only screen and (max-width: 940px) {
  .fv__banner .c-cta-btn-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 2.3076923077cqw;
    margin-top: 1.7948717949cqw;
  }
  .fv__banner .c-cta-btn-wrapper .c-cta-btn {
    background: #927fae;
    width: 79.4871794872cqw;
    height: 14.8717948718cqw;
    padding-inline: 5.1282051282cqw;
  }
  .fv__banner .c-cta-btn-wrapper .c-cta-btn::before {
    content: unset;
  }
  .fv__banner .c-cta-btn-wrapper .c-cta-btn__icon {
    margin-right: 1.0256410256cqw;
  }
  .fv__banner .c-cta-btn-wrapper .c-cta-btn__txt {
    color: #ffffff;
    text-align: center;
    font-size: 3.8461538462cqw;
    line-height: 1;
  }
}
@media only screen and (max-width: 940px) {
  .fv__banner__content {
    background: none;
    border: none;
    padding: 0;
    margin-left: 0;
    flex: none;
    height: auto;
    overflow: unset;
    -webkit-backdrop-filter: unset;
            backdrop-filter: unset;
  }
}
@media only screen and (max-width: 940px) {
  .fv__banner__desc {
    margin-top: 0;
  }
  .fv__banner__desc__label {
    color: #5f5969;
    font-size: 3.0769230769cqw;
    font-weight: 600;
    line-height: 1;
  }
  .fv__banner__desc__txt {
    padding-top: 1rem;
    color: #5f5969;
    font-size: 4.8717948718cqw;
    font-weight: 700;
    line-height: 1.31;
  }
  .fv__banner__desc__txt::before, .fv__banner__desc__txt::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 1px;
  }
  .fv__banner__desc__txt::before {
    -webkit-margin-after: calc((1 - 1.31) * 0.5em);
            margin-block-end: calc((1 - 1.31) * 0.5em);
  }
  .fv__banner__desc__txt::after {
    -webkit-margin-before: calc((1 - 1.31) * 0.5em);
            margin-block-start: calc((1 - 1.31) * 0.5em);
  }
}
@media only screen and (max-width: 940px) {
  .fv .c-cta-btn__icon {
    width: 6.1538461538cqw;
    height: 6.1538461538cqw;
  }
  .fv .c-cta-btn__icon__right {
    width: 4.8717948718cqw;
    height: 4.8717948718cqw;
  }
  .fv .c-cta-btn__icon__right .arw {
    width: 2.0512820513cqw;
    height: 2.0512820513cqw;
  }
  .fv .c-cta-btn__icon__right .external_link {
    width: 2.8205128205cqw;
    height: 2.8205128205cqw;
  }
}
/*
nav
=========================================*/
.menu {
  /* 10/420*100=2.3810cqw(10px相当) */
  --base: 2.381cqw;
  --base-h: 1.302cqh;
  container-type: inline-size;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc((100% - 460px) / 2);
  max-width: 65rem;
  right: calc(460px + (100% - 460px) / 2);
  margin-inline: auto;
}
.menu__inner {
  position: sticky;
  top: 0;
  height: 100lvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: min(var(--base) * 1, var(--base-h) * 1);
  padding-right: min(var(--base) * 7.4, var(--base-h) * 7.4);
  padding-left: min(var(--base) * 4.7, var(--base-h) * 4.7);
  box-sizing: border-box;
}
.menu__content .c-txt-star {
  -moz-column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
       column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
}
.menu__content .c-txt-star .star {
  width: min(var(--base) * 1.2, var(--base-h) * 1.2);
  height: min(var(--base) * 1.2, var(--base-h) * 1.2);
}
.menu__content .c-txt-star__txt {
  color: #ffffff;
  font-size: min(var(--base) * 1.4, var(--base-h) * 1.4);
  line-height: 2;
}
.menu__content .c-txt-star__txt::before, .menu__content .c-txt-star__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.menu__content .c-txt-star__txt::before {
  -webkit-margin-after: calc((1 - 2) * 0.5em);
          margin-block-end: calc((1 - 2) * 0.5em);
}
.menu__content .c-txt-star__txt::after {
  -webkit-margin-before: calc((1 - 2) * 0.5em);
          margin-block-start: calc((1 - 2) * 0.5em);
}
.menu__content__ttl {
  background: #f7f2fc;
  color: #756788;
  font-size: min(var(--base) * 1.8, var(--base-h) * 1.8);
  font-weight: 600;
  line-height: 1;
  margin-top: min(var(--base) * 1.2, var(--base-h) * 1.2);
  padding: min(var(--base) * 0.6, var(--base-h) * 0.6);
  text-align: center;
}
.menu__content__image {
  display: grid;
  text-align: center;
}
.menu__content__image__product {
  width: min(var(--base) * 28.3, var(--base-h) * 28.3);
  margin-inline: auto;
  grid-column: 1/-1;
  grid-row: 1/-1;
  z-index: 1;
}
.menu__content__image__product img {
  width: 100%;
  padding-top: min(var(--base) * 0.8, var(--base-h) * 0.8);
}
.menu__content__image__orbit {
  grid-column: 1/-1;
  grid-row: 1/-1;
  padding-top: min(var(--base) * 6, var(--base-h) * 6);
  display: grid;
  position: relative;
}
.menu__content__image__orbit .c-orbit__star {
  aspect-ratio: 279/167;
}
.menu__content__image__orbit .orbit {
  width: min(var(--base) * 29.8, var(--base-h) * 29.8);
  height: min(var(--base) * 16.8, var(--base-h) * 16.8);
  grid-column: 1/-1;
  grid-row: 1/-1;
  overflow: visible;
}
.menu__content__image__orbit .star {
  width: min(var(--base) * 1.6, var(--base-h) * 1.6);
  height: min(var(--base) * 1.6, var(--base-h) * 1.6);
  grid-row: 1/-1;
  grid-column: 1/-1;
  position: absolute;
  right: min(var(--base) * 0.8, var(--base-h) * 0.8);
  top: min(var(--base) * 5, var(--base-h) * 5);
}
.menu__content__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
       column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
  margin-top: min(var(--base) * 0.4, var(--base-h) * 0.4);
}
.menu__content__btns .c-btn {
  -moz-column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
       column-gap: min(var(--base) * 0.7, var(--base-h) * 0.7);
  padding: min(var(--base) * 0.9, var(--base-h) * 0.9) min(var(--base) * 1.2, var(--base-h) * 1.2) min(var(--base) * 1.1, var(--base-h) * 1.1) min(var(--base) * 1.6, var(--base-h) * 1.6);
}
.menu__content__btns .c-btn-txt {
  font-size: min(var(--base) * 1.3, var(--base-h) * 1.3);
}
.menu__content__btns .c-btn-icon {
  width: min(var(--base) * 1.8, var(--base-h) * 1.8);
  height: min(var(--base) * 1.8, var(--base-h) * 1.8);
}
.menu__content__btns .c-btn.__menu .arw {
  width: min(var(--base) * 0.8, var(--base-h) * 0.8);
  height: min(var(--base) * 0.6, var(--base-h) * 0.6);
}
.menu__content__btns .c-btn.__menu .external_link {
  width: min(var(--base) * 1, var(--base-h) * 1);
  height: min(var(--base) * 1, var(--base-h) * 1);
}
.menu__nav {
  width: min(var(--base) * 28.6, var(--base-h) * 28.6);
  margin-top: min(var(--base) * 8.6, var(--base-h) * 8.6);
  display: grid;
}
.menu__nav ul {
  display: contents;
}
.menu__nav__list {
  position: relative;
  grid-column: 1;
}
.menu__nav__list a {
  transition: all 0.3s ease;
}
.menu__nav__list.isCurrent a, .menu__nav__list.__hover a {
  padding-inline: min(var(--base) * 1, var(--base-h) * 1);
}
.menu__nav__list:nth-child(1) {
  grid-row: 1;
}
.menu__nav__list:nth-child(2) {
  grid-row: 2;
}
.menu__nav__list:nth-child(3) {
  grid-row: 3;
}
.menu__nav__list:nth-child(4) {
  grid-row: 4;
}
.menu__nav__list::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") repeat-x;
  background-size: auto 100%;
}
.menu__nav__list:last-child::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") repeat-x;
  background-size: auto 100%;
}
.menu__nav__list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: min(var(--base) * 1.5, var(--base-h) * 1.5);
  padding-right: min(var(--base) * 0.5, var(--base-h) * 0.5);
}
@media (any-hover: hover) {
  .menu__nav__list a:hover .menu__nav__arw .arw {
    -webkit-animation: arw_animation 0.4s ease;
            animation: arw_animation 0.4s ease;
  }
}
.menu__nav__txt {
  font-size: min(var(--base) * 1.5, var(--base-h) * 1.5);
  line-height: 1.3;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.menu__nav__txt::before, .menu__nav__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.menu__nav__txt::before {
  -webkit-margin-after: calc((1 - 1.3) * 0.5em);
          margin-block-end: calc((1 - 1.3) * 0.5em);
}
.menu__nav__txt::after {
  -webkit-margin-before: calc((1 - 1.3) * 0.5em);
          margin-block-start: calc((1 - 1.3) * 0.5em);
}
.menu__nav__arw {
  background: #ffffff;
  border-radius: 50%;
  display: grid;
  place-content: center;
  width: min(var(--base) * 1.8, var(--base-h) * 1.8);
  height: min(var(--base) * 1.8, var(--base-h) * 1.8);
}
.menu__nav__arw .arw {
  color: #756788;
  width: min(var(--base) * 0.8, var(--base-h) * 0.8);
  height: min(var(--base) * 0.6, var(--base-h) * 0.6);
  rotate: -90deg;
  margin-left: min(var(--base) * 0.2, var(--base-h) * 0.2);
}
.menu .js__nav__hover__bg {
  position: relative;
  grid-row: 1/2;
  grid-column: 1/2;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  pointer-events: none;
  transition: transform 0.3s ease;
}
.menu .js__nav__hover__bg::before {
  content: "";
  display: block;
  position: absolute;
  top: min(var(--base) * 0.7, var(--base-h) * 0.7);
  bottom: min(var(--base) * 0.8, var(--base-h) * 0.8);
  right: 0;
  left: 0;
  background: rgba(66, 59, 78, 0.45);
  border-radius: 3px;
  width: 100%;
  height: auto;
}
.menu .js__nav__hover__bg[data-type=movie] {
  transform: translateY(0%);
}
.menu .js__nav__hover__bg[data-type=limited] {
  transform: translateY(100%);
}
.menu .js__nav__hover__bg[data-type=campaign] {
  transform: translateY(200%);
}
.menu .js__nav__hover__bg[data-type=shopping] {
  transform: translateY(300%);
}

@media only screen and (max-width: 940px) {
  .menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: unset;
    left: unset;
    width: 100%;
    height: 100%;
    z-index: 10;
    container-type: unset;
    pointer-events: none;
  }
  .menu__inner {
    justify-content: start;
    background: #9b8fb3;
    pointer-events: none;
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    width: 74.358974359cqw;
    transform: translateX(100%);
    transition: 0.3s ease;
    transition-property: transform, opacity;
  }
  html.menuOpen .menu__inner {
    overflow-y: auto;
    pointer-events: auto;
    transform: translateX(0%);
  }
  .menu .overlay {
    position: fixed;
    inset: 0;
    z-index: 8;
    width: 100%;
    height: 100dvh;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: 0.4s ease;
    transition-property: transform, opacity;
    transition-delay: 0.1s;
  }
  html.menuOpen .menu .overlay {
    opacity: 1;
    pointer-events: auto;
  }
  .menu .c-btn.__open {
    pointer-events: all;
  }
  .menu__content {
    display: none;
  }
  .menu .js__nav__hover__bg {
    display: none;
  }
  .menu__nav {
    width: auto;
    margin-top: 0;
    padding-bottom: 12.8205128205cqw;
    display: block;
  }
  .menu__nav ul {
    display: grid;
    margin-top: 24.8717948718cqw;
    padding-inline: 1.2820512821cqw;
  }
  .menu__nav__list a {
    padding-block: 5.1282051282cqw 5.1282051282cqw;
    padding-inline: 0 2.0512820513cqw;
  }
  .menu__nav__txt {
    font-size: 4.358974359cqw;
    line-height: 1.17;
  }
  .menu__nav__txt::before, .menu__nav__txt::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 1px;
  }
  .menu__nav__txt::before {
    -webkit-margin-after: calc((1 - 1.17) * 0.5em);
            margin-block-end: calc((1 - 1.17) * 0.5em);
  }
  .menu__nav__txt::after {
    -webkit-margin-before: calc((1 - 1.17) * 0.5em);
            margin-block-start: calc((1 - 1.17) * 0.5em);
  }
  .menu__nav__txt__en {
    color: #ffffff;
    opacity: 0.6;
    font-family: "futura-pt", sans-serif;
    font-size: 3.0769230769cqw;
    font-weight: 450;
    line-height: 1.66;
    margin-top: 0.5128205128cqw;
  }
  .menu__nav__txt__en::before, .menu__nav__txt__en::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 1px;
  }
  .menu__nav__txt__en::before {
    -webkit-margin-after: calc((1 - 1.66) * 0.5em);
            margin-block-end: calc((1 - 1.66) * 0.5em);
  }
  .menu__nav__txt__en::after {
    -webkit-margin-before: calc((1 - 1.66) * 0.5em);
            margin-block-start: calc((1 - 1.66) * 0.5em);
  }
  .menu__nav__arw {
    width: 2.8205128205cqw;
    height: 2.8205128205cqw;
    background: unset;
  }
  .menu__nav__arw .star {
    width: 2.8205128205cqw;
    aspect-ratio: 1/1;
  }
  .menu__nav__arw .star.__pink {
    color: #efe3ff;
  }
  .menu .sp__menu__btn__wrapper {
    margin-top: 10.7692307692cqw;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 3.0769230769cqw;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn {
    background: linear-gradient(93deg, #efe8f9 9.57%, #e0d4f0 42.77%, #cbbbda 96.99%);
    width: 64.1025641026cqw;
    height: 12.8205128205cqw;
    padding-inline: 4.1025641026cqw;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__icon {
    margin-right: 1.5384615385cqw;
    width: 6.1538461538cqw;
    height: 6.1538461538cqw;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__icon .icon {
    color: #5a5260;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__txt {
    color: #5a5260;
    font-size: 3.5897435897cqw;
    font-weight: 600;
    line-height: 1;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__icon__right {
    width: 4.8717948718cqw;
    height: 4.8717948718cqw;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__icon__right .icon {
    color: #615a6b;
    width: 2.0512820513cqw;
    height: 2.0512820513cqw;
  }
  .menu .sp__menu__btn__wrapper .c-cta-btn__icon__right .external_link {
    width: 2.8205128205cqw;
    height: 2.8205128205cqw;
  }
}
@media only screen and (max-width: 1470px) {
  .menu {
    max-width: 38rem;
  }
}
/*
.main
=========================================*/
.main {
  max-width: 41.72rem;
  margin: 0 auto;
  padding-top: 1.7rem;
  border-left: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  box-sizing: border-box;
  /* .specialMovie */
  /* .limitedModel */
  /* .memberComment */
  /* .campaign */
  /* .application__notes */
  /* .application__rule */
  /* .saloniaPremium */
  /* .shopping */
  /* .related__sites */
}
.main__body {
  max-width: 39rem;
  margin-inline: auto;
  overflow-x: clip;
}
.main .specialMovie {
  position: relative;
  overflow: hidden;
}
.main .specialMovie::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url("../imgs/bg_special_movie.webp") no-repeat;
  background-size: 100% 100%;
  background-position: center;
}
.main .specialMovie__body {
  padding-block: 11.3rem;
  padding-inline: 3.5rem;
  position: relative;
}
.main .specialMovie__content__en__label {
  display: flex;
  flex-direction: column;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-family: "futura-pt", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
}
.main .specialMovie__content__en__label__txt {
  line-height: 1;
  letter-spacing: 0.06em;
}
.main .specialMovie__content__en__label__txt::before, .main .specialMovie__content__en__label__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .specialMovie__content__en__label__txt::before {
  -webkit-margin-after: calc((1 - 1) * 0.5em);
          margin-block-end: calc((1 - 1) * 0.5em);
}
.main .specialMovie__content__en__label__txt::after {
  -webkit-margin-before: calc((1 - 1) * 0.5em);
          margin-block-start: calc((1 - 1) * 0.5em);
}
.main .specialMovie__content__en__txt {
  position: absolute;
}
.main .specialMovie__content__en__txt.special {
  width: 19rem;
  top: 10rem;
  right: 0;
}
.main .specialMovie__content__en__txt.movie {
  width: 16.6rem;
  top: 33.4rem;
  left: 0.6rem;
}
.main .specialMovie__content__jp__ttl {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-left: auto;
  margin-top: 1.6rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .specialMovie .c-yt-wrapper {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 940px) {
  .main .specialMovie .c-yt-wrapper.__specialMovie {
    width: 32rem;
  }
}
.main .limitedModel {
  padding: 7.8rem 0 4.8rem;
  position: relative;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.main .limitedModel__bg {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #797987;
}
.main .limitedModel__bg__grad {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  background: url("../imgs/gradation/bg_limited_model2.webp") no-repeat center;
  background-size: cover;
  mix-blend-mode: overlay;
}
.main .limitedModel > *:not(.limitedModel__bg) {
  position: relative;
  z-index: 1;
}
.main .limitedModel__head {
  position: relative;
}
.main .limitedModel__head__ttl {
  display: flex;
  flex-direction: column;
  row-gap: 0.6rem;
}
.main .limitedModel__head__ttl img {
  width: 17.6rem;
  margin-left: 0.6rem;
}
.main .limitedModel__head__ttl img:nth-child(2) {
  margin-left: auto;
  width: 29rem;
}
.main .limitedModel__head__label {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-size: 1.4rem;
  font-weight: 450;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  right: 1.7rem;
  top: 1rem;
}
.main .limitedModel__body {
  padding: 8.2rem 0 2.8rem;
}
.main .limitedModel__body__productName {
  padding-left: 1.4rem;
}
.main .limitedModel__body__productName__en .txt {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-size: 1.1rem;
  font-weight: 450;
  line-height: 1;
  letter-spacing: 0.1em;
}
.main .limitedModel__body__productName__jp {
  margin-top: 0.7rem;
}
.main .limitedModel__body__productName__jp__item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  overflow: hidden;
}
.main .limitedModel__body__productName__jp__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f7f2fc;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
}
.main .limitedModel__body__productName__jp__item.isVisible::before {
  transform: scaleX(1);
}
.main .limitedModel__body__productName__jp__item.isVisible .txt {
  opacity: 1;
  transition-delay: 0.2s;
}
.main .limitedModel__body__productName__jp__item .txt {
  color: #756788;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.26, 0.06, 0, 1);
  transition-delay: 0s;
  position: relative;
  z-index: 1;
}
.main .limitedModel__body__productName__jp__item.__1 {
  padding-inline: 0.7rem;
}
.main .limitedModel__body__productName__jp__item.__2 {
  padding-inline: 0.8rem 0.5rem;
  margin-left: 1.3rem;
}
.main .limitedModel__body__productName.__reverse {
  display: flex;
  flex-direction: column;
  align-items: end;
  row-gap: 1.2rem;
  margin-top: -8.6rem;
}
.main .limitedModel__body__productName.__reverse .limitedModel__body__productName__en {
  display: flex;
  flex-direction: column;
}
.main .limitedModel__body__productName.__reverse .limitedModel__body__productName__en .txt:nth-child(1) {
  margin-right: 6.3rem;
}
.main .limitedModel__body__productName.__reverse .limitedModel__body__productName__en .txt:nth-child(2) {
  margin-left: 5rem;
}
.main .limitedModel__body__productName.__reverse .limitedModel__body__productName__jp__item.__1 {
  margin-left: -1rem;
}
.main .limitedModel__body__productName.__reverse .limitedModel__body__productName__jp__item.__2 {
  margin-right: 1.2rem;
}
.main .limitedModel__body__productImage {
  display: grid;
}
.main .limitedModel__body__productImage__mv {
  width: 34rem;
  height: 48.7rem;
  margin-top: -18rem;
  margin-left: 4rem;
  grid-column: 1/-1;
  grid-row: 1/-1;
  z-index: 1;
}
.main .limitedModel__body__productImage__mv img {
  width: 100%;
}
.main .limitedModel__body .c-orbit__star {
  grid-column: 1/-1;
  grid-row: 1/-1;
  width: 56rem;
  height: 30.8rem;
  margin-top: -4.5rem;
  margin-left: -7.8rem;
  display: grid;
  position: relative;
}
.main .limitedModel__body .c-orbit__star .orbit {
  rotate: -30deg;
  grid-column: 1/-1;
  grid-row: 1/-1;
  overflow: visible;
}
.main .limitedModel__body .c-orbit__star .star {
  position: absolute;
  top: 22.2rem;
  right: 11.6rem;
}
.main .limitedModel__body .c-badge {
  background: linear-gradient(140deg, #b8a3cb 19%, #dfd2eb 85.55%);
  border-radius: 50%;
  filter: drop-shadow(12.1px 12.1px 36.3px rgba(0, 0, 0, 0.05));
  width: 11rem;
  height: 11rem;
  margin: -4rem 0 0 2rem;
}
.main .limitedModel__body .c-badge-inner {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
}
.main .limitedModel__body .c-badge-label {
  display: flex;
  flex-direction: column;
  padding-left: 1.6rem;
}
.main .limitedModel__body .c-badge-label-txt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.15em;
  text-shadow: 0 0 4.4px rgba(0, 0, 0, 0.25);
}
.main .limitedModel__body .c-badge-label-txt::before, .main .limitedModel__body .c-badge-label-txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .limitedModel__body .c-badge-label-txt::before {
  -webkit-margin-after: calc((1 - 1.3) * 0.5em);
          margin-block-end: calc((1 - 1.3) * 0.5em);
}
.main .limitedModel__body .c-badge-label-txt::after {
  -webkit-margin-before: calc((1 - 1.3) * 0.5em);
          margin-block-start: calc((1 - 1.3) * 0.5em);
}
.main .limitedModel__body .c-badge-label-txt:nth-child(2) {
  display: flex;
}
.main .limitedModel__body .c-badge-label-symbol {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 2.4;
  letter-spacing: 0.15em;
  text-shadow: 0 0 4.4px rgba(0, 0, 0, 0.25);
  margin: 0.6rem 0 0 0.2rem;
}
.main .limitedModel__body .c-badge-label-symbol::before, .main .limitedModel__body .c-badge-label-symbol::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .limitedModel__body .c-badge-label-symbol::before {
  -webkit-margin-after: calc((1 - 2.4) * 0.5em);
          margin-block-end: calc((1 - 2.4) * 0.5em);
}
.main .limitedModel__body .c-badge-label-symbol::after {
  -webkit-margin-before: calc((1 - 2.4) * 0.5em);
          margin-block-start: calc((1 - 2.4) * 0.5em);
}
.main .limitedModel__body .c-badge-note {
  font-size: 1.1rem;
  line-height: 1.36;
  text-shadow: 0 0 5.5px #948ba7;
  margin: 0.8rem 0 0 2.2rem;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .limitedModel__body .c-badge-note::before, .main .limitedModel__body .c-badge-note::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .limitedModel__body .c-badge-note::before {
  -webkit-margin-after: calc((1 - 1.36) * 0.5em);
          margin-block-end: calc((1 - 1.36) * 0.5em);
}
.main .limitedModel__body .c-badge-note::after {
  -webkit-margin-before: calc((1 - 1.36) * 0.5em);
          margin-block-start: calc((1 - 1.36) * 0.5em);
}
.main .limitedModel__body .limitedModel__sticker {
  margin-top: 6rem;
  position: relative;
  z-index: 0;
}
.main .limitedModel__body .limitedModel__sticker::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 34.18rem;
  height: 100%;
  background: url("../imgs/white_border.svg") no-repeat;
  background-size: 100% 100%;
  margin-inline: auto;
  z-index: -1;
}
.main .limitedModel__body .limitedModel__sticker__inner {
  padding: 1.8rem 2.7rem 2.8rem;
}
.main .limitedModel__body .limitedModel__sticker__deco {
  width: 5.7rem;
  height: auto;
  position: relative;
  margin-inline: auto;
}
.main .limitedModel__body .limitedModel__sticker__deco::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  top: 0px;
  top: -1.8rem;
  width: 100%;
  height: auto;
}
.main .limitedModel__body .limitedModel__sticker__deco__inner {
  margin-inline: auto;
  display: grid;
  justify-content: center;
  align-items: start;
}
.main .limitedModel__body .limitedModel__sticker__deco__inner .c-stars__3 {
  z-index: 1;
}
.main .limitedModel__body .limitedModel__sticker img {
  width: 29rem;
  margin-top: 2.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
}
.main .limitedModel__body .limitedModel__sticker__head {
  margin-top: 2.3rem;
  text-align: center;
}
.main .limitedModel__body .limitedModel__sticker__head__label {
  text-shadow: 0 0 11px rgba(0, 0, 0, 0.1);
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.052em;
}
.main .limitedModel__body .limitedModel__sticker__head__ttl {
  text-shadow: 0 0 11px rgba(0, 0, 0, 0.1);
  font-size: 1.9rem;
  line-height: 1.36;
  margin-top: 1rem;
  display: block;
}
.main .limitedModel__body .limitedModel__sticker__head__ttl::before, .main .limitedModel__body .limitedModel__sticker__head__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .limitedModel__body .limitedModel__sticker__head__ttl::before {
  -webkit-margin-after: calc((1 - 1.36) * 0.5em);
          margin-block-end: calc((1 - 1.36) * 0.5em);
}
.main .limitedModel__body .limitedModel__sticker__head__ttl::after {
  -webkit-margin-before: calc((1 - 1.36) * 0.5em);
          margin-block-start: calc((1 - 1.36) * 0.5em);
}
.main .limitedModel__body .limitedModel__sticker__notes {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  padding-inline: 2.2rem;
}
.main .limitedModel__body .limitedModel__sticker__notes .txt {
  font-size: 1.1rem;
}
.main .limitedModel .c-cta-btn-wrapper {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
}
.main .limitedModel .c-cta-btn-wrapper .c-cta-btn {
  height: 7rem;
  padding-inline: 2.8rem 1.3rem;
  width: 30rem;
  -moz-column-gap: 1.1rem;
       column-gap: 1.1rem;
}
.main .limitedModel .c-cta-btn-wrapper .c-cta-btn__icon {
  width: 2.4rem;
  height: 2.4rem;
}
.main .limitedModel .c-cta-btn-wrapper .c-cta-btn-line {
  margin-top: 0.4rem;
  position: relative;
}
.main .limitedModel .c-cta-btn-wrapper .c-cta-btn-line .star {
  position: absolute;
  top: -0.6rem;
  left: -0.7rem;
  -webkit-animation: starFall 2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
          animation: starFall 2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
.main .limitedModel .c-cta-btn-wrapper .c-cta-btn-line .star use {
  transform-origin: center;
  -webkit-animation: starRotate 1s linear infinite;
          animation: starRotate 1s linear infinite;
}
@-webkit-keyframes starRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes starRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes starFall {
  0% {
    top: -0.6rem;
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0.5;
  }
}
@keyframes starFall {
  0% {
    top: -0.6rem;
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0.5;
  }
}
@media only screen and (max-width: 940px) {
  .main .limitedModel .c-cta-btn-wrapper .c-cta-btn-line .star {
    left: -0.6rem;
  }
}
.main .memberComment {
  padding-block: 4.6rem 3rem;
}
.main .memberComment__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-inline: 2.6rem;
}
.main .memberComment__head__ttl {
  margin-top: -10rem;
  display: block;
}
.main .memberComment__head__ttl .txt {
  font-size: 1.1rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
}
.main .memberComment__head__ttl .txt::before, .main .memberComment__head__ttl .txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .memberComment__head__ttl .txt::before {
  -webkit-margin-after: calc((1 - 1.45) * 0.5em);
          margin-block-end: calc((1 - 1.45) * 0.5em);
}
.main .memberComment__head__ttl .txt::after {
  -webkit-margin-before: calc((1 - 1.45) * 0.5em);
          margin-block-start: calc((1 - 1.45) * 0.5em);
}
.main .memberComment__head__label {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-top: 1rem;
}
.main .memberComment__head__label .txt:first-child {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.main .memberComment__head__label .txt:nth-child(2) {
  color: #f7ecf7;
  font-family: "ivyora-text", serif;
  font-size: 4.6rem;
  font-weight: 400;
  line-height: 1;
  margin-top: -1.2rem;
  letter-spacing: 0;
}
.main .memberComment__head__label .txt:nth-child(2)::before, .main .memberComment__head__label .txt:nth-child(2)::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .memberComment__head__label .txt:nth-child(2)::before {
  -webkit-margin-after: calc((1 - 1) * 0.5em);
          margin-block-end: calc((1 - 1) * 0.5em);
}
.main .memberComment__head__label .txt:nth-child(2)::after {
  -webkit-margin-before: calc((1 - 1) * 0.5em);
          margin-block-start: calc((1 - 1) * 0.5em);
}
.main .memberComment .tab-radio {
  display: none;
}
.main .memberComment #tab-1:checked ~ .tabs label[for=tab-1] .tab__item__button__txt,
.main .memberComment #tab-2:checked ~ .tabs label[for=tab-2] .tab__item__button__txt,
.main .memberComment #tab-3:checked ~ .tabs label[for=tab-3] .tab__item__button__txt {
  opacity: 0;
}
.main .memberComment #tab-1:checked ~ .tabs label[for=tab-1] .tab__item__button__star,
.main .memberComment #tab-2:checked ~ .tabs label[for=tab-2] .tab__item__button__star,
.main .memberComment #tab-3:checked ~ .tabs label[for=tab-3] .tab__item__button__star {
  opacity: 1;
}
.main .memberComment #tab-1:checked ~ .tabs label[for=tab-1] .tab__item__button,
.main .memberComment #tab-2:checked ~ .tabs label[for=tab-2] .tab__item__button,
.main .memberComment #tab-3:checked ~ .tabs label[for=tab-3] .tab__item__button {
  background: #ffffff;
}
.main .memberComment #tab-1:checked ~ .comments .comment,
.main .memberComment #tab-2:checked ~ .comments .comment,
.main .memberComment #tab-3:checked ~ .comments .comment {
  opacity: 0;
  transition: unset;
}
.main .memberComment #tab-1:checked ~ .comments #comment-1,
.main .memberComment #tab-2:checked ~ .comments #comment-2,
.main .memberComment #tab-3:checked ~ .comments #comment-3 {
  opacity: 1;
  transition: opacity 0.4s ease;
}
.main .memberComment #tab-1:checked ~ .tabs .tab__item__active,
.main .memberComment #tab-2:checked ~ .tabs .tab__item__active,
.main .memberComment #tab-3:checked ~ .tabs .tab__item__active {
  opacity: 0;
}
.main .memberComment #tab-1:checked ~ .tabs label[for=tab-1] .tab__item__active,
.main .memberComment #tab-2:checked ~ .tabs label[for=tab-2] .tab__item__active,
.main .memberComment #tab-3:checked ~ .tabs label[for=tab-3] .tab__item__active {
  opacity: 1;
}
.main .memberComment .tabs {
  display: flex;
  justify-content: space-between;
  padding-inline: 0.6rem;
  margin-top: 1rem;
}
.main .memberComment .tabs .tab__item {
  flex: 1;
  cursor: pointer;
}
.main .memberComment .tabs .tab__item[for=tab-2] .tab__item__img img {
  width: 8.36rem;
}
.main .memberComment .tabs .tab__item[for=tab-3] .tab__item__img img {
  margin-left: 1.4rem;
}
@media (any-hover: hover) {
  .main .memberComment .tabs .tab__item:hover .tab__item__button {
    background: #ffffff;
  }
  .main .memberComment .tabs .tab__item:hover .tab__item__button__txt {
    color: #5f5969;
  }
}
.main .memberComment .tabs .tab__item:first-child .tab__item__active {
  opacity: 1;
}
.main .memberComment .tabs .tab__item__img {
  height: 15rem;
  display: grid;
  align-items: end;
  justify-content: center;
  position: relative;
}
.main .memberComment .tabs .tab__item__img img {
  position: relative;
  z-index: 0;
}
.main .memberComment .tabs .tab__item__img::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 10.8rem;
  height: 12.2rem;
  border-radius: 55px 55px 0 0;
  background: linear-gradient(145deg, #a090ae 8.8%, #f5e7f5 99.93%);
  right: 0;
  margin-inline: auto;
}
.main .memberComment .tabs .tab__item__name {
  color: #f7ecf7;
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-size: 1.6rem;
  font-weight: 450;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 1.1rem;
}
.main .memberComment .tabs .tab__item__button {
  border: solid 1px #ffffff;
  border-radius: 100vmax;
  box-sizing: border-box;
  height: 2.8rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 1rem auto 0;
  padding-inline: 1rem;
  display: grid;
  place-content: center;
  position: relative;
  padding-top: 0.2rem;
  transition: background 0.3s ease;
}
.main .memberComment .tabs .tab__item__button__txt {
  opacity: 1;
  font-family: "futura-pt", sans-serif;
  font-size: 1.2rem;
  font-weight: 450;
  line-height: 1.83;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
}
.main .memberComment .tabs .tab__item__button__txt::before, .main .memberComment .tabs .tab__item__button__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .memberComment .tabs .tab__item__button__txt::before {
  -webkit-margin-after: calc((1 - 1.83) * 0.5em);
          margin-block-end: calc((1 - 1.83) * 0.5em);
}
.main .memberComment .tabs .tab__item__button__txt::after {
  -webkit-margin-before: calc((1 - 1.83) * 0.5em);
          margin-block-start: calc((1 - 1.83) * 0.5em);
}
.main .memberComment .tabs .tab__item__button__star {
  opacity: 0;
  width: 1.4rem;
  height: 1.4rem;
  pointer-events: none;
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .memberComment .tabs .tab__item__button__star .star {
  color: #747685;
  width: 1.4rem;
  height: 1.4rem;
  pointer-events: auto;
  display: block;
}
.main .memberComment .tabs .tab__item__active {
  opacity: 0;
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .memberComment .tabs .tab__item__active .line {
  width: 1px;
  height: 2.3rem;
  background: rgba(255, 255, 255, 0.4);
  display: block;
}
.main .memberComment .tabs .tab__item__active .dot {
  background: #ffffff;
  border-radius: 50%;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: -0.4rem;
  margin-left: -0.2rem;
}
.main .memberComment .comments {
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  display: grid;
  margin-top: -0.3rem;
  padding: 2.5rem 2.6rem;
}
.main .memberComment .comments .comment {
  opacity: 0;
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.main .memberComment .comments .comment:first-child {
  opacity: 1;
}
.main .memberComment .comments .comment__txt {
  font-size: 1.3rem;
  line-height: 1.84;
}
.main .memberComment .comments .comment__txt::before, .main .memberComment .comments .comment__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .memberComment .comments .comment__txt::before {
  -webkit-margin-after: calc((1 - 1.84) * 0.5em);
          margin-block-end: calc((1 - 1.84) * 0.5em);
}
.main .memberComment .comments .comment__txt::after {
  -webkit-margin-before: calc((1 - 1.84) * 0.5em);
          margin-block-start: calc((1 - 1.84) * 0.5em);
}
.main .memberComment__video .img__dots {
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-top: 2.5rem;
}
.main .memberComment__video .img__dots img {
  width: 100%;
  height: auto;
}
.main .memberComment__video__caption {
  font-size: 1.3rem;
  line-height: 1.84;
  letter-spacing: 0.08em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-left: 2.4rem;
  margin-top: 1.2rem;
}
.main .memberComment__video__caption::before, .main .memberComment__video__caption::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .memberComment__video__caption::before {
  -webkit-margin-after: calc((1 - 1.84) * 0.5em);
          margin-block-end: calc((1 - 1.84) * 0.5em);
}
.main .memberComment__video__caption::after {
  -webkit-margin-before: calc((1 - 1.84) * 0.5em);
          margin-block-start: calc((1 - 1.84) * 0.5em);
}
@media only screen and (max-width: 767px) {
  .main .memberComment .tabs .tab__item:nth-child(3) .tab__item__img img {
    width: 10.4rem;
  }
  .main .memberComment .tabs .tab__item__img img {
    width: 9rem;
  }
  .main .memberComment .tabs .tab__item__img::before {
    height: 12.6rem;
  }
}
.main .campaign {
  padding-block: 7.5rem 7rem;
  position: relative;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.main .campaign__bg {
  width: 100%;
  height: 100%;
  background: #c1a0c2;
}
.main .campaign__bg__grad {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  background: url("../imgs/gradation/bg_campaign2.webp") no-repeat center;
  background-size: cover;
  mix-blend-mode: soft-light;
}
.main .campaign__bg__grad__2 {
  position: fixed;
  inset: 0;
  background: #c1a0c2;
  mix-blend-mode: soft-light;
  z-index: -1;
}
.main .campaign__bg__grad__3 {
  position: fixed;
  inset: 0;
  z-index: -2;
  background: #747685;
}
.main .campaign > *:not(.campaign__bg) {
  position: relative;
  z-index: 1;
}
.main .campaign__head {
  padding-inline: 0.5rem 0.6rem;
}
.main .campaign__head__label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.main .campaign__head__label__starLine {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  margin-top: 1.2rem;
}
.main .campaign__head__label__starLine .star {
  width: 1.1rem;
  height: 1.1rem;
  color: #f7ecf7;
}
.main .campaign__head__label__starLine .line {
  height: 1px;
  width: 5rem;
  background: rgba(255, 255, 255, 0.5);
}
.main .campaign__head__label img {
  width: 23rem;
}
.main .campaign__head__ttl {
  margin-top: 2.4rem;
}
.main .campaign__head__ttl img {
  width: 37rem;
}
.main .campaign__period {
  margin-top: 3rem;
  padding-inline: 1.5rem;
}
.main .campaign__period img {
  width: 36rem;
}
.main .campaign .present__wrapper {
  margin-inline: auto;
  width: 36rem;
  -webkit-clip-path: inset(-10rem 0 0 0);
          clip-path: inset(-10rem 0 0 0);
}
.main .campaign .present__wrapper__1 {
  margin-top: 6.5rem;
  background: url("../imgs/gradation/bg_present_1.webp") no-repeat;
  background-size: 100% 100%;
}
.main .campaign .present__wrapper__1, .main .campaign .present__wrapper__2 {
  position: relative;
  padding-block: 4.1rem;
}
.main .campaign .present__wrapper__2 {
  margin-top: 7.2rem;
  background: url("../imgs/gradation/bg_present_2.webp") no-repeat;
  background-size: 100% 100%;
}
.main .campaign .present__wrapper .c-present.__1 .c-present__product__badge {
  margin-left: auto;
  margin-right: 2rem;
  margin-top: -7.3rem;
  width: 12rem;
  height: 12rem;
}
.main .campaign .present__wrapper .c-present.__1 .c-orbit__star {
  width: 52rem;
  height: 28.6rem;
  margin-left: -9.4rem;
  margin-top: 4.8rem;
  display: grid;
  position: relative;
}
.main .campaign .present__wrapper .c-present.__1 .c-orbit__star .orbit {
  rotate: -26.3deg;
  grid-column: 1/-1;
  grid-row: 1/-1;
  overflow: visible;
}
.main .campaign .present__wrapper .c-present.__1 .c-orbit__star .star {
  position: absolute;
  top: 30.4rem;
  left: 11.8rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__number {
  row-gap: 0;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge {
  margin-right: auto;
  margin-left: 2.2rem;
  margin-top: -9.8rem;
  width: 10rem;
  height: 10rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__label {
  font-weight: 600;
  line-height: 2.02;
  margin-top: -0.4rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__label::before, .main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__label::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__label::before {
  -webkit-margin-after: calc((1 - 2.02) * 0.5em);
          margin-block-end: calc((1 - 2.02) * 0.5em);
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__label::after {
  -webkit-margin-before: calc((1 - 2.02) * 0.5em);
          margin-block-start: calc((1 - 2.02) * 0.5em);
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt {
  margin-top: 0.4rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt .txt {
  color: #efe3ff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.18;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt .txt::before, .main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt .txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt .txt::before {
  -webkit-margin-after: calc((1 - 1.18) * 0.5em);
          margin-block-end: calc((1 - 1.18) * 0.5em);
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__badge__txt .txt::after {
  -webkit-margin-before: calc((1 - 1.18) * 0.5em);
          margin-block-start: calc((1 - 1.18) * 0.5em);
}
.main .campaign .present__wrapper .c-present.__2 .c-present__head__ttl {
  row-gap: 0.6rem;
  margin-top: -0.4rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__note {
  width: 19rem;
  margin: 2.4rem 2.4rem 0 auto;
}
.main .campaign .present__wrapper .c-present.__2 .item__imgWrapper {
  margin-top: 1rem;
}
.main .campaign .present__wrapper .c-present.__2 .item__imgWrapper img:nth-child(2) {
  margin-top: -0.8rem;
  margin-left: 0.5rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__imgWrapper img {
  width: 34.03rem;
  margin-left: 1rem;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__imgWrapper .c-orbit__star {
  width: 48rem;
  height: 14.8rem;
  margin-left: -7.4rem;
  margin-top: 3.3rem;
  display: grid;
  position: relative;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__imgWrapper .c-orbit__star .orbit {
  rotate: -18.3deg;
  grid-column: 1/-1;
  grid-row: 1/-1;
  overflow: visible;
}
.main .campaign .present__wrapper .c-present.__2 .c-present__product__imgWrapper .c-orbit__star .star {
  position: absolute;
}
.main .campaign .present__wrapper .c-present__number {
  position: absolute;
  right: 0;
  left: 0;
  top: -4.3rem;
  z-index: 1;
  background: transparent;
  border-radius: 50%;
  width: 8rem;
  height: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
}
.main .campaign .present__wrapper .c-present__number__ttl {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-weight: 450;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.main .campaign .present__wrapper .c-present__number__num {
  font-family: "ivyora-text", serif;
  font-weight: 400;
  font-size: 3.1rem;
  line-height: 1;
  text-transform: uppercase;
}
.main .campaign .present__wrapper .c-present__label {
  background: linear-gradient(90deg, #afacc1 0%, #797b8f 50%, #afacc1 100%);
  padding-block: 0.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.4rem;
       column-gap: 0.4rem;
}
.main .campaign .present__wrapper .c-present__label__txt {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2.38;
}
.main .campaign .present__wrapper .c-present__label__txt::before, .main .campaign .present__wrapper .c-present__label__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__label__txt::before {
  -webkit-margin-after: calc((1 - 2.38) * 0.5em);
          margin-block-end: calc((1 - 2.38) * 0.5em);
}
.main .campaign .present__wrapper .c-present__label__txt::after {
  -webkit-margin-before: calc((1 - 2.38) * 0.5em);
          margin-block-start: calc((1 - 2.38) * 0.5em);
}
.main .campaign .present__wrapper .c-present__label .star {
  color: #efe3ff;
  width: 1.3rem;
  height: 1.3rem;
}
.main .campaign .present__wrapper .c-present__head {
  margin-top: 2.6rem;
}
.main .campaign .present__wrapper .c-present__head__label {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.6rem;
       column-gap: 0.6rem;
}
.main .campaign .present__wrapper .c-present__head__label__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.3rem;
       column-gap: 0.3rem;
}
.main .campaign .present__wrapper .c-present__head__label__inner .name {
  border-radius: 3px;
  border: solid 1px #5f5969;
  box-sizing: border-box;
  color: #5f5969;
  font-family: "futura-pt", sans-serif;
  font-size: 1.3rem;
  font-weight: 450;
  line-height: 1;
  padding: 0.2rem 0.4rem;
}
.main .campaign .present__wrapper .c-present__head__label__txt {
  color: #5f5969;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2.61;
  letter-spacing: 0.052em;
}
.main .campaign .present__wrapper .c-present__head__label__txt::before, .main .campaign .present__wrapper .c-present__head__label__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__head__label__txt::before {
  -webkit-margin-after: calc((1 - 2.61) * 0.5em);
          margin-block-end: calc((1 - 2.61) * 0.5em);
}
.main .campaign .present__wrapper .c-present__head__label__txt::after {
  -webkit-margin-before: calc((1 - 2.61) * 0.5em);
          margin-block-start: calc((1 - 2.61) * 0.5em);
}
.main .campaign .present__wrapper .c-present__head__ttl {
  margin-top: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.4rem;
}
.main .campaign .present__wrapper .c-present__head__ttl__txt {
  color: #5f5969;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.41;
}
.main .campaign .present__wrapper .c-present__head__ttl__txt::before, .main .campaign .present__wrapper .c-present__head__ttl__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__head__ttl__txt::before {
  -webkit-margin-after: calc((1 - 1.41) * 0.5em);
          margin-block-end: calc((1 - 1.41) * 0.5em);
}
.main .campaign .present__wrapper .c-present__head__ttl__txt::after {
  -webkit-margin-before: calc((1 - 1.41) * 0.5em);
          margin-block-start: calc((1 - 1.41) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product {
  margin-top: 2.6rem;
}
.main .campaign .present__wrapper .c-present__product__imgWrapper {
  display: grid;
}
.main .campaign .present__wrapper .c-present__product__imgWrapper__img {
  width: 39rem;
  grid-column: 1/-1;
  grid-row: 1/-1;
  z-index: 1;
  margin-left: -3.7rem;
}
.main .campaign .present__wrapper .c-present__product__imgWrapper .c-orbit__star {
  grid-column: 1/-1;
  grid-row: 1/-1;
  width: 52rem;
}
.main .campaign .present__wrapper .c-present__product__imgWrapper .c-orbit__star .c-orbit {
  width: 100%;
}
.main .campaign .present__wrapper .c-present__product__imgWrapper .c-orbit__star .star {
  width: 1.7rem;
  height: 1.7rem;
}
.main .campaign .present__wrapper .c-present__product__badge {
  z-index: 1;
  position: relative;
  border-radius: 50%;
  background: linear-gradient(140deg, #797b8f 19%, #a0a1b4 85.55%);
  display: grid;
  place-content: center;
  filter: drop-shadow(14px 5px 15px rgba(0, 0, 0, 0.09));
  text-align: center;
}
.main .campaign .present__wrapper .c-present__product__badge__label {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.16;
  text-shadow: 0 0 6px #948ba7;
}
.main .campaign .present__wrapper .c-present__product__badge__label::before, .main .campaign .present__wrapper .c-present__product__badge__label::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__badge__label::before {
  -webkit-margin-after: calc((1 - 1.16) * 0.5em);
          margin-block-end: calc((1 - 1.16) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__badge__label::after {
  -webkit-margin-before: calc((1 - 1.16) * 0.5em);
          margin-block-start: calc((1 - 1.16) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__badge__txt {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  -moz-column-gap: 0.2rem;
       column-gap: 0.2rem;
}
.main .campaign .present__wrapper .c-present__product__badge__txt .num {
  color: #efe3ff;
  font-family: "ivyora-text", serif;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1;
}
.main .campaign .present__wrapper .c-present__product__badge__txt .txt {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.21;
  margin-bottom: 0.2rem;
}
.main .campaign .present__wrapper .c-present__product__badge__txt .txt::before, .main .campaign .present__wrapper .c-present__product__badge__txt .txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__badge__txt .txt::before {
  -webkit-margin-after: calc((1 - 1.21) * 0.5em);
          margin-block-end: calc((1 - 1.21) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__badge__txt .txt::after {
  -webkit-margin-before: calc((1 - 1.21) * 0.5em);
          margin-block-start: calc((1 - 1.21) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__note {
  width: 20rem;
  margin-left: 1rem;
  margin-top: -2.5rem;
}
.main .campaign .present__wrapper .c-present__product__note__txt {
  color: #5f5969;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.45;
  padding-left: 1.4rem;
  display: block;
  position: relative;
}
.main .campaign .present__wrapper .c-present__product__note__txt::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  font-size: 1.1rem;
  color: #5f5969;
}
.main .campaign .present__wrapper .c-present__product__list {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  padding-inline: 2.3rem;
}
.main .campaign .present__wrapper .c-present__product__list .item {
  flex: 1;
  border-radius: 3;
  background: #fcfbff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 1.3rem 1rem 0.6rem;
}
.main .campaign .present__wrapper .c-present__product__list .item__head {
  text-align: center;
}
.main .campaign .present__wrapper .c-present__product__list .item__head__name {
  color: #5f5969;
  font-family: "futura-pt", sans-serif;
  font-size: 1.8rem;
  font-weight: 450;
  line-height: 1;
}
.main .campaign .present__wrapper .c-present__product__list .item__head__name__label {
  color: #5f5969;
  font-size: 1.1rem;
  line-height: 1;
  display: block;
}
.main .campaign .present__wrapper .c-present__product__list .item__name {
  color: #8b8693;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.048em;
  margin-top: 0.8rem;
  text-align: center;
}
.main .campaign .present__wrapper .c-present__product__list .item__name::before, .main .campaign .present__wrapper .c-present__product__list .item__name::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__list .item__name::before {
  -webkit-margin-after: calc((1 - 1.25) * 0.5em);
          margin-block-end: calc((1 - 1.25) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__list .item__name::after {
  -webkit-margin-before: calc((1 - 1.25) * 0.5em);
          margin-block-start: calc((1 - 1.25) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__list .item__prize {
  background: #84869a;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.1rem;
       column-gap: 0.1rem;
  width: 100%;
  padding: 0.3rem 0.4rem;
  margin-top: 1.6rem;
}
.main .campaign .present__wrapper .c-present__product__list .item__prize__txt {
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1;
}
.main .campaign .present__wrapper .c-present__product__list .item__prize__txt.__num {
  font-family: "futura-pt", sans-serif;
  font-size: 1.7rem;
  font-weight: 450;
  line-height: 1;
  letter-spacing: 0.068em;
  margin-top: 0rem;
}
.main .campaign .present__wrapper .c-present__product__container {
  margin-top: 5.5rem;
  padding-inline: 2.3rem;
  position: relative;
}
.main .campaign .present__wrapper .c-present__product__container__inner {
  box-sizing: border-box;
  border: solid 1px #ffffff;
  border-radius: 3px;
}
.main .campaign .present__wrapper .c-present__product__container__deco {
  width: 5.7rem;
  height: auto;
  border-radius: 50%;
  position: relative;
  margin-inline: auto;
  margin-top: -0.6rem;
}
.main .campaign .present__wrapper .c-present__product__container__deco::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  top: -1.8rem;
  width: 100%;
  height: auto;
  background: url("../imgs/present_container_deco.svg") no-repeat;
  background-size: 100% auto;
}
.main .campaign .present__wrapper .c-present__product__container__deco__inner {
  margin-inline: auto;
  display: grid;
  justify-content: center;
  align-items: start;
  background: #dbd7ef;
}
.main .campaign .present__wrapper .c-present__product__container__deco .c-stars__3 .star {
  width: 1rem;
  height: 1rem;
}
.main .campaign .present__wrapper .c-present__product__container__ttl {
  margin-top: 1.9rem;
  color: #5f5969;
  text-align: center;
  font-size: 1.9rem;
  line-height: 1.36;
}
.main .campaign .present__wrapper .c-present__product__container__ttl::before, .main .campaign .present__wrapper .c-present__product__container__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__container__ttl::before {
  -webkit-margin-after: calc((1 - 1.36) * 0.5em);
          margin-block-end: calc((1 - 1.36) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container__ttl::after {
  -webkit-margin-before: calc((1 - 1.36) * 0.5em);
          margin-block-start: calc((1 - 1.36) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container .step {
  margin-top: 3.5rem;
}
.main .campaign .present__wrapper .c-present__product__container .step__item {
  position: relative;
  border-top: solid 1px #ffffff;
  padding-block: 2rem 3rem;
}
.main .campaign .present__wrapper .c-present__product__container .step__item:last-of-type {
  -webkit-padding-after: 2.3rem;
          padding-block-end: 2.3rem;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__label {
  position: absolute;
  inset: 0;
  top: 0px;
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  top: -1.2rem;
  border-radius: 100vmax;
  border: solid 1px #ffffff;
  box-sizing: border-box;
  height: 2rem;
  padding-inline: 0.6rem;
  background: #ffffff;
  display: grid;
  place-content: center;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__label__txt {
  color: #998db1;
  font-size: 1.4rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.01em;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__txt {
  color: #5f5969;
  text-align: center;
  font-size: 14.3px;
  line-height: 1.53;
  letter-spacing: 0.052em;
  padding-inline: 0.7rem;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__txt::before, .main .campaign .present__wrapper .c-present__product__container .step__item__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__txt::before {
  -webkit-margin-after: calc((1 - 1.53) * 0.5em);
          margin-block-end: calc((1 - 1.53) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container .step__item__txt::after {
  -webkit-margin-before: calc((1 - 1.53) * 0.5em);
          margin-block-start: calc((1 - 1.53) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container .step__item__note {
  margin-top: 2rem;
  padding-inline: 1.4rem;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__note__txt {
  color: #5f5969;
  font-size: 1.1rem;
  line-height: 1.54;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.main .campaign .present__wrapper .c-present__product__container .step__item__note__txt:not(:first-child) {
  margin-top: 0.2rem;
}
.main .campaign .present__wrapper .c-present__product__container .items {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 3.2rem;
       column-gap: 3.2rem;
  padding-inline: 1rem;
  padding-block: 0.8rem 2rem;
  position: relative;
}
.main .campaign .present__wrapper .c-present__product__container .items.__center {
  flex-direction: column;
}
.main .campaign .present__wrapper .c-present__product__container .items .item {
  width: 19rem;
}
.main .campaign .present__wrapper .c-present__product__container .items .item.__2 .item__name {
  letter-spacing: 0;
}
.main .campaign .present__wrapper .c-present__product__container .items .item__img {
  width: 12.7rem;
}
.main .campaign .present__wrapper .c-present__product__container .items .item__name {
  margin-top: 1.2rem;
  color: #5f5969;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.27;
  display: block;
}
.main .campaign .present__wrapper .c-present__product__container .items .item__name::before, .main .campaign .present__wrapper .c-present__product__container .items .item__name::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .campaign .present__wrapper .c-present__product__container .items .item__name::before {
  -webkit-margin-after: calc((1 - 1.27) * 0.5em);
          margin-block-end: calc((1 - 1.27) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container .items .item__name::after {
  -webkit-margin-before: calc((1 - 1.27) * 0.5em);
          margin-block-start: calc((1 - 1.27) * 0.5em);
}
.main .campaign .present__wrapper .c-present__product__container .items .plus__img {
  margin-top: -3rem;
  position: absolute;
  bottom: 10rem;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 5.3rem;
  height: 5.3rem;
}
.main .campaign .present__wrapper .c-present__product__container .items .plus__img img {
  width: 100%;
}
.main .campaign .present__wrapper .c-present__product__container__notes {
  margin-top: 2rem;
}
.main .campaign .present__wrapper .c-present__product__container__notes li {
  color: #5f5969;
  font-size: 1.1rem;
  position: relative;
}
.main .campaign .present__wrapper .c-present__product__container__notes.__present2 li {
  margin-bottom: 0.5rem;
  padding-left: 1.6rem;
  letter-spacing: 0em;
}
.main .campaign .present__wrapper .c-present__product__container__notes.__present2 li::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  margin-top: 1.1rem;
  left: 0.7rem;
  background: #5f5969;
}
.main .campaign .present__wrapper .c-cta-btn-wrapper {
  width: 31rem;
  margin-inline: auto;
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}
.main .campaign .present__wrapper .c-cta-btn-wrapper .c-cta-btn {
  height: 5.8rem;
  width: 100%;
  padding-inline: 1.8rem 2.2rem;
}
.main .campaign .present__wrapper .c-cta-btn-wrapper .c-cta-btn__txt {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .main .campaign .present__wrapper .c-present.__2 .c-present__product__container {
    margin-top: 4.6rem;
  }
  .main .campaign .present__wrapper .c-present.__2 .c-present__product__container + .c-present__product__container {
    margin-top: 5.2rem;
  }
  .main .campaign .present__wrapper .c-present.__2 .item__imgWrapper {
    margin-top: 2rem;
    display: flex;
  }
  .main .campaign .present__wrapper .c-present.__2 .item__imgWrapper img {
    width: 16rem;
  }
  .main .campaign .present__wrapper .c-present.__2 .item__imgWrapper img:nth-child(2) {
    width: 10.3rem;
  }
  .main .campaign .present__wrapper .c-present__label .star {
    width: 1.3rem;
    height: 1.3rem;
  }
  .main .campaign .present__wrapper .c-present__product__imgWrapper .c-orbit__star .star {
    width: 1.7rem;
    height: 1.7rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .step__item {
    padding-block: 2.3rem 2.8rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .step__item:last-of-type {
    -webkit-padding-after: 1.6rem;
            padding-block-end: 1.6rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .step__item__txt {
    font-size: 1.3rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .step__item__note__txt:not(:first-child) {
    margin-top: 0.2rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items {
    -moz-column-gap: 3.2rem;
         column-gap: 3.2rem;
    padding-inline: 1rem;
    padding-block: 0.8rem 2rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items.__center {
    padding-block: 0.8rem 1rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items .item {
    width: 19rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items .item__img {
    width: 12.7rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items .item__name {
    margin-top: 1.2rem;
  }
  .main .campaign .present__wrapper .c-present__product__container .items .plus__img {
    margin-top: -3rem;
    bottom: 10rem;
    width: 5.3rem;
    height: 5.3rem;
  }
  .main .campaign .present__wrapper .c-present__product__container__notes.__present2 li::before {
    width: 0.3rem;
    height: 0.3rem;
    margin-top: 0.7rem;
  }
  .main .campaign .present__wrapper .c-cta-btn-wrapper {
    margin-top: 3rem;
  }
}
.main .application__notes {
  padding: 4.6rem 2.3rem 0;
}
.main .application__notes__head {
  text-align: center;
}
.main .application__notes__head__label {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-weight: 450;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.main .application__notes__head__ttl {
  font-size: 2.4rem;
  line-height: 1.41;
  margin-top: 0.4rem;
}
.main .application__notes__head__ttl::before, .main .application__notes__head__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .application__notes__head__ttl::before {
  -webkit-margin-after: calc((1 - 1.41) * 0.5em);
          margin-block-end: calc((1 - 1.41) * 0.5em);
}
.main .application__notes__head__ttl::after {
  -webkit-margin-before: calc((1 - 1.41) * 0.5em);
          margin-block-start: calc((1 - 1.41) * 0.5em);
}
.main .application__notes__image {
  margin-top: 3rem;
}
.main .application__notes__image img {
  width: 100%;
}
.main .application__notes__caption {
  font-size: 1.1rem;
  line-height: 1;
  margin-top: 1rem;
}
.main .application__notes__photoPoint {
  border-radius: 3px;
  border: 1px solid #dedaf0;
  background: rgba(66, 59, 78, 0.3);
  margin-top: 2.6rem;
  padding: 2.6rem 2rem 0.4rem;
}
.main .application__notes__photoPoint__p1 {
  margin-top: 2.1rem;
}
.main .application__notes__photoPoint__p2, .main .application__notes__photoPoint__p3 {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.main .application__notes__photoPoint .point {
  padding-block: 1.9rem 1.7rem;
  position: relative;
}
.main .application__notes__photoPoint .point::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") no-repeat;
  background-size: 100% 100%;
}
.main .application__notes__photoPoint .point__label {
  border-radius: 3px;
  background: #ffffff;
  height: 2rem;
  padding-inline: 0.5rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: grid;
  place-content: center;
}
.main .application__notes__photoPoint .point__label__head {
  color: #5f5969;
  font-family: "futura-pt", sans-serif;
  font-size: 1.2rem;
  font-weight: 450;
  line-height: 1;
}
.main .application__notes__photoPoint .point__label__txt {
  font-size: 1.3rem;
  line-height: 1.53;
  margin-top: 0.8rem;
}
.main .application__notes__photoPoint .point__label__txt::before, .main .application__notes__photoPoint .point__label__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .application__notes__photoPoint .point__label__txt::before {
  -webkit-margin-after: calc((1 - 1.53) * 0.5em);
          margin-block-end: calc((1 - 1.53) * 0.5em);
}
.main .application__notes__photoPoint .point__label__txt::after {
  -webkit-margin-before: calc((1 - 1.53) * 0.5em);
          margin-block-start: calc((1 - 1.53) * 0.5em);
}
.main .application__notes__photoPoint .point img {
  width: 8rem;
}
.main .application__rule {
  margin-top: 4.5rem;
  padding-inline: 2.3rem;
}
.main .application__rule h4 + h5,
.main .application__rule h4 + p,
.main .application__rule h4 + ul,
.main .application__rule h5 + ul {
  margin-top: 0;
}
.main .application__rule__head {
  text-align: center;
}
.main .application__rule__head__label {
  color: #f7ecf7;
  font-family: "futura-pt", sans-serif;
  font-weight: 450;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.main .application__rule__head__ttl {
  font-size: 2.4rem;
  line-height: 1.41;
  margin-top: 0.4rem;
}
.main .application__rule__head__ttl::before, .main .application__rule__head__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .application__rule__head__ttl::before {
  -webkit-margin-after: calc((1 - 1.41) * 0.5em);
          margin-block-end: calc((1 - 1.41) * 0.5em);
}
.main .application__rule__head__ttl::after {
  -webkit-margin-before: calc((1 - 1.41) * 0.5em);
          margin-block-start: calc((1 - 1.41) * 0.5em);
}
.main .application__rule__desc {
  border-radius: 3px;
  border: 1px solid #dedaf0;
  background: rgba(66, 59, 78, 0.3);
  margin-top: 2.4rem;
  padding-right: 1.1rem;
  position: relative;
}
.main .application__rule__desc__inner {
  font-size: 1.2rem;
  line-height: 1.75;
  overflow-y: scroll;
  max-height: 30.5rem;
  margin-block: 1.6rem;
  padding-inline: 2rem 2.8rem;
  scrollbar-width: thin;
  scrollbar-color: #ffffff transparent;
}
.main .application__rule__desc__inner::before, .main .application__rule__desc__inner::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .application__rule__desc__inner::before {
  -webkit-margin-after: calc((1 - 1.75) * 0.5em);
          margin-block-end: calc((1 - 1.75) * 0.5em);
}
.main .application__rule__desc__inner::after {
  -webkit-margin-before: calc((1 - 1.75) * 0.5em);
          margin-block-start: calc((1 - 1.75) * 0.5em);
}
.main .application__rule__desc__inner::-webkit-scrollbar {
  width: 3px;
}
.main .application__rule__desc__inner::-webkit-scrollbar-thumb {
  background: #ffffff;
  height: 6.36rem;
}
.main .application__rule__desc__inner::-webkit-scrollbar-track {
  background: transparent;
}
.main .application__rule__desc__inner > :first-child {
  margin-top: 0;
}
.main .application__rule__desc__txt {
  margin-top: 0;
  display: block;
}
.main .application__rule__desc__txt.__step + .application__rule__desc__txt.__step {
  margin-top: 1rem;
}
.main .application__rule__desc__txt.__step + ul {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.main .application__rule__desc__txt.__ttl {
  margin-top: 1rem;
}
.main .application__rule__desc__ttl {
  margin-top: 2rem;
}
.main .application__rule__desc__ttl__2 {
  margin-top: 1.4rem;
}
.main .application__rule__desc__list {
  position: relative;
  margin-block: 1rem;
}
.main .application__rule__desc__list.__dot li::before {
  content: "・";
}
.main .application__rule__desc__list.__number {
  counter-reset: step-counter;
}
.main .application__rule__desc__list.__number li {
  counter-increment: step-counter;
}
.main .application__rule__desc__list.__number li::before {
  content: counter(step-counter) "）";
}
.main .application__rule__desc__list__cap {
  display: block;
}
.main .application__rule__notes {
  margin-top: 3.8rem;
}
.main .application__rule__notes__list {
  margin-top: 1.6rem;
}
.main .application__rule__notes__list li {
  font-size: 1.2rem;
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 1.1rem;
}
.main .application__rule__notes__list li::before {
  content: "※";
  display: block;
  width: auto;
  position: absolute;
  left: 0;
}
.main .saloniaPremium {
  margin-top: 5.6rem;
  padding-block: 3.22rem 3.52rem;
  position: relative;
  text-align: center;
}
.main .saloniaPremium::before, .main .saloniaPremium::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") repeat-x;
  background-size: auto 100%;
}
.main .saloniaPremium::before {
  top: 0;
}
.main .saloniaPremium::after {
  bottom: 0;
}
.main .saloniaPremium__ttl {
  background: #ffffff;
  padding: 0 0.6rem;
  text-align: center;
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .saloniaPremium__ttl .txt {
  color: #747685;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
}
.main .saloniaPremium__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 1.8rem;
  margin-top: 1.8rem;
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .saloniaPremium__logo__txt {
  width: 14rem;
}
.main .saloniaPremium__logo__img {
  width: 28rem;
}
.main .saloniaPremium__link {
  display: block;
  margin-top: 1.8rem;
  padding-inline: 2.2rem;
  position: relative;
  overflow: hidden;
}
.main .saloniaPremium__link::before {
  content: "";
  position: absolute;
  inset: 0;
  margin-inline: auto;
  width: 34rem;
  height: auto;
  background: linear-gradient(135deg, rgba(242, 241, 241, 0.2) 0%, rgba(200, 200, 200, 0.1) 100%);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.26, 0.06, 0, 1);
  pointer-events: none;
  z-index: 1;
}
@media (any-hover: hover) {
  .main .saloniaPremium__link:hover::before {
    opacity: 1;
  }
}
.main .saloniaPremium__link img {
  width: 34rem;
}
.main .shopping {
  padding-block: 6.6rem;
  padding-inline: 2.3rem;
  position: relative;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.main .shopping .shopping__bg {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #797987;
}
.main .shopping .shopping__bg__grad {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  background: url("../imgs/gradation/bg_shopping2.webp") no-repeat center;
  background-size: cover;
  mix-blend-mode: overlay;
}
.main .shopping > *:not(.shopping__bg) {
  position: relative;
  z-index: 1;
}
.main .shopping .c-shopping-ttl {
  font-size: 1.9rem;
  line-height: 1.36;
  position: relative;
  padding-left: 1.2rem;
}
.main .shopping .c-shopping-ttl::before, .main .shopping .c-shopping-ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .shopping .c-shopping-ttl::before {
  -webkit-margin-after: calc((1 - 1.36) * 0.5em);
          margin-block-end: calc((1 - 1.36) * 0.5em);
}
.main .shopping .c-shopping-ttl::after {
  -webkit-margin-before: calc((1 - 1.36) * 0.5em);
          margin-block-start: calc((1 - 1.36) * 0.5em);
}
.main .shopping .c-shopping-ttl::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: #efe3ff;
  width: 2px;
  height: 2rem;
  margin-top: 0.4rem;
}
.main .shopping .c-shopping-txt {
  font-size: 1.3rem;
  line-height: 1.53;
  letter-spacing: 0.052em;
  margin-top: 1.8rem;
  display: block;
}
.main .shopping .c-shopping-txt::before, .main .shopping .c-shopping-txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .shopping .c-shopping-txt::before {
  -webkit-margin-after: calc((1 - 1.53) * 0.5em);
          margin-block-end: calc((1 - 1.53) * 0.5em);
}
.main .shopping .c-shopping-txt::after {
  -webkit-margin-before: calc((1 - 1.53) * 0.5em);
          margin-block-start: calc((1 - 1.53) * 0.5em);
}
.main .shopping__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main .shopping__head__label {
  color: #f7ecf7;
  font-family: "ivyora-text", serif;
  font-size: 4.6rem;
  line-height: 1;
  font-weight: 400;
}
.main .shopping__head__label::before, .main .shopping__head__label::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .shopping__head__label::before {
  -webkit-margin-after: calc((1 - 1) * 0.5em);
          margin-block-end: calc((1 - 1) * 0.5em);
}
.main .shopping__head__label::after {
  -webkit-margin-before: calc((1 - 1) * 0.5em);
          margin-block-start: calc((1 - 1) * 0.5em);
}
.main .shopping__head__ttl {
  font-size: 1.4rem;
  letter-spacing: 0.14em;
  line-height: 1;
  margin: 1.2rem 0.8rem 0 0;
}
.main .shopping__head__ttl::before, .main .shopping__head__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.main .shopping__head__ttl::before {
  -webkit-margin-after: calc((1 - 1) * 0.5em);
          margin-block-end: calc((1 - 1) * 0.5em);
}
.main .shopping__head__ttl::after {
  -webkit-margin-before: calc((1 - 1) * 0.5em);
          margin-block-start: calc((1 - 1) * 0.5em);
}
.main .shopping .shoppingStore {
  margin-top: 4.7rem;
}
.main .shopping .shoppingStore__list {
  margin-top: 2rem;
}
.main .shopping .shoppingStore__list__txt {
  position: relative;
  padding-left: 2.4rem;
}
.main .shopping .shoppingStore__list__txt span {
  font-size: 1.3rem;
  display: block;
  padding-block: 1.1rem;
  position: relative;
}
.main .shopping .shoppingStore__list__txt span::before {
  content: "";
  display: block;
  position: absolute;
  left: -1.4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #efe3ff;
}
.main .shopping .shoppingStore__list__txt::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") no-repeat;
}
.main .shopping .shoppingStore__list__txt:last-child::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("../imgs/border_dots.svg") no-repeat;
}
.main .shopping .shoppingStore__list__notes {
  margin-top: 2.2rem;
}
.main .shopping .shoppingStore__list__notes__txt {
  font-size: 1.1rem;
  line-height: 1.63;
  display: block;
}
.main .shopping .shoppingOnline {
  margin-top: 4.6rem;
  padding-bottom: 9rem;
}
.main .shopping .shoppingOnline__btn__wrapper {
  margin-top: 1.5rem;
}
.main .shopping .shoppingOnline .c-cta-btn-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 1.8rem;
}
.main .shopping .shoppingOnline .c-cta-btn-wrapper .c-cta-btn {
  width: 34rem;
  height: 5.8rem;
  padding-inline: 1.8rem 1rem;
}
.main .shopping .shoppingOnline .c-cta-btn-wrapper .c-cta-btn__icon {
  width: 2.4rem;
  height: 2.4rem;
}
.main .shopping .shoppingOnline .c-cta-btn-wrapper .c-cta-btn__txt {
  margin-inline: 0.6rem 0.9rem;
  letter-spacing: -0.01em;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .main .shopping {
    padding-block: 6.6rem 6.2rem;
  }
  .main .shopping .shoppingOnline {
    margin-top: 5.2rem;
    padding-bottom: 8.3rem;
  }
}
.main .related__sites {
  padding: 8.6rem 5rem 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 4.7rem;
  position: relative;
}
.main .related__sites::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin-left: -2.3rem;
  width: 39rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}
.main .related__sites__ss img {
  width: 23rem;
}
.main .related__sites__salonia img {
  width: 13rem;
}
.main .related__sites__txt {
  font-size: 1.1rem;
  text-align: center;
  line-height: 1;
  margin-top: 1rem;
}
.main .related__sites__btn {
  margin: 2rem auto 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.main .related__sites__btn .c-btn {
  padding: 0.8rem 0.8rem 0.8rem 1.2rem;
}
@media (any-hover: hover) {
  .main .related__sites__btn .c-btn:hover {
    background: #ffffff;
  }
  .main .related__sites__btn .c-btn:hover .c-btn-txt {
    color: #84869a;
  }
  .main .related__sites__btn .c-btn:hover .c-btn-icon {
    background: #84869a;
  }
  .main .related__sites__btn .c-btn:hover .c-btn-icon .icon {
    color: #ffffff;
  }
}
.main .related__sites__btn .c-btn-txt {
  font-size: 1.5rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 450;
  transition: color 0.3s ease;
}
.main .related__sites .c-stars__3 .star {
  width: 1.2rem;
  height: 1.2rem;
}

@media only screen and (max-width: 767px) {
  .main {
    max-width: 39rem;
    border: unset;
    padding-top: 0;
  }
  .main .specialMovie__content__en__txt.special {
    width: 19.1rem;
  }
  .main .specialMovie__content__en__txt.movie {
    width: 16.6rem;
  }
}
/*
.right
=========================================*/
.right {
  /* 10/420*100=2.3810cqw(10px相当) */
  --base: 2.381cqw;
  --base-h: 1.302cqh;
  container-type: inline-size;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: calc((100% - 460px) / 2);
  max-width: 65rem;
  left: calc(460px + (100% - 460px) / 2);
  margin-inline: auto;
}
.right__inner {
  --size: 8;
  position: sticky;
  top: 0;
  box-sizing: border-box;
  height: 100lvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: min(var(--base) * 0.8, var(--base-h) * 0.8);
}
.right__content__label {
  text-align: center;
}
.right__content__label img {
  width: min(var(--base) * 28, var(--base-h) * 28);
}
.right__content__productImg {
  text-align: center;
  padding-top: min(var(--base) * 2, var(--base-h) * 2);
  padding-left: min(var(--base) * 1, var(--base-h) * 1);
}
.right__content__productImg img {
  height: auto;
  width: min(var(--base) * 34, var(--base-h) * 34);
}
.right__content__logo {
  margin-top: min(var(--base) * 3, var(--base-h) * 3);
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.right__content__logo img {
  width: min(var(--base) * 16, var(--base-h) * 16);
}
.right__content .c-cta-btn {
  -webkit-padding-start: min(var(--base) * 1.6, var(--base-h) * 16) 0;
          padding-inline-start: min(var(--base) * 1.6, var(--base-h) * 16) 0;
  width: min(var(--base) * 27, var(--base-h) * 27);
  height: min(var(--base) * 5.9, var(--base-h) * 5.9);
  -moz-column-gap: min(var(--base) * 0.8, var(--base-h) * 0.8);
       column-gap: min(var(--base) * 0.8, var(--base-h) * 0.8);
}
.right__content .c-cta-btn__txt {
  font-weight: 600;
  font-size: min(var(--base) * 1.5, var(--base-h) * 1.5);
}
.right__content .c-cta-btn__icon {
  width: min(var(--base) * 2.2, var(--base-h) * 2.2);
  height: min(var(--base) * 2.2, var(--base-h) * 2.2);
}
.right__content .c-cta-btn__icon__right {
  width: min(var(--base) * 1.8, var(--base-h) * 1.8);
  height: min(var(--base) * 1.8, var(--base-h) * 1.8);
}
.right__content .c-cta-btn__icon__right .icon {
  width: min(var(--base) * 0.8, var(--base-h) * 0.8);
  height: min(var(--base) * 0.8, var(--base-h) * 0.8);
}
.right__content .c-cta-btn-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: min(var(--base) * 4.5, var(--base-h) * 4.5);
}
.right__content .c-cta-btn-line {
  height: min(var(--base) * 2.5, var(--base-h) * 2.5);
  position: relative;
}
.right__content .c-cta-btn-line .star {
  position: absolute;
  top: max(var(--base) * -0.6, var(--base-h) * -0.6);
  left: max(var(--base) * -0.6, var(--base-h) * -0.6);
  width: min(var(--base) * 1.3, var(--base-h) * 1.3);
  height: min(var(--base) * 1.3, var(--base-h) * 1.3);
  -webkit-animation: starFall 2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
          animation: starFall 2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
.right__content .c-cta-btn-line .star use {
  transform-origin: center;
  -webkit-animation: starRotate 1s linear infinite;
          animation: starRotate 1s linear infinite;
}

@media only screen and (max-width: 940px) {
  .right {
    opacity: 0;
    visibility: hidden;
    overflow-x: hidden;
  }
}
@media only screen and (max-width: 1470px) {
  .right {
    max-width: 40rem;
  }
}
/* .footer */
.footer {
  background: #f5f5f5;
  color: #000000;
}
.footer a {
  color: #000000;
  font-weight: 300;
}
.footer__inner {
  padding: 7rem 2.6rem;
}
.footer__head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 2rem;
}
.footer__logo {
  width: 11rem;
  height: auto;
}
.footer .sns-wrap {
  display: flex;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.footer .sns-list {
  width: 2.1rem;
}
.footer__lang {
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  align-self: end;
}
.footer__lang a {
  line-height: 1;
  font-weight: 300;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .footer__lang a:hover {
    -webkit-text-decoration: underline 1px #000000;
            text-decoration: underline 1px #000000;
    opacity: 0.8;
  }
}
.footer__langLine {
  background: #000000;
  display: block;
  height: 0.9rem;
  width: 1px;
}
.footer__menu-wrap {
  margin-top: 9rem;
}
.footer__menu__block {
  margin-bottom: 8rem;
}
.footer__menu__block__ttl {
  font-size: 1.6rem;
  font-weight: 300;
  margin-bottom: 4rem;
}
.footer__menu-list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer__menu-list__list {
  font-size: 1.1rem;
  line-height: 1;
  margin-bottom: 1.6rem;
  width: 50%;
}
.footer__menu-list__list a {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .footer__menu-list__list a:hover {
    -webkit-text-decoration: underline 1px #000000;
            text-decoration: underline 1px #000000;
    opacity: 0.8;
  }
}
.footer__menu-list__list.__icon a {
  position: relative;
}
.footer__menu-list__list.__icon a::before {
  content: "";
  display: block;
  position: absolute;
  right: -1rem;
  top: 0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background: url("../imgs/sns/icon-window.svg") no-repeat;
  background-size: 100% auto;
}
.footer__copyright {
  color: #000000;
  font-family: sans-serif;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}

/*
1. テキスト＋アイコン
2. アイコン+テキスト＋アイコン(中央寄せ)
3. アイコン+テキスト＋アイコン(左右寄せ)
===============*/
/* 1. テキスト＋アイコン
==============================*/
.c-btn {
  background: rgba(66, 59, 78, 0.35);
  border: solid 1px #ffffff;
  border-radius: 100vmax;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.7rem;
       column-gap: 0.7rem;
  padding: 0.8rem 1.2rem 0.8rem 1.5rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  transition: background 0.4s ease;
}
.c-btn.__menu {
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
}
.c-btn.__menu .arw {
  width: 0.8rem;
  height: 0.6rem;
  rotate: -90deg;
}
.c-btn.__menu .external_link {
  width: 1rem;
  height: 1rem;
}
@media only screen and (max-width: 940px) {
  .c-btn.__open {
    display: flex;
    -moz-column-gap: 2.0512820513cqw;
         column-gap: 2.0512820513cqw;
    margin: 3.8461538462cqw 3.8461538462cqw 0 auto;
    width: 21.5384615385cqw;
    padding: 0 2.5641025641cqw;
    height: 8.4615384615cqw;
    background: rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);
    position: relative;
    z-index: 10;
  }
  .c-btn.__open .c-btn-txt {
    font-family: "futura-pt", sans-serif;
    font-size: 3.3333333333cqw;
    font-weight: 450;
    line-height: 1;
  }
  .c-btn.__open .c-btn-icon {
    position: relative;
    width: 1.2820512821cqw;
    height: 1.2820512821cqw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-btn.__open .c-btn-icon .c-btn-dot {
    width: auto;
    height: auto;
    aspect-ratio: 1/1;
    background: #ffffff;
    border-radius: 50%;
    transition: opacity 0.3s ease;
  }
  .c-btn.__open .c-btn-icon .c-btn-line {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.2564102564cqw;
    height: 3.0769230769cqw;
    background: #ffffff;
    opacity: 0;
    transition: opacity 0.3s ease;
    transform-origin: center;
  }
  .c-btn.__open .c-btn-icon .c-btn-line:nth-child(2) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .c-btn.__open .c-btn-icon .c-btn-line:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .c-btn.__open .c-btn-icon.__close {
    width: 2.0512820513cqw;
    height: 2.0512820513cqw;
    background: transparent;
  }
  .c-btn.__open .c-btn-icon.__close .c-btn-line {
    opacity: 1;
  }
}
.c-btn.__related {
  -moz-column-gap: 1.1rem;
       column-gap: 1.1rem;
  background: #747685;
}
.c-btn.__related .c-btn-icon {
  width: 2.1rem;
  height: 2.1rem;
}
.c-btn.__related .c-btn-icon .icon {
  width: 1.2rem;
  height: 1.2rem;
}
.c-btn.__mdl {
  border: none;
}
.c-btn.__mdl .c-btn-icon {
  width: 1.9rem;
  height: 1.9rem;
}
.c-btn.__mdl .c-btn-icon .icon {
  width: 1.1rem;
  height: 1.1rem;
}
.c-btn.__mdl .c-btn-icon,
.c-btn.__mdl .c-btn-txt,
.c-btn.__mdl .c-btn-icon__right {
  position: relative;
  z-index: 2;
}
.c-btn-txt {
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
.c-btn-txt::before, .c-btn-txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-btn-txt::before {
  -webkit-margin-after: calc((1 - 1.3) * 0.5em);
          margin-block-end: calc((1 - 1.3) * 0.5em);
}
.c-btn-txt::after {
  -webkit-margin-before: calc((1 - 1.3) * 0.5em);
          margin-block-start: calc((1 - 1.3) * 0.5em);
}
.c-btn-txt.__mdl-purple {
  color: #5a5260;
}
.c-btn-icon {
  display: grid;
  place-content: center;
  background: #ffffff;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  overflow: hidden;
}
.c-btn-icon .icon.__purple {
  color: #756788;
}
.c-btn-icon .icon.__darkPurple {
  color: #5f5969;
}
.c-btn-icon .icon.__darkGray {
  color: #615a6b;
}
@media (any-hover: hover) {
  .c-btn:hover {
    background: rgba(43, 27, 67, 0.45);
  }
  .c-btn:hover .c-btn-icon .arw {
    -webkit-animation: arw_animation 0.4s ease;
            animation: arw_animation 0.4s ease;
  }
  .c-btn:hover .c-btn-icon .external_link {
    -webkit-animation: external_animation 0.6s ease;
            animation: external_animation 0.6s ease;
  }
}

.c-cta-btn {
  --fontSize: 1.6rem;
  --leftIcon-width: 2.6rem;
  --leftIcon-height: 2.6rem;
  border-radius: 100vmax;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  /* 2. アイコン+テキスト＋アイコン(中央寄せ)
  ==============================*/
  /* 3. アイコン+テキスト＋アイコン(左右寄せ)
  ==============================*/
}
.c-cta-btn.__center {
  justify-content: center;
}
.c-cta-btn.__center .c-cta-btn__icon {
  margin-right: 0;
}
.c-cta-btn.__center .c-cta-btn__icon__right {
  margin-left: unset;
}
.c-cta-btn.__between {
  width: 37.6rem;
  justify-content: space-between;
}
.c-cta-btn.__purple {
  background: linear-gradient(to left, #a88fc4, #b79dce, #c9b5dd, #dac9e8, #f0e6fa, #faf5ff, #f0e6fa, #dac9e8, #c9b5dd, #b79dce, #a88fc4, #b79dce, #c9b5dd, #dac9e8, #f0e6fa, #faf5ff, #f0e6fa, #dac9e8, #c9b5dd, #a88fc4);
  background-size: 250%;
  background-position: right;
  transition: background-position 0.6s cubic-bezier(0.26, 0.06, 0, 1);
}
.c-cta-btn.__purple::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(93deg, #efe8f9 9.57%, #e0d4f0 42.77%, #cbbbda 96.99%);
  border-radius: 100vmax;
  z-index: 1;
  transition: opacity 0.6s cubic-bezier(0.26, 0.06, 0, 1);
}
.c-cta-btn.__gray {
  background: linear-gradient(to left, #797b8f, #8d8fa3, #a3a5b5, #b6b3c7, #d0cede, #e8e7f0, #f5f4fa, #e8e7f0, #d0cede, #b6b3c7, #a3a5b5, #8d8fa3, #797b8f, #8d8fa3, #a3a5b5, #b6b3c7, #b6b3c7, #a3a5b5, #797b8f);
  background-size: 250%;
  background-position: right;
  transition: background-position 0.6s cubic-bezier(0.26, 0.06, 0, 1);
}
.c-cta-btn.__gray::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(88deg, #797b8f 5.91%, #b6b3c7 100%);
  border-radius: 100vmax;
  z-index: 1;
  transition: opacity 0.6s cubic-bezier(0.26, 0.06, 0, 1);
}
.c-cta-btn__icon, .c-cta-btn__txt, .c-cta-btn__icon__right {
  position: relative;
  z-index: 2;
}
.c-cta-btn__icon {
  width: var(--leftIcon-width);
  height: var(--leftIcon-height);
  margin-right: 1rem;
}
.c-cta-btn__icon.__plus {
  width: var(--leftIcon-width);
  height: var(--leftIcon-height);
}
.c-cta-btn__icon.__external {
  width: var(--leftIcon-width);
  height: var(--leftIcon-height);
}
.c-cta-btn__icon .icon {
  display: block;
  width: 100%;
  height: 100%;
}
.c-cta-btn__icon .icon.__white {
  color: #ffffff;
}
.c-cta-btn__icon .icon.__purple {
  color: #5a5260;
}
.c-cta-btn__icon .icon.__darkPurple {
  color: #5f5969;
}
.c-cta-btn__icon__right {
  background: #ffffff;
  border-radius: 50%;
  display: grid;
  place-content: center;
  margin-left: auto;
  width: 1.9rem;
  height: 1.9rem;
  overflow: hidden;
}
.c-cta-btn__icon__right .plus {
  width: 0.8rem;
  height: 0.8rem;
  transform: rotate(0deg);
}
.c-cta-btn__icon__right .arw {
  width: 0.8rem;
  height: 0.8rem;
}
.c-cta-btn__icon__right .external_link {
  width: 1.1rem;
  height: 1.1rem;
}
.c-cta-btn__icon__right .icon {
  transition: transform 0.3s ease;
}
.c-cta-btn__icon__right .icon.__white {
  color: #ffffff;
}
.c-cta-btn__icon__right .icon.__darkPurple {
  color: #5f5969;
}
.c-cta-btn__icon__right .icon.__darkPurple2 {
  color: #876fa9;
}
.c-cta-btn__icon__right .icon.__darkGray {
  color: #615a6b;
}
.c-cta-btn__txt {
  font-size: var(--fontSize);
}
.c-cta-btn__txt::before, .c-cta-btn__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-cta-btn__txt::before {
  -webkit-margin-after: calc((1 - var(--lineHeight)) * 0.5em);
          margin-block-end: calc((1 - var(--lineHeight)) * 0.5em);
}
.c-cta-btn__txt::after {
  -webkit-margin-before: calc((1 - var(--lineHeight)) * 0.5em);
          margin-block-start: calc((1 - var(--lineHeight)) * 0.5em);
}
.c-cta-btn__txt.__purple {
  color: #5a5260;
}
.c-cta-btn__txt.__white {
  color: #ffffff;
}
.c-cta-btn__txt.__darkPurple {
  color: #5f5969;
}
.c-cta-btn-line {
  height: 2.5rem;
  width: 1px;
  background: #ffffff;
  margin-inline: auto;
}
.c-cta-btn-line .star {
  width: 1.4rem;
  height: 1.4rem;
}
@media (any-hover: hover) {
  .c-cta-btn:hover.__purple:hover {
    background-position: left;
  }
  .c-cta-btn:hover.__purple:hover::before {
    opacity: 0.3;
  }
  .c-cta-btn:hover.__gray:hover {
    background-position: left;
  }
  .c-cta-btn:hover.__gray:hover::before {
    opacity: 0.3;
  }
  .c-cta-btn:hover .c-cta-btn__icon__right .plus {
    transform: rotate(90deg);
  }
  .c-cta-btn:hover .c-cta-btn__icon__right .external_link {
    -webkit-animation: external_animation 0.6s ease;
            animation: external_animation 0.6s ease;
  }
  .c-cta-btn:hover .c-cta-btn__icon__right .arw {
    -webkit-animation: arw_animation 0.6s ease;
            animation: arw_animation 0.6s ease;
  }
}

@-webkit-keyframes arw_animation {
  0%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(50%);
    opacity: 0;
  }
  50.1% {
    opacity: 0;
    transform: translateY(-50%);
  }
}

@keyframes arw_animation {
  0%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(50%);
    opacity: 0;
  }
  50.1% {
    opacity: 0;
    transform: translateY(-50%);
  }
}
@-webkit-keyframes external_animation {
  0%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translate(50%, -50%);
    opacity: 0;
  }
  50.1% {
    opacity: 0;
    transform: translate(-50%, 50%);
  }
}
@keyframes external_animation {
  0%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translate(50%, -50%);
    opacity: 0;
  }
  50.1% {
    opacity: 0;
    transform: translate(-50%, 50%);
  }
}
@-webkit-keyframes plus_animation {
  0%, 100% {
    transform: rotate(45deg);
  }
  50% {
    transform: rotate(45deg);
  }
  50.1% {
    transform: rotate(45deg);
  }
}
@keyframes plus_animation {
  0%, 100% {
    transform: rotate(45deg);
  }
  50% {
    transform: rotate(45deg);
  }
  50.1% {
    transform: rotate(45deg);
  }
}
/*
左右に星アイコン、真ん中にテキスト
=========================*/
.c-txt-star {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-txt-star .star {
  width: 1.2rem;
  height: 1.2rem;
}
.c-txt-star .star.__white {
  color: #ffffff;
}
.c-txt-star .star.__pink {
  color: #efe3ff;
}
.c-txt-star .star.__whitePink {
  color: #f7ecf7;
}
.c-txt-star.__memberComment {
  font-size: 1.6rem;
  line-height: 1.62;
  margin-top: 1.4rem;
}
.c-txt-star.__memberComment::before, .c-txt-star.__memberComment::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-txt-star.__memberComment::before {
  -webkit-margin-after: calc((1 - 1.62) * 0.5em);
          margin-block-end: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__memberComment::after {
  -webkit-margin-before: calc((1 - 1.62) * 0.5em);
          margin-block-start: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__memberComment .star {
  width: 1.1rem;
  height: 1.1rem;
}
.c-txt-star.__photoPoint .c-txt-star__txt {
  font-size: 1.6rem;
  line-height: 1.62;
}
.c-txt-star.__photoPoint .c-txt-star__txt::before, .c-txt-star.__photoPoint .c-txt-star__txt::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-txt-star.__photoPoint .c-txt-star__txt::before {
  -webkit-margin-after: calc((1 - 1.62) * 0.5em);
          margin-block-end: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__photoPoint .c-txt-star__txt::after {
  -webkit-margin-before: calc((1 - 1.62) * 0.5em);
          margin-block-start: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__applicationRule {
  font-size: 1.6rem;
  line-height: 1.62;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.c-txt-star.__applicationRule::before, .c-txt-star.__applicationRule::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-txt-star.__applicationRule::before {
  -webkit-margin-after: calc((1 - 1.62) * 0.5em);
          margin-block-end: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__applicationRule::after {
  -webkit-margin-before: calc((1 - 1.62) * 0.5em);
          margin-block-start: calc((1 - 1.62) * 0.5em);
}
.c-txt-star.__applicationRule .star {
  margin-top: 2px;
  width: 1.1rem;
  height: 1.1rem;
}

/*
星アイコンが3つ並列
===============*/
.c-stars__3 {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.1rem;
       column-gap: 0.1rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-stars__3 .star {
  width: 1.1rem;
  height: 1.1rem;
}
.c-stars__3 .star.__pink {
  color: #efe3ff;
}
.c-stars__3 .star.__gray {
  color: #84869a;
}

/*
youtube サムネイル
===============*/
.c-yt-wrapper {
  display: grid;
  place-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  cursor: pointer;
}
.c-yt-wrapper.__secretShot {
  width: 14.8rem;
}
.c-yt-wrapper.__secretShot .c-yt-icon-wrapper {
  width: 3rem;
  height: 3rem;
  background: rgba(0, 0, 0, 0.3);
}
.c-yt-wrapper.__secretShot .c-yt-icon-wrapper .icon {
  width: 0.8rem;
  height: 0.8rem;
  margin-left: 0.2rem;
}
.c-yt-wrapper.__memberComment {
  margin-inline: auto;
  margin-top: 1.4rem;
}
.c-yt-wrapper.__memberComment .c-yt-icon-wrapper {
  width: 4.6rem;
  height: 4.6rem;
  background: rgba(0, 0, 0, 0.2);
}
.c-yt-wrapper.__memberComment .c-yt-thumb {
  width: 34.2rem;
}
.c-yt-thumb {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.c-yt-icon-wrapper {
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  border: solid 1px #ffffff;
  border-radius: 50%;
  box-sizing: border-box;
  display: grid;
  place-content: center;
  grid-column: 1/-1;
  grid-row: 1/-1;
  width: 5.1rem;
  height: 5.1rem;
}
.c-yt-icon-wrapper .icon {
  margin-left: 0.3rem;
  width: 1.3rem;
  height: 1.3rem;
}

@media only screen and (max-width: 940px) {
  .c-yt-thumb img {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-yt-wrapper.__memberComment {
    margin-top: 0.8rem;
  }
}
/*
モーダル
=========================*/
.modal__container {
  width: 100%;
  height: 100dvh;
  position: fixed;
  inset: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal__container.isActive {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  bottom: 0;
}
.modal__container .overlay {
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100vh;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.c-modal {
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-modal.isActive {
  opacity: 1;
  visibility: visible;
}
.c-modal__inner {
  max-width: 87.27rem;
  height: auto;
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
.c-modal__closeBtn {
  width: 4.5rem;
  aspect-ratio: 1/1;
  height: auto;
  border-radius: 50%;
  margin-inline: auto;
  position: absolute;
  left: 0;
  right: 0;
  margin-top: 2rem;
  border: 1px solid #ffffff;
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(18.75px);
          backdrop-filter: blur(18.75px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.c-modal__closeBtn__icon {
  width: 2rem;
  height: auto;
  aspect-ratio: 1/1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-modal__closeBtn .c-line {
  background: #ffffff;
  display: block;
  width: 1px;
  height: 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__closeBtn .c-line:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-modal .iframe__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
}
.c-modal .iframe__wrapper iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  inset: 0;
}
.c-modal__product {
  max-width: 39rem;
  height: 54.18rem;
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-modal__product.isActive {
  opacity: 1;
  visibility: visible;
}
.c-modal__product__label {
  color: #ffffff;
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 1rem;
  margin-left: 0.5rem;
}
.c-modal__product__inner {
  width: inherit;
}
.c-modal__product .c-modal__closeBtn {
  top: 0;
  right: -6.4rem;
  left: unset;
  margin-top: 0;
}
.c-modal__product.__limitedModel .c-modal__product__body.__iron .c-modal__product__img {
  position: absolute;
  top: 0;
  right: -2rem;
  width: 19rem;
}
.c-modal__product.__limitedModel .c-modal__product__body.__dryer .c-modal__product__img {
  width: 20rem;
  position: absolute;
  bottom: 0;
  right: -2rem;
}
.c-modal__product.__ss .c-modal__product__body.__iron .c-modal__product__img {
  width: 12rem;
  position: absolute;
  top: 0;
  right: 2rem;
}
.c-modal__product.__ss .c-modal__product__body.__dryer .c-modal__product__img {
  width: 12rem;
  position: absolute;
  bottom: 0;
  right: 2rem;
}
.c-modal__product__grad {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: #797987;
  mix-blend-mode: soft-light;
  border-radius: 3px;
}
.c-modal__product__grad::before {
  content: "";
  border-radius: 3px;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: url("../imgs/gradation/bg_modal_product.webp") no-repeat;
  background-size: 100% 100%;
  mix-blend-mode: soft-light;
}
.c-modal__product__content {
  width: auto;
  padding: 3.8rem 0rem 3.4rem 2.3rem;
}
.c-modal__product__body {
  display: flex;
  align-items: end;
  justify-content: center;
  position: relative;
}
.c-modal__product__body:nth-child(2) {
  margin-top: 3.2rem;
}
.c-modal__product__info {
  flex: 1;
}
.c-modal__product__head {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  padding-left: 1.5rem;
  row-gap: 0.6rem;
}
.c-modal__product__head::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -3px;
  width: 2px;
  height: 4rem;
  background: #efe3ff;
}
.c-modal__product__head__ttl {
  color: #ffffff;
  display: block;
  font-size: 1.6rem;
  line-height: 1.62;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-modal__product__head__ttl::before, .c-modal__product__head__ttl::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-modal__product__head__ttl::before {
  -webkit-margin-after: calc((1 - 1.62) * 0.5em);
          margin-block-end: calc((1 - 1.62) * 0.5em);
}
.c-modal__product__head__ttl::after {
  -webkit-margin-before: calc((1 - 1.62) * 0.5em);
          margin-block-start: calc((1 - 1.62) * 0.5em);
}
.c-modal__product__head__ttl.__sm {
  font-size: 1rem;
  line-height: 2.36;
}
.c-modal__product__head__ttl.__sm::before, .c-modal__product__head__ttl.__sm::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.c-modal__product__head__ttl.__sm::before {
  -webkit-margin-after: calc((1 - 2.36) * 0.5em);
          margin-block-end: calc((1 - 2.36) * 0.5em);
}
.c-modal__product__head__ttl.__sm::after {
  -webkit-margin-before: calc((1 - 2.36) * 0.5em);
          margin-block-start: calc((1 - 2.36) * 0.5em);
}
.c-modal__product__links {
  margin-top: 1.8rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.3rem;
  width: 21.36rem;
}
.c-modal__product__links .c-btn {
  width: 100%;
  height: 4.54rem;
  padding: 0 1rem 0 2rem;
}
.c-modal__product__links .c-btn-txt {
  margin-inline: auto;
  display: block;
  transition: color 0.3s ease;
}
.c-modal__product__links .c-btn.__mdl {
  background: linear-gradient(to right, #a88fc4, #b79dce, #c9b5dd, #dac9e8, #f0e6fa, #faf5ff, #f0e6fa, #dac9e8, #c9b5dd, #b79dce, #a88fc4, #b79dce, #c9b5dd, #dac9e8, #f0e6fa, #faf5ff, #f0e6fa, #dac9e8, #c9b5dd, #a88fc4);
  position: relative;
  background-size: 250%;
  background-position: left;
  transition: background-position 1s cubic-bezier(0.26, 0.06, 0, 1);
}
.c-modal__product__links .c-btn.__mdl::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(93deg, #efe8f9 9.57%, #e0d4f0 42.77%, #cbbbda 96.99%);
  border-radius: 100vmax;
  z-index: 1;
  transition: opacity 1s cubic-bezier(0.26, 0.06, 0, 1);
}
@media (any-hover: hover) {
  .c-modal__product__links .c-btn:hover {
    background-position: right;
  }
  .c-modal__product__links .c-btn:hover::before {
    opacity: 0.3;
  }
  .c-modal__product__links .c-btn:hover .c-btn-icon .arw {
    -webkit-animation: arw_animation 0.4s ease;
            animation: arw_animation 0.4s ease;
  }
  .c-modal__product__links .c-btn:hover .c-btn-icon .external_link {
    -webkit-animation: external_animation 0.6s ease;
            animation: external_animation 0.6s ease;
  }
}
.c-modal__product__img img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-modal__inner {
    padding-inline: 3rem;
  }
  .c-modal__closeBtn {
    width: 4rem;
  }
  .c-modal__closeBtn__icon {
    width: 1.6rem;
  }
  .c-modal__product {
    bottom: 0;
    top: unset;
    transform: translateY(100%);
    transition: transform 0.3s ease;
  }
  .c-modal__product.isActive {
    transform: translateY(0%);
  }
  .c-modal__product__grad {
    border-radius: 1.2rem 1.2rem 0 0;
  }
  .c-modal__product__grad::before {
    border-radius: 1.2rem 1.2rem 0 0;
    background: url("../imgs/gradation/bg_modal_grad2.webp") no-repeat;
    background-size: 100% 100%;
  }
  .c-modal__product__head__ttl.__sm {
    font-size: 1.1rem;
  }
  .c-modal__product .c-modal__closeBtn {
    top: 1.2rem;
    right: 1rem;
    width: 4rem;
  }
  .c-modal__product .c-modal__closeBtn__icon {
    width: 1.6rem;
  }
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

/* hidden */
.pc-hidden {
  display: none;
}

.pctb-hidden {
  display: none;
}

@media only screen and (max-width: 940px) {
  .tb-hidden,
.tbsp-hidden {
    display: none;
  }

  .pc-hidden {
    display: block;
  }

  br.pc-hidden {
    display: inline-block;
  }
}
@media only screen and (max-width: 767px) {
  .pc-hidden {
    display: block;
  }

  .sp-hidden {
    display: none;
  }

  .tb-hidden,
.pctb-hidden {
    display: block;
  }

  br.tb-hidden,
br.pctb-hidden {
    display: inline-block;
  }
}