.store {
  max-width: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px) {
  .store .only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .store .only-pc {
    display: none !important;
  }
}
.store .hover-opacity a,
.store .hover-opacity button,
.store .hover-opacity label {
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .hover-opacity a:hover,
  .store .hover-opacity button:hover,
  .store .hover-opacity label:hover {
    opacity: 0.6;
  }
}
@media (hover: none) {
  .store .hover-opacity a:active,
  .store .hover-opacity button:active,
  .store .hover-opacity label:active {
    opacity: 0.6;
  }
}
@media (hover: hover) {
  .store .hover-write a:hover span,
  .store .hover-write button:hover span,
  .store .hover-write label:hover span {
    background-size: 100% 1px;
  }
}
@media (hover: none) {
  .store .hover-write a:active span,
  .store .hover-write button:active span,
  .store .hover-write label:active span {
    background-size: 100% 1px;
  }
}
.store .hover-write a span,
.store .hover-write button span,
.store .hover-write label span {
  position: relative;
  background: linear-gradient(#231815) no-repeat left bottom/0% 1px;
  transition: background-size 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .hover-rewrite a:hover span::before,
  .store .hover-rewrite button:hover span::before,
  .store .hover-rewrite label:hover span::before {
    animation: rewrite-after 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
@media (hover: none) {
  .store .hover-rewrite a:active span::before,
  .store .hover-rewrite button:active span::before,
  .store .hover-rewrite label:active span::before {
    animation: rewrite-after 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
.store .hover-rewrite a span,
.store .hover-rewrite button span,
.store .hover-rewrite label span {
  position: relative;
}
.store .hover-rewrite a span::before,
.store .hover-rewrite button span::before,
.store .hover-rewrite label span::before {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #231815;
}
@keyframes rewrite-after {
  0% {
    scale: 1;
    transform-origin: right center;
  }
  50% {
    scale: 0 1;
    transform-origin: right center;
  }
  50.000001% {
    scale: 0 1;
    transform-origin: left center;
  }
  100% {
    scale: 1;
    transform-origin: left center;
  }
}
@media (hover: hover) {
  .store a:has(.hover-arrow):hover .hover-arrow::before {
    animation: translate-back 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
@media (hover: none) {
  .store a:has(.hover-arrow):active .hover-arrow::before {
    animation: translate-back 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
.store a:has(.hover-arrow) .hover-arrow {
  display: block;
  overflow: hidden;
}
.store a:has(.hover-arrow) .hover-arrow::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-mask: url("/assets/img/common/arw.svg") no-repeat center/contain;
          mask: url("/assets/img/common/arw.svg") no-repeat center/contain;
  will-change: translate;
}
@media (hover: hover) {
  .store .hover-image a:hover figure img,
  .store .hover-image button:hover figure img,
  .store .hover-image label:hover figure img {
    scale: 1.08;
  }
}
@media (hover: none) {
  .store .hover-image a:active figure img,
  .store .hover-image button:active figure img,
  .store .hover-image label:active figure img {
    scale: 1.08;
  }
}
.store .hover-image a figure,
.store .hover-image button figure,
.store .hover-image label figure {
  overflow: hidden;
}
.store .hover-image a figure img,
.store .hover-image button figure img,
.store .hover-image label figure img {
  transition: scale 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: scale;
}
.store .hover-black-button a,
.store .hover-black-button button,
.store .hover-black-button label {
  transition: border-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .hover-black-button a:hover,
  .store .hover-black-button button:hover,
  .store .hover-black-button label:hover {
    background-color: #fff !important;
    color: #231815 !important;
  }
  .store .hover-black-button a:hover::before, .store .hover-black-button a:hover::after,
  .store .hover-black-button button:hover::before,
  .store .hover-black-button button:hover::after,
  .store .hover-black-button label:hover::before,
  .store .hover-black-button label:hover::after {
    background-color: #231815 !important;
  }
}
@media (hover: none) {
  .store .hover-black-button a:active,
  .store .hover-black-button button:active,
  .store .hover-black-button label:active {
    background-color: #fff !important;
    color: #231815 !important;
  }
  .store .hover-black-button a:active::before, .store .hover-black-button a:active::after,
  .store .hover-black-button button:active::before,
  .store .hover-black-button button:active::after,
  .store .hover-black-button label:active::before,
  .store .hover-black-button label:active::after {
    background-color: #231815 !important;
  }
}
.store .hover-black-button a::before, .store .hover-black-button a::after,
.store .hover-black-button button::before,
.store .hover-black-button button::after,
.store .hover-black-button label::before,
.store .hover-black-button label::after {
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.store .hover-white-button a,
.store .hover-white-button button,
.store .hover-white-button label {
  transition: border-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .hover-white-button a:hover,
  .store .hover-white-button button:hover,
  .store .hover-white-button label:hover {
    border-color: #231815 !important;
    background-color: #231815 !important;
    color: #fff !important;
  }
  .store .hover-white-button a:hover::before, .store .hover-white-button a:hover::after,
  .store .hover-white-button button:hover::before,
  .store .hover-white-button button:hover::after,
  .store .hover-white-button label:hover::before,
  .store .hover-white-button label:hover::after {
    background-color: #fff !important;
  }
}
@media (hover: none) {
  .store .hover-white-button a:active,
  .store .hover-white-button button:active,
  .store .hover-white-button label:active {
    border-color: #231815 !important;
    background-color: #231815 !important;
    color: #fff !important;
  }
  .store .hover-white-button a:active::before, .store .hover-white-button a:active::after,
  .store .hover-white-button button:active::before,
  .store .hover-white-button button:active::after,
  .store .hover-white-button label:active::before,
  .store .hover-white-button label:active::after {
    background-color: #fff !important;
  }
}
.store .hover-white-button a::before, .store .hover-white-button a::after,
.store .hover-white-button button::before,
.store .hover-white-button button::after,
.store .hover-white-button label::before,
.store .hover-white-button label::after {
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@keyframes translate-back {
  0% {
    translate: 0;
  }
  50% {
    translate: 100% 0;
  }
  50.000001% {
    translate: -100% 0;
  }
  100% {
    translate: 0;
  }
}
.store .tips__nav__list.-fixed {
  top: 80px;
}
@media screen and (max-width: 768px) {
  .store .tips__nav__list.-fixed {
    top: 62px;
  }
}
.store .component-breadcrumb {
  /*
    Josh's Custom CSS Reset
    https://www.joshwcomeau.com/css/custom-css-reset/
  */
  width: 100%;
  max-width: calc(120 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  line-height: 1;
  margin-top: calc(3.8 * var(--rem));
}
@media screen and (min-width: 769px) {
  .store .component-breadcrumb .only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .store .component-breadcrumb .only-pc {
    display: none !important;
  }
}
.store .component-breadcrumb .hover-opacity a,
.store .component-breadcrumb .hover-opacity button,
.store .component-breadcrumb .hover-opacity label {
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-opacity a:hover,
  .store .component-breadcrumb .hover-opacity button:hover,
  .store .component-breadcrumb .hover-opacity label:hover {
    opacity: 0.6;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-opacity a:active,
  .store .component-breadcrumb .hover-opacity button:active,
  .store .component-breadcrumb .hover-opacity label:active {
    opacity: 0.6;
  }
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-write a:hover span,
  .store .component-breadcrumb .hover-write button:hover span,
  .store .component-breadcrumb .hover-write label:hover span {
    background-size: 100% 1px;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-write a:active span,
  .store .component-breadcrumb .hover-write button:active span,
  .store .component-breadcrumb .hover-write label:active span {
    background-size: 100% 1px;
  }
}
.store .component-breadcrumb .hover-write a span,
.store .component-breadcrumb .hover-write button span,
.store .component-breadcrumb .hover-write label span {
  position: relative;
  background: linear-gradient(#231815) no-repeat left bottom/0% 1px;
  transition: background-size 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-rewrite a:hover span::before,
  .store .component-breadcrumb .hover-rewrite button:hover span::before,
  .store .component-breadcrumb .hover-rewrite label:hover span::before {
    animation: rewrite-after 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-rewrite a:active span::before,
  .store .component-breadcrumb .hover-rewrite button:active span::before,
  .store .component-breadcrumb .hover-rewrite label:active span::before {
    animation: rewrite-after 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
.store .component-breadcrumb .hover-rewrite a span,
.store .component-breadcrumb .hover-rewrite button span,
.store .component-breadcrumb .hover-rewrite label span {
  position: relative;
}
.store .component-breadcrumb .hover-rewrite a span::before,
.store .component-breadcrumb .hover-rewrite button span::before,
.store .component-breadcrumb .hover-rewrite label span::before {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #231815;
}
@keyframes rewrite-after {
  0% {
    scale: 1;
    transform-origin: right center;
  }
  50% {
    scale: 0 1;
    transform-origin: right center;
  }
  50.000001% {
    scale: 0 1;
    transform-origin: left center;
  }
  100% {
    scale: 1;
    transform-origin: left center;
  }
}
@media (hover: hover) {
  .store .component-breadcrumb a:has(.hover-arrow):hover .hover-arrow::before {
    animation: translate-back 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
@media (hover: none) {
  .store .component-breadcrumb a:has(.hover-arrow):active .hover-arrow::before {
    animation: translate-back 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  }
}
.store .component-breadcrumb a:has(.hover-arrow) .hover-arrow {
  display: block;
  overflow: hidden;
}
.store .component-breadcrumb a:has(.hover-arrow) .hover-arrow::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-mask: url("/assets/img/common/arw.svg") no-repeat center/contain;
          mask: url("/assets/img/common/arw.svg") no-repeat center/contain;
  will-change: translate;
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-image a:hover figure img,
  .store .component-breadcrumb .hover-image button:hover figure img,
  .store .component-breadcrumb .hover-image label:hover figure img {
    scale: 1.08;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-image a:active figure img,
  .store .component-breadcrumb .hover-image button:active figure img,
  .store .component-breadcrumb .hover-image label:active figure img {
    scale: 1.08;
  }
}
.store .component-breadcrumb .hover-image a figure,
.store .component-breadcrumb .hover-image button figure,
.store .component-breadcrumb .hover-image label figure {
  overflow: hidden;
}
.store .component-breadcrumb .hover-image a figure img,
.store .component-breadcrumb .hover-image button figure img,
.store .component-breadcrumb .hover-image label figure img {
  transition: scale 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: scale;
}
.store .component-breadcrumb .hover-black-button a,
.store .component-breadcrumb .hover-black-button button,
.store .component-breadcrumb .hover-black-button label {
  transition: border-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-black-button a:hover,
  .store .component-breadcrumb .hover-black-button button:hover,
  .store .component-breadcrumb .hover-black-button label:hover {
    background-color: #fff !important;
    color: #231815 !important;
  }
  .store .component-breadcrumb .hover-black-button a:hover::before, .store .component-breadcrumb .hover-black-button a:hover::after,
  .store .component-breadcrumb .hover-black-button button:hover::before,
  .store .component-breadcrumb .hover-black-button button:hover::after,
  .store .component-breadcrumb .hover-black-button label:hover::before,
  .store .component-breadcrumb .hover-black-button label:hover::after {
    background-color: #231815 !important;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-black-button a:active,
  .store .component-breadcrumb .hover-black-button button:active,
  .store .component-breadcrumb .hover-black-button label:active {
    background-color: #fff !important;
    color: #231815 !important;
  }
  .store .component-breadcrumb .hover-black-button a:active::before, .store .component-breadcrumb .hover-black-button a:active::after,
  .store .component-breadcrumb .hover-black-button button:active::before,
  .store .component-breadcrumb .hover-black-button button:active::after,
  .store .component-breadcrumb .hover-black-button label:active::before,
  .store .component-breadcrumb .hover-black-button label:active::after {
    background-color: #231815 !important;
  }
}
.store .component-breadcrumb .hover-black-button a::before, .store .component-breadcrumb .hover-black-button a::after,
.store .component-breadcrumb .hover-black-button button::before,
.store .component-breadcrumb .hover-black-button button::after,
.store .component-breadcrumb .hover-black-button label::before,
.store .component-breadcrumb .hover-black-button label::after {
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.store .component-breadcrumb .hover-white-button a,
.store .component-breadcrumb .hover-white-button button,
.store .component-breadcrumb .hover-white-button label {
  transition: border-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .component-breadcrumb .hover-white-button a:hover,
  .store .component-breadcrumb .hover-white-button button:hover,
  .store .component-breadcrumb .hover-white-button label:hover {
    border-color: #231815 !important;
    background-color: #231815 !important;
    color: #fff !important;
  }
  .store .component-breadcrumb .hover-white-button a:hover::before, .store .component-breadcrumb .hover-white-button a:hover::after,
  .store .component-breadcrumb .hover-white-button button:hover::before,
  .store .component-breadcrumb .hover-white-button button:hover::after,
  .store .component-breadcrumb .hover-white-button label:hover::before,
  .store .component-breadcrumb .hover-white-button label:hover::after {
    background-color: #fff !important;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .hover-white-button a:active,
  .store .component-breadcrumb .hover-white-button button:active,
  .store .component-breadcrumb .hover-white-button label:active {
    border-color: #231815 !important;
    background-color: #231815 !important;
    color: #fff !important;
  }
  .store .component-breadcrumb .hover-white-button a:active::before, .store .component-breadcrumb .hover-white-button a:active::after,
  .store .component-breadcrumb .hover-white-button button:active::before,
  .store .component-breadcrumb .hover-white-button button:active::after,
  .store .component-breadcrumb .hover-white-button label:active::before,
  .store .component-breadcrumb .hover-white-button label:active::after {
    background-color: #fff !important;
  }
}
.store .component-breadcrumb .hover-white-button a::before, .store .component-breadcrumb .hover-white-button a::after,
.store .component-breadcrumb .hover-white-button button::before,
.store .component-breadcrumb .hover-white-button button::after,
.store .component-breadcrumb .hover-white-button label::before,
.store .component-breadcrumb .hover-white-button label::after {
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@keyframes translate-back {
  0% {
    translate: 0;
  }
  50% {
    translate: 100% 0;
  }
  50.000001% {
    translate: -100% 0;
  }
  100% {
    translate: 0;
  }
}
.store .component-breadcrumb .tips__nav__list.-fixed {
  top: 80px;
}
@media screen and (max-width: 768px) {
  .store .component-breadcrumb .tips__nav__list.-fixed {
    top: 62px;
  }
}
.store .component-breadcrumb *,
.store .component-breadcrumb *::before,
.store .component-breadcrumb *::after {
  box-sizing: border-box;
}
.store .component-breadcrumb * {
  margin: 0;
}
.store .component-breadcrumb body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.store .component-breadcrumb img,
.store .component-breadcrumb picture,
.store .component-breadcrumb video,
.store .component-breadcrumb canvas,
.store .component-breadcrumb svg {
  display: block;
  max-width: 100%;
}
.store .component-breadcrumb input,
.store .component-breadcrumb button,
.store .component-breadcrumb textarea,
.store .component-breadcrumb select {
  font: inherit;
}
.store .component-breadcrumb p,
.store .component-breadcrumb h1,
.store .component-breadcrumb h2,
.store .component-breadcrumb h3,
.store .component-breadcrumb h4,
.store .component-breadcrumb h5,
.store .component-breadcrumb h6 {
  overflow-wrap: break-word;
}
.store .component-breadcrumb #root,
.store .component-breadcrumb #__next {
  isolation: isolate;
}
.store .component-breadcrumb * {
  letter-spacing: 0.1em;
}
.store .component-breadcrumb *:not(:has(a)) {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
}
.store .component-breadcrumb a,
.store .component-breadcrumb button {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
  cursor: pointer !important;
}
.store .component-breadcrumb a *,
.store .component-breadcrumb button * {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
  cursor: pointer !important;
}
.store .component-breadcrumb h1,
.store .component-breadcrumb h2,
.store .component-breadcrumb h3,
.store .component-breadcrumb h4,
.store .component-breadcrumb h5,
.store .component-breadcrumb h6 {
  font-size: inherit;
  font-weight: inherit;
}
.store .component-breadcrumb ul,
.store .component-breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.store .component-breadcrumb a {
  color: #231815;
  text-decoration: none;
}
.store .component-breadcrumb em {
  font-style: normal;
}
.store .component-breadcrumb sup {
  font-size: 0.5em;
}
.store .component-breadcrumb img,
.store .component-breadcrumb picture,
.store .component-breadcrumb video,
.store .component-breadcrumb canvas,
.store .component-breadcrumb svg {
  height: auto;
}
.store .component-breadcrumb svg {
  overflow: visible;
}
.store .component-breadcrumb img,
.store .component-breadcrumb iframe,
.store .component-breadcrumb video {
  display: block;
  width: 100%;
  height: auto;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  pointer-events: auto;
}
.store .component-breadcrumb picture {
  display: contents;
}
.store .component-breadcrumb button {
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  touch-action: manipulation;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .store .component-breadcrumb {
    width: auto;
    margin-top: calc(1.6 * var(--rem));
    padding-right: calc(2 * var(--rem));
    padding-left: calc(2 * var(--rem));
  }
}
.store .component-breadcrumb .component-breadcrumb-links {
  display: flex;
}
.store .component-breadcrumb .component-breadcrumb-links__item:not(:has(a)), .store .component-breadcrumb .component-breadcrumb-links__item a span {
  display: flex;
  align-items: center;
  font-size: calc(1.2 * var(--rem));
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .store .component-breadcrumb .component-breadcrumb-links__item:not(:has(a)), .store .component-breadcrumb .component-breadcrumb-links__item a span {
    font-size: calc(1 * var(--rem));
  }
}
.store .component-breadcrumb .component-breadcrumb-links__item {
  display: flex;
  align-items: center;
}
.store .component-breadcrumb .component-breadcrumb-links__item a span {
  padding: calc(0.2 * var(--rem)) 0;
  color: #898989;
  transition: background-size 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .store .component-breadcrumb .component-breadcrumb-links__item a span:hover {
    color: #231815;
  }
}
@media (hover: none) {
  .store .component-breadcrumb .component-breadcrumb-links__item a span:active {
    color: #231815;
  }
}
.store .component-breadcrumb .component-breadcrumb-links__item:nth-of-type(n + 2)::before {
  margin: 0 calc(1.2 * var(--rem));
  content: "/";
}
@media screen and (max-width: 768px) {
  .store .component-breadcrumb .component-breadcrumb-links__item:nth-of-type(n + 2)::before {
    margin: 0 calc(1 * var(--rem));
  }
}
.store .component-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
.store .component-modal:has(.component-modal__content.is-modal-active) {
  opacity: 1;
  visibility: visible;
}
.store .component-modal__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #231815;
  opacity: 0.3;
}
.store .component-modal__wrapper {
  position: absolute;
  inset: 0;
  overflow: auto;
  pointer-events: none;
}
.store .component-modal__inner {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 100%;
  padding: calc(11 * var(--rem)) 0;
}
@media screen and (max-width: 768px) {
  .store .component-modal__inner {
    padding: calc(8 * var(--rem)) calc(2 * var(--rem));
  }
}
.store .component-modal__inner > * {
  pointer-events: auto;
}
.store .component-modal__close {
  position: absolute;
  top: calc(-4 * var(--rem));
  right: 0;
}
.store .component-modal__close button {
  width: calc(2 * var(--rem));
  height: calc(2 * var(--rem));
  display: block;
  position: relative;
}
.store .component-modal__close button::before, .store .component-modal__close button::after {
  display: block;
  width: calc(2.5 * var(--rem));
  height: calc(0.2 * var(--rem));
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: calc(0.2 * var(--rem));
  background-color: #fff;
  transition: translate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), rotate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: translate, scale;
}
.store .component-modal__close button::before {
  rotate: -45deg;
}
.store .component-modal__close button::after {
  rotate: 45deg;
}
.store .component-modal__content {
  width: 100%;
  max-width: calc(96 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.store .component-modal__movie iframe {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .store .component-modal__movie--responsive iframe {
    aspect-ratio: 9/16;
  }
}
.store .component-partial {
  /*
    Josh's Custom CSS Reset
    https://www.joshwcomeau.com/css/custom-css-reset/
  */
  font-weight: 400;
  font-size: calc(1.4 * var(--rem));
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
  font-family: Yakuhanjp, "Noto Sans JP", sans-serif;
  text-align: justify;
  word-break: break-all;
  font-feature-settings: "palt" 1;
  font-optical-sizing: auto;
}
.store .component-partial *,
.store .component-partial *::before,
.store .component-partial *::after {
  box-sizing: border-box;
}
.store .component-partial * {
  margin: 0;
}
.store .component-partial body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.store .component-partial img,
.store .component-partial picture,
.store .component-partial video,
.store .component-partial canvas,
.store .component-partial svg {
  display: block;
  max-width: 100%;
}
.store .component-partial input,
.store .component-partial button,
.store .component-partial textarea,
.store .component-partial select {
  font: inherit;
}
.store .component-partial p,
.store .component-partial h1,
.store .component-partial h2,
.store .component-partial h3,
.store .component-partial h4,
.store .component-partial h5,
.store .component-partial h6 {
  overflow-wrap: break-word;
}
.store .component-partial #root,
.store .component-partial #__next {
  isolation: isolate;
}
.store .component-partial * {
  letter-spacing: 0.1em;
}
.store .component-partial *:not(:has(a)) {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
}
.store .component-partial a,
.store .component-partial button {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
  cursor: pointer !important;
}
.store .component-partial a *,
.store .component-partial button * {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
  cursor: pointer !important;
}
.store .component-partial h1,
.store .component-partial h2,
.store .component-partial h3,
.store .component-partial h4,
.store .component-partial h5,
.store .component-partial h6 {
  font-size: inherit;
  font-weight: inherit;
}
.store .component-partial ul,
.store .component-partial ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.store .component-partial a {
  color: #231815;
  text-decoration: none;
}
.store .component-partial em {
  font-style: normal;
}
.store .component-partial sup {
  font-size: 0.5em;
}
.store .component-partial img,
.store .component-partial picture,
.store .component-partial video,
.store .component-partial canvas,
.store .component-partial svg {
  height: auto;
}
.store .component-partial svg {
  overflow: visible;
}
.store .component-partial img,
.store .component-partial iframe,
.store .component-partial video {
  display: block;
  width: 100%;
  height: auto;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  pointer-events: auto;
}
.store .component-partial picture {
  display: contents;
}
.store .component-partial button {
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  touch-action: manipulation;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .store .component-partial {
    padding-right: 0;
    padding-left: 0;
    font-size: calc(1.2 * var(--rem));
    line-height: 2;
  }
}
.store .section__inner {
  width: 100%;
  max-width: calc(120 * var(--rem));
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .store .section__inner {
    padding-right: calc(2 * var(--rem));
    padding-left: calc(2 * var(--rem));
  }
}
.store .section__link a {
  padding: calc(0.8 * var(--rem)) 0;
  font-size: calc(1.2 * var(--rem));
  letter-spacing: 0.2em;
}
.store > * {
  width: 100%;
  max-width: calc(96 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  padding-right: 0;
  padding-left: 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .store > * {
    width: auto;
    max-width: 1000px;
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (min-width: 1281px) {
  .store > * {
    width: 100%;
    max-width: calc(96 * var(--rem));
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .store > * {
    width: auto;
    padding-right: calc(1.5 * var(--rem));
    padding-left: calc(1.5 * var(--rem));
  }
}
.store .store-hero {
  max-width: 100% !important;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .store .store-hero {
    margin-top: calc(5.3 * var(--rem));
  }
}
.store .store-hero__heading {
  width: 100%;
  max-width: calc(120 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: calc(0 * var(--rem)) calc(4.2 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-hero__heading {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 calc(2 * var(--rem));
  }
}
.store .store-hero__heading-en {
  font-size: calc(5 * var(--rem));
  font-family: Yakuhanjp, "Figtree", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .store .store-hero__heading-en {
    font-size: calc(3 * var(--rem));
  }
}
@media screen and (max-width: 768px) {
  .store .store-hero__heading-ja {
    margin-top: calc(0.4 * var(--rem));
  }
}
.store .store-hero__image {
  margin-top: calc(9.6 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-hero__image {
    margin-top: calc(7.6 * var(--rem));
  }
}
.store .store-news {
  padding-top: calc(9.2 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-news {
    padding-top: calc(5 * var(--rem));
  }
}
.store .store-news__heading {
  font-size: calc(2 * var(--rem)) !important;
  text-align: center;
}
.store .store-news__body {
  margin-top: calc(0.8 * var(--rem));
  padding: calc(1.2 * var(--rem)) calc(2 * var(--rem)) calc(1.4 * var(--rem));
  border-top: 1px solid #b0b8bf;
  border-bottom: 1px solid #b0b8bf;
}
@media screen and (max-width: 768px) {
  .store .store-news__body {
    padding: calc(1 * var(--rem)) 0 calc(1.2 * var(--rem));
  }
}
.store .store-news__lead {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .store .store-news__lead {
    text-align: left;
  }
}
.store .store-news__button {
  margin-top: calc(0.4 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 768px) {
  .store .store-news__button {
    margin-top: calc(0.8 * var(--rem));
  }
}
.store .store-news__button button span {
  position: relative;
  font-size: calc(1.2 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-news__button button span {
    font-size: calc(1 * var(--rem));
  }
}
.store .store-news__button button span::before, .store .store-news__button button span::after {
  display: block;
  width: calc(1.1 * var(--rem));
  height: 1px;
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-2.3 * var(--rem));
  translate: 0 -50%;
  background-color: #231815;
  transition: rotate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: rotate;
}
.store .store-news__button button span::before {
  rotate: -90deg;
}
.store .store-news__button button.is-clicked span::before {
  rotate: 0deg;
}
.store .store-news:has(.is-clicked) .store-news__wrapper {
  grid-template-rows: 1fr;
}
.store .store-news__wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.store .store-news__inner {
  overflow: hidden;
}
.store .store-news__content {
  width: 100%;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(1.6 * var(--rem));
  padding-left: 1.2em;
  padding-bottom: calc(0.8 * var(--rem));
  text-indent: -1.2em;
}
.store .component-store-buttons {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .store .component-store-buttons {
    flex-direction: column;
    gap: calc(1.2 * var(--rem)) !important;
  }
}
.store .component-store-buttons__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(39.8 * var(--rem));
  height: calc(6 * var(--rem));
  gap: calc(1 * var(--rem));
  border: 1px solid #231815;
}
@media screen and (max-width: 768px) {
  .store .component-store-buttons__item a {
    width: 100%;
  }
}
@media (hover: hover) {
  .store .component-store-buttons__item a:hover[target=_blank]::after {
    background-color: #fff;
  }
}
@media (hover: none) {
  .store .component-store-buttons__item a:active[target=_blank]::after {
    background-color: #fff;
  }
}
.store .component-store-buttons__item a[target=_blank]::after {
  display: block;
  width: calc(1 * var(--rem));
  height: calc(1 * var(--rem));
  content: "";
  background-color: #231815;
  -webkit-mask: url("/assets/img/common/icn_window.svg") no-repeat center/contain;
          mask: url("/assets/img/common/icn_window.svg") no-repeat center/contain;
}
.store .store-nav {
  width: 100%;
  max-width: calc(82.2 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(10.2 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-nav {
    padding-top: calc(6.4 * var(--rem));
  }
}
.store .store-nav .component-store-buttons {
  gap: calc(2.6 * var(--rem));
}
.store .store-nav__text {
  margin-top: calc(3.2 * var(--rem));
  text-align: center;
}
.store .store-nav__text a span {
  padding-bottom: calc(0.8 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store nav[role=navigation] {
    padding-top: calc(2.8 * var(--rem)) !important;
  }
}
.store .store-banners {
  width: 100%;
  max-width: calc(82.2 * var(--rem));
  margin-left: auto;
  margin-right: auto;
  padding: calc(6.6 * var(--rem)) 0 calc(3 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-banners {
    padding: calc(6.2 * var(--rem)) 0 calc(10 * var(--rem));
  }
}
.store .store-banners .store-banners-contents {
  display: flex;
  gap: calc(1.2 * var(--rem)) calc(2.6 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-banners .store-banners-contents {
    flex-direction: column;
  }
}
.store .store-banners .store-banners-contents__item {
  width: 100%;
}
.store .store-banners .store-banners-contents__item a {
  display: block;
  position: relative;
  height: calc(9.7 * var(--rem));
  padding-top: calc(2.2 * var(--rem));
  border: 1px solid #231815;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .store .store-banners .store-banners-contents__item a {
    height: calc(8.3 * var(--rem));
    padding-top: calc(2 * var(--rem));
  }
}
@media (hover: hover) {
  .store .store-banners .store-banners-contents__item a:hover {
    opacity: 1;
  }
  .store .store-banners .store-banners-contents__item a:hover .hover-arrow::before {
    background-color: #fff;
  }
}
@media (hover: none) {
  .store .store-banners .store-banners-contents__item a:active {
    opacity: 1;
  }
  .store .store-banners .store-banners-contents__item a:active .hover-arrow::before {
    background-color: #fff;
  }
}
.store .store-banners .store-banners-contents__item a .hover-arrow {
  width: calc(0.8 * var(--rem));
  height: calc(1.3 * var(--rem));
  position: absolute;
  top: 50%;
  right: calc(0.8 * var(--rem));
  translate: 0 -50%;
}
.store .store-banners .store-banners-contents__item a .hover-arrow::before {
  -webkit-mask-image: url("/assets/img/common/arw_line.svg");
          mask-image: url("/assets/img/common/arw_line.svg");
  background-color: #231815;
}
.store .store-banners .store-banners-contents__label {
  font-size: calc(2.2 * var(--rem));
  font-family: Yakuhanjp, "futura-pt", sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .store .store-banners .store-banners-contents__label {
    font-size: calc(2 * var(--rem));
  }
}
.store .store-banners .store-banners-contents__text {
  margin-top: calc(0.6 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-banners .store-banners-contents__text {
    margin-top: calc(0.4 * var(--rem));
  }
}
.store .ginza-bnr img {
  padding-top: calc(6 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .ginza-bnr img {
    padding-top: calc(1 * var(--rem));
  }
}
.store #kanto_limitedshop {
  margin-top: calc(7 * var(--rem));
}
.store .store-other {
  padding: calc(5.2 * var(--rem)) 0 calc(20 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-other {
    padding: calc(3 * var(--rem)) 0 calc(11.8 * var(--rem));
  }
}
.store .store-other__heading {
  font-size: calc(2 * var(--rem)) !important;
  text-align: center;
}
.store .store-other .component-store-buttons {
  gap: calc(1 * var(--rem));
  margin-top: calc(3.4 * var(--rem));
}
@media screen and (max-width: 768px) {
  .store .store-other .component-store-buttons {
    margin-top: calc(2.8 * var(--rem));
  }
}