@charset "UTF-8";
*, ::before, ::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

:where(html) {
  line-height: 1.15;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

:where(body) {
  margin: 0;
}

:where(main) {
  display: block;
}

:where(p, table, blockquote, address, pre, iframe, form, figure, dl) {
  margin: 0;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

:where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(dt) {
  font-weight: bold;
}

:where(dd) {
  margin-left: 0;
}

:where(hr) {
  clear: both;
  overflow: visible;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  height: 0;
  border-top-width: 1px;
  color: inherit;
}

:where(pre) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(address) {
  font-style: inherit;
}

:where(a) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

:where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

:where(b, strong) {
  font-weight: bolder;
}

:where(code, kbd, samp) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(small) {
  font-size: 80%;
}

:where(sub, sup) {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(svg, img, embed, object, iframe) {
  vertical-align: bottom;
}

:where(button, input, optgroup, select, textarea) {
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  text-transform: inherit;
  font: inherit;
  -webkit-appearance: none;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  cursor: pointer;
}

:where(button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled) {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

:where(select:disabled) {
  opacity: inherit;
}

:where(option) {
  padding: 0;
}

:where(fieldset) {
  margin: 0;
  padding: 0;
  min-width: 0;
}

:where(legend) {
  padding: 0;
}

:where(progress) {
  vertical-align: baseline;
}

:where(textarea) {
  overflow: auto;
}

:where([type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button) {
  height: auto;
}

:where([type=search]) {
  outline-offset: -2px;
}

:where([type=search]::-webkit-search-decoration) {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

:where([type=number]) {
  -moz-appearance: textfield;
}

:where(label[for]) {
  cursor: pointer;
}

:where(details) {
  display: block;
}

:where(summary) {
  display: list-item;
}

:where([contenteditable]:focus) {
  outline: auto;
}

:where(table) {
  border-collapse: collapse;
  border-color: inherit;
}

:where(caption) {
  text-align: left;
}

:where(td, th) {
  padding: 0;
  vertical-align: top;
}

:where(th) {
  text-align: left;
  font-weight: bold;
}

:root {
  --gray-100: #d9d9d9;
  --gray-200: #c9d0d2;
  --gray-300: #b0b0b0;
  --gray-400: #999;
  --gray-50: #f8f8f8;
  --gray-500: #676766;
  --gray-600: #131313;
  --mono-black: #131313;
  --mono-white: #fff;
  --primary-100: #e6f4f7;
  --primary-200: #c2e3eb;
  --primary-300: #89ccd9;
  --primary-400: #058aa7;
  --primary-500: #046c83;
  --primary-dark: #046c83;
  --primary-light: #c2e3eb;
  --primary-main: #058aa7;
  --secondary-100: #fef3e6;
  --secondary-200: #f4dabb;
  --secondary-300: #f7b355;
  --secondary-400: #ef8100;
  --secondary-500: #c66900;
  --secondary-dark: #c66900;
  --secondary-light: #f4dabb;
  --secondary-main: #ef8100;
  --state-error: #d6082e;
  --state-info: #17a2b8;
  --state-success: #28a745;
  --state-warning: #f90;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ==========================================================================
   アニメーション
   ========================================================================== */
.fade, .fadeInRight, .fadeInDown {
  opacity: 0;
}

.fadeIn {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out;
}
.fadeIn.animated {
  opacity: 1;
}

.fadeInUp {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out, -webkit-transform 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out, -webkit-transform 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out, transform 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out, transform 1.5s ease-in-out, -webkit-transform 1.5s ease-in-out;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.fadeInUp.animated {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.fadeInDown.animated {
  -webkit-animation: fadeInDown 0.8s forwards;
          animation: fadeInDown 0.8s forwards;
}

.fadeInRight.animated {
  -webkit-animation: fadeInRight 0.8s forwards;
          animation: fadeInRight 0.8s forwards;
}

.delay-1 {
  -webkit-animation-delay: 0.05s !important;
          animation-delay: 0.05s !important;
}

.delay-2 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
}

.delay-3 {
  -webkit-animation-delay: 0.15s !important;
          animation-delay: 0.15s !important;
}

.delay-4 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}

.delay-5 {
  -webkit-animation-delay: 0.25s !important;
          animation-delay: 0.25s !important;
}

.delay-6 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
}

.delay-7 {
  -webkit-animation-delay: 0.35s !important;
          animation-delay: 0.35s !important;
}

.delay-8 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}

.delay-9 {
  -webkit-animation-delay: 0.45s !important;
          animation-delay: 0.45s !important;
}

.delay-10 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}

/* ==========================================================================
   スマホ専用アニメーション
   ========================================================================== */
@media screen and (max-width: 640px) {
  .fadeIn-sp {
    opacity: 0;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
  }
  .fadeIn-sp.animated {
    opacity: 1;
  }
}

@media screen and (max-width: 640px) {
  .fadeInUp-sp {
    opacity: 0;
  }
  .fadeInUp-sp.animated {
    -webkit-animation: fadeInUp 1.6s forwards;
            animation: fadeInUp 1.6s forwards;
  }
}

@media screen and (max-width: 640px) {
  .fadeInDown-sp {
    opacity: 0;
  }
  .fadeInDown-sp.animated {
    -webkit-animation: fadeInDown 0.8s forwards;
            animation: fadeInDown 0.8s forwards;
  }
}

@media screen and (max-width: 640px) {
  .fadeInRight-sp {
    opacity: 0;
  }
  .fadeInRight-sp.animated {
    -webkit-animation: fadeInRight 0.8s forwards;
            animation: fadeInRight 0.8s forwards;
  }
}

html {
  font-size: 62.5%;
  font-optical-sizing: auto;
}

html[lang=en] {
  font-weight: 300;
  font-family: "Jost", sans-serif;
  line-height: 1.4;
}

html[lang=ja] {
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.6;
}

body {
  background-color: var(--mono-black);
  color: var(--mono-white);
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
  -webkit-font-smoothing: antialiased;
  line-break: strict;
}

html[lang=en] h1, html[lang=en] h2, html[lang=en] h3, html[lang=en] h4, html[lang=en] h5, html[lang=en] h6 {
  line-height: 1.1;
}
html[lang=ja] h1, html[lang=ja] h2, html[lang=ja] h3, html[lang=ja] h4, html[lang=ja] h5, html[lang=ja] h6 {
  line-height: 1.4;
}

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

:where(a) {
  color: var(--mono-white);
}
.wrap {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1440px;
  width: 100%;
}
.main {
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

@media screen and (min-width: 641px) {
  .sm-min-none {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sm-max-none {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .md-min-none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .md-max-none {
    display: none;
  }
}
/* ===========================================================================
   bodyスクロールロック用
   =========================================================================== */
body.is-scroll-locked {
  position: fixed;
  left: 0;
  width: 100vw;
  /* topはJSで付与 */
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  line-height: 1.4;
}
.header.is-hidden {
  visibility: hidden;
  opacity: 0;
}
.body--dark .header {
  color: var(--mono-white);
}
.body--light .header {
  color: var(--mono-black);
}
body:has(.gNav_open:checked) .header {
  color: var(--mono-white);
}
.header_contents {
  position: relative;
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  padding: 20px 40px;
}
@media screen and (max-width: 640px) {
  .header_contents {
    gap: 24px;
    padding: 20px 20px;
    height: 104px;
  }
}
.header_logo {
  width: 100px;
  height: auto;
}
@media screen and (max-width: 640px) {
  .header_logo {
    width: 70px;
  }
}
.body--dark .header_logo {
  -webkit-filter: invert(1);
          filter: invert(1);
}
body:has(.gNav_open:checked) .header_logo {
  -webkit-filter: invert(1);
          filter: invert(1);
}
.header_lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: clamp(1.6rem, 1.66vw, 2.4rem);
  font-family: "Jost", sans-serif;
}
@media screen and (max-width: 640px) {
  .header_lang {
    margin-left: auto;
    font-size: 1.4rem;
  }
}
.header_lang::after {
  content: "/";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.header_lang_link {
  color: inherit;
}
[lang=ja] .header_lang_link[data-lang=ja] {
  pointer-events: none;
}
[lang=en] .header_lang_link[data-lang=en] {
  pointer-events: none;
}
[lang=ja] .header_lang_link[data-lang=en] {
  opacity: 0.5;
}
[lang=en] .header_lang_link[data-lang=ja] {
  opacity: 0.5;
}
.header_lang_link:last-child {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.header_contact {
  display: none;
  margin-left: auto;
}
@media screen and (max-width: 640px) {
  .header_contact {
    margin-left: 0;
  }
}

.gNav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: block;
  visibility: hidden;
  overflow-y: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 208px 120px 80px 120px;
  width: 100%;
  height: 100%;
  background-color: var(--mono-black);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media screen and (max-width: 640px) {
  .gNav {
    padding: 132px 40px 20px 20px;
  }
}
body:has(.gNav_open:checked) .gNav {
  visibility: visible;
  opacity: 1;
}
.gNav_open {
  display: none;
}
.gNav_button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  padding-top: 32px;
  height: 50px;
  border-radius: 50%;
  background-color: transparent;
  font-size: 18px;
  font-family: "Jost", sans-serif;
  line-height: 1;
  cursor: pointer;
}
@media screen and (max-width: 640px) {
  .gNav_button {
    margin-left: 0;
    padding-top: 20px;
    height: 40px;
    font-size: 14px;
  }
}
.gNav_button_text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
body:has(.gNav_open:checked) .gNav_button_text {
  color: transparent;
}
body:has(.gNav_open:checked) .gNav_button_text::before {
  content: attr(data-close);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: var(--mono-white);
  text-align: center;
  line-height: 1;
}
.body--dark .gNav_button {
  border-color: var(--mono-white);
  color: var(--mono-white);
}
.body--light .gNav_button {
  border-color: var(--mono-black);
  color: var(--mono-black);
}
body:has(.gNav_open:checked) .gNav_button {
  visibility: visible;
  border-color: var(--mono-white);
  color: var(--mono-white);
  opacity: 1;
}
.gNav_button::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
  margin: auto;
  width: 40px;
  height: 2px;
  background-color: var(--mono-white);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: translateY(-16px);
          transform: translateY(-16px);
}
@media screen and (max-width: 640px) {
  .gNav_button::before {
    width: 28px;
    height: 2px;
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px);
  }
}
.body--dark .gNav_button::before {
  background-color: var(--mono-white);
}
.body--light .gNav_button::before {
  background-color: var(--mono-black);
}
body:has(.gNav_open:checked) .gNav_button::before {
  background-color: var(--mono-white);
  -webkit-transform: translateY(-10px) rotate(30deg);
          transform: translateY(-10px) rotate(30deg);
}
@media screen and (max-width: 640px) {
  body:has(.gNav_open:checked) .gNav_button::before {
    width: 25px;
    -webkit-transform: translateY(-10px) translateX(-2px) rotate(30deg);
            transform: translateY(-10px) translateX(-2px) rotate(30deg);
  }
}
.gNav_button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin: auto;
  width: 20px;
  height: 2px;
  background-color: var(--mono-white);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
@media screen and (max-width: 640px) {
  .gNav_button::after {
    width: 14px;
    height: 2px;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
.body--dark .gNav_button::after {
  background-color: var(--mono-white);
}
.body--light .gNav_button::after {
  background-color: var(--mono-black);
}
body:has(.gNav_open:checked) .gNav_button::after {
  width: 40px;
  background-color: var(--mono-white);
  -webkit-transform: translateY(-10px) rotate(-30deg);
          transform: translateY(-10px) rotate(-30deg);
}
@media screen and (max-width: 640px) {
  body:has(.gNav_open:checked) .gNav_button::after {
    width: 25px;
    -webkit-transform: translateY(-10px) translateX(-2px) rotate(-30deg);
            transform: translateY(-10px) translateX(-2px) rotate(-30deg);
  }
}
.gNav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Jost", sans-serif;
  line-height: 1.4;
}
.gNav_list_item:has(a[href="./contact.html"]) {
  display: none;
}
.gNav_list_item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_link {
    width: 100%;
  }
}
.gNav_list_item_link:hover {
  opacity: 0.5;
}
.gNav_list_item_link_text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 4.8rem;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_link_text {
    width: auto;
    font-size: 3.2rem;
  }
}
.gNav_list_item_link_text::after {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1;
  background-image: url(../img/arrow_right_white.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_link_text::after {
    width: 24px;
    height: 24px;
  }
}
.gNav_list_item_title {
  margin-bottom: 32px;
  color: #666;
  font-size: 3.2rem;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_title {
    font-size: 2.4rem;
  }
}
.gNav_list_item_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 32px;
}
.gNav_list_item_list_item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_list_item_link {
    width: 100%;
  }
}
.gNav_list_item_list_item_link:hover {
  opacity: 0.5;
}
.gNav_list_item_list_item_link_text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.8rem;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_list_item_link_text {
    width: 100%;
    font-size: 2rem;
  }
}
.gNav_list_item_list_item_link_text::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  aspect-ratio: 1;
  background-image: url(../img/arrow_right_white.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_list_item_link_text::after {
    margin-left: auto;
  }
}
.gNav_list_item_list_item_link_text_ja {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 640px) {
  .gNav_list_item_list_item_link_text_ja {
    font-size: 1.3rem;
  }
}
[lang=en] .gNav_list_item_list_item_link_text_ja {
  display: none;
}

.footer {
  position: relative;
  padding: 40px 60px 40px;
  background-color: #444;
  color: var(--mono-white);
}
@media screen and (max-width: 640px) {
  .footer {
    padding: 48px 16px 40px;
  }
}
.footer_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (max-width: 640px) {
  .footer_content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}
.footer_title {
  font-size: clamp(2.4rem, 3.2vw, 3.2rem);
}
@media screen and (max-width: 640px) {
  .footer_title {
    font-size: 2.4rem;
  }
}
.footer_contact {
  font-size: clamp(1.6rem, 2vw, 2rem);
}
@media screen and (max-width: 640px) {
  .footer_contact {
    font-size: 1.2rem;
  }
}
.footer_logo {
  position: absolute;
  right: 60px;
  bottom: 40px;
}
@media screen and (max-width: 640px) {
  .footer_logo {
    position: static;
    margin-top: 24px;
    width: 115px;
  }
}
.footer_copyright {
  margin-top: 330px;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
}
@media screen and (max-width: 640px) {
  .footer_copyright {
    margin-top: 72px;
  }
}

.fNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 64px;
}
.fNav-list-item {
  font-weight: 700;
}
.fNav-list-item + .fNav-list-item {
  margin-top: 24px;
}
.fNav-list-item a {
  color: #fff;
  text-decoration: none;
}
.fNav-list-item a:hover {
  text-decoration: none;
}
.fNav-subList {
  margin-top: 10px;
}
.fNav-subList-item {
  font-weight: 400;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
}
.fNav-subList-item + .fNav-subList-item {
  margin-top: 8px;
}
.fNav-subList-item a {
  color: #fff;
  text-decoration: none;
}
.fNav-subList-item a:hover {
  text-decoration: none;
}

.button_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: inherit;
  vertical-align: middle;
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-family: "Jost", sans-serif;
  line-height: 1;
}
.button_text::before {
  content: "(";
  margin-right: 0.5em;
  font-size: 1.2em;
}
.button_text::after {
  content: ")";
  margin-left: 0.2em;
  font-size: 1.2em;
}
.button_text_icon {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 640px) {
  .button_text_icon {
    width: 18px;
    height: 18px;
  }
}
.button_text_icon svg {
  width: 100%;
  height: 100%;
}
.button_text_text + .button_text_icon {
  margin-left: 0.5em;
}
.button_text_icon + .button_text_text {
  margin-left: 0.5em;
}

