@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=BIZ+UDPMincho&family=Judson&display=swap");

.font-serif {
  font-family: shippori-mincho, sans-serif;
}
.font-sans {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
}
.font-kana {
  font-style: normal;
  font-weight: 300;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
}
.font-mincho {
  font-style: normal;
  font-weight: 400;
  font-family: "BIZ UDPMincho", serif;
}
.font-gothic {
  font-style: normal;
  font-weight: 400;
  font-family: "BIZ UDPGothic", sans-serif !important;
}
.font-en {
  font-family: optima-nova-lt-pro, sans-serif;
}
.font-judson {
  font-style: normal;
  font-weight: 400;
  font-family: "Judson", serif;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
ul[role=list],
ol[role=list] {
  list-style: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
img,
picture {
  display: inline-block;
  max-width: 100%;
}
button {
  border-radius: 0;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  -moz-appearance: none;
       appearance: none;
  border: unset;
  background-image: none;
  background-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}
:root {
  --vw: 1vw;
}
html,
body {
  width: 100%;
  overscroll-behavior: none;
}
html {
  font-size: 1.1111111111vw;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}
html.is-sp {
  scroll-padding: 62px;
  font-size: min(4.1025641026vw, 32.8205128205px);
}
body {
  background-color: #f5f0f3 !important;
  overflow-x: clip;
  color: #3e3a39;
  font-family: shippori-mincho, sans-serif;
  text-align: left !important;
}
body p {
  margin-bottom: 0;
}
body a:link, body a:hover, body a:active {
  color: #3e3a39 !important;
}
body a:visited {
  color: currentColor !important;
}
main {
  position: relative;
  width: 100%;
  height: auto;
  overflow: clip;
}
dl,
dt,
dd,
ul,
li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
h1,
h2,
h3,
h4,
h5 {
  margin-block-start: 0;
  margin-block-end: 0;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
button {
  outline: none;
}
a,
button {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  color: #3e3a39;
  text-decoration: none;
}
img,
picture {
  display: block;
}
[hidden] {
  display: none !important;
}
[x-cloak] {
  display: none !important;
}
.is-transitionstart a {
  pointer-events: none;
}
svg {
  display: block;
}
use {
  display: block;
  width: 100%;
  height: 100%;
}
input {
  outline: none;
}
select {
  font-style: normal !important;
}
.sp-only {
  display: none;
}
html.is-sp .sp-only {
  display: block;
}
.pc-only {
  display: block;
}
html.is-sp .pc-only {
  display: none;
}
header {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
header.is-ended:not(.is-no-active) a, header.is-ended:not(.is-no-active) button, header.is-ended:not(.is-no-active) p, header.is-ended:not(.is-no-active) nav {
  pointer-events: auto;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}
header.is-ended .is-cta {
  pointer-events: auto;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}
html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}
.c-bleed__left {
  margin-left: calc(50% - 50vi);
}
.c-bleed__right {
  margin-right: calc(50% - 50vi);
}
.c-bleed__both {
  margin-right: calc(50% - 50vi);
  margin-left: calc(50% - 50vi);
}
.c-button__base {
  width: 100%;
  min-width: -moz-fit-content;
  min-width: fit-content;
  height: 100%;
  min-height: auto;
}
.c-button__base--link {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  z-index: 10;
  border-radius: 9999px;
  padding: 0.4375rem 1.375rem 0.4375rem 1.25rem;
  width: 100%;
  height: 100%;
}
.c-button__base--link.--arrow {
  justify-content: space-between;
}
.c-button__base--link.--blur {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.c-button__base--text {
  color: var(--color);
}
.c-button__base--arrow {
  flex: 0 0 auto;
  transform: rotateZ(var(--angle, 0deg));
  width: 0.875rem;
  height: auto;
  color: var(--color);
}
.c-button__inline {
  display: inline-block;
  width: auto;
  height: auto;
}
.c-button__inline--link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.375rem;
}
.c-button__inline--arrow {
  flex: 0 0 auto;
  transform: rotateZ(var(--angle, 0deg));
  width: 0.875rem;
  height: auto;
}
.c-button__modal {
  display: inline-flex;
  position: relative;
  justify-content: center;
  align-items: center;
  gap: 0 0.375rem;
  cursor: pointer;
  width: auto;
  height: auto;
}
.c-button__modal--icon {
  flex: 0 0 auto;
  transform: rotate(180deg);
  width: 0.75rem;
  height: auto;
}
.c-button__modal--border {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
}
.c-button__svg {
  position: absolute;
  z-index: -10;
  inset: 0;
  width: 100%;
  height: 100%;
}
html:not(.is-sp) body:not(.is-safari) .c-button__svg {
  filter: url(#goo);
}
.c-button__svg--inner {
  position: absolute;
  z-index: 0;
  transition: opacity 300ms ease, filter 300ms ease;
  inset: 0;
  width: 100%;
  height: 100%;
}
html:not(.is-sp) body:not(.is-safari) .c-button__svg--inner.is-hover {
  opacity: 1;
  filter: blur(10px);
}
.c-button__svg--inner svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible !important;
}
.c-button__svg--inner svg:nth-of-type(1) {
  z-index: 20;
}
.c-button__svg--inner svg:nth-of-type(2) {
  transform: scale(0.8);
  z-index: 10;
}
.c-container {
  margin: 0 auto;
  padding: 0 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-container {
  padding: 0 0.75rem;
  max-width: 800px;
}
.c-display__hidden {
  display: none !important;
}
@media (min-width: 390px) {
  .c-display__hidden--ip {
    display: none;
  }
}
@media (min-width: 640px) {
  .c-display__hidden--sm {
    display: none;
  }
}
@media (min-width: 768px) {
  .c-display__hidden--md {
    display: none;
  }
}
@media (min-width: 1024px) {
  .c-display__hidden--lg {
    display: none;
  }
}
@media (min-width: 1280px) {
  .c-display__hidden--xl {
    display: none;
  }
}
@media (min-width: 1440px) {
  .c-display__hidden--2xl {
    display: none;
  }
}
.c-display__block {
  display: block;
}
.c-display__block--ip {
  display: none;
}
@media (min-width: 390px) {
  .c-display__block--ip {
    display: block;
  }
}
.c-display__block--sm {
  display: none;
}
@media (min-width: 640px) {
  .c-display__block--sm {
    display: block;
  }
}
.c-display__block--md {
  display: none;
}
@media (min-width: 768px) {
  .c-display__block--md {
    display: block;
  }
}
.c-display__block--lg {
  display: none;
}
@media (min-width: 1024px) {
  .c-display__block--lg {
    display: block;
  }
}
.c-display__block--xl {
  display: none;
}
@media (min-width: 1280px) {
  .c-display__block--xl {
    display: block;
  }
}
.c-display__block--2xl {
  display: none;
}
@media (min-width: 1440px) {
  .c-display__block--2xl {
    display: block;
  }
}
.c-display__inline {
  display: inline;
}
.c-display__inline--ip {
  display: none;
}
@media (min-width: 390px) {
  .c-display__inline--ip {
    display: inline;
  }
}
.c-display__inline--sm {
  display: none;
}
@media (min-width: 640px) {
  .c-display__inline--sm {
    display: inline;
  }
}
.c-display__inline--md {
  display: none;
}
@media (min-width: 768px) {
  .c-display__inline--md {
    display: inline;
  }
}
.c-display__inline--lg {
  display: none;
}
@media (min-width: 1024px) {
  .c-display__inline--lg {
    display: inline;
  }
}
.c-display__inline--xl {
  display: none;
}
@media (min-width: 1280px) {
  .c-display__inline--xl {
    display: inline;
  }
}
.c-display__inline--2xl {
  display: none;
}
@media (min-width: 1440px) {
  .c-display__inline--2xl {
    display: inline;
  }
}
.c-effect__loading {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 9999;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 30%);
          mask-image: linear-gradient(to bottom, transparent 0%, black 30%);
  -webkit-mask-position: 0% 100%;
          mask-position: 0% 100%;
  -webkit-mask-size: 100% 150%;
          mask-size: 100% 150%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  cursor: wait;
  background-color: #f5f0f3;
  width: 100%;
  height: 100%;
}
.c-effect__loading.--end {
  -webkit-mask-position: 0% -200%;
          mask-position: 0% -200%;
  transition: -webkit-mask-position 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: mask-position 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: mask-position 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955), -webkit-mask-position 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  pointer-events: none;
}
.c-effect__loading.--complete {
  cursor: unset;
}
.c-effect__card {
  transform: perspective(1000px) translate(15%, 110%) rotate(15deg);
  transform-origin: 0% 0%;
}
.c-effect__card:nth-child(odd) {
  transform: perspective(1000px) translate(-15%, 110%) rotate(-15deg);
  transform-origin: 100% 50%;
}
.c-effect__card:nth-child(odd):first-of-type {
  transform: perspective(1000px) translate(-15%, 110%) rotate(-8deg);
  transform-origin: 0% 50%;
}
.c-effect__card.--active {
  transform: perspective(1000px) translate(calc(15% * (1 - var(--progress))), calc(110% * (1 - var(--progress)))) rotate(calc(15deg * (1 - var(--progress))));
}
.c-effect__card.--active:nth-child(odd) {
  transform: perspective(1000px) translate(calc(-15% * (1 - var(--progress))), calc(110% * (1 - var(--progress)))) rotate(calc(-15deg * (1 - var(--progress))));
}
.c-effect__card.--active:nth-child(odd):first-of-type {
  transform: perspective(1000px) translate(calc(-15% * (1 - var(--progress))), calc(110% * (1 - var(--progress)))) rotate(calc(-8deg * (1 - var(--progress))));
}
.c-effect__card.--prev {
  transform: perspective(1000px) translate(0, 0) rotate(0) !important;
}
.c-effect__accordion .--icon span:first-of-type {
  transform: translate(-50%, -50%) rotateZ(0);
  transition: transform 300ms ease-out;
}
.c-effect__accordion.--open .--icon span:first-of-type {
  transform: translate(-50%, -50%) rotateZ(90deg);
}
.c-effect__progress .--bg {
  opacity: 0;
  transition: opacity 300ms ease;
}
.c-effect__progress .--bg.--active {
  opacity: 1;
}
.c-effect__progress .--number {
  transform: translateY(calc(-1.625rem * var(--current-next)));
  transition: transform 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.c-effect__progress .--circle {
  transform: scale(-1, 1);
  transition: background 300ms ease, transform 300ms ease;
  border: 1px solid #3e3a39;
}
.c-effect__progress .--circle.--active {
  transform: scale(-2, 2);
  border: none;
  background: conic-gradient(#3e3a39 calc(360deg * (1 - var(--progress))), transparent 0deg);
}
.c-effect__voice {
  opacity: 1;
  transition: opacity 300ms ease;
}
.c-effect__voice.--prev {
  opacity: 0 !important;
}
.c-effect__parallax {
  transform: perspective(1000px) translateY(calc(var(--progress) * 100%));
  transform-origin: center;
  overflow: hidden;
}
.c-effect__parallax--scale {
  transform: perspective(1000px) scale(calc(1 + var(--ratio) + var(--progress)));
}
.c-effect__parallax--clip {
  --p-raw: var(--progress);
  --p-min: -0.2;
  --p-max: 0.2;
  --p-span: calc(var(--p-max) - var(--p-min));
  --p: clamp(var(--p-min), var(--p-raw), var(--p-max));
  --u: calc((var(--p) - var(--p-min)) / var(--p-span));
  --s: calc(1 - var(--u) * 1.4);
  --tx-max: 15%;
  --ty-max: 110%;
  --rot-max: 15deg;
  transform: perspective(1000px) translate(clamp(0%, var(--tx-max) * var(--s), var(--tx-max)), clamp(0%, var(--ty-max) * var(--s), var(--ty-max))) rotate(clamp(0deg, var(--rot-max) * var(--s), var(--rot-max)));
  transform-origin: 100% 50%;
  will-change: transform, width;
  margin: 0 auto;
  width: min(var(--u) * 20 * 20% + 80%, 100%) !important;
}
.c-effect__parallax--clip.--odd {
  transform: perspective(1000px) translate(clamp(var(--tx-max) * -1, var(--tx-max) * -1 * var(--s), 0%), clamp(0%, var(--ty-max) * var(--s), var(--ty-max))) rotate(clamp(var(--rot-max) * -1, var(--rot-max) * -1 * var(--s), 0deg));
  transform-origin: 100% 0%;
}
.c-effect-feature-list-image {
  position: absolute;
  transform: scale(1.3);
  transform-origin: top center;
  z-index: var(--index);
  clip-path: inset(0);
  transition: clip-path 1200ms cubic-bezier(0.16, 1, 0.3, 1), transform 1600ms cubic-bezier(0.16, 1, 0.3, 1);
  inset: 0;
}
.c-effect-feature-list-image.is-current {
  transform: scale(1);
}
.c-effect-feature-list-image.is-prev {
  transform: scale(1);
  clip-path: inset(0 0 100% 0);
}
.c-effect__fv .--content {
  width: 100%;
}
.c-effect__fv .--mask {
  -webkit-mask-image: linear-gradient(to top, transparent 50%, black 80%);
          mask-image: linear-gradient(to top, transparent 50%, black 80%);
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  -webkit-mask-size: 100% 500%;
          mask-size: 100% 500%;
  width: 100%;
}
.c-effect__fv .--text {
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 30%);
          mask-image: linear-gradient(to left, transparent 0%, black 30%);
  -webkit-mask-position: 200%;
          mask-position: 200%;
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  color: #3e3a39;
}
.c-effect__fv .--image {
  transform: translateY(-20%);
}
.c-effect__fv .--image img {
  transform: scale(1.2);
  -webkit-mask-image: linear-gradient(to top, transparent 0%, black 50%);
          mask-image: linear-gradient(to top, transparent 0%, black 50%);
  -webkit-mask-position: 0% 200%;
          mask-position: 0% 200%;
  -webkit-mask-size: 100% 200%;
          mask-size: 100% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.c-effect__fv .--image svg path {
  stroke-dasharray: 388%;
  stroke-dashoffset: 388%;
}
.c-effect__fv.is-loaded .--content {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
  width: 50%;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--content {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
html.is-sp .c-effect__fv.is-loaded .--content {
  width: 100%;
}
.c-effect__fv.is-loaded .--mask {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
  width: 50%;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--mask {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
html.is-sp .c-effect__fv.is-loaded .--mask {
  width: 100%;
}
.c-effect__fv.is-loaded .--text {
  -webkit-mask-position: 0%;
          mask-position: 0%;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--text {
  transition: -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 4700ms);
}
.c-effect__fv.is-loaded .--image {
  transform: translateY(0%);
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--image {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 4200ms);
}
.c-effect__fv.is-loaded .--image img {
  transform: scale(1);
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--image img {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-delay: 3500ms;
}
.c-effect__fv.is-loaded .--image svg {
  opacity: 0;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--image svg {
  transition: opacity 1200ms ease 3500ms;
}
.c-effect__fv.is-loaded .--image svg path {
  stroke-dashoffset: 0%;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--image svg path {
  transition: stroke-dashoffset 3500ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__fv.is-loaded .--image .--back {
  opacity: 0;
}
body:not(.has-page-transition) .c-effect__fv.is-loaded .--image .--back {
  transition: opacity 1200ms ease 3500ms;
}
.c-effect__fv.is-loaded.is-complete .--content {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0ms !important;
  width: 100%;
}
.c-effect__fv.is-loaded.is-complete .--mask {
  -webkit-mask-position: 0% 100%;
          mask-position: 0% 100%;
  transition: -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1) !important;
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1) !important;
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1) !important;
  transition-delay: 0ms !important;
}
.c-effect__fv.is-loaded.is-complete .--text {
  transition: color 600ms ease;
  transition-delay: 0ms !important;
  color: #ffffff;
}
.c-effect__fv.is-loaded.is-complete .--image svg path {
  opacity: 0;
  transition: opacity 1200ms ease;
  transition-delay: 0ms !important;
}
.c-effect__header .--logo {
  top: calc(100vh - 4.125rem);
  left: calc(50vw - 36%);
  transform: translate(-50%, 0) scale(1);
}
html.is-sp .c-effect__header .--logo {
  top: calc(100svh - 7.5rem);
  left: calc(50vw - 8%);
  transform: translate(-50%, 0) scale(1);
}
body:not(.has-page-transition) .c-effect__header .--logo {
  left: calc(50vw - 15%);
  transform: translate(-50%, -245%) scale(2.45);
}
html.is-sp body:not(.has-page-transition) .c-effect__header .--logo {
  transform: translate(-50%, -127.6595744681%) scale(1.2765957447);
}
.c-effect__header .--nav {
  left: 71%;
  transform: translateX(0);
  opacity: 0;
}
.c-effect__header .--nav ul {
  width: 0;
}
html.is-sp .c-effect__header .--nav {
  left: 0;
}
.c-effect__header .--cta {
  opacity: 0;
}
.c-effect__header .--cta > div {
  width: 0;
}
.c-effect__header .--mask span {
  transform: scaleX(0);
}
.c-effect__header .--mask svg {
  transform: scaleX(0);
}
.c-effect__header .--mask svg:last-of-type {
  transform: scale(0, 0.8);
}
.c-effect__header.is-loaded .--logo {
  top: 0;
  left: calc(50vw - 36%) !important;
  transform: translate(-50%, 0) scale(1) !important;
}
html.is-sp .c-effect__header.is-loaded .--logo {
  top: 0;
  left: calc(50vw - 8%) !important;
  transform: translate(-50%, 0) scale(1) !important;
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--logo {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), top 1200ms cubic-bezier(0.16, 1, 0.3, 1), left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 4200ms);
}
.c-effect__header.is-loaded .--nav {
  opacity: 1;
  transition: opacity 1200ms ease;
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--nav {
  transition: opacity 1200ms ease;
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
.c-effect__header.is-loaded .--nav ul {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
  width: 100%;
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--nav ul {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
.c-effect__header.is-loaded .--cta {
  opacity: 1;
  transition: opacity 1200ms ease;
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--cta {
  transition: opacity 1200ms ease;
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
.c-effect__header.is-loaded .--cta > div {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
  width: 100%;
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--cta > div {
  transition: width 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
.c-effect__header.is-loaded .--mask span {
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--mask span {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
.c-effect__header.is-loaded .--mask svg {
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 1000ms);
}
.c-effect__header.is-loaded .--mask svg:last-of-type {
  transform: scale(0.8);
  transform-origin: center;
  transition-delay: calc(var(--delay, 0) * 1ms + 1200ms);
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--mask svg {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--delay, 0) * 1ms + 6000ms);
}
body:not(.has-page-transition) .c-effect__header.is-loaded .--mask svg:last-of-type {
  transition-delay: calc(var(--delay, 0) * 1ms + 6200ms);
}
.c-effect__header.is-loaded.is-ended .--logo {
  left: 16.25rem !important;
  transform: translate(0, 0) scale(1) !important;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 1000ms;
}
html.is-sp .c-effect__header.is-loaded.is-ended .--logo {
  left: 0 !important;
  transform: translate(0, 0) scale(1) !important;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 1000ms;
}
body:not(.has-page-transition) .c-effect__header.is-loaded.is-ended .--logo {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}
html.is-sp body:not(.has-page-transition) .c-effect__header.is-loaded.is-ended .--logo {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__header.is-loaded.is-ended.is-complete .--logo {
  left: 0 !important;
  transition: left 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__header.is-loaded.is-ended.is-complete .--nav {
  left: 50%;
  transform: translateX(-50%);
  transition: transform 1200ms cubic-bezier(0.87, 0, 0.13, 1), left 1200ms cubic-bezier(0.87, 0, 0.13, 1);
}
html.is-sp .c-effect__header.is-loaded.is-ended.is-complete .--nav {
  left: 0;
  transform: translateX(0);
}
body.has-page-transition .c-effect__header.is-scrolled .--logo {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--nav {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--nav ul {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--cta {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--cta > div {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--mask span {
  transition: none !important;
}
body.has-page-transition .c-effect__header.is-scrolled .--mask svg {
  transition: none !important;
}
.c-effect__ripple {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
}
.c-effect__ripple .--front {
  transform: scale(1.15);
  -webkit-mask-image: var(--mask);
          mask-image: var(--mask);
  mask-mode: alpha;
  -webkit-mask-size: 200% 200%;
          mask-size: 200% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 100%;
  height: auto;
}
.c-effect__ripple .--front.--left {
  -webkit-mask-position: 200% 160%;
          mask-position: 200% 160%;
}
.c-effect__ripple .--front.--right {
  -webkit-mask-position: 100% -60%;
          mask-position: 100% -60%;
}
.c-effect__ripple .--front.--top {
  -webkit-mask-position: 200% 160%;
          mask-position: 200% 160%;
}
.c-effect__ripple .--front.--bottom {
  -webkit-mask-position: -100% 100%;
          mask-position: -100% 100%;
}
.c-effect__ripple .--front.--absolute {
  position: absolute;
  inset: 0;
}
.c-effect__ripple .--front.--transition {
  transition: transform 3600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 3600ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 3600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.c-effect__ripple .--front.is-active {
  transform: scale(1);
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: transform 3600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 3600ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 3600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-delay: calc(var(--delay, 0) * 1ms);
}
.c-effect__ripple .--back {
  position: absolute;
  transform: scale(1.2);
  z-index: -10;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
          mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
  -webkit-mask-position: 0% -200%;
          mask-position: 0% -200%;
  -webkit-mask-size: 100% 200%;
          mask-size: 100% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  inset: 0;
}
.c-effect__ripple .--back.--transition {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__ripple .--back.is-active {
  transform: scale(1);
  -webkit-mask-position: 0% 100%;
          mask-position: 0% 100%;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__header--bg {
  transition: background-color 600ms ease, opacity 150ms ease;
  background-color: transparent;
}
html.is-sp .c-effect__header--bg.is-scrolled {
  background-color: #f5f0f3;
}
.c-effect__header--bg.is-scrolled-bottom {
  opacity: 0;
}
.c-effect__header--bg.is-scrolled-bottom a, .c-effect__header--bg.is-scrolled-bottom button, .c-effect__header--bg.is-scrolled-bottom p, .c-effect__header--bg.is-scrolled-bottom nav {
  pointer-events: none !important;
}
.c-effect__page-transition {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, black 30%);
          mask-image: linear-gradient(to top, transparent 0%, black 30%);
  -webkit-mask-position: 0% 300%;
          mask-position: 0% 300%;
  -webkit-mask-size: 100% 150%;
          mask-size: 100% 150%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  cursor: wait;
  background-color: #f5f0f3;
  width: 100%;
  height: 100lvh;
  pointer-events: none;
}
.page-transition .c-effect__page-transition {
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: -webkit-mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1);
  transition: mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1);
  transition: mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1), -webkit-mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1);
  pointer-events: auto;
}
.c-effect__modal {
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
  transition: visibility 300ms ease, opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: none;
}
.c-effect__modal .--panel {
  transform: translateX(110%);
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__modal.--active {
  visibility: visible;
  opacity: 1;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: auto;
}
.c-effect__modal.--active .--panel {
  transform: translateX(0);
}
.c-effect__image > img, .c-effect__image .--image {
  transform: scale(1.2);
}
.c-effect__image > img.--sm, .c-effect__image .--image.--sm {
  transform: scale(1.1);
}
.c-effect__image.is-active img, .c-effect__image.is-active .--image {
  transform: scale(1);
  transition: transform 3600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__gradient {
  overflow: hidden;
}
.c-effect__gradient > img, .c-effect__gradient .--image {
  transform: translateY(-20%) scale(1.2);
  -webkit-mask-image: linear-gradient(to top, transparent 0%, black 50%);
          mask-image: linear-gradient(to top, transparent 0%, black 50%);
  -webkit-mask-position: 0% 200%;
          mask-position: 0% 200%;
  -webkit-mask-size: 100% 200%;
          mask-size: 100% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.c-effect__gradient.is-active > img, .c-effect__gradient.is-active .--image {
  transform: translateY(0%) scale(1);
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 1200ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__ripple--slide {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
}
.c-effect__ripple--slide .--front {
  transform: scale(1.15);
  -webkit-mask-image: var(--mask);
          mask-image: var(--mask);
  mask-mode: alpha;
  -webkit-mask-size: 200% 200%;
          mask-size: 200% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 100%;
  height: auto;
}
.c-effect__ripple--slide .--front.--left {
  -webkit-mask-position: 200% 160%;
          mask-position: 200% 160%;
}
.c-effect__ripple--slide .--front.--absolute {
  position: absolute;
  inset: 0;
}
.c-effect__ripple--slide .--front.is-active {
  transform: scale(1);
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: transform 1600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: mask-position 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 1600ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 1600ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-delay: calc(var(--delay, 0) * 1ms);
}
.c-effect__ripple--slide .--back {
  position: absolute;
  transform: scale(1.2);
  z-index: -10;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
          mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
  -webkit-mask-position: 0% -200%;
          mask-position: 0% -200%;
  -webkit-mask-size: 100% 200%;
          mask-size: 100% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  inset: 0;
}
.c-effect__ripple--slide .--back.--transition {
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__ripple--slide .--back.is-active {
  transform: scale(1);
  -webkit-mask-position: 0% 100%;
          mask-position: 0% 100%;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-mask-position 600ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.c-effect__svg--ripple {
  animation: colorCange 10000ms ease infinite;
}
@keyframes colorCange {
  0% {
    fill: #ffb3e0;
  }
  45% {
    fill: #ffb3e0;
  }
  50% {
    fill: #96ff55;
  }
  95% {
    fill: #96ff55;
  }
  100% {
    fill: #ffb3e0;
  }
}
.c-form {
  padding-left: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form {
  padding-left: 0;
}
.c-form label, .c-form select, .c-form input[type=radio], .c-form input[type=button], .c-form input[type=submit] {
  cursor: pointer;
}
.c-form__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
.c-form__sticky {
  position: sticky;
  top: 6.25rem;
  left: 0;
  flex: 1 0 auto;
  margin-top: 6.5625rem;
  width: auto;
  height: auto;
}
html.is-sp .c-form__sticky {
  display: none;
}
.c-form__nav {
  width: 100%;
  height: auto;
}
.c-form__nav--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.625rem 0;
  width: 100%;
  height: auto;
}
.c-form__nav--item {
  width: 100%;
  height: auto;
}
.c-form__nav--link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.8125rem;
  width: 100%;
  height: auto;
}
.c-form__nav--link p.c-text-sans {
  line-height: 1.8 !important;
}
.c-form__main {
  border-radius: 0.625rem;
  background-color: #ffffff;
  padding-bottom: 7.5rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-form__main {
  padding-bottom: 0;
}
.c-form__main--container {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 6.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--container {
  gap: 3.75rem;
}
.c-form__main--item {
  width: 100%;
  height: auto;
}
.c-form__main--heading {
  position: relative;
  padding: 2.5rem 11.5384615385% 3rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--heading {
  padding: 1.875rem 0.875rem 2.5rem;
}
.c-form__main--heading.--sm {
  padding: 2.5rem 11.5384615385% 1.25rem;
}
html.is-sp .c-form__main--heading.--sm {
  padding: 1.875rem 0.875rem 1.625rem;
}
.c-form__main--heading--inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.4375rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--heading--inner {
  gap: 0 0.5rem;
}
html.is-sp .c-form__main--heading--inner p {
  font-size: 1rem !important;
}
.c-form__main--heading--border {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
}
.c-form__main--content {
  padding: 0 10rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--content {
  padding: 0 0.75rem;
}
.c-form__main--content > p.--md {
  font-size: 0.9375rem !important;
}
.c-form__main--content > p.--xs {
  font-size: 0.875rem !important;
}
.c-form__main--products {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.625rem 1.25rem;
  margin-top: 1.25rem;
  width: 100%;
  height: auto;
}
.c-form__main--products.--sm {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
html.is-sp .c-form__main--products.--sm {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.c-form__main--product {
  transition: background-color 300ms ease;
  border-radius: 0.625rem;
  background: #f5f0f3;
  padding: 0.125rem 0.125rem 0;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.c-form__main--product.--checked {
  background: radial-gradient(346.76% 346.76% at 50% 259.35%, #dda4af 0%, #fbe3e6 59.1%);
}
.c-form__main--product--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.625rem;
  transition: background-color 300ms ease;
  border: 1px solid #ffffff;
  border-radius: 0.625rem;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 0.25rem 0.25rem 0.25rem 1.125rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-form__main--product--inner {
  flex-direction: column-reverse;
  padding: 0.25rem 0.25rem 2.5rem;
}
.--checked .c-form__main--product--inner {
  background-color: #ffffff;
}
html.is-sp .--sm .c-form__main--product--inner {
  flex-direction: row;
  padding: 0.25rem 0.25rem 0.25rem 1.125rem;
}
.c-form__main--product--content {
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--product--content:not(.--sm .c-form__main--product--content) {
  padding: 0 0.875rem;
}
.c-form__main--product--title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--product--title {
  flex-direction: column;
  align-items: flex-start;
}
html.is-sp .c-form__main--product--title > p.--xl {
  font-size: 1.375rem !important;
}
.--sm .c-form__main--product--title {
  flex-direction: column;
  align-items: flex-start;
}
html.is-sp .--sm .c-form__main--product--title {
  gap: 1.25rem;
}
html.is-sp .--sm .c-form__main--product--title > p.--lg {
  font-size: 1rem !important;
  letter-spacing: 0.02em;
}
html.is-sp .--sm .c-form__main--product--title > p.--xs {
  line-height: 1.8;
}
.c-form__main--product--title p.--xs {
  line-height: 1.6;
}
.c-form__main--product--price {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.375rem 8.064516129%;
  margin-top: 1.3125rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--product--price {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 0.25rem;
}
.--sm .c-form__main--product--price {
  margin-top: 0.6875rem;
}
html.is-sp .--sm .c-form__main--product--price {
  margin-top: 0;
}
.c-form__main--product--price--inner {
  flex: 0 0 auto;
  width: auto;
  height: auto;
}
.c-form__main--product--price--main {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0 0.6875rem;
  width: auto;
  height: auto;
}
.c-form__main--product--price--main .--price {
  color: #e14d72;
}
.c-form__main--product--price--main p.--xl {
  line-height: 1.6;
}
.--sm .c-form__main--product--price--main {
  gap: 0 0.25rem;
}
html.is-sp .--sm .c-form__main--product--price--main {
  gap: 0 0.125rem;
}
html.is-sp .--sm .c-form__main--product--price--main p.--xl {
  font-size: 1.625rem !important;
}
html.is-sp .--sm .c-form__main--product--price--main p.--sm {
  font-size: 0.875rem !important;
}
.c-form__main--product--price--sub {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0 0.125rem;
  opacity: 0.5;
  margin-top: -0.5rem;
  width: auto;
  height: auto;
}
.c-form__main--product--price--sub--inner {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0 0.125rem;
  width: auto;
  height: auto;
}
.c-form__main--product--price--sub--inner::before {
  position: absolute;
  top: 47%;
  left: 0;
  transform: translateY(-50%);
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
  content: "";
}
.c-form__main--product--price--info {
  width: auto;
  height: auto;
}
.c-form__main--product--price--info--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.125rem;
  width: auto;
  height: auto;
}
.c-form__main--product--price--info--item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 0.25rem;
  width: auto;
  height: auto;
}
.c-form__main--product--price--info--item--icon {
  margin-top: 0.3125rem;
  width: 0.875rem;
  height: 0.875rem;
}
html.is-sp .c-form__main--product--price--info--item--icon {
  margin-top: 0.25rem;
}
html.is-sp .c-form__main--product--price--info--item p {
  font-size: 0.6875rem !important;
}
.c-form__main--product--image {
  flex: 0 0 auto;
  border-radius: 0.375rem;
  aspect-ratio: 1/1;
  width: 28.530259366%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-form__main--product--image {
  aspect-ratio: 331.34/248;
  width: 100%;
}
.--sm .c-form__main--product--image {
  aspect-ratio: 1/1 !important;
  width: 47.5155279503%;
}
html.is-sp .--sm .c-form__main--product--image {
  width: 9.0625rem;
}
.c-form__main--product--footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.875rem 3.9375rem 0.875rem 1.0625rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--product--footer {
  padding: 0.75rem 1.375rem 0.75rem 1.125rem;
}
.--sm .c-form__main--product--footer {
  padding: 0.75rem 1.125rem;
}
html.is-sp .--sm .c-form__main--product--footer {
  padding: 0.75rem 1.125rem;
}
.c-form__main--product--radio {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.375rem;
  width: auto;
  height: auto;
}
.c-form__main--product--radio input {
  position: relative;
  flex: 0 0 auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  margin: 0 !important;
  border-radius: 9999px;
  aspect-ratio: 1/1;
  width: 0.875rem;
  height: auto;
  overflow: hidden;
}
.c-form__main--product--radio input::before, .c-form__main--product--radio input::after {
  position: absolute;
  border-radius: 9999px;
  content: "";
}
.c-form__main--product--radio input::before {
  inset: 0;
  border: 1px solid #3e3a39;
  background-color: #ffffff;
  width: 100%;
  height: 100%;
}
.c-form__main--product--radio input::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: var(--icon);
  background-position: center;
  background-repeat: no-repeat;
  width: 0.5625rem;
  height: 0.375rem;
}
.c-form__main--product--radio input:checked::before {
  background-color: #3e3a39;
}
.c-form__main--product--radio input:checked::after {
  background-image: var(--icon-white);
}
html.is-sp .c-form__main--product--radio label {
  font-size: 0.8125rem;
}
.c-form__main--product--quantity {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.8125rem;
  width: auto;
  height: auto;
}
html.is-sp .c-form__main--product--quantity {
  gap: 1.3125rem;
}
.c-form__main--product--quantity--count {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  width: auto;
  height: auto;
}
html.is-sp .c-form__main--product--quantity--count {
  gap: 0.75rem;
}
.c-form__main--product--quantity--count input {
  -moz-appearance: textfield;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 9999px;
  width: 2.5rem;
  height: 1.6875rem;
  overflow: hidden;
  text-align: center;
}
.c-form__main--product--quantity--count input::-webkit-outer-spin-button, .c-form__main--product--quantity--count input::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}
.c-form__main--product--quantity--count button {
  position: relative;
  aspect-ratio: 1/1;
  width: 0.875rem;
  height: auto;
}
.c-form__main--product--quantity--count--line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5625rem;
  height: 1px;
}
.c-form__main--product--quantity--count--line:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-form__main--product--quantity--count--line::before, .c-form__main--product--quantity--count--line::after {
  position: absolute;
  border-radius: 9999px;
  background-color: #3e3a39;
  width: 44.4444444444%;
  height: 100%;
  content: "";
}
.c-form__main--product--quantity--count--line::before {
  top: 0;
  left: 0;
}
.c-form__main--product--quantity--count--line::after {
  top: 0;
  right: 0;
}
.c-form__main--normal {
  margin-top: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__main--normal {
  margin-top: 2.5rem;
}
html.is-sp .c-form__main--normal > p {
  font-size: 0.9375rem !important;
}
.c-form__main--login {
  display: grid;
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-radius: 0.625rem;
  background-color: #f5f0f3;
  padding: 2.5rem 0;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-form__main--login {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 3.75rem 0;
  padding: 2.5rem 1.25rem 3rem;
}
.c-form__main--login--item {
  width: 100%;
  height: auto;
  text-align: center;
}
html.is-sp .c-form__main--login--item > p {
  font-size: 1rem !important;
}
.c-form__main--login--button {
  margin-top: 1rem;
  border-radius: 9999px;
  background-color: #3e3a39;
  padding: 0.5625rem 0;
  width: 13.75rem;
  height: auto;
  overflow: hidden;
  color: #ffffff;
}
html.is-sp .c-form__main--login--button {
  margin-top: 1.25rem;
}
.c-form__main--login--amazon {
  display: inline-block;
  margin-top: 0.75rem;
  width: 12.5rem;
  height: auto;
}
html.is-sp .c-form__main--login--amazon {
  margin-top: 1rem;
}
.c-form__main--login--amazon #AmazonPayButton {
  width: 100% !important;
  height: 29px !important;
  overflow: hidden;
}
.c-form__main--login--amazon > p {
  margin-top: 0.25rem;
  line-height: 1.6 !important;
}
.c-form__main--login--border {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: linear-gradient(to top, #cac2c7 5px, transparent 4px);
  background-position: left center;
  background-size: 5px 9px;
  background-repeat: repeat-y;
  width: 1px;
  height: calc(100% - 2.5rem);
}
html.is-sp .c-form__main--login--border {
  top: 57%;
  background-image: linear-gradient(to left, #cac2c7 4px, transparent 5px);
  background-position: left center;
  background-size: 9px 5px;
  background-repeat: repeat-x;
  width: calc(100% - 2.5rem);
  height: 1px;
}
.c-form__heading {
  position: relative;
  padding: 6.5625rem 0 3.75rem;
  width: 100%;
  height: auto;
}
.c-form__heading::before {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
html.is-sp .c-form__heading {
  padding: 4.5625rem 0 3.75rem;
}
.c-form__heading--content {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  text-align: center;
}
.c-form__heading--logo {
  width: 20rem;
  height: auto;
}
html.is-sp .c-form__heading--logo {
  width: 17.5rem;
}
.c-form__heading--title {
  display: inline-flex;
  position: relative;
  justify-content: center;
  align-items: center;
  gap: 0 0.375rem;
  cursor: pointer;
  margin-top: 1.25rem;
  width: auto;
  height: auto;
}
.c-form__heading--title__border {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
}
.c-form__error {
  padding: 0 7.5rem 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__error {
  padding: 0 0.75rem 3.75rem;
}
.c-form__error--inner {
  border: 1px solid rgba(225, 90, 77, 0.5);
  border-radius: 0.625rem;
  background-color: rgba(225, 90, 77, 0.1);
  padding: 1.875rem 2.5rem;
  width: 100%;
  height: auto;
  overflow: hidden;
  color: #e15a4d;
}
html.is-sp .c-form__error--inner {
  padding: 1.875rem 1.25rem;
}
.c-form__error--inner p, .c-form__error--inner li {
  font-size: 0.875rem;
  line-height: 1.8;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  letter-spacing: 0.1em;
}
html.is-sp .c-form__error--inner p, html.is-sp .c-form__error--inner li {
  font-size: 0.8125rem;
}
.c-form__error--inner ul {
  margin-top: 0.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__error--inner ul {
  margin-top: 1.25rem;
}
.c-form__error--inner ul li {
  margin-left: 1rem;
  width: auto;
  height: auto;
  list-style: disc;
  list-style-position: outside;
}
.c-form__form {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__form {
  gap: 0.75rem;
  margin-top: 1.875rem;
}
.c-form__form--item {
  width: 100%;
  height: auto;
}
html.is-sp .c-form__form--item.--agreebody {
  margin-top: 1.75rem;
}
html.is-sp .c-form__form--item.--agreebody p.--agreebody {
  margin-top: 1rem;
  font-size: 0.9375rem !important;
}
.c-form__form--grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__form--grid {
  gap: 0.75rem;
}
html.is-sp .c-form__form--grid.--not-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.c-form__form--flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem 5.5625rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__form--flex {
  flex-direction: column;
  align-items: flex-start;
}
.c-form__form--flex.--lg {
  align-items: flex-start;
  gap: 0 5rem;
}
.c-form__form--flex.--md {
  align-items: flex-start;
  gap: 0 2.5rem;
}
.c-form__form--flex.--sm {
  align-items: flex-start;
  gap: 0 1.25rem;
}
html.is-sp .c-form__form--flex.--sm {
  gap: 0 0.625rem;
}
html.is-sp .c-form__form--flex.--sm.--data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
html.is-sp .c-form__form--flex.--sm.--time {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.5rem 0.625rem;
}
.c-form__form--inner {
  position: relative;
  width: 100%;
  height: auto;
}
.c-form__form--inner.--fit {
  width: auto;
}
.c-form__form--label {
  display: block;
  text-wrap: nowrap;
}
.c-form__form--label.--radio {
  flex: 0 0 auto;
  width: 5.875rem;
}
.c-form__form--placeholder {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  transition: transform 150ms ease-in-out;
  padding: 0.8125rem 1.25rem;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.--has-error .c-form__form--placeholder {
  color: #e15a4d;
}
.--has-error .c-form__form--placeholder > p {
  opacity: 1;
}
html.is-sp .c-form__form--placeholder {
  top: -1px;
}
.c-form__form--placeholder > p {
  display: inline-block;
}
input:-moz-placeholder ~ .c-form__form--placeholder {
  transform: translate(0, 0) scale(1);
}
input:placeholder-shown ~ .c-form__form--placeholder {
  transform: translate(0, 0) scale(1);
}
input:not(:-moz-placeholder) ~ .c-form__form--placeholder {
  transform: translate(0.4375rem, -0.375rem) scale(0.6666666667);
}
input:focus ~ .c-form__form--placeholder, input:not(:placeholder-shown) ~ .c-form__form--placeholder {
  transform: translate(0.4375rem, -0.375rem) scale(0.6666666667);
}
html.is-sp input:not(:-moz-placeholder) ~ .c-form__form--placeholder {
  transform: translate(0.4375rem, -0.25rem) scale(0.5333333333);
}
html.is-sp input:focus ~ .c-form__form--placeholder, html.is-sp input:not(:placeholder-shown) ~ .c-form__form--placeholder {
  transform: translate(0.4375rem, -0.25rem) scale(0.5333333333);
}
.c-form__form--input {
  display: block;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 0.375rem;
  background-color: #f5f0f3;
  padding: 0.8125rem 1.25rem;
  width: 100%;
  height: auto;
}
.c-form__form--input:not(:-moz-placeholder) {
  border: 1px solid #cac2c7;
  background-color: #ffffff;
}
.c-form__form--input:focus, .c-form__form--input:not(:placeholder-shown) {
  border: 1px solid #cac2c7;
  background-color: #ffffff;
}
.--has-error .c-form__form--input {
  border: 1px solid rgba(225, 90, 77, 0.5);
  background-color: rgba(225, 90, 77, 0.1);
}
html.is-sp .c-form__form--input {
  padding: 0.625rem 1rem;
}
html.is-sp .c-form__form--input[type=tel] {
  width: 14rem;
}
.c-form__form--input::-moz-placeholder {
  color: transparent;
}
.c-form__form--input::placeholder {
  color: transparent;
}
.c-form__form--radio {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 9999px;
  background-color: #f5f0f3;
  aspect-ratio: 1/1;
  width: 2rem;
  height: auto;
}
.c-form__form--radio::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 150ms ease-in-out;
  border-radius: 9999px;
  background-color: #3e3a39;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
}
.c-form__form--radio:checked {
  border: 1px solid #cac2c7;
  background-color: #ffffff;
}
.c-form__form--radio:checked::before {
  transform: translate(-50%, -50%) scale(1);
}
.c-form__form--radio--flex {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem 1.875rem;
  padding: 0.75rem 0;
  width: 100%;
  height: auto;
}
.c-form__form--radio--flex.--fit {
  width: auto;
}
.c-form__form--radio--flex.--col {
  flex-direction: column;
  align-items: flex-start;
}
.c-form__form--radio--flex.--lg {
  padding: 1.25rem 0;
}
.c-form__form--radio--flex.--none {
  padding: 0;
}
html.is-sp .c-form__form--radio--flex.--time {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem 0;
  padding: 0;
}
.c-form__form--radio--inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
}
.c-form__form--select {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 0.375rem;
  background-color: #f5f0f3;
  padding: 0.8125rem 1.25rem;
  width: 8.75rem;
  height: 3.5rem;
  color: rgba(62, 58, 57, 0.7);
}
.--has-error .c-form__form--select {
  border: 1px solid rgba(225, 90, 77, 0.5);
  background-color: rgba(225, 90, 77, 0.1);
  color: #e15a4d;
}
.c-form__form--select:focus, .c-form__form--select:not(.is-placeholder) {
  border: 1px solid #cac2c7;
  background-color: #ffffff;
  color: #3e3a39;
}
html.is-sp .c-form__form--select {
  padding: 0.625rem 1rem;
  width: 100%;
  height: auto;
  line-height: 2 !important;
}
.c-form__form--select.--date {
  width: 14.625rem;
}
.c-form__form--select.--xl {
  width: 18.75rem !important;
}
.c-form__form--select.--large {
  width: 14.5rem;
}
html.is-sp .c-form__form--select.--large {
  width: 14rem;
}
.c-form__form--select.--middle {
  width: 8.375rem;
}
html.is-sp .c-form__form--select.--middle {
  width: 9.25rem;
}
.c-form__form--select.--small {
  width: 8.375rem;
}
html.is-sp .c-form__form--select.--small {
  width: 6.6875rem;
}
.c-form__form--select.--full {
  width: 100%;
  height: auto;
}
.c-form__form--select--label {
  position: absolute;
  top: 50%;
  left: 4.0625rem;
  transform: translateY(-50%);
  opacity: 0.7;
  z-index: 10;
  width: auto;
  height: auto;
}
select:focus ~ .c-form__form--select--label, select:not(.is-placeholder) ~ .c-form__form--select--label {
  opacity: 1;
}
.c-form__form--select--arrow {
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  z-index: 10;
  width: 0.875rem;
  height: auto;
  pointer-events: none;
}
html.is-sp .c-form__form--select--arrow {
  right: 0.625rem;
}
.--has-error .c-form__form--select--arrow {
  color: #e15a4d;
}
.c-form__form--ninni {
  display: inline-block;
  position: relative;
  top: -0.0625rem;
  left: 0.625rem;
  border-radius: 0.25rem;
  background-color: rgba(202, 194, 199, 0.5);
  padding: 0 0.25rem;
  width: auto;
  height: auto;
}
.c-form__form--note {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 0.625rem;
  margin-left: 2.625rem;
  height: auto;
}
.c-form__form--note p {
  opacity: 0.7;
}
.c-form__form--note--button {
  width: 11.125rem;
  height: auto;
}
.c-form__form--date {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 1.25rem;
  padding: 0.625rem 0;
  width: 100%;
  height: auto;
  color: #3e3a39;
}
html.is-sp .c-form__form--date {
  flex-direction: column;
}
.c-form__form--date--container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.625rem;
  width: auto;
  height: auto;
}
.c-form__form--date--inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem;
  width: auto;
  height: auto;
}
.c-form__form--hidden {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  border-radius: 0.25rem;
  background-color: rgba(202, 194, 199, 0.5);
  padding: 0 0.25rem;
  width: auto;
  height: auto;
}
.c-form__form--agreebody {
  margin-top: 1.25rem;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 0.625rem;
  padding: 1.25rem 1.25rem 0.75rem;
  width: 100%;
  height: 20rem;
  overflow-y: scroll;
  line-height: 1.4 !important;
}
html.is-sp .c-form__form--agreebody {
  margin-top: 0.625rem;
  padding: 1.25rem 0.375rem 0.25rem 1rem;
  height: 17.25rem;
}
.c-form__form--agreebody--check {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
  width: 100%;
  height: auto;
}
.c-form__form--agreebody--check input {
  position: relative;
  flex: 0 0 auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  margin: 0 !important;
  border: 1px solid rgba(202, 194, 199, 0.5);
  border-radius: 0.375rem;
  background-color: #f5f0f3;
  aspect-ratio: 1/1;
  width: 1.1875rem;
  height: auto;
  overflow: hidden;
}
.c-form__form--agreebody--check input::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  background-image: var(--icon);
  background-position: center;
  background-repeat: no-repeat;
  width: 0.5625rem;
  height: 0.375rem;
  content: "";
}
.c-form__form--agreebody--check input:checked {
  border-color: #3e3a39;
  background-color: #3e3a39;
}
.c-form__form--agreebody--check input:checked::before {
  opacity: 1;
}
html.is-sp .c-form__form--agreebody--check label {
  font-size: 0.9375rem !important;
}
.c-form__form--submit {
  margin-top: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-form__form--submit {
  margin-top: 2.5rem;
}
.c-form__form--submit input {
  display: block;
  border-radius: 9999px;
  background-color: #3e3a39;
  width: 100%;
  height: 3.75rem;
  overflow: hidden;
  color: #ffffff;
  text-align: center;
}
.c-form__form--error {
  display: block;
  margin-top: 0.625rem;
  width: 100%;
  height: auto;
  color: #e15a4d;
  line-height: 1.4 !important;
}
html.is-sp .c-form__form--error {
  margin-top: 0.4375rem;
}
.c-heading {
  position: relative;
  padding-bottom: 1.3125rem;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
}
html.is-sp .c-heading {
  padding-bottom: 0;
}
.c-heading.--center {
  margin: 0 auto;
  text-align: center;
}
.c-heading.--white {
  color: #ffffff;
}
.c-heading__sub {
  padding-left: 0.75rem;
  width: auto;
  height: auto;
  line-height: 2 !important;
  text-wrap: nowrap;
}
.--center .c-heading__sub {
  padding-left: 0;
}
html:not(.is-sp) .--center .c-heading__sub {
  left: 50%;
  transform: translateX(-50%);
}
html:not(.is-sp) .c-heading__sub {
  position: absolute;
  bottom: 0;
  left: 10rem;
  z-index: 10;
  padding-left: 0;
}
.c-icon__plus {
  position: relative;
  width: 0.875rem;
  height: 0.875rem;
}
.c-icon__plus span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.125rem;
  height: 0.75rem;
}
.c-icon__plus span::before, .c-icon__plus span::after {
  position: absolute;
  left: 0;
  border-radius: 9999px;
  background-color: #3e3a39;
  width: 100%;
  height: 0.3125rem;
  overflow: hidden;
  content: "";
}
.c-icon__plus span::before {
  top: 0;
}
.c-icon__plus span::after {
  bottom: 0;
}
.c-icon__plus span:last-of-type {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-image__normal {
  width: 100%;
  height: auto;
}
.c-image__cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-image__contain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-image__position--left {
  -o-object-position: left;
     object-position: left;
}
.c-image__position--right {
  -o-object-position: right;
     object-position: right;
}
.c-image__position--top {
  -o-object-position: top;
     object-position: top;
}
.c-image__position--bottom {
  -o-object-position: bottom;
     object-position: bottom;
}
.c-kerning {
  font-kerning: auto;
  font-feature-settings: "palt";
}
.c-kerning__not {
  font-kerning: none;
  font-feature-settings: "normal";
}
.c-line__dot {
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to left, #cac2c7 4px, transparent 5px);
  background-position: center top;
  background-size: 9px 5px;
  background-repeat: repeat-x;
  width: 100%;
  height: 1px;
}
.c-line__dot.--top {
  top: 0;
  bottom: auto;
}
.c-link {
  opacity: 1;
  transition: opacity 600ms ease;
  cursor: pointer;
  text-decoration: unset;
}
@media (min-width: 1024px) {
  .c-link:hover {
    opacity: 0.6;
    transition: opacity 300ms ease;
  }
}
@media (prefers-reduced-motion) {
  .c-link {
    transition: opacity 1s linear;
  }
  .c-link:hover {
    opacity: 0.6;
  }
}
.c-link__modal .--icon {
  transform: rotateZ(0deg);
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-link__modal .--line {
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
@media (min-width: 1024px) {
  .c-link__modal:hover .--icon {
    transform: rotateZ(180deg);
  }
  .c-link__modal:hover .--line {
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
  }
}
.c-link__button .--arrow {
  position: relative;
  overflow: hidden;
}
.c-link__button .--arrow.--absolute {
  position: absolute;
}
.c-link__button .--arrow-before {
  transform: translateY(0);
}
.c-link__button .--arrow-after {
  position: absolute;
  transform: translateY(100%);
  z-index: 0;
  inset: 0;
}
.c-link__button .--arrow-after.--reverse {
  transform: translateY(-100%);
}
.c-link__button .--text {
  opacity: 1;
  transition: opacity 600ms ease;
}
.c-link__button .--image {
  overflow: hidden;
}
.c-link__button .--image img {
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-link__button::before, .c-link__button .--line {
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
@media (min-width: 1024px) {
  .c-link__button.is-hover .--arrow-before {
    transform: translateY(-100%);
    transition: transform 300ms ease;
  }
  .c-link__button.is-hover .--arrow-before.--reverse {
    transform: translateY(100%);
  }
  .c-link__button.is-hover .--arrow-before.--dropdown {
    transform: translateY(0);
  }
  .c-link__button.is-hover .--arrow-after {
    transform: translate(0, 0) scale(1);
    transition: transform 300ms ease;
  }
  .c-link__button.is-hover .--text {
    opacity: 0.6;
    transition: opacity 300ms ease;
  }
  .c-link__button.is-hover .--image img {
    transform: scale(1.1);
    transition: transform 400ms ease;
  }
  .c-link__button.is-hover::before, .c-link__button.is-hover .--line {
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
  }
}
.c-modal {
  position: fixed;
  z-index: 120;
  inset: 0;
  padding: 1.25rem;
  overflow: hidden;
}
html.is-sp .c-modal {
  padding: 0.625rem;
}
.c-modal__bg {
  position: absolute;
  z-index: -10;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
.c-modal__content {
  position: relative;
  margin-left: auto;
  border-radius: 0.625rem;
  background-color: #ffffff;
  width: 41.25rem;
  height: 100%;
  overflow: hidden;
}
html.is-sp .c-modal__content {
  width: 100%;
  max-width: 800px;
}
.c-modal__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 10;
  border: 1px solid rgba(62, 58, 57, 0.2);
  border-radius: 9999px;
  background-color: #ffffff;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
}
html.is-sp .c-modal__close {
  top: 0.875rem;
  right: 0.875rem;
}
.c-modal__close--icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateZ(45deg);
}
.c-modal__inner {
  padding: 3.75rem 2.5rem 0rem;
  width: 100%;
  height: 100%;
  overflow-x: clip;
  overflow-y: scroll;
}
html.is-sp .c-modal__inner {
  padding: 1.25rem 0.875rem 0rem;
}
html.is-sp .c-modal__inner > p.c-text-serif {
  font-size: 1.375rem !important;
}
.c-modal__logo {
  width: 20rem;
  height: auto;
}
html.is-sp .c-modal__logo {
  width: 14.5625rem;
}
.c-modal__description {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem 1rem;
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
.c-modal__description.not-flex {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem 1rem;
}
.pg-about__equol .c-modal__description.not-flex {
  gap: 2rem 1rem;
}
html.is-sp .c-modal__description {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2.25rem;
}
.c-modal__description > p:not(.pg-about__equol .c-modal__description > p.c-text-serif) {
  width: 100%;
  height: auto;
}
.c-modal__description > p:not(.pg-about__equol .c-modal__description > p.c-text-serif).c-text-sans {
  line-height: 1.8;
}
html.is-sp .c-modal__description > p:not(.pg-about__equol .c-modal__description > p.c-text-serif) {
  font-size: 0.875rem !important;
}
.c-modal__description--button {
  display: flex;
  position: relative;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: center;
  width: 10rem;
  height: auto;
}
html.is-sp .c-modal__description--button {
  width: 7.125rem;
}
.c-modal__description--button::before {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
  pointer-events: none;
  content: "";
}
.c-modal__description--button--arrow {
  flex: 0 0 auto;
  transform: rotateZ(45deg);
  width: 0.875rem;
  height: auto;
}
.c-modal__main {
  margin-top: 2.5rem;
  padding-bottom: 3rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__main {
  margin-top: 2rem;
  padding-bottom: 3.75rem;
}
.c-modal__main--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2.5rem;
  margin-top: 1.875rem;
  width: 100%;
  height: auto;
}
.c-modal__main--list.--sm {
  gap: 1.25rem;
}
.c-modal__main--list.--xs {
  gap: 0.625rem;
  margin-top: 2.5rem;
}
html.is-sp .c-modal__main--list.--xs {
  margin-top: 2.25rem;
}
.c-modal__main--item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__main--item {
  gap: 1.25rem;
}
html.is-sp .c-modal__main--item h3 {
  font-size: 1rem !important;
}
.c-modal__main--content {
  position: relative;
  padding-top: 1.375rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__main--content {
  padding-top: 1.25rem;
}
html.is-sp .c-modal__main--content.--sm {
  padding-top: 0.75rem;
}
.c-modal__main--content::before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
  content: "";
}
.c-modal__main--content ul {
  margin-top: 0.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__main--content ul {
  margin-top: 1.25rem;
}
.c-modal__main--content ul > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.6875rem;
}
html.is-sp .c-modal__main--content ul > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.75rem;
}
.c-modal__main--content ul li {
  width: auto;
  height: auto;
}
.c-modal__main--content ul li:not(.c-modal__main--content ul li.not-marker) {
  margin-left: 1rem;
  list-style: disc;
  list-style-position: outside;
}
.c-modal__main--content ul li > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.25rem;
}
html.is-sp .c-modal__main--content ul li > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.5rem;
}
[x-show=modal]:not(.--form) .c-modal__main--content ul li p {
  line-height: 1.8;
}
[x-show=modal].--form .c-modal__main--content ul li p.--xs {
  line-height: 1.8;
}
html.is-sp .c-modal__main--content ul li p.--sm {
  font-size: 0.875rem !important;
}
html.is-sp .c-modal__main--content ul li p.--xs {
  font-size: 0.75rem !important;
}
.c-modal__main--content ul li ul li > p {
  line-height: 1.6 !important;
}
.c-modal__main--content > p.c-text-sans {
  line-height: 1.8 !important;
}
[x-show=modal].--form .c-modal__main--content > p.c-text-sans {
  line-height: 1.6 !important;
}
.c-modal__main--content p {
  overflow: visible;
}
.c-modal__main--heading {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
.c-modal__main--heading > h3 {
  margin-top: 0.4375rem;
}
html.is-sp .c-modal__main--heading > h3 {
  margin-top: 1.0625rem;
}
.c-modal__main--image {
  flex: 0 0 auto;
  border-radius: 0.625rem;
  width: 8.75rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-modal__main--image {
  border-radius: 0.3125rem;
  aspect-ratio: 1/1;
  width: 3.75rem;
}
html.is-sp .c-modal__main--image.--sm {
  width: 6.3125rem;
}
.c-modal__main--note {
  display: block;
  position: relative;
  padding-left: 0.3125rem;
  line-height: 1.6 !important;
}
.c-modal__main--note::before {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  content: "*";
}
.c-modal__main--note.--1 {
  padding-left: 0.5rem;
}
.c-modal__main--note.--1::before {
  content: "*¹";
}
.c-modal__main--note.--2 {
  padding-left: 0.5rem;
}
.c-modal__main--note.--2::before {
  content: "*²";
}
.c-modal__main--tag {
  margin-top: 0.25rem !important;
  border: 1px solid #cac2c7;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}
html.is-sp .c-modal__main--tag {
  margin-top: 0.125rem !important;
}
.c-modal__main--tag p {
  line-height: 2 !important;
}
.c-modal__main--number {
  margin-bottom: 0.4375rem;
  font-size: 1.125rem;
}
html.is-sp .c-modal__main--number {
  font-size: 1rem;
}
.c-modal__main--result {
  position: relative;
  margin-top: 2.5rem;
  padding-top: 1.375rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__main--result {
  margin-top: 3rem;
  padding-top: 1.875rem;
}
.c-modal__main--result::before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.1;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
  content: "";
}
.c-modal__main--result--description {
  margin-top: 0.875rem;
  width: 100%;
  height: auto;
}
.c-modal__main--result--description p {
  line-height: 1.8 !important;
}
html.is-sp .c-modal__main--result--description {
  margin-top: 1.25rem;
}
.c-modal__main--result--image {
  margin-top: 1.875rem;
  border-radius: 0.625rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-modal__main--result--image {
  margin-top: 1.25rem;
}
.c-modal__button {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 10;
  background-color: #ffffff;
  padding: 1.875rem 0rem 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__button {
  padding: 1.875rem 0rem;
}
.c-modal__button::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.2;
  background-color: #3e3a39;
  width: 41.25rem;
  height: 1px;
  content: "";
}
html.is-sp .c-modal__button::before {
  width: 23.125rem;
}
.c-modal__button--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 23.75rem;
  height: auto;
}
html.is-sp .c-modal__button--inner {
  max-width: 21.375rem;
}
.c-scroll-bar-hidden {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.c-scroll-bar-hidden::-webkit-scrollbar {
  display: none;
}
.c-text-en {
  font-weight: 500;
  line-height: 1.6;
  font-family: optima-nova-lt-pro, sans-serif;
}
.c-text-en.--cond {
  font-family: optima-nova-lt-pro-cond, sans-serif;
}
.c-text-en.--semibold {
  font-weight: 600;
}
.c-text-en.--3xl {
  font-size: 2.875rem;
}
html.is-sp .c-text-en.--3xl:not(.not-sp) {
  font-size: 2.25rem;
}
.c-text-en.--2xl {
  font-size: 2.5rem;
}
html.is-sp .c-text-en.--2xl:not(.not-sp) {
  font-size: 1.875rem;
}
.c-text-en.--xl {
  font-size: 1.875rem;
  line-height: 2;
}
html.is-sp .c-text-en.--xl:not(.not-sp) {
  font-size: 1.5625rem;
}
.c-text-en.--lg {
  font-size: 1.5625rem;
  line-height: 2;
}
.c-text-en.--l {
  font-size: 1.5rem;
}
.c-text-en.--md {
  font-size: 1rem;
}
html.is-sp .c-text-en.--md:not(.not-sp) {
  font-size: 0.875rem;
}
.c-text-en.--sm {
  font-size: 0.9375rem;
}
.c-text-en.--xs {
  font-size: 0.8125rem;
}
.c-text-serif {
  font-weight: 500;
  line-height: 1.6;
  font-family: shippori-mincho, sans-serif;
  letter-spacing: 0.1em;
}
.c-text-serif.--semibold {
  font-weight: 600;
}
.c-text-serif.--bold {
  font-weight: 700;
}
.c-text-serif.--xl {
  font-size: 1.625rem;
}
html.is-sp .c-text-serif.--xl:not(.not-sp) {
  font-size: 1.25rem;
}
.c-text-serif.--lg {
  font-size: 1.25rem;
}
html.is-sp .c-text-serif.--lg:not(.not-sp) {
  font-size: 1.125rem;
}
.c-text-serif.--md {
  font-size: 1.125rem;
}
html.is-sp .c-text-serif.--md:not(.not-sp) {
  font-size: 1rem;
}
.c-text-serif.--sm {
  font-size: 1rem;
}
html.is-sp .c-text-serif.--sm:not(.not-sp) {
  font-size: 0.9375rem;
}
.c-text-serif.--ty {
  font-size: 0.9375rem;
}
html.is-sp .c-text-serif.--ty:not(.not-sp) {
  font-size: 0.8125rem;
}
.c-text-serif.--xs {
  font-size: 0.8125rem;
}
html.is-sp .c-text-serif.--xs:not(.not-sp) {
  font-size: 0.6875rem;
}
.c-text-sans {
  font-weight: 500;
  line-height: 2;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  letter-spacing: 0.1em;
}
.c-text-sans.--bold {
  font-weight: 700;
}
.c-text-sans.--semibold {
  font-weight: 600;
}
.c-text-sans.--md {
  font-size: 1rem;
}
html.is-sp .c-text-sans.--md:not(.not-sp) {
  font-size: 0.9375rem;
}
.c-text-sans.--sm {
  font-size: 0.9375rem;
}
html.is-sp .c-text-sans.--sm:not(.not-sp) {
  font-size: 0.8125rem;
}
.c-text-sans.--xs {
  font-size: 0.8125rem;
}
.c-text-sans.--2xs {
  font-size: 0.75rem;
}
html.is-sp .c-text-sans.--2xs:not(.not-sp) {
  font-size: 0.625rem;
}
.c-text-sans.--3xs {
  font-size: 0.6875rem;
}
html.is-sp .c-text-sans.--3xs:not(.not-sp) {
  font-size: 0.625rem;
}
.c-text--justify {
  text-align: justify;
}
.c-text--italic {
  font-style: italic;
}
.c-webgl {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  max-width: 100%;
  pointer-events: none;
}
html.is-sp .c-webgl {
  height: 100svh;
}
.c-webgl__stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.prj-footer {
  padding: 5rem 1.25rem 1.25rem 3.75rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-footer {
  padding: 3.75rem 0rem 2.5rem;
}
.prj-footer__container {
  padding: 0;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__container {
  padding: 0 0.75rem;
}
.prj-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0 7.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__inner {
  align-items: flex-start;
  gap: 0 2.9375rem;
}
.prj-footer__content {
  padding-bottom: 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__content {
  padding-bottom: 0;
}
.prj-footer__main {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.4375rem 12.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__main {
  flex-direction: column;
}
.prj-footer__logo {
  width: auto;
  height: auto;
}
.prj-footer__logo--link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.25rem 0.375rem;
  width: auto;
  height: auto;
}
.prj-footer__logo--image {
  width: 16.125rem;
  height: auto;
}
html.is-sp .prj-footer__logo--image {
  width: 7.0625rem;
}
.prj-footer__logo--text {
  position: relative;
  width: auto;
  height: auto;
  text-wrap: nowrap;
}
.prj-footer__nav {
  width: auto;
  height: auto;
}
.prj-footer__nav--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  width: auto;
  height: auto;
}
.prj-footer__nav--item {
  width: auto;
  height: auto;
}
.prj-footer__nav--link {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.prj-footer__nav--link > p {
  line-height: 1.4 !important;
}
html.is-sp .prj-footer__nav--link > p {
  line-height: 1.3 !important;
}
.prj-footer__nav--line {
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 9999px;
  background-color: #3e3a39;
  width: 100%;
  height: 1px;
  content: "";
}
.prj-footer__footer {
  position: relative;
  margin-top: 9.375rem;
  padding-top: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__footer {
  margin-top: 3.8125rem;
  padding-top: 0;
}
.prj-footer__footer::before {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 9999px;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
html.is-sp .prj-footer__footer::before {
  display: none;
}
.prj-footer__footer--inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 2.5rem 9.0625rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-footer__footer--inner {
  flex-direction: column;
  align-items: flex-start;
}
.prj-footer__footer--nav {
  width: auto;
  height: auto;
}
.prj-footer__footer--nav--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  justify-items: flex-start;
  gap: 0.125rem;
  width: auto;
  height: auto;
}
.prj-footer__footer--copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.375rem;
  width: auto;
  height: auto;
}
.prj-footer__cta {
  flex: 0 0 auto;
  width: auto;
  height: auto;
}
.prj-footer__cta--link {
  display: block;
  position: relative;
  border-radius: 0.625rem;
  aspect-ratio: 385/544;
  width: 24.0625rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-footer__cta--link {
  aspect-ratio: 173/245;
  width: 10.8125rem;
}
.prj-footer__cta--button {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: 16.25rem;
  height: 2.5rem;
}
html.is-sp .prj-footer__cta--button {
  position: relative;
  bottom: 0;
  left: 0;
  transform: translateX(0);
  margin-top: 0.375rem;
  width: 100%;
  height: auto;
  text-align: right;
}
.prj-header {
  position: fixed;
  top: 1.375rem;
  left: 0;
  z-index: 100;
  width: 100%;
  height: auto;
}
html.is-sp .prj-header {
  top: 0;
}
.prj-header__inner {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  padding: 0 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-header__inner {
  align-items: flex-start;
  padding: 0.75rem;
}
.prj-header__logo {
  width: auto;
  height: auto;
}
.prj-header__logo--link {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.625rem 0.375rem;
  width: auto;
  height: auto;
}
html.is-sp .prj-header__logo--link {
  flex-direction: column;
  align-items: flex-start;
}
.prj-header__logo--image {
  position: relative;
  width: 7.5rem;
  height: 2.75rem;
}
html.is-sp .prj-header__logo--image {
  width: 6.125rem;
  height: 2.1875rem;
}
.prj-header__logo--image span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.prj-header__logo--text {
  position: relative;
  padding-left: 0.5rem;
  width: auto;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .prj-header__logo--text {
  padding-left: 0;
}
.prj-header__logo--text::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #3e3a39;
  width: 1px;
  height: 52.0833333333%;
  pointer-events: none;
  content: "";
}
html.is-sp .prj-header__logo--text::before {
  display: none;
}
.prj-header__nav {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 9999px;
  padding: 0.5625rem 1.375rem 0.5625rem 1.1875rem;
  width: auto;
  height: auto;
}
html.is-sp .prj-header__nav {
  position: relative;
  bottom: 0;
  left: 0;
  transform: translateX(0);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  margin-top: 0.9375rem;
  border-radius: 0;
  background-color: transparent;
  padding: 0;
}
.prj-header__nav--list {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
}
.prj-header__nav--item {
  width: auto;
  height: auto;
}
html.is-sp .prj-header__nav--item:nth-child(2) a {
  padding-right: 0;
}
.prj-header__nav--link {
  display: block;
  position: relative;
  padding: 0 0.9375rem;
  width: auto;
  height: auto;
}
html.is-sp .prj-header__nav--link {
  padding: 0 0.625rem;
}
.prj-header__nav--indicator {
  display: block;
  position: absolute;
  top: 50%;
  left: 0.625rem;
  transform: translate(-100%, -50%);
  border-radius: 9999px;
  background-color: #3e3a39;
  aspect-ratio: 1/1;
  width: 0.375rem;
  height: auto;
  pointer-events: none;
}
html.is-sp .prj-header__nav--indicator {
  left: 0.25rem;
  width: 0.1875rem;
}
.prj-header__cta {
  width: 10rem;
  height: 2.75rem;
}
html.is-sp .prj-header__cta {
  position: fixed;
  bottom: 1.875rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  border-radius: 9999px;
  background-color: #ffffff;
}
.prj-header__cta a {
  -webkit-backdrop-filter: blur(0) !important;
          backdrop-filter: blur(0) !important;
}
.prj-header__mask {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  filter: url(#goo);
  width: 100%;
  height: 100%;
  pointer-events: all;
}
.prj-header__mask span {
  position: absolute;
  top: var(--top, 0);
  left: var(--left, 0);
  z-index: 10;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-radius: 9999px;
  background-color: #ffffff;
  width: var(--width, 0);
  height: var(--height, 0);
  color: #ffffff;
}
.prj-lineup {
  width: 100%;
  height: auto;
  overflow: clip;
}
.prj-lineup__container {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
}
.prj-lineup__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  width: 100%;
  height: 100%;
}
.prj-lineup__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 3.75rem;
  padding: 9.875rem 0 9.125rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-lineup__inner {
  align-items: flex-start;
  padding: 6.25rem 0 13.5rem;
}
.prj-lineup__heading {
  width: auto;
  height: auto;
  text-wrap: nowrap;
}
.prj-lineup__content {
  width: 100%;
  height: auto;
}
.prj-lineup__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0.625rem;
  width: auto;
  height: auto;
}
html.is-sp .prj-lineup__list {
  flex-direction: column;
  align-items: center;
  gap: 5.375rem;
}
.prj-lineup__item {
  display: flex;
  position: relative;
  position: relative;
  flex-direction: column;
  gap: 1.25rem;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-radius: 0.625rem;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2.5rem 0.375rem 0.375rem;
  width: 25rem;
  height: auto;
  overflow: visible !important;
}
.prj-lineup__item:first-of-type {
  margin-bottom: 5.375rem;
}
html.is-sp .prj-lineup__item {
  margin: 0;
  padding: 1.875rem 0.375rem 0.375rem;
  width: 19.0625rem;
}
.prj-lineup__item--image {
  position: relative;
  border-radius: 0.375rem;
  aspect-ratio: 388/290;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-lineup__item--image {
  aspect-ratio: 293/219;
}
.prj-lineup__item--image.--lg {
  aspect-ratio: 1/1 !important;
}
.prj-lineup__item--image--buttons {
  display: grid;
  position: absolute;
  bottom: 0.25rem;
  left: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  z-index: 10;
  padding: 0 0.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-lineup__item--image--buttons {
  bottom: 0.375rem;
  padding: 0 1rem;
}
.prj-lineup__item--image--button {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem 0;
  width: 100%;
  height: auto;
  color: #ffffff;
}
.prj-lineup__item--image--button p {
  letter-spacing: 0.1em !important;
}
html.is-sp .prj-lineup__item--image--button p {
  font-size: 1rem !important;
}
.prj-lineup__item--image--button--arrow {
  position: relative;
  transform: rotateZ(180deg);
  border-radius: 9999px;
  background-color: #ffffff;
  aspect-ratio: 1/1;
  width: 2.5rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-lineup__item--image--button--arrow {
  width: 1.875rem;
}
.prj-lineup__item--image--button--arrow svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
  height: auto;
  color: #3e3a39;
}
.prj-lineup__item--image--button--border {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.5;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.prj-lineup__item--content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.625rem 0;
  padding: 0 0.875rem;
  width: 100%;
  height: auto;
}
.prj-lineup__item--content p {
  line-height: 1.8 !important;
  letter-spacing: 0.1em !important;
}
html.is-sp .prj-lineup__item--content {
  gap: 0.875rem;
  padding: 0 0.75rem;
}
.prj-lineup__item--ingredient {
  position: absolute;
  bottom: -0.9375rem;
  left: 0;
  transform: translateY(100%);
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
.prj-lineup__item--ingredient--button {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0.625rem;
  width: 100%;
  height: auto;
  color: #ffffff;
}
.prj-lineup__item--ingredient--button::before {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
.prj-lineup__item--ingredient--button p {
  letter-spacing: 0.1em !important;
}
html.is-sp .prj-lineup__item--ingredient--button p {
  font-size: 1rem !important;
}
.prj-lineup__item--ingredient--button--arrow {
  position: relative;
  transform: rotateZ(180deg);
  border-radius: 9999px;
  background-color: #ffffff;
  aspect-ratio: 1/1;
  width: 2.5rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-lineup__item--ingredient--button--arrow {
  width: 1.875rem;
}
.prj-lineup__item--ingredient--button--arrow svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
  height: auto;
  color: #3e3a39;
}
.prj-lineup__item--ingredient--button--border {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.5;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.prj-lineup__cta {
  padding: 8.75rem 0;
  width: 100%;
  height: auto;
  overflow: clip !important;
}
html.is-sp .prj-lineup__cta {
  padding: 7.5rem 0;
}
html:not(.is-sp) .prj-lineup__cta--container {
  padding-right: 0 !important;
}
.prj-lineup__cta--form {
  margin-top: 2.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-lineup__cta--form {
  margin-top: 3.1875rem;
}
.pg-about__fv {
  padding-top: 7.375rem;
  padding-right: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__fv {
  padding-top: 7.3125rem;
  padding-right: 0.625rem;
}
.pg-about__fv--container {
  position: relative;
  width: 100%;
  height: auto;
}
.pg-about__fv--heading {
  position: absolute;
  top: 0.625rem;
  right: 0;
  z-index: 10;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .pg-about__fv--heading {
  position: relative;
  top: 0;
  margin-left: auto;
}
.pg-about__fv--heading--title span {
  vertical-align: -webkit-baseline-middle;
  font-size: 5.80875rem;
}
html.is-sp .pg-about__fv--heading--title span {
  font-size: 4.25rem;
}
.pg-about__fv--heading--sub {
  position: absolute;
  right: 2.0625rem;
  bottom: 0.75rem;
  z-index: 0;
  width: auto;
  height: auto;
  letter-spacing: 0.15em !important;
}
html.is-sp .pg-about__fv--heading--sub {
  right: 1.625rem;
  bottom: -0.1875rem;
  font-size: 1.125rem !important;
}
.pg-about__fv--inner {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: center;
  gap: 3.75rem 5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__fv--inner {
  flex-direction: column-reverse;
  padding-right: 0.875rem;
  padding-left: 1.5rem;
}
.pg-about__fv--image {
  flex: 0 0 auto;
  aspect-ratio: 460/873;
  width: 28.75rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__fv--image {
  border-radius: 0.625rem;
  aspect-ratio: 222/333;
  width: 13.875rem;
}
.pg-about__fv--content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.75rem;
  padding-top: 10rem;
  width: 100%;
  height: auto;
}
.pg-about__fv--content p {
  line-height: 2 !important;
}
html.is-sp .pg-about__fv--content {
  gap: 1.875rem;
  padding-top: 3.75rem;
}
.pg-about__fv--description {
  width: 100%;
  height: auto;
}
.pg-about__fv--description > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1rem;
}
.pg-about__equol {
  position: relative;
  padding: 12.5rem 0 11.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__equol {
  padding: 7.5rem 0 7rem;
}
.pg-about__equol--container {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.pg-about__equol--container h3, .pg-about__equol--container p, .pg-about__equol--container a, .pg-about__equol--container button {
  pointer-events: auto;
}
.pg-about__equol--inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem 15rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__equol--inner {
  flex-direction: column;
}
.pg-about__equol--heading {
  flex: 0 0 auto;
  width: auto;
  height: auto;
}
.pg-about__equol--content {
  width: 22.5rem;
  height: auto;
}
html.is-sp .pg-about__equol--content {
  padding: 0 0.75rem;
  width: 100%;
}
.pg-about__equol--description {
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
.pg-about__equol--description > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.625rem;
}
.pg-about__equol--description p.c-text-serif {
  line-height: 2 !important;
}
.pg-about__equol--description p.c-text-sans {
  line-height: 1.6 !important;
}
html.is-sp .pg-about__equol--description {
  margin-top: 1.875rem;
}
.pg-about__equol--images {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem 3.75rem;
  z-index: 10;
  margin-top: 5rem;
  padding: 0 3.75rem;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.pg-about__equol--images h3, .pg-about__equol--images p, .pg-about__equol--images a, .pg-about__equol--images button {
  pointer-events: auto;
}
html.is-sp .pg-about__equol--images {
  flex-direction: column;
  margin-top: 2.5rem;
  padding: 0;
}
.pg-about__equol--image {
  flex: 0 0 auto;
  width: 53.75rem;
  height: auto;
}
html.is-sp .pg-about__equol--image {
  width: 100%;
}
.pg-about__equol--cover {
  padding: 0 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__equol--cover {
  padding: 0 2.25rem;
}
.pg-about__equol--cover--heading {
  width: 100%;
  height: auto;
  text-align: center;
}
html.is-sp .pg-about__equol--cover--heading p.c-text-serif.--xs {
  font-size: 1.0625rem !important;
}
html.is-sp .pg-about__equol--cover--heading p.c-text-serif.--lg {
  font-size: 1.625rem !important;
}
.pg-about__equol--cover--image {
  margin: 1.25rem auto;
  box-shadow: 0px 15px 20px 0px rgba(181, 116, 132, 0.3);
  border-radius: 0.375rem;
  width: 11.0625rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__equol--cover--image {
  margin: 1.6875rem auto;
  width: 8.6875rem;
}
.pg-about__equol--cover--description {
  margin-top: 1.875rem;
  width: 100%;
  height: auto;
  text-align: center;
}
.pg-about__equol--cover--description p {
  text-align: left;
}
.pg-about__equol--cover--description p.--sm {
  line-height: 1.8 !important;
}
html.is-sp .pg-about__equol--cover--description p.c-text-sans.--sm {
  font-size: 0.875rem !important;
}
.pg-about__equol--cover--description > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.875rem;
}
html.is-sp .pg-about__equol--cover--description > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.25rem;
}
.pg-about__equol--bg {
  position: absolute;
  top: 0;
  opacity: 0.6;
  z-index: 0;
  height: 100%;
}
.pg-about__equol--bg img {
  opacity: 0;
}
.pg-about__equol--bg.--before {
  left: 0;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
          mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
  width: 68.125%;
}
html.is-sp .pg-about__equol--bg.--before {
  width: 100%;
}
.pg-about__equol--bg.--after {
  right: 0;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
          mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
  width: 31.875%;
}
.pg-about__feature {
  width: 100%;
  height: auto;
}
.pg-about__feature--container {
  padding: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--container {
  padding: 0;
}
.pg-about__feature--inner {
  position: relative;
  z-index: 10;
  padding: 0.625rem;
  aspect-ratio: 1400/810;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--inner {
  padding: 0.75rem;
  aspect-ratio: auto;
}
.pg-about__feature--bg {
  position: absolute;
  z-index: -10;
  inset: 0;
  border-radius: 0.625rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__feature--bg {
  border-radius: 0;
}
.pg-about__feature--content {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  margin-left: auto;
  border-radius: 0.375rem;
  background-color: rgba(255, 255, 255, 0.8);
  width: 40.625rem;
  height: auto;
}
html.is-sp .pg-about__feature--content {
  width: 100%;
}
.pg-about__feature--link {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 9rem;
  padding: 0.625rem 0.625rem 0.625rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--link {
  gap: 3rem;
  padding: 0.375rem;
}
.pg-about__feature--heading {
  position: relative;
  margin-top: -1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .pg-about__feature--heading {
  margin-top: -1rem;
  padding: 0 0.375rem;
}
.pg-about__feature--heading--title {
  font-size: 2.0625rem;
}
html.is-sp .pg-about__feature--heading--title {
  font-size: 1.875rem;
}
.pg-about__feature--heading--title span {
  vertical-align: -webkit-baseline-middle;
  font-size: 4rem;
}
html.is-sp .pg-about__feature--heading--title span {
  font-size: 3.5rem;
}
.pg-about__feature--heading--sub {
  position: absolute;
  right: 2.25rem;
  bottom: 0;
  z-index: 0;
  width: auto;
  height: auto;
  letter-spacing: 0.15em !important;
}
html.is-sp .pg-about__feature--heading--sub {
  right: auto;
  bottom: -0.3125rem;
  left: 1.5rem;
  font-size: 0.875rem !important;
}
.pg-about__feature--main {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--main {
  flex-direction: column;
  align-items: flex-start;
}
.pg-about__feature--main--content {
  padding-bottom: 0.75rem;
  width: auto;
  height: auto;
}
.pg-about__feature--main--content p {
  line-height: 2 !important;
}
html.is-sp .pg-about__feature--main--content {
  padding: 0 0.375rem 0.625rem;
}
.pg-about__feature--main--image {
  will-change: transform;
  border-radius: 0.375rem;
  aspect-ratio: 280/148;
  width: 17.5rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__feature--main--image {
  width: 100%;
}
.pg-about__feature--arrow {
  position: absolute;
  top: 1.5rem;
  right: 1.875rem;
  transform: rotate(90deg);
  aspect-ratio: 1/1;
  width: 0.875rem;
  height: auto;
}
html.is-sp .pg-about__feature--arrow {
  top: 9.75rem;
  right: 0.6875rem;
}
.pg-feature__fv {
  position: relative;
  z-index: 10;
  padding: 8rem 0 1.875rem;
  width: 100%;
  height: 100dvh;
}
html.is-sp .pg-feature__fv {
  padding: 7.3125rem 0 0;
  height: auto;
}
.pg-feature__fv--container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
}
html.is-sp .pg-feature__fv--container {
  padding: 0 0.4375rem;
}
.pg-feature__fv--heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  text-wrap: nowrap;
}
.pg-feature__fv--heading--title span {
  vertical-align: -webkit-baseline-middle;
  font-size: 5.80875rem;
}
html.is-sp .pg-feature__fv--heading--title span {
  font-size: 4.25rem;
}
.pg-feature__fv--heading--sub {
  position: absolute;
  right: 6.1875rem;
  bottom: 0.75rem;
  z-index: 0;
  width: auto;
  height: auto;
  letter-spacing: 0.15em !important;
}
html.is-sp .pg-feature__fv--heading--sub {
  right: auto;
  bottom: -0.1875rem;
  left: 1.8125rem;
  font-size: 1.125rem !important;
}
.pg-feature__fv--inner {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0 11.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__fv--inner {
  margin-top: 3.5625rem;
  padding: 0 1.0625rem;
}
.pg-feature__fv--image {
  position: absolute;
  left: 3.75rem;
  border-radius: 0.625rem;
  aspect-ratio: 280/148;
  width: 17.5rem;
  height: auto;
  overflow: hidden;
}
.pg-feature__fv--image div {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.pg-feature__fv--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
  width: 53.75rem;
  height: auto;
}
html.is-sp .pg-feature__fv--list {
  gap: 0.25rem;
  width: 100%;
}
.pg-feature__fv--item {
  width: 100%;
  height: auto;
}
.pg-feature__fv--item--link {
  display: block;
  position: relative;
  padding: 1rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__fv--item--link {
  padding: 0.75rem 0.75rem 0.75rem 0;
}
li:last-of-type .pg-feature__fv--item--link {
  padding-bottom: 0 !important;
}
.pg-feature__fv--item--border {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.pg-feature__fv--item--border.--line {
  background-color: #3e3a39;
}
.pg-feature__fv--item--inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
.pg-feature__fv--item--heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5.5rem;
}
html.is-sp .pg-feature__fv--item--heading {
  gap: 1.25rem;
}
.pg-feature__fv--item--heading p:first-of-type {
  font-size: 1.1875rem !important;
}
html.is-sp .pg-feature__fv--item--heading p:first-of-type {
  font-size: 0.9375rem !important;
}
.pg-feature__fv--item--heading p:last-of-type {
  font-size: 1.1875rem !important;
}
html.is-sp .pg-feature__fv--item--heading p:last-of-type {
  font-size: 0.9375rem !important;
}
.pg-feature__fv--item--content {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 1.625rem;
}
.pg-feature__fv--item--text {
  width: 20rem;
  height: auto;
}
.pg-feature__fv--item--text p {
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
}
html.is-sp .pg-feature__fv--item--text p {
  font-size: 1rem !important;
}
html.is-sp .pg-feature__fv--item--text {
  margin-top: 0.375rem;
  margin-left: 2.25rem;
  width: auto;
}
.pg-feature__fv--item--arrow {
  flex: 0 0 auto;
  margin-top: 0.375rem;
  aspect-ratio: 1/1;
  width: 0.875rem;
  height: auto;
}
.pg-feature__fv--item--arrow svg {
  transform: rotateZ(180deg);
}
.pg-feature__section {
  padding: 3.75rem 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section {
  padding: 0;
}
html.is-sp .pg-feature__section:first-of-type {
  margin-top: 6.75rem;
}
.pg-feature__section--container {
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--container {
  padding: 0;
}
.pg-feature__section--pin {
  width: 100%;
  height: calc(100vh + 45.25rem);
}
html.is-sp .pg-feature__section--pin {
  height: auto;
}
.pg-feature__section--sticky {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: auto;
}
.pg-feature__section--heading {
  padding: 7.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--heading {
  padding: 3.75rem 0 3rem;
}
.pg-feature__section--heading--inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--heading--inner {
  gap: 1.875rem;
}
.pg-feature__section--heading--title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: auto;
  height: auto;
  text-align: center;
}
.pg-feature__section--heading--title p {
  font-size: 1.25rem;
}
html.is-sp .pg-feature__section--heading--title h2 {
  font-size: 2.25rem !important;
}
.pg-feature__section--heading--image {
  will-change: transform;
  border-radius: 0.625rem;
  aspect-ratio: 640/340;
  width: 40rem;
  height: auto;
  overflow: hidden;
}
.pg-feature__section--heading--image.is-opacity {
  opacity: 0;
}
html.is-sp .pg-feature__section--heading--image {
  aspect-ratio: 258/137;
  width: 21.375rem;
}
.pg-feature__section--inner {
  margin-top: -45.25rem;
  border-radius: 0.625rem;
  background-color: var(--color);
  padding-top: 45.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--inner {
  margin-top: -26.0625rem;
  border-radius: 0;
  padding-top: 26.0625rem;
}
.pg-feature__section--content {
  position: relative;
  padding: 5rem 3.75rem 7.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--content {
  padding: 3rem 1.5rem 6.25rem;
}
.pg-feature__section--border {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.1;
  background-color: #000000;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.pg-feature__section--main {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--main {
  flex-direction: column;
  gap: 1.875rem;
}
.pg-feature__section--title {
  width: 100%;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .pg-feature__section--title p {
  font-size: 1.375rem !important;
}
.pg-feature__section--description {
  flex: 0 0 auto;
  margin-right: 12.5rem;
  width: 22.5rem;
  height: auto;
}
.pg-feature__section--description > p {
  line-height: 2 !important;
}
html.is-sp .pg-feature__section--description {
  margin-right: 0;
  width: 100%;
}
.pg-feature__section--note {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 1.875rem;
  width: 100%;
  height: auto;
}
.pg-feature__section--note p, .pg-feature__section--note span {
  line-height: 1.6 !important;
  letter-spacing: 0.1em !important;
}
.pg-feature__section--sub {
  flex: 0 0 auto;
  width: 16.25rem;
  height: auto;
}
html.is-sp .pg-feature__section--sub {
  margin: 3.125rem auto 0;
  width: 13.875rem;
}
.pg-feature__section--sub--image {
  border-radius: 0.375rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.pg-feature__section--sub--description {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25rem 0;
  margin-top: 0.875rem;
  width: 100%;
  height: auto;
}
.pg-feature__section--sub--description p.--sm {
  line-height: 1.8 !important;
}
html.is-sp .pg-feature__section--sub--description {
  gap: 0.375rem 0;
  margin-top: 0.625rem;
}
html.is-sp .pg-feature__section--sub--description p.--md {
  font-size: 0.8125rem !important;
}
html.is-sp .pg-feature__section--sub--description p.--sm {
  font-size: 0.6875rem !important;
}
.pg-feature__section--detail {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: stretch;
  gap: 2.5rem 0;
  margin-top: 6.25rem;
  padding-top: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--detail {
  flex-direction: column;
  margin-top: 0;
  margin-top: 5rem;
  padding-top: 3.75rem;
}
.pg-feature__section--detail--heading {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.875rem 0;
  width: 100%;
}
.pg-feature__section--detail--image {
  border-radius: 0.625rem;
  aspect-ratio: 200/283;
  width: 12.5rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-feature__section--detail--image {
  margin: 0 auto;
  width: 8.75rem;
}
.pg-feature__section--detail--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  flex: 0 0 auto;
  gap: 1.25rem;
  margin-top: 0.125rem;
  width: 51.25rem;
  height: auto;
}
html.is-sp .pg-feature__section--detail--list {
  gap: 2.5rem;
  width: 100%;
}
.pg-feature__section--detail--item {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 3.75rem;
  width: 100%;
  height: auto;
}
.pg-feature__section--detail--item:last-of-type {
  padding-bottom: 0;
}
html.is-sp .pg-feature__section--detail--item {
  flex-direction: column;
  gap: 1.25rem;
  padding-bottom: 2.5rem;
}
html.is-sp .pg-feature__section--detail--item:last-of-type {
  padding-bottom: 0;
}
.pg-feature__section--detail--title {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25rem;
  width: 22.5rem;
  height: auto;
}
html.is-sp .pg-feature__section--detail--title {
  gap: 0.375rem;
  width: 100%;
}
.pg-feature__section--detail--description {
  flex: 0 0 auto;
  width: 22.5rem;
  height: auto;
}
.pg-feature__section--detail--description p {
  line-height: 1.8 !important;
}
html.is-sp .pg-feature__section--detail--description {
  width: 100%;
}
html.is-sp .pg-feature__section--detail--description p {
  font-size: 0.9375rem !important;
}
.pg-feature__section--comment {
  margin-top: 6.25rem;
  margin-right: -1.25rem;
  margin-left: auto;
  width: 53.75rem;
  height: auto;
}
html.is-sp .pg-feature__section--comment {
  margin: 3.75rem calc(-50vw + 50%) 0;
  width: 100vw;
}
html.is-sp .pg-feature__section--comment.--image {
  margin: 5rem calc(-50vw + 50%) 0;
}
.pg-feature__section--comment--inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 1.25rem 5rem;
  border-radius: 0.625rem;
  background-color: #f5f0f3;
  padding: 0.375rem 0.375rem 0.375rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-feature__section--comment--inner {
  flex-direction: column-reverse;
  margin: 0 auto;
  padding: 0.75rem 0.75rem 1.875rem;
  width: calc(100% - 1.5rem);
}
.pg-feature__section--comment--content {
  width: 100%;
  height: auto;
}
html:not(.is-sp) .pg-feature__section--comment--content {
  padding-bottom: 0.875rem;
}
.pg-feature__section--comment--image {
  flex: 0 0 auto;
  border-radius: 0.375rem;
  aspect-ratio: 394/262;
  width: 24.625rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-feature__section--comment--image {
  aspect-ratio: 342/227;
  width: 100%;
}
.pg-top__fv {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100svh;
  min-height: -moz-fit-content;
  min-height: fit-content;
  overflow: hidden;
  color: #ffffff;
}
.pg-top__fv--image {
  position: absolute;
  z-index: -10;
  inset: 0;
  pointer-events: none;
}
.pg-top__fv--container {
  position: relative;
  z-index: 10;
  margin: 0;
  width: 100%;
  height: 100%;
}
.pg-top__fv--mask {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  background-color: #f5f0f3;
  width: 100%;
  height: 100%;
}
.pg-top__fv--inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 14.5679012346svh 0 9.7530864198svh;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__fv--inner {
  gap: 0.5rem;
  padding: 15.1424287856svh 0 15.5922038981svh;
}
.pg-top__fv--heading {
  width: 44.75vh;
  height: auto;
}
html.is-sp .pg-top__fv--heading {
  width: 62.2950819672%;
}
.pg-top__fv--product {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: max(1.5625rem, 3.125vh);
  width: 100%;
  height: auto;
  text-align: center;
}
html.is-sp .pg-top__fv--product {
  gap: 1.25rem;
}
.pg-top__fv--product--image {
  position: relative;
  box-sizing: content-box;
  aspect-ratio: 228/322;
  width: 28.5vh;
  height: auto;
}
.pg-top__fv--product--image--inner {
  border-radius: 0.625rem;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pg-top__fv--product--image svg {
  overflow: visible !important;
}
html.is-sp .pg-top__fv--product--image {
  width: 48.6338797814%;
}
html.is-sp .pg-top__fv--product--image svg {
  inset: 0.0625rem;
  width: calc(100% - 0.125rem);
  height: calc(100% - 0.125rem);
}
.pg-top__fv--product--line {
  position: absolute;
  z-index: 10;
  inset: 0;
  pointer-events: none;
}
.pg-top__fv--product--line.--back {
  border: 1px solid #cac2c7;
  border-radius: 0.625rem;
}
.pg-top__fv--product p {
  font-size: max(1.125rem, 2.25vh) !important;
  letter-spacing: 0.15em !important;
}
html.is-sp .pg-top__fv--product p {
  font-size: 1rem !important;
}
.pg-top__about {
  position: relative;
  z-index: 10;
  padding: 12.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__about {
  padding: 5rem 0 6.25rem;
}
.pg-top__about--container {
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__about--container {
  margin: 0 auto;
  padding: 0 0.75rem;
  max-width: 800px;
}
.pg-top__about--heading {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem 12.5rem;
  z-index: 10;
  padding: 0 2.5rem;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.pg-top__about--heading h2, .pg-top__about--heading h3, .pg-top__about--heading p, .pg-top__about--heading a, .pg-top__about--heading button {
  pointer-events: auto;
}
html.is-sp .pg-top__about--heading {
  flex-direction: column;
  padding: 0;
}
html.is-sp .pg-top__about--heading h3 {
  padding: 0 0.75rem;
}
.pg-top__about--content {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.5rem 5rem;
  z-index: 10;
  margin-top: 6.25rem;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.pg-top__about--content h2, .pg-top__about--content h3, .pg-top__about--content p, .pg-top__about--content a, .pg-top__about--content button {
  pointer-events: auto;
}
html.is-sp .pg-top__about--content {
  flex-direction: column;
  align-items: center;
  margin-top: 1.875rem;
}
.pg-top__about--content--image {
  border-radius: 0.625rem;
  aspect-ratio: 440/660;
  width: 27.5rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__about--content--image {
  width: 13.875rem;
}
.pg-top__about--content--description {
  width: 22.5rem;
  height: auto;
}
html.is-sp .pg-top__about--content--description {
  padding: 0 0.75rem;
  width: 100%;
}
.pg-top__about--content--text {
  width: 100%;
  height: auto;
}
.pg-top__about--content--text > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.625rem;
}
.pg-top__about--content--text p {
  line-height: 2 !important;
}
.pg-top__about--content--button {
  margin-top: 2.5rem;
  width: 16.25rem;
  height: 2.75rem;
}
.pg-top__about--bg {
  position: absolute;
  top: 0;
  opacity: 0.6;
  z-index: 0;
  height: 100%;
}
.pg-top__about--bg img {
  opacity: 0;
}
.pg-top__about--bg.--before {
  left: 0;
  width: 68.125%;
}
html.is-sp .pg-top__about--bg.--before {
  width: 100%;
}
.pg-top__about--bg.--after {
  right: 0;
  width: 31.875%;
}
.pg-top__feature {
  background-color: #ffffff;
  width: 100%;
  height: auto;
  overflow: clip;
}
.pg-top__feature--heading {
  padding: 2.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--heading {
  padding: 5rem 0 2.4375rem;
}
.pg-top__feature--slide {
  width: 100%;
  height: calc(100dvh * var(--total));
}
html.is-sp .pg-top__feature--slide {
  margin: 0 auto;
  max-width: 800px;
  height: auto;
}
.pg-top__feature--slide--list {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
html.is-sp .pg-top__feature--slide--list {
  position: static;
  height: auto;
}
.pg-top__feature--slide--item {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: var(--color);
  width: calc(100% - 2.5rem);
  height: 100%;
}
html.is-sp .pg-top__feature--slide--item {
  position: relative;
  width: 100%;
}
.pg-top__feature--slide--container {
  padding-right: 2.5rem;
  width: 100%;
  height: 100%;
}
html.is-sp .pg-top__feature--slide--container {
  padding-right: 0.75rem;
}
.pg-top__feature--slide--inner {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: stretch;
  padding: 5.625rem 0 2.5rem;
  width: 100%;
  height: 100%;
}
html.is-sp .pg-top__feature--slide--inner {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 6rem 0 5rem;
}
.pg-top__feature--slide--title {
  flex: 0 0 auto;
  align-self: flex-end;
  width: 23.75rem;
  height: auto;
}
html.is-sp .pg-top__feature--slide--title {
  width: 100%;
  text-align: center;
}
.pg-top__feature--slide--main {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 5dvh 0;
  margin-top: 2.5rem;
  width: 25rem;
}
html.is-sp .pg-top__feature--slide--main {
  margin-top: 1.25rem;
  width: 21.375rem;
}
.pg-top__feature--slide--main--heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--slide--main--heading {
  position: absolute;
  top: 0.625rem;
  left: 0;
  padding: 0 0.75rem;
}
.pg-top__feature--slide--main--image {
  will-change: transform;
  border-radius: 0.625rem;
  aspect-ratio: 400/520;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__feature--slide--main--image {
  aspect-ratio: 342/288;
}
.pg-top__feature--slide--content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  align-self: flex-end;
  gap: 1.875rem;
  width: 22.5rem;
  height: auto;
}
html.is-sp .pg-top__feature--slide--content {
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding: 0 0.75rem;
  width: 100%;
}
.pg-top__feature--slide--content--text {
  width: 100%;
  height: auto;
}
.pg-top__feature--slide--content--text > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.625rem;
}
.pg-top__feature--slide--content--button {
  display: inline-block;
  width: auto;
  height: auto;
}
.pg-top__feature--slide--content--button--link {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: center;
  gap: 0.125rem;
  padding-bottom: 0.125rem;
  width: 100%;
  height: auto;
}
.pg-top__feature--slide--content--button--link::before {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  background-color: #3e3a39;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
.pg-top__feature--slide--content--button--arrow {
  flex: 0 0 auto;
  transform: rotateZ(90deg);
  width: 0.625rem;
  height: auto;
}
.pg-top__feature--slide--content--note p {
  line-height: 1.6 !important;
}
.pg-top__feature--slide--progress {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  z-index: 50;
  background-color: #ffffff;
  padding: 5.625rem 0 1.875rem;
  width: 2.5rem;
  height: 100%;
  overflow: hidden;
  text-align: center;
}
.pg-top__feature--slide--progress--bg {
  position: absolute;
  z-index: -10;
  inset: 0;
  background-color: var(--color);
}
.pg-top__feature--slide--progress--number {
  height: 1.625rem;
  overflow: hidden;
}
.pg-top__feature--slide--progress--number--current {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
}
.pg-top__feature--slide--progress--number--current span {
  display: block;
  height: 1.625rem;
}
.pg-top__feature--slide--progress--bar {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 0.625rem;
  margin: 0 auto;
  width: 0.375rem;
  height: auto;
}
.pg-top__feature--slide--progress--bar--circle {
  display: block;
  border-radius: 9999px;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
}
.pg-top__lineup {
  margin-top: 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup {
  margin-top: 7.5rem;
}
.pg-top__lineup--main {
  margin-top: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main {
  margin: 2.5rem auto;
  max-width: 800px;
}
.pg-top__lineup--main--container {
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--container {
  padding: 0;
}
.pg-top__lineup--main--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--list {
  gap: 5rem;
}
.pg-top__lineup--main--item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--item {
  flex-direction: column;
}
.pg-top__lineup--main--image {
  position: sticky;
  top: 0.625rem;
  left: 0;
  flex: 0 0 auto;
  border-radius: 0.625rem;
  aspect-ratio: 900/1030;
  width: 56.25rem;
  height: calc(100vh - 1.25rem);
  overflow: hidden;
}
html.is-sp .pg-top__lineup--main--image {
  position: relative;
  top: 0;
  border-radius: 0;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
}
.pg-top__lineup--main--image--inner {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0.625rem;
  width: 100%;
  height: 128.75lvh;
  overflow: hidden;
}
html.is-sp .pg-top__lineup--main--image--inner {
  border-radius: 0;
  height: auto;
}
.pg-top__lineup--main--image--graph {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  aspect-ratio: 1/1;
  width: 7.5rem;
  height: auto;
}
html.is-sp .pg-top__lineup--main--image--graph {
  bottom: 0.625rem;
  left: 0.625rem;
  width: 6.25rem;
}
.pg-top__lineup--main--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pg-top__lineup--main--content {
  margin: 35lvh 0 25lvh;
  padding: 0 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--content {
  margin: 0;
  padding: 0 1.5rem;
}
.pg-top__lineup--main--heading {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.625rem;
  width: 100%;
  height: auto;
}
.pg-top__lineup--main--heading > p:first-of-type {
  line-height: 1.8 !important;
}
html.is-sp .pg-top__lineup--main--heading {
  gap: 0rem;
}
html.is-sp .pg-top__lineup--main--heading p {
  font-size: 0.875rem;
}
html.is-sp .pg-top__lineup--main--heading p:first-of-type {
  line-height: 1.6 !important;
}
html.is-sp .pg-top__lineup--main--heading p:last-of-type {
  line-height: 1.8 !important;
}
.pg-top__lineup--main--title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  width: auto;
  height: auto;
}
html.is-sp .pg-top__lineup--main--title {
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
html.is-sp .pg-top__lineup--main--title h3 {
  font-size: 1.875rem;
}
.pg-top__lineup--main--tag {
  flex: 0 0 auto;
  border: 1px solid #cac2c7;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  width: auto;
  height: auto;
  overflow: hidden;
}
.pg-top__lineup--main--description {
  margin-top: 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--description {
  margin-top: 1.25rem;
}
.pg-top__lineup--main--prices {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.875rem;
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
.pg-top__lineup--main--price {
  position: relative;
  padding-top: 1.875rem;
  width: 100%;
  height: auto;
  text-align: center;
}
.pg-top__lineup--main--price::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
.pg-top__lineup--main--price--heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: auto;
}
.pg-top__lineup--main--price--content {
  margin-top: 0.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__lineup--main--price--content {
  margin-top: 0.375rem;
}
.pg-top__lineup--main--price--info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.25rem;
  width: 100%;
  height: auto;
}
.pg-top__lineup--main--price--info--inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.25rem;
  width: auto;
  height: auto;
  text-wrap: nowrap;
}
.pg-top__lineup--main--price--info--icon {
  flex: 0 0 auto;
  width: 0.875rem;
  height: auto;
}
.pg-top__lineup--main--price--price {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0 0.6875rem;
  width: auto;
  height: auto;
}
.pg-top__lineup--main--price--price p.--xl {
  line-height: 1.6;
}
html.is-sp .pg-top__lineup--main--price--price {
  gap: 0 0.5rem;
}
html.is-sp .pg-top__lineup--main--price--price p.--2xl {
  font-size: 2.25rem;
}
.pg-top__lineup--main--price--button {
  margin-top: 1.25rem;
  width: 100%;
  height: 2.75rem;
}
html.is-sp .pg-top__lineup--main--price--button {
  margin-top: 0.625rem;
}
.pg-top__voice {
  margin-top: 12.5rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__voice {
  margin-top: 7.5rem;
}
.pg-top__voice--container {
  padding-right: 0;
  width: 100%;
  height: auto;
}
.pg-top__voice--inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__voice--inner {
  flex-direction: column;
}
.pg-top__voice--slider {
  flex: 0 0 auto;
  margin-top: 0.875rem;
  width: 57.5rem !important;
  height: auto;
}
html.is-sp .pg-top__voice--slider {
  margin-top: 0;
  width: 100% !important;
}
.pg-top__voice--slider--track {
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
  overflow: visible !important;
}
html.is-sp .pg-top__voice--slider--track {
  margin-top: 1.25rem;
}
.pg-top__voice--slider--list {
  align-items: stretch;
  width: 17.0625rem !important;
}
html.is-sp .pg-top__voice--slider--list {
  width: 18.75rem !important;
}
.pg-top__voice--slider--item {
  display: flex;
  position: relative;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5625rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
  padding: 1.25rem 2.5rem 0.75rem 1.25rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__voice--slider--item {
  padding: 1.25rem 3.75rem 0.75rem 1.25rem;
}
.pg-top__voice--slider--item--heading {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__voice--slider--item--heading {
  gap: 1.875rem;
}
.pg-top__voice--slider--item--heading > p {
  line-height: 1.8 !important;
}
.pg-top__voice--slider--item--icon {
  width: 1.25rem;
  height: auto;
}
html.is-sp .pg-top__voice--slider--item--icon {
  width: 1.375rem;
}
.pg-top__voice--slider--item--footer {
  position: relative;
  z-index: 20;
}
.pg-top__voice--slider--item--footer p {
  line-height: 1.6 !important;
}
.pg-top__voice--slider--item--gradient {
  position: absolute;
  bottom: -4rem;
  left: -5.25rem;
  z-index: 10;
  filter: blur(30px);
  width: 195.2380952381%;
  height: auto;
  pointer-events: none;
}
html.is-sp .pg-top__voice--slider--item--gradient {
  bottom: -7.0625rem;
  left: -4.625rem;
}
.pg-top__voice--heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-right: 5rem;
  padding-left: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__voice--heading {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.pg-top__voice--heading .splide__arrows {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  width: auto;
  height: auto;
}
.pg-top__voice--heading .splide__arrow {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  transform: translateY(0);
  opacity: 1;
  border: 1px solid #cac2c7;
  border-radius: 9999px;
  background-color: transparent;
  aspect-ratio: 1/1;
  width: 2.5rem;
  height: auto;
  overflow: hidden;
}
.pg-top__voice--heading .splide__arrow svg {
  width: 0.875rem;
  height: auto;
}
.pg-top__voice--heading .splide__arrow:disabled {
  opacity: 0.3;
}
.pg-top__voice--note {
  margin-top: 1.875rem;
  padding-right: 5.125rem;
  width: 100%;
  height: auto;
  text-align: right;
}
.pg-top__voice--note p {
  line-height: 1.6 !important;
}
html.is-sp .pg-top__voice--note {
  margin-top: 1.25rem;
  padding: 0 0.75rem;
  text-align: left;
}
.pg-top__question {
  margin-top: 10rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__question {
  margin-top: 5rem;
}
.pg-top__question--inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__question--inner {
  flex-direction: column;
}
.pg-top__question--list {
  display: grid;
  position: relative;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  flex: 0 0 auto;
  margin-top: 1.0625rem;
  width: 53.75rem;
  height: auto;
}
html.is-sp .pg-top__question--list {
  margin-top: 2.5rem;
  width: 100%;
}
.pg-top__question--list::before {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
.pg-top__question--item {
  position: relative;
  cursor: pointer;
  padding: 2rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__question--item {
  padding: 1.25rem 0.75rem;
}
.pg-top__question--item::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
.pg-top__question--heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
.pg-top__question--heading > p.c-text-en {
  margin-top: 0.125rem;
}
.pg-top__question--button {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  width: 45rem;
  height: auto;
}
html.is-sp .pg-top__question--button {
  width: 18.875rem;
}
html.is-sp .pg-top__question--button h3 {
  font-size: 1rem;
}
.pg-top__question--button .c-icon__plus {
  flex: 0 0 auto;
  margin-top: 0.5rem;
}
.pg-top__question--answer {
  padding: 1.875rem 0 1rem 6.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__question--answer {
  padding: 1.25rem 0 0.75rem 2.5rem;
}
.pg-top__question--answer strong {
  color: #ff6741;
}
.pg-top__image {
  position: relative;
  margin-top: 12.5rem;
  aspect-ratio: 1440/861;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__image {
  margin-top: 7.5rem;
  aspect-ratio: 390/430;
}
.pg-top__ingredients {
  padding-top: 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients {
  padding-top: 7.5rem;
}
.pg-top__ingredients--inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients--inner {
  flex-direction: column;
}
.pg-top__ingredients--list {
  display: grid;
  position: relative;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  flex: 0 0 auto;
  margin-top: 1.0625rem;
  width: 53.75rem;
  height: auto;
}
html.is-sp .pg-top__ingredients--list {
  margin-top: 2.5rem;
  width: 100%;
}
.pg-top__ingredients--list::before {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
.pg-top__ingredients--item {
  position: relative;
  padding: 0 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients--item {
  padding: 0 0.75rem;
}
.pg-top__ingredients--item::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #cac2c7;
  width: 100%;
  height: 1px;
  content: "";
}
.pg-top__ingredients--heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  cursor: pointer;
  padding: 2rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients--heading {
  padding: 1.25rem 0;
}
.pg-top__ingredients--heading > p.c-text-en {
  margin-top: 0.125rem;
}
.pg-top__ingredients--button {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  width: 45rem;
  height: auto;
}
html.is-sp .pg-top__ingredients--button {
  width: 18.875rem;
}
html.is-sp .pg-top__ingredients--button h3 {
  font-size: 1rem;
}
.pg-top__ingredients--button .c-icon__plus {
  flex: 0 0 auto;
  margin-top: 0.5rem;
}
.pg-top__ingredients--answer {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.875rem;
  padding: 0 0 3.75rem 5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients--answer {
  gap: 1rem;
  padding: 0 0 2rem 2.5rem;
}
.pg-top__ingredients--answer--list {
  display: grid;
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.375rem 0;
  padding-top: 0.75rem;
  padding-left: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__ingredients--answer--list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-top: 1rem;
  padding-left: 0rem;
}
.pg-top__ingredients--answer--list dt, .pg-top__ingredients--answer--list dd {
  line-height: 1.6 !important;
  letter-spacing: 0.1em;
}
html.is-sp .pg-top__ingredients--answer--list dd {
  font-size: 0.875rem !important;
}
.pg-top__ingredients--answer--prose a {
  position: relative;
  padding-bottom: 0.125rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pg-top__ingredients--answer--prose a svg {
  display: inline-block;
  transform: rotateZ(45deg);
  width: 0.625rem;
  height: 0.625rem;
}
.pg-top__ingredients--answer--prose ul {
  width: 100%;
  height: auto;
}
.pg-top__ingredients--answer--prose ul li {
  margin-left: 1rem;
  width: auto;
  height: auto;
  list-style: disc;
  list-style-position: outside;
}
.pg-top__ingredients--answer--prose ul li span:not(.c-text--italic) {
  display: block;
  position: relative;
  padding-left: 0.3125rem;
  font-size: 0.75rem;
}
.pg-top__ingredients--answer--prose ul li span:not(.c-text--italic):first-of-type {
  margin-top: 0.625rem;
}
.pg-top__ingredients--answer--prose ul li span:not(.c-text--italic)::before {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  content: "*";
}
.pg-top__cta {
  padding-top: 8.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__cta {
  margin-top: 7.5rem;
  padding-top: 0;
}
.pg-top__cta--form {
  margin-top: 2.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__cta--form {
  margin-top: 3.1875rem;
}
/* Amazonペイメント用 */
div.login_ {
  margin: 0 auto;
  width: 980px;
  text-align: center;
}
div.login_ div.loginform_ {
  margin: 10px auto 20px;
  padding: 10px;
  width: 740px;
  height: 350px;
  text-align: left;
}
/*div.login_ div.loginform_ {
	width:470px;
	margin:10px 0 60px 0;
	padding: 0;
	text-align:left;
}*/
div.login_ div.loginform_ .form_text_ {
  margin-bottom: 10px;
}
div.login_ div.inputimage_ {
  margin: 30px auto;
  text-align: center;
}
div.login_ div.askpass_ {
  margin: 5px auto;
  text-align: center;
}
div.login_ div.askpass_ a {
  background: url(../../images/common/arrow01.png) no-repeat left center;
  padding-left: 10px;
}
div.login_ div.entry_ {
  margin: 2px auto;
  font-size: 10px;
  text-align: center;
}
div.login_ table.loginform_ {
  margin: auto;
  width: 100%;
  text-align: center;
}
div.login_ table.loginform_ th {
  background: #d5e8fd;
  padding: 10px;
  font-weight: bold;
  text-align: right;
}
div.login_ table.loginform_ td {
  padding: 10px;
  text-align: left;
}
div.login_ table.loginform_ td input.login_uid_ {
  width: 300px;
}
div.login_ table.loginform_ td input.login_pwd_ {
  width: 300px;
}
div.login_ table.loginform_ td input.login_uid_mail_ {
  width: 300px;
}
div.login_ div.loginform_amazon_ {
  margin: 30px auto;
  width: 440px;
}
/* --------------------------------------------------------------------
	パスワードを忘れた方
--------------------------------------------------------------------- */
table.askpass_ {
  margin-bottom: 10px;
}
table.askpass_ th {
  width: 16em;
}
/* --------------------------------------------------------------------
	マイページ・会員情報
-------------------------------------------------------------------- */
div.customer_ {
  margin: 0 auto;
  width: 950px;
  text-align: center;
}
div.customer_ p {
  margin: 0 20px 5px;
  text-align: left;
}
div.customer_ .message_ {
  margin-left: 20px;
}
div.customer_ .message_emphasis {
  margin-left: 20px;
  font-weight: bold;
}
div.customer_ table {
  /**width: 100%;**/
  margin: 0;
}
div.customer_ .formdetail_ {
  margin-left: 20px;
}
div.customer_ table.customer_,
div.customer_ table.customerconfirm_ {
  margin-bottom: 20px;
  width: 920px;
}
div.customer_ table.customer_ th,
div.customer_ table.customerconfirm_ th {
  width: 25%;
}
/* --------------------------------------------------------------------
	新規会員登録
-------------------------------------------------------------------- */
div.customer_ .agreebody_ {
  margin: 20px 0;
  padding: 5px;
  width: 85%;
}
/* --------------------------------------------------------------------
	マイページ　トップ
-------------------------------------------------------------------- */
div.customer_status_ {
  margin: 0 0 20px 20px;
  border-bottom: 1px dotted #629be5;
  padding: 0 10px 10px 0px;
  text-align: left;
}
.loginname_ {
  font-weight: bold;
}
p.recommend_ {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 14px;
}
div.mymenu_ {
  margin-bottom: 20px;
  margin-left: 80px;
  width: 880px;
  overflow: hidden;
}
div.mymenu_item_ {
  margin-bottom: 10px;
  border: 1px solid #629be5;
  padding: 10px 0 10px 0;
  overflow: hidden;
}
div.mymenu_item_ .img_ {
  display: inline;
  float: left;
  margin: 0 10px 0 10px;
  width: 60px;
}
div.mymenu_item_ .desc_ {
  display: inline;
  float: left;
  margin: 0 10px 0 0;
  width: 750px;
}
div.mymenu_item_ h2 {
  margin: 0 0 10px 0;
  border-bottom: 1px solid #629be5;
  padding: 5px 15px;
  font-weight: bold;
  font-size: 16px;
  text-align: left;
}
div.mymenu_item_ p,
div.mymenu_item_ ul {
  margin: 0 0 0 15px;
  text-align: left;
}
div.mymenu_item_ ul li {
  background: url(../img/usr/mark.png) 0 center no-repeat;
  text-indent: 15px;
}
div.members_rank {
  margin-bottom: 10px;
  border-bottom: 1px dotted #ccc;
  padding: 0 0 10px 0;
  width: 100%;
  overflow: hidden;
}
/* --------------------------------------------------------------------
	マイページ　購入履歴
-------------------------------------------------------------------- */
div.customer_ .method_addr_ {
  margin-bottom: 10px;
  padding-left: 20px;
  text-align: left;
}
div.customer_ .destgoodslist_ {
  margin-top: 15px;
  margin-bottom: 20px;
  margin-left: 20px;
}
table.history_ {
  margin-bottom: 20px;
  width: 920px;
}
div.customer_ table.history_ {
  margin-left: 20px;
}
table.history_ th {
  font-weight: bold;
}
table.history_ td.order_dt_ {
  white-space: nowrap;
}
table.history_ td.order_detail_ ul {
  margin-bottom: 5px;
  text-align: left;
}
table.history_ td.order_detail_ ul li {
  list-style: none;
}
table.history_ td.order_detail_ p.order_again_ {
  display: block;
  margin: 5px 0;
  background: url(../../images/footer/list2.gif) no-repeat 0 10px;
  padding: 5px;
  padding-left: 10px;
  color: #006cb6;
}
table.history_ td.total_ {
  font-size: 14px;
  text-align: center;
}
ul.historydetail_ {
  margin: 10px auto;
  width: 18em;
}
ul.historydetail_ li a {
  background: url(../../images/footer/list2.gif) no-repeat 0 5px;
  padding-left: 8px;
  font-weight: bold;
}
ul.historydetail_ li {
  margin-bottom: 3px;
  margin-left: 8px;
  text-align: left;
}
.history_ship_ {
  margin-bottom: 15px;
  margin-left: 15px;
  text-align: left;
}
div.history.error_ {
  width: 948px;
}
div.historydetail.error_ {
  width: 100%;
}
div.history.error_ a,
div.historydetail.error_ a {
  font-weight: bold;
}
/* --------------------------------------------------------------------
	マイページ　カード情報確認
-------------------------------------------------------------------- */
div.cardedit_ {
  text-align: left;
}
div.cardedit_ table th {
  width: 16em;
}
div.cardedit_ table {
  margin-left: 20px;
}
/* 現在の登録内容 */
div.cardedit_info_ {
  margin-bottom: 20px;
}
/**/
td.card_ label {
  margin: 0 20px 0 5px;
}
div.cardedit_cycle_update {
  margin-bottom: 20px;
  text-align: left;
}
div.cardedit_cycle_update input[type=checkbox] {
  display: none;
}
div.cardedit_cycle_update input[type=checkbox] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-right: 12px;
  padding: 0 0 0 34px;
  font-weight: bold;
  font-size: 14px;
  line-height: 30px;
}
div.cardedit_cycle_update input[type=checkbox] + label::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  box-sizing: border-box;
  margin-top: -12px;
  border: 2px solid #ccc;
  background: #fff;
  width: 24px;
  height: 24px;
  content: "";
}
div.cardedit_cycle_update input[type=checkbox]:checked + label::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  box-sizing: border-box;
  margin-top: -6px;
  border-bottom: 4px solid #006cb5;
  border-left: 4px solid #006cb5;
  width: 20px;
  height: 8px;
  content: "";
}
table.op_mp_regular_cycle_card_info {
  box-sizing: border-box;
  margin: 0 0 5px !important;
  width: 100%;
}
p.regular_carderror_message {
  clear: both;
  margin-bottom: 10px;
  margin: 10px 0px 10px 0px !important;
  border: solid 1px #c41230;
  background-color: #fff3f5;
  padding: 8px 8px 8px 24px;
  color: #c41230;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
}
.card_error_link a {
  text-decoration: underline;
}
#o_form__wrap .cardedit_info_ p.o_form__error_txt {
  margin: 5px 0 0;
}
#o_form__wrap dl.cardedit_regular_cylcle_new_pattern_frame > dd.cardedit_time_spec_ {
  text-align: left;
}
#o_form__wrap .o_form__list .regular_sales_prediction_ table.cardedit_regular_cylcle_preview_cycle th {
  font-size: 17px;
}
/* --------------------------------------------------------------------
	マイページ　メールアドレス変更
-------------------------------------------------------------------- */
table.mailchange_ {
  margin-bottom: 10px;
}
table.mailchange_ th {
  width: 16em;
}
/* --------------------------------------------------------------------
	マイページ　ID変更
-------------------------------------------------------------------- */
table.idchange_ {
  margin-bottom: 10px;
}
table.idchange_ th {
  width: 16em;
}
/* --------------------------------------------------------------------
	マイページ　パスワード変更
-------------------------------------------------------------------- */
table.passchange_ {
  margin-bottom: 10px;
}
table.passchange_ th {
  width: 16em;
}
/* --------------------------------------------------------------------
	マイページ　お気に入り
-------------------------------------------------------------------- */
div.customer_ .bookmark_frame_ {
  margin-bottom: 10px;
  border-top: 1px dotted #ccc;
}
div.customer_ div.bookmark_item_ {
  border-bottom: 1px dotted #ccc;
  width: 100%;
  overflow: hidden;
}
div.bookmark_item_ div.cartgoods_ {
  display: inline;
  float: left;
  padding: 10px;
  width: 15px;
}
div.bookmark_item_ div.img_ {
  display: inherit;
  float: left;
  padding: 10px 10px 10px 0;
  width: 100px;
  overflow: hidden;
}
div.bookmark_item_ div.desc_ {
  display: inline;
  float: left;
  padding: 10px 0;
  width: 600px;
  text-align: left;
}
div.bookmark_item_ div.name_ {
  margin-bottom: 5px;
  margin-left: 20px;
}
div.bookmark_item_ div.spec_ {
  margin-bottom: 5px;
}
div.bookmark_item_ div.spec_ .updt_ {
  margin-left: 20px;
}
div.bookmark_item_ .comment_ {
  margin-left: 20px;
  background: url(../img/usr/mark.png) 0 center no-repeat;
  text-indent: 14px;
}
div.bookmark_item_ .edit_memo_ {
  margin-top: 5px;
  font-weight: bold;
}
div.bookmark_item_ .memo_ {
  border: 1px solid #ccc;
  background: #f8f8f8;
  padding: 5px;
}
div.bookmark_item_ div.del_ {
  display: inline;
  float: right;
  padding: 10px;
  width: 60px;
}
div.bookmark_buy_ {
  margin-bottom: 20px;
}
/* --------------------------------------------------------------------
	マイページ　入荷案内申し込み
-------------------------------------------------------------------- */
div.customer_ .backorder_frame_ {
  margin-bottom: 10px;
  border-top: 1px dotted #ccc;
}
div.customer_ div.backorder_item_ {
  border-bottom: 1px dotted #ccc;
  width: 100%;
  overflow: hidden;
  text-align: left;
}
div.backorder_item_ div.cartgoods_ {
  display: inline;
  float: left;
  padding: 10px;
  width: 15px;
}
div.backorder_item_ div.img_ {
  display: inherit;
  float: left;
  padding: 10px 10px 10px 0;
  width: 100px;
  overflow: hidden;
}
div.backorder_item_ div.img_ img {
  width: 100%;
  height: 100%;
}
div.backorder_item_ div.desc_ {
  display: inline;
  float: left;
  padding: 10px 0;
  width: 600px;
}
div.backorder_item_ div.name_ {
  margin-bottom: 5px;
  margin-left: 20px;
}
div.backorder_item_ div.spec_ {
  margin-bottom: 5px;
}
div.backorder_item_ div.rgdt_ {
  margin-bottom: 5px;
  margin-left: 20px;
}
div.backorder_item_ div.status_ {
  margin-bottom: 5px;
  margin-left: 20px;
}
div.backorder_item_ .edit_memo_ {
  margin-top: 5px;
  font-weight: bold;
}
div.backorder_item_ .memo_ {
  border: 1px solid #ccc;
  background: #f8f8f8;
  padding: 5px;
}
div.backorder_item_ div.del_ {
  display: inline;
  float: right;
  padding: 10px;
  width: 75px;
}
div.backorder_buy_ {
  margin-bottom: 20px;
}
/* --------------------------------------------------------------------
	マイページ　お問い合わせ
-------------------------------------------------------------------- */
div.contact_ table {
  margin-left: 20px;
  width: 920px;
}
/* new お問合せフォーム */
div.contact_ table.contact_ th {
  width: 16em;
}
div.contact_ div.contact_reform_ {
  margin: auto;
  text-align: center;
}
/* --------------------------------------------------------------------
	マイページ　お問い合わせ履歴
-------------------------------------------------------------------- */
/* お問合せ履歴 */
div.contact_ ul.contactlist_ {
  margin-left: 20px;
  text-align: left;
}
div.contact_ ul.contactlist_ li {
  border-bottom: 1px dotted #ccc;
  padding: 10px;
}
div.contact_ table.detaillistline_ {
  margin: 2px auto;
  border: dotted 1px;
}
/* お問合せ詳細 */
.contactdetail_title_ {
  margin-bottom: 20px;
  margin-left: 20px;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  padding: 10px;
  font-size: 14px;
  text-align: left;
}
.contactdetail_title_ .subject_ {
  margin-left: 20px;
  font-weight: bold;
}
.contactdetail_title_ .id_ {
  margin-left: 10px;
  font-size: 10px;
}
/* スレッド */
div.contactlist_ {
  margin-bottom: 20px;
}
div.contactlist_ .contactlist_goods_ {
  margin: 0 0 0 20px;
}
div.contactlist_line_ {
  margin-top: 10px;
  margin-left: 20px;
  border: 1px solid #629be5;
  width: 920px;
  overflow: hidden;
}
div.contactlist_line_ .contactlist_head_ {
  border-bottom: 1px solid #629be5;
  background: #d5e8fd;
  width: 100%;
  overflow: hidden;
}
div.contactlist_line_ .contactlist_head_ .name_ {
  display: inline;
  float: left;
  padding: 5px;
  width: 40%;
  font-weight: bold;
}
div.contactlist_line_ .contactlist_head_ .updt_ {
  display: inline;
  float: right;
  padding: 5px;
  width: 40%;
  text-align: right;
}
div.contactlist_line_ .comment_ {
  padding: 10px;
  text-align: left;
}
/* --------------------------------------------------------------------
	マイページ　退会
-------------------------------------------------------------------- */
table.withdrawal_ {
  margin-bottom: 10px;
}
table.withdrawal_ th {
  width: 16em;
}
/* --------------------------------------------------------------------
	マイページ　クーポン一覧
-------------------------------------------------------------------- */
table.coupon_list_ {
  margin-bottom: 20px;
}
div.customer_ table.coupon_list_ {
  margin-left: 20px;
  width: 920px;
}
table.coupon_list_ th {
  font-weight: bold;
  text-align: center;
}
table.coupon_list_ td.coupon_code_ {
  white-space: nowrap;
}
table.coupon_list_ td.coupon_price_ {
  text-align: right;
  white-space: nowrap;
}
table.coupon_list_ td.coupon_name_ {
  text-align: left;
}
table.coupon_list_ td.coupon_dt_ {
  text-align: left;
  white-space: nowrap;
}
table.coupon_list_ td.coupon_target_ {
  text-align: left;
}
/* --------------------------------------------------------------------
	マイページ　ポイント履歴
-------------------------------------------------------------------- */
table.point_list_ {
  margin-bottom: 20px;
}
div.customer_ table.point_list_ {
  margin-left: 20px;
  width: 920px;
}
/* --------------------------------------------------------------------
	マイページ　定期購入
-------------------------------------------------------------------- */
.regularhistory_skip_ {
  margin-bottom: 20px;
}
.regularhistory_withdrawal_ {
  margin-bottom: 20px;
}
div.customer_ .salesappend_ {
  margin-bottom: 15px;
  /*width:100%;*/
  margin-left: 20px;
}
div.customer_ .salesappend_ th {
  width: 200px;
}
.regularhistory_skip_ p {
  text-align: center;
}
/* --------------------------------------------------------------------
	マイページ　アドレス帳
-------------------------------------------------------------------- */
.custdest_ {
  width: 920px;
}
/* --------------------------------------------------------------------

-------------------------------------------------------------------- */
.employee_ {
  margin: 10px auto 20px;
  border-bottom: 1px dotted #ccc;
  padding: 10px;
  width: 600px;
  text-align: left;
}
.employee_ .employee_sale_cd_ {
  padding: 4px;
}
/* --------------------------------------------------------------------
	コンビニ等店頭受取
-------------------------------------------------------------------- */
div.dest_cvs_regular_ {
  margin: -60px 0 0px 0;
}
table.dest_cvs_regular_ tr.data_ td {
  vertical-align: middle;
}
div#dest_cvs_only_ {
  margin: 100px 0 20px 0;
}
/* --------------------------------------------------------------------
	トークン決済
-------------------------------------------------------------------- */
p#gmo_submit {
  text-align: center;
}
.not_withdrawal {
  color: #c4112f;
}
.modal-zip-info-condition {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  padding: 15px;
}
html.is-sp .modal-zip-info-condition {
  flex-direction: column;
}
.modal-zip-info-condition-pref,
.modal-zip-info-condition-addr {
  display: flex;
  justify-content: space-around;
}
html.is-sp .modal-zip-info-condition-pref,
html.is-sp .modal-zip-info-condition-addr {
  flex-direction: column;
}
.modal-zip-info-frame {
  padding: 15px;
}
.modal-zip-info-search-result {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-height: 570px;
  overflow: auto;
}
.modal-zip-info-condition-addr-data select {
  width: 150px;
}
.modal-zip-info-frame .error-message-area {
  padding: 8px;
  color: #cc0000;
  font-weight: bold;
  text-align: center;
}
.modal-zip-info-search-result-table .header-select,
.modal-zip-info-search-result-table .header-zip,
.modal-zip-info-search-result-table .header-pref,
.modal-zip-info-search-result-table .data-select,
.modal-zip-info-search-result-table .data-zip,
.modal-zip-info-search-result-table .data-pref {
  width: 11%;
}
.modal-zip-info-search-result-table .data-select-button {
  text-align: center;
}
.regulardest_dgcard_frame_in .coupon-name-header {
  width: 700px;
}
.regulardest_dgcard_frame_in .coupon-expires-header {
  width: 300px;
}
.regulardest_dgcard_frame_in .coupon-expires {
  vertical-align: middle;
}
div.customer_ table.giftcard_comp_ {
  margin: auto;
  width: 700px;
}
div.customer_ table.giftcard_comp_ th {
  width: 30%;
}
.modal-zip-info-search-result-table .modal-zip-info-search-result-body .data-select-button .select-data {
  font-size: 14px !important;
}
form a:link {
  color: #006cb6 !important;
}
.splide {
  width: 100%;
  height: 100%;
}
.splide__track {
  width: 100%;
  height: 100%;
}
.splide__list {
  width: 100%;
  height: 100%;
}
.splide__slide {
  position: relative;
  opacity: 1 !important;
}
.splide__slide img {
  z-index: 10;
  -webkit-mask-image: var(--mask);
          mask-image: var(--mask);
  mask-mode: alpha;
  -webkit-mask-position: 200% 160%;
          mask-position: 200% 160%;
  -webkit-mask-size: 200% 200%;
          mask-size: 200% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 1000ms;
}
.splide__slide img.--ripple {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1.15);
  transition: transform 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), transform 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), transform 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 1000ms;
}
.splide__slide.is-active img, .splide__slide.is-current img, .splide__slide.is-prev img {
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
}
.splide__slide.is-active img.--ripple, .splide__slide.is-current img.--ripple, .splide__slide.is-prev img.--ripple {
  transform: scale(1);
  transition: transform 6000ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), transform 6000ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), transform 6000ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 100ms;
}