*:where(:not(html, div, iframe, canvas, img, svg, video, audio, svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
     -moz-appearance: revert;
          appearance: revert;
}

pre {
  all: revert;
}

dt {
  font-weight: inherit;
  line-height: inherit;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  line-break: after-white-space;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

:where(a, button, summary, label, input, select, textarea):focus-visible {
  outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
}

:root {
  --base-vw: 375;
  --en-font: "Poppins", sans-serif;
  --jp-font: "Zen Kaku Gothic New", sans-serif;
  --black: #000;
  --white: #fff;
  --light-beige: #f8f8ed;
  --beige: #f4f3de;
  --dark-beige: #dbdacc;
  --dark-yellow: #b29208;
  --dark-brown: #391f00;
  --ease-career-ark: cubic-bezier(0.39, -0.01, 0.16, 0.78);
  --ease-career-ark-expo: cubic-bezier(0.79, -0.01, 0, 1);
  --ease-in-out: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-out: cubic-bezier(0.165, 0.84, 0.44, 1);
  --z-base: 0;
  --z-header: 100;
  --z-menu: 101;
  --z-menu-btn: 102;
  --z-opening: 103;
}

@media screen and (min-width: 768px) {
  :root {
    --base-vw: 1366;
  }
}
html {
  font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
  background-color: var(--white);
  font-family: "Zen Kaku Gothic New", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  color: var(--black);
  font-weight: 500;
}

a {
  display: block;
  color: currentcolor;
  cursor: pointer;
}

button {
  color: currentcolor;
  cursor: pointer;
}

details {
  cursor: pointer;
}

video,
img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

svg {
  display: block;
  width: 100%;
  height: 100%;
}

.preload * {
  transition: none !important;
}

.lContainer {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.lContainer.is-open {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.lMain {
  flex: 1;
  overflow: hidden;
}

.uVisuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.uDpNone {
  display: none;
}
.uDpNone--md {
  display: none;
}

@media screen and (min-width: 768px) {
  .uDpNone--sp {
    display: none;
  }
  .uDpNone--md {
    display: inherit;
  }
}
@keyframes hoverText {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(100%, 0);
  }
  50.1% {
    transform: translate(-100%, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes hoverPageTop {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(100%, 0);
  }
  50.1% {
    transform: translate(-100%, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
.js-fadeUp-target {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(10px);
  transition: opacity 0.6s var(--ease-in-out), filter 0.6s var(--ease-in-out), transform 0.6s var(--ease-in-out);
}
.js-fadeUp-target.is-active {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

@media (hover: hover) {
  .js-roletext {
    overflow: hidden;
  }
  .js-roletext-target {
    position: relative;
    line-height: 1.3;
    display: inline-block;
    overflow: visible;
  }
  .js-roletext-target::after {
    position: absolute;
    top: 100%;
    left: 0;
    content: attr(data-text);
    line-height: 1.3;
  }
  .cHoverLine::after {
    transform-origin: right;
    transition: transform 0.36s var(--ease-career-ark);
  }
  .cHoverLine:hover::after {
    transform: scaleX(0);
  }
  .cHoverImage__image {
    overflow: hidden;
  }
  .cHoverImage__image img {
    transition: transform 0.36s var(--ease-in-out);
  }
  .cHoverImage:hover .cHoverImage__image img {
    transform: scale(1.06);
  }
  .cHoverOpacity {
    transition: opacity 0.24s var(--ease-in-out);
  }
  .cHoverOpacity:hover {
    opacity: 0.5;
  }
}
.lHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: var(--z-header);
  mix-blend-mode: exclusion;
}
.lHeader__inner {
  padding: 4.87vw 19.73vw 0 6.4vw;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.lHeader__links a {
  font-family: var(--jp-font);
  color: var(--white);
}
.lHeader__iconLinks {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2.67vw;
}
.lHeader__iconLinks_link {
  width: 9.07vw;
  height: 9.07vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lHeader__iconLinks_icon--cart {
  width: 5.6vw;
}
.lHeader__iconLinks_icon--mypage {
  width: 5.33vw;
}

@media screen and (min-width: 768px) {
  .lHeader__inner {
    padding: min(calc(31rem / 10), calc(2.27vw + 3.1rem - 31px)) min(41px, 3vw) 0;
    gap: min(40px, 2.93vw);
  }
  .lHeader__links {
    color: var(--white);
    font-size: min(calc(14rem / 10), calc(1.02vw + 1.4rem - 14px));
    letter-spacing: 0.04em;
    line-height: 2.42;
    display: flex;
    align-items: center;
    gap: min(24px, 1.76vw);
  }
  .lHeader__links_link {
    line-height: 1.3;
  }
  .lHeader__links_link::after {
    left: min(12px, 0.88vw);
  }
  .lHeader__iconLinks {
    gap: min(16px, 1.17vw);
  }
  .lHeader__iconLinks_link {
    width: min(30px, 2.2vw);
    height: min(30px, 2.2vw);
  }
  .lHeader__iconLinks_icon--cart {
    width: min(22px, 1.61vw);
  }
  .lHeader__iconLinks_icon--mypage {
    width: min(20px, 1.46vw);
  }
}
.lMenuBtn {
  position: fixed;
  top: 4.87vw;
  right: 6.4vw;
  width: 8.53vw;
  height: 9.07vw;
  mix-blend-mode: exclusion;
  z-index: var(--z-menu-btn);
}
.lMenuBtn__inner {
  width: 100%;
  height: 3.2vw;
  position: relative;
  display: block;
}
.lMenuBtn__inner span {
  display: block;
  width: 100%;
  height: max(1px, 0.27vw);
  background-color: var(--white);
  position: absolute;
  left: 0;
}
.lMenuBtn__inner span:first-child {
  top: 0;
  transform-origin: top left;
  transition: transform 0.48s var(--ease-career-ark);
}
.lMenuBtn__inner span:nth-child(2) {
  top: calc(50% - 0.5px);
  transition: opacity 0.48s var(--ease-career-ark);
}
.lMenuBtn__inner span:last-child {
  top: 3.2vw;
  transform-origin: bottom left;
  transition: transform 0.48s var(--ease-career-ark);
}
.lMenuBtn.is-show {
  opacity: 1;
}

.lMenu__inner {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-menu);
  overflow: auto;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.48s var(--ease-career-ark);
  pointer-events: none;
}
.lMenu__wrapper {
  width: 100%;
  height: 100%;
}
.lMenu__content {
  width: 100%;
  padding-top: max(12.27vw, 6.9vh);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.lMenu__topWrapper {
  flex-shrink: 0;
}
.lMenu__logo {
  width: 54vw;
  margin: 0 40.53vw 0 15.2vw;
}
.lMenu__iconLinks {
  margin: max(11.47vw, 6.45vh) 14.67vw 0;
  display: flex;
  align-items: center;
  gap: 10.4vw;
}
.lMenu__iconLinks_item:nth-child(2) {
  padding-left: 5.67vw;
  position: relative;
}
.lMenu__iconLinks_item:nth-child(2)::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  height: max(calc(30rem / 10), 8vw);
  width: max(1px, 0.27vw);
  background-image: linear-gradient(to bottom, #000, #000 max(1px, 0.27vw), transparent max(1px, 0.27vw), transparent max(4px, 1.07vw));
  background-size: max(1px, 0.27vw) max(4px, 1.07vw);
  background-position: left top;
  background-repeat: repeat-y;
}
.lMenu__iconLinks_link {
  display: flex;
  align-items: center;
  pointer-events: auto;
}
.lMenu__iconLinks_icon--cart {
  width: 5.6vw;
  margin-right: 4vw;
  border-style: initial;
  max-width: initial;
}
.lMenu__iconLinks_icon--mypage {
  width: 5.33vw;
  margin-right: 2.93vw;
}
.lMenu__iconLinks_text {
  font-size: max(calc(14rem / 10), 3.73vw);
  letter-spacing: 0.02em;
  line-height: 1.71;
}
.lMenu__iconLinks_text--mypage {
  padding-bottom: max(calc(3rem / 10), 0.8vw);
}
.lMenu__links {
  margin-top: max(8.8vw, 4.95vh);
  background-color: var(--light-beige);
  padding: max(8.53vw, 8.53vh) 13.33vw max(13.6vw, 13.6vh);
}
.lMenu__links a {
  color: var(--black);
}
.lMenu__links a:visited {
  color: var(--black);
}
.lMenu__linksMain {
  display: grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 10.67vw;
       column-gap: 10.67vw;
  row-gap: max(4.8vw, 2.7vh);
  font-size: max(calc(14rem / 10), 3.73vw);
  letter-spacing: 0.04em;
  line-height: 2.42;
}
.lMenu__linksMain_item:first-child {
  grid-column: 1/2;
  grid-row: 1/2;
}
.lMenu__linksMain_item:nth-child(2) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.lMenu__linksMain_item:nth-child(3) {
  grid-column: 2/3;
  grid-row: 1/2;
}
.lMenu__linksMain_item:nth-child(4) {
  grid-column: 2/3;
  grid-row: 2/3;
}
.lMenu__linksMain_link {
  width: -moz-fit-content;
  width: fit-content;
}
.lMenu__linksSub {
  position: relative;
  margin-top: max(8vw, 4.5vh);
  padding-top: max(10.4vw, 5.85vh);
  font-size: max(calc(13rem / 10), 3.47vw);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.71;
  display: flex;
  flex-direction: column;
  gap: max(3.47vw, 1.95vh);
}
.lMenu__linksSub::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: max(1px, 0.27vw);
  background-image: linear-gradient(to right, #000, #000 max(1px, 0.27vw), transparent max(1px, 0.27vw), transparent max(4px, 1.07vw));
  background-size: max(4px, 1.07vw) max(1px, 0.27vw);
  background-position: left top;
  background-repeat: repeat-x;
}
.lMenu__linksSub_link {
  width: -moz-fit-content;
  width: fit-content;
}
.lMenu__copyright {
  position: relative;
  padding: max(1.33vw, 0.75vh) 13.07vw max(3.2vw, 1.8vh);
  z-index: 1;
}
.lMenu__copyright_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
}
.lMenu__copyright_bg img {
  height: 100%;
}
.lMenu__copyright_text {
  color: var(--white);
  font-size: calc(2.67vw + 1rem - 10px);
  font-family: var(--en-font);
  letter-spacing: 0.06em;
}

.menu-open {
  min-height: 100vh;
}
.menu-open .lMenuBtn__inner span:first-child {
  transform: rotate(45deg) translate(0, min(-7px, -1.87vw));
}
.menu-open .lMenuBtn__inner span:nth-child(2) {
  opacity: 0;
}
.menu-open .lMenuBtn__inner span:last-child {
  transform: rotate(-45deg) translate(0, min(7px, 1.87vw));
}
.menu-open .lMenu__inner {
  opacity: 1;
  pointer-events: auto;
}

.cSubPage {
  position: relative;
  padding: calc(40.8vw + 15.3rem - 153px) 8vw max(calc(120rem / 10), 32vw);
}
.cSubPage__logo {
  width: 44.27vw;
  position: absolute;
  top: 5.33vw;
  left: 5.33vw;
  z-index: var(--z-header);
}
.cSubPage__headline_en {
  font-size: max(calc(11rem / 10), 2.93vw);
  font-family: var(--en-font);
  letter-spacing: 0.14em;
}
.cSubPage__headline_jp {
  margin-top: max(calc(11rem / 10), 2.93vw);
  font-size: max(calc(24rem / 10), 6.4vw);
  letter-spacing: 0.02em;
  line-height: 1.83;
  margin-bottom: 0;
}
.cSubPage__body {
  margin-top: calc(13.6vw + 5.1rem - 51px);
}

@media screen and (min-width: 768px) {
  .cSubPage {
    display: flex;
    justify-content: center;
    padding: min(calc(253rem / 10), calc(18.52vw + 25.3rem - 253px)) min(115px, 8.42vw) min(calc(158rem / 10), calc(11.57vw + 15.8rem - 158px)) 0;
    gap: min(116px, 8.49vw);
  }
  .cSubPage__logo {
    width: min(333px, 19.74vw);
    top: min(33px, 2.42vw);
    left: min(48px, 3.51vw);
  }
  .cSubPage__head {
    width: min(330px, 24.16vw);
    padding-left: min(80px, 5.86vw);
  }
  .cSubPage__headline_en {
    font-size: min(calc(11rem / 10), calc(0.81vw + 1.1rem - 11px));
  }
  .cSubPage__headline_jp {
    margin-top: min(calc(11rem / 10), calc(0.81vw + 1.1rem - 11px));
    font-size: min(calc(24rem / 10), calc(1.76vw + 2.4rem - 24px));
  }
  .cSubPage__body {
    margin-top: 0;
  }
}
.fs-preview-header {
  display: none;
}

.p404 {
  padding-top: calc(42.67vw + 16rem - 160px);
}
.p404__text {
  font-size: calc(3.73vw + 1.4rem - 14px);
  letter-spacing: 0.02em;
  line-height: 1.71;
}
.p404__back {
  margin-top: calc(14.4vw + 5.4rem - 54px);
  padding: calc(4.8vw + 1.8rem - 18px) 8vw;
  border: solid max(1px, 0.27vw) currentColor;
  border-radius: calc(7.47vw + 2.8rem - 28px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p404__back_text {
  font-size: calc(3.73vw + 1.4rem - 14px);
  letter-spacing: 0.02em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p404 {
    padding-top: min(253px, calc(18.52vw + 25.3rem - 253px));
    gap: min(90px, 6.59vw);
  }
  .p404__head {
    width: min(355px, 25.99vw);
  }
  .p404__text {
    margin-top: max(-5px, -0.37vw);
    font-size: min(15px, calc(1.1vw + 1.5rem - 15px));
    letter-spacing: 0.06em;
    line-height: 2.13;
    width: min(805px, 58.93vw);
  }
  .p404__back {
    width: min(315px, 23.06vw);
    margin-top: min(57px, calc(4.17vw + 5.7rem - 57px));
    padding: min(calc(18rem / 10), calc(1.32vw + 1.8rem - 18px)) min(30px, 2.2vw);
    border: solid 1px currentColor;
    border-radius: min(28px, calc(2.05vw + 2.8rem - 28px));
  }
  .p404__back_text {
    font-size: min(calc(14rem / 10), calc(1.02vw + 1.4rem - 14px));
  }
}/*# sourceMappingURL=common.css.map */