.topMv {
  position: relative;
  display: block;
  height: 200vh;
}
.topMv_content {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
  margin: auto;
  height: 100vh;
}
.topMv_title {
  position: absolute;
  top: 50vh;
  right: 0;
  left: 0;
  z-index: 10;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  opacity: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .topMv_title {
    width: 200px;
  }
}
.topMv_window {
  position: absolute;
  top: -100vh;
  right: -100vw;
  bottom: -100vh;
  left: -100vw;
  z-index: 5;
  overflow: hidden;
  margin: auto;
  width: 300px;
  height: 450px;
  aspect-ratio: 494/344;
  border-radius: 140px;
  opacity: 0;
  -webkit-transition: width 0.1s cubic-bezier(0.77, 0, 0.175, 1), height 0.1s cubic-bezier(0.77, 0, 0.175, 1);
  transition: width 0.1s cubic-bezier(0.77, 0, 0.175, 1), height 0.1s cubic-bezier(0.77, 0, 0.175, 1);
}
@media screen and (max-width: 640px) {
  .topMv_window {
    width: 220px;
    height: 330px;
    aspect-ratio: 494/344;
  }
}
.topMv_window_img {
  position: absolute;
  top: -100vh;
  right: -100vw;
  bottom: -100vh;
  left: -100vw;
  z-index: 2;
  margin: auto;
  width: 400px;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out;
}
@media screen and (max-width: 640px) {
  .topMv_window_img {
    width: 300px;
    height: 450px;
  }
}
.topMv_window img {
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.topMv_window_movie {
  position: absolute;
  top: -100vh;
  right: -100vw;
  bottom: -100vh;
  left: -100vw;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  opacity: 0;
}
.topMv_window_movie video {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.topMv_loading_count {
  position: absolute;
  bottom: 40px;
  left: 48px;
  font-weight: 300;
  font-style: normal;
  font-size: clamp(4rem, 5.5vw, 8rem);
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .topMv_loading_count {
    bottom: 10px;
    left: 10px;
  }
}
.topMv_lead {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  margin: auto;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(19, 19, 19, 0)), color-stop(86.3%, #131313));
  background: linear-gradient(180deg, rgba(19, 19, 19, 0) 0%, #131313 86.3%);
}
.topMv_lead_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
  text-align: center;
}
.topMv_lead_text {
  letter-spacing: 0.05em;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2.4rem, 2.2vw, 3.2rem);
  font-family: "Marcellus", serif;
  line-height: 1.2;
}

.topAttractive {
  background-color: var(--mono-black);
}
.topAttractive .wrap {
  padding: 0 40px;
  max-width: none;
}
@media screen and (max-width: 768px) {
  .topAttractive .wrap {
    padding: 0 20px;
  }
}
.topAttractive_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 200px;
}
@media screen and (max-width: 768px) {
  .topAttractive_content {
    display: block;
    padding: 200px 0;
  }
}
.topAttractive_content_items {
  position: sticky;
  top: 0;
  width: min(37.5vw, 540px);
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_items {
    width: auto;
    height: auto;
  }
}
.topAttractive_content_item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: auto;
  padding-top: 160px;
  padding-bottom: 40px;
  height: 100vh;
  opacity: 0;
  -webkit-transition: opacity 1.8s ease, visibility 1.8s ease;
  transition: opacity 1.8s ease, visibility 1.8s ease;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_item {
    position: static;
    display: block;
    visibility: visible;
    padding: 0;
    height: auto;
    opacity: 1;
  }
  .topAttractive_content_item + .topAttractive_content_item {
    margin-top: 120px;
  }
}
.topAttractive_content_item.is-active {
  visibility: visible;
  opacity: 1;
}
.topAttractive_content_item_number {
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(4rem, 5.5vw, 8rem);
  font-family: "Jost", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_item_number {
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 4rem;
  }
}
html[lang=en] .topAttractive_content_item_title {
  font-size: clamp(1.6rem, 3.89vw, 5.6rem);
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  html[lang=en] .topAttractive_content_item_title {
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
html[lang=ja] .topAttractive_content_item_title {
  font-size: clamp(1.6rem, 3.89vw, 5.6rem);
  font-family: "Jost", sans-serif;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  html[lang=ja] .topAttractive_content_item_title {
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
.topAttractive_content_item_img {
  display: none;
  aspect-ratio: 8/5;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_item_img {
    display: block;
    margin-top: 24px;
    margin-bottom: 32px;
  }
}
.topAttractive_content_item_img[data-img="1"] {
  background-image: url("../img/top/topAttractive_img-01.png");
}
.topAttractive_content_item_img[data-img="2"] {
  background-image: url("../img/top/topAttractive_img-02.png");
}
.topAttractive_content_item_img[data-img="3"] {
  background-image: url("../img/top/topAttractive_img-03.png");
}
.topAttractive_content_item_img img {
  position: fixed;
  z-index: 100;
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
}
.topAttractive_content_item_img.click img {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1;
  -webkit-transition: top ease-in-out 0.6s, left ease-in-out 0.6s, width ease-in-out 0.6s, height ease-in-out 0.6s;
  transition: top ease-in-out 0.6s, left ease-in-out 0.6s, width ease-in-out 0.6s, height ease-in-out 0.6s;
}
.topAttractive_content_item_button {
  margin-top: 32px;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_item_button {
    margin-top: 24px;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.topAttractive_content_imgs {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 50vh;
  margin-right: 2.9411764706%;
  padding-top: 29.4117647059%;
  padding-bottom: 14.7058823529%;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_imgs {
    display: none;
  }
}
.topAttractive_content_imgs_item {
  position: sticky;
  top: min(50vh - 16.0590277778vw, 50vh - (100vw - 700px) / 8 * 5 / 2);
  width: 100%;
  height: auto;
  aspect-ratio: 8/5;
}
.topAttractive_content_img {
  position: absolute;
  top: 0;
  display: block;
  visibility: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 8/5;
  background-position: center;
  background-size: cover;
  opacity: 0;
  cursor: url("../img/view_more.svg") 48 48, pointer;
  -webkit-transition: opacity 1.8s ease, visibility 1.8s ease;
  transition: opacity 1.8s ease, visibility 1.8s ease;
}
.topAttractive_content_img img {
  position: fixed;
  z-index: 100;
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
}
.topAttractive_content_img.click img {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1;
  -webkit-transition: top ease-in-out 0.6s, left ease-in-out 0.6s, width ease-in-out 0.6s, height ease-in-out 0.6s;
  transition: top ease-in-out 0.6s, left ease-in-out 0.6s, width ease-in-out 0.6s, height ease-in-out 0.6s;
}
.topAttractive_content_img[data-img="1"] {
  background-image: url("../img/top/topAttractive_img-01.png");
}
body:has(.topAttractive_content_item[data-item="1"].is-active) .topAttractive_content_img[data-img="1"] {
  visibility: visible;
  opacity: 1;
}
.topAttractive_content_img[data-img="2"] {
  background-image: url("../img/top/topAttractive_img-02.png");
}
body:has(.topAttractive_content_item[data-item="2"].is-active) .topAttractive_content_img[data-img="2"] {
  visibility: visible;
  opacity: 1;
}
.topAttractive_content_img[data-img="3"] {
  background-image: url("../img/top/topAttractive_img-03.png");
}
body:has(.topAttractive_content_item[data-item="3"].is-active) .topAttractive_content_img[data-img="3"] {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .topAttractive_content_nav {
    display: none;
  }
}
.topAttractive_content_nav_item {
  width: 0;
  height: 200vh;
}
.topAttractive_content_nav_item[data-nav="1"] {
  height: 300vh;
}

.topSells {
  padding-top: 20%;
  background-color: var(--mono-white);
  color: var(--mono-black);
}
.topSells .wrap {
  max-width: 1240px;
}
.topSells_item {
  position: relative;
}
.topSells_item#topSells_02 {
  margin-top: min(20vw, 240px);
}
@media screen and (max-width: 640px) {
  .topSells_item#topSells_02 {
    margin-top: min(41.7910447761vw, 140px);
  }
}
.topSells_item#topSells_03 {
  margin-top: min(16.6666666667vw, 200px);
}
@media screen and (max-width: 640px) {
  .topSells_item#topSells_03 {
    margin-top: min(35.8208955224vw, 120px);
  }
}
.topSells_item#topSells_04 {
  margin-top: min(25.75vw, 309px);
}
@media screen and (max-width: 640px) {
  .topSells_item#topSells_04 {
    margin-top: min(35.8208955224vw, 120px);
  }
}
#topSells_01 .topSells_item_body {
  top: min(46.25vw, 555px);
  right: min(9.75vw, 117px);
}
@media screen and (max-width: 640px) {
  #topSells_01 .topSells_item_body {
    margin-top: -5.9701492537%;
  }
}
#topSells_01 .topSells_item_img-01 {
  width: 64%;
}
@media screen and (max-width: 640px) {
  #topSells_01 .topSells_item_img-01 {
    width: 89.552238806%;
  }
}
#topSells_01 .topSells_item_img-02 {
  margin-top: min(16.6666666667vw, 200px);
  margin-left: min(9.75vw, 117px);
  width: 30.5%;
}
@media screen and (max-width: 640px) {
  #topSells_01 .topSells_item_img-02 {
    position: static;
    margin-top: min(9.552238806vw, 32px);
    margin-left: auto;
    width: 33.4328358209%;
  }
}
#topSells_02 .topSells_item_body {
  top: min(46.25vw, 555px);
  left: min(9.75vw, 117px);
}
@media screen and (max-width: 640px) {
  #topSells_02 .topSells_item_body {
    margin-top: 32px;
  }
}
#topSells_02 .topSells_item_img-01 {
  margin-left: auto;
  width: 64%;
}
@media screen and (max-width: 640px) {
  #topSells_02 .topSells_item_img-01 {
    margin-left: 0;
    width: 89.552238806%;
  }
}
#topSells_02 .topSells_item_img-02 {
  margin-top: min(16.6666666667vw, 200px);
  margin-right: min(9.75vw, 117px);
  margin-left: auto;
  width: 30.5%;
}
@media screen and (max-width: 640px) {
  #topSells_02 .topSells_item_img-02 {
    margin-top: min(5.9701492537vw, 20px);
    margin-right: 0;
    margin-left: auto;
    width: 33.4328358209%;
  }
}
#topSells_03 .topSells_item_body {
  top: min(16.3333333333vw, 196px);
  right: min(9.75vw, 117px);
}
@media screen and (max-width: 640px) {
  #topSells_03 .topSells_item_body {
    margin-top: min(11.9402985075vw, 40px);
    max-width: 70%;
  }
}
#topSells_03 .topSells_item_img-01 {
  margin-left: min(9.75vw, 117px);
  width: 30.5%;
}
@media screen and (max-width: 640px) {
  #topSells_03 .topSells_item_img-01 {
    margin-left: min(8.3582089552vw, 28px);
    width: 44.776119403%;
  }
}
#topSells_03 .topSells_item_img-02 {
  margin-top: min(6.6666666667vw, 80px);
  margin-left: auto;
  width: 64%;
}
@media screen and (max-width: 640px) {
  #topSells_03 .topSells_item_img-02 {
    margin-top: min(30.7462686567vw, 103px);
    margin-left: 0;
    width: 89.552238806%;
  }
}
#topSells_03 .topSells_item_img-03 {
  position: absolute;
  top: min(60.6666666667vw, 728px);
  left: min(6.6666666667vw, 80px);
  width: 24%;
}
@media screen and (max-width: 640px) {
  #topSells_03 .topSells_item_img-03 {
    top: min(95.8208955224vw, 321px);
    right: 0;
    left: auto;
    width: 29.2537313433%;
  }
}
#topSells_04 .topSells_item_body {
  top: min(13.5vw, 162px);
  left: min(9.75vw, 117px);
}
#topSells_04 .topSells_item_img-01 {
  margin-right: min(9.75vw, 117px);
  margin-left: auto;
  width: 30.5%;
}
@media screen and (max-width: 640px) {
  #topSells_04 .topSells_item_img-01 {
    margin-right: 0;
    width: 33.4328358209%;
  }
}
#topSells_04 .topSells_item_img-02 {
  margin-top: min(10vw, 120px);
  width: 64%;
}
@media screen and (max-width: 640px) {
  #topSells_04 .topSells_item_img-02 {
    margin-top: min(9.552238806vw, 32px);
    width: 89.552238806%;
  }
}
.topSells_item_img {
  overflow: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.topSells_item_img.landscape {
  aspect-ratio: 768/475;
}
.topSells_item_img.portrait {
  aspect-ratio: 366/488;
}
.topSells_item_img img {
  display: block;
  max-width: none;
  width: 100%;
  -webkit-transition: -webkit-transform 1s linear;
  transition: -webkit-transform 1s linear;
  transition: transform 1s linear;
  transition: transform 1s linear, -webkit-transform 1s linear;
}
.topSells_item_body {
  position: absolute;
  max-width: 40%;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .topSells_item_body {
    position: static;
    max-width: none;
  }
}
.topSells_item_title {
  font-weight: 400;
}
html[lang=en] .topSells_item_title {
  font-size: clamp(1.6rem, 3.3vw, 4.8rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .topSells_item_title {
    font-size: 3.2rem;
  }
}
html[lang=ja] .topSells_item_title {
  font-size: clamp(1.4rem, 2.78vw, 4rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .topSells_item_title {
    font-size: 3.2rem;
  }
}
.topSells_item_text {
  margin-top: min(4.1666666667%, 20px);
}
html[lang=en] .topSells_item_text {
  font-size: clamp(1.2rem, 1.25vw, 1.8rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .topSells_item_text {
    margin-top: 20px;
    font-size: 1.6rem;
  }
}
html[lang=ja] .topSells_item_text {
  font-size: clamp(1.4rem, 1.66vw, 2rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .topSells_item_text {
    margin-top: 20px;
    font-size: 1.6rem;
  }
}
.topSells_item_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin-top: min(13.3333333333%, 64px);
}
@media screen and (max-width: 640px) {
  .topSells_item_list {
    margin-top: 40px;
  }
}
.topSells_item_list_item {
  position: relative;
  padding-left: min(2.6666666667%, 32px);
}
html[lang=en] .topSells_item_list_item {
  font-size: clamp(1rem, 1.25vw, 1.8rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .topSells_item_list_item {
    font-size: 1.4rem;
  }
}
html[lang=ja] .topSells_item_list_item {
  font-size: clamp(1rem, 1.11vw, 1.6rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .topSells_item_list_item {
    font-size: 1.4rem;
  }
}
.topSells_item_list_item::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
}

.topContact {
  position: relative;
  padding-top: 80vh;
  padding-bottom: 80vh;
  background-color: var(--mono-white);
  color: var(--mono-black);
}
.topContact .wrap {
  padding: 0 20px;
}
@media screen and (max-width: 640px) {
  .topContact .wrap {
    padding: 0 10px;
  }
}
.topContact_header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.topContact_header_content {
  position: sticky;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100vh;
}
.topContact_title {
  text-align: center;
  font-size: clamp(1.6rem, 3.89vw, 5.6rem);
}
@media screen and (max-width: 640px) {
  .topContact_title {
    font-size: 2.4rem;
  }
}
html[lang=en] .topContact_title {
  font-family: "Jost", sans-serif;
  line-height: 1.1;
}
html[lang=ja] .topContact_title {
  font-family: "Jost", sans-serif;
  line-height: 1.1;
}
.topContact_contact {
  margin-top: 4.5714285714%;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .topContact_contact {
    margin-top: 64px;
  }
}
.topContact_contact .comingSoon {
  color: #999;
  text-align: center;
  font-size: clamp(1.2rem, 1.94vw, 2.8rem);
}
@media screen and (max-width: 640px) {
  .topContact_contact .comingSoon {
    font-size: 1.4rem;
  }
}
html[lang=en] .topContact_contact .comingSoon {
  font-family: "Jost", sans-serif;
  line-height: 1;
}
html[lang=ja] .topContact_contact .comingSoon {
  font-family: "Jost", sans-serif;
  line-height: 1;
}
.topContact_content {
  position: relative;
}
.topContact_content_img img {
  max-width: none;
  width: 100%;
}
.topContact_content .img-01 {
  margin-left: 11.4285714286%;
  width: 21.4285714286%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-01 {
    margin-left: 8.4507042254%;
    width: 27.0422535211%;
  }
}
.topContact_content .img-02 {
  position: absolute;
  top: min(8.5714285714vw, 120px);
  right: 0;
  width: 38.5714285714%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-02 {
    top: 8.4507042254vw;
    right: 0;
    width: 38.8732394366%;
  }
}
.topContact_content .img-03 {
  margin-top: min(14.2857142857vw, 200px);
  width: 28.5714285714%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-03 {
    margin-top: 13.5211267606vw;
    width: 29.8591549296%;
  }
}
.topContact_content .img-04 {
  position: absolute;
  top: min(51.7857142857vw, 725px);
  right: 13.7857142857%;
  width: 19.8571428571%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-04 {
    top: 50.7042253521vw;
    right: 8.4507042254%;
    width: 22.2535211268%;
  }
}
.topContact_content .img-05 {
  margin-top: min(15.7142857143vw, 220px);
  margin-left: 5.4285714286%;
  width: 45.7142857143%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-05 {
    margin-top: 13.5211267606vw;
    margin-left: 3.9436619718%;
    width: 45.3521126761%;
  }
}
.topContact_content .img-06 {
  position: absolute;
  top: min(91.0714285714vw, 1275px);
  right: min(13.5714285714vw, 190px);
  width: 22.8571428571%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-06 {
    top: 94.6478873239vw;
    right: 2.8169014085%;
    width: 27.0422535211%;
  }
}
.topContact_content .img-07 {
  position: absolute;
  top: min(104.6428571429vw, 1465px);
  left: 15%;
  width: 14.2857142857%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-07 {
    top: 107.0422535211vw;
    left: 15.7746478873%;
    width: 19.7183098592%;
  }
}
.topContact_content .img-08 {
  margin-top: min(30vw, 420px);
  margin-left: 57.1428571429%;
  width: 25.7142857143%;
}
@media screen and (max-width: 640px) {
  .topContact_content .img-08 {
    margin-top: 26.7605633803vw;
    margin-left: 57.7464788732%;
    width: 27.0422535211%;
  }
}

.detailMv {
  position: relative;
  width: 100%;
  height: 100vh;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.detailMv[data-img="1"] {
  background-image: url("../img/top/topAttractive_img-01.png");
}
.detailMv[data-img="2"] {
  background-image: url("../img/top/topAttractive_img-02.png");
}
.detailMv[data-img="3"] {
  background-image: url("../img/top/topAttractive_img-03.png");
}
.detailMv::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 235px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.8)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  -webkit-animation: fadeIn 0.8s ease;
          animation: fadeIn 0.8s ease;
}
@media screen and (max-width: 640px) {
  .detailMv::before {
    height: 120px;
  }
}
.detailMv_title {
  position: absolute;
  bottom: 54px;
  left: 56px;
  z-index: 1;
  -webkit-animation: fadeIn 0.8s ease;
          animation: fadeIn 0.8s ease;
}
@media screen and (max-width: 640px) {
  .detailMv_title {
    bottom: 16px;
    left: 20px;
    max-width: calc(100% - 40px);
  }
}
html[lang=en] .detailMv_title {
  font-size: clamp(2rem, 4.44vw, 6.4rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .detailMv_title {
    font-size: 3.2rem;
  }
}
html[lang=ja] .detailMv_title {
  font-size: clamp(1.6rem, 3.89vw, 5.6rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .detailMv_title {
    font-size: 2.8rem;
  }
}

.detailContent {
  padding: 120px 0 64px;
  background-color: var(--mono-white);
  color: var(--mono-black);
}
@media screen and (max-width: 640px) {
  .detailContent {
    padding: 48px 0 64px;
  }
}
.detailContent .wrap {
  max-width: 1240px;
}
.detailContent_body {
  position: relative;
}
.detailContent_title {
  margin-bottom: min(4vw, 48px);
}
@media screen and (max-width: 640px) {
  .detailContent_title {
    margin-bottom: 24px;
  }
}
html[lang=en] .detailContent_title {
  font-size: clamp(1.6rem, 3.89vw, 5.6rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .detailContent_title {
    font-size: 2.8rem;
  }
}
html[lang=ja] .detailContent_title {
  font-size: clamp(1.6rem, 3.3vw, 4.8rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .detailContent_title {
    font-size: 2.4rem;
  }
}
.detailContent_text {
  width: 58.3333333333%;
  line-height: 1.8;
}
@media screen and (max-width: 640px) {
  .detailContent_text {
    width: auto;
  }
}
html[lang=en] .detailContent_text {
  font-size: clamp(1rem, 1.56vw, 2rem);
}
@media screen and (max-width: 640px) {
  html[lang=en] .detailContent_text {
    font-size: 1.4rem;
  }
}
html[lang=ja] .detailContent_text {
  font-size: clamp(1rem, 1.25vw, 1.8rem);
}
@media screen and (max-width: 640px) {
  html[lang=ja] .detailContent_text {
    font-size: 1.4rem;
  }
}
.detailContent_text + .detailContent_text {
  margin-top: min(1.6666666667vw, 20px);
}
@media screen and (max-width: 640px) {
  .detailContent_text + .detailContent_text {
    margin-top: 24px;
  }
}
@media screen and (max-width: 640px) {
  .detailContent_images {
    position: relative;
  }
}
.detailContent_images_item_01 {
  position: absolute;
  top: 0;
  right: min(3.5vw, 42px);
  width: 30.5%;
}
@media screen and (max-width: 640px) {
  .detailContent_images_item_01 {
    position: static;
    margin-top: 10.1492537313vw;
    margin-left: 41.7910447761%;
    width: 44.776119403%;
  }
}
.detailContent_images_item_02 {
  position: absolute;
  top: min(34.3333333333vw, 412px);
  left: min(4.3333333333vw, 52px);
  width: 24%;
}
@media screen and (max-width: 640px) {
  .detailContent_images_item_02 {
    top: 29.552238806vw;
    left: 0;
    width: 29.8507462687%;
  }
}
.detailContent_images_item_03 {
  margin-top: min(33.3333333333vw, 400px);
  margin-left: auto;
  width: 64%;
}
@media screen and (max-width: 640px) {
  .detailContent_images_item_03 {
    margin-top: 21.4925373134vw;
    width: 83.5820895522%;
  }
}
.detailContent_bottom {
  margin-top: min(16.6666666667vw, 200px);
  padding: 0 48px;
}
@media screen and (max-width: 640px) {
  .detailContent_bottom {
    margin-top: min(35.8208955224vw, 120px);
    padding: 0 20px;
  }
}