@charset "UTF-8";
*,
::before,
::after {
  box-sizing: border-box;
  min-width: 0;
  border-style: solid;
  border-width: 0;
}
html {
  line-height: 1.15;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
}
main {
  display: block;
}
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
hr {
  clear: both;
  box-sizing: content-box;
  height: 0;
  margin: 0;
  overflow: visible;
  color: inherit;
  border-top-width: 1px;
}
pre {
  font-family: monospace, monospace;
  font-size: inherit;
}
address {
  font-style: inherit;
}
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}
abbr[title] {
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  vertical-align: middle;
  color: inherit;
  text-align: inherit;
  text-transform: inherit;
  appearance: none;
  background: transparent;
  border-radius: 0;
}
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}
button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
option {
  padding: 0;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  outline-offset: -2px;
}
[type=search]::-webkit-search-decoration {
  appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  appearance: auto;
}
[type=number] {
  appearance: textfield;
}
label[for] {
  cursor: pointer;
}
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable]:focus {
  outline: auto;
}
table {
  border-collapse: collapse;
  border-color: inherit;
}
caption {
  text-align: left;
}
td,
th {
  padding: 0;
  vertical-align: top;
}
th {
  font-weight: bold;
  text-align: left;
}
.splide__container {
  box-sizing: border-box;
  position: relative;
}
.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}
.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
  display: none;
}
.splide__progress__bar {
  width: 0;
}
.splide {
  position: relative;
  visibility: hidden;
}
.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}
.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}
.splide__slide img {
  vertical-align: bottom;
}
.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}
.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}
.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}
.splide--rtl {
  direction: rtl;
}
.splide__track--ttb > .splide__list {
  display: block;
}
.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}
.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}
.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}
.splide__arrow:disabled {
  opacity: 0.3;
}
.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__arrow--prev {
  left: 1em;
}
.splide__arrow--prev svg {
  transform: scaleX(-1);
}
.splide__arrow--next {
  right: 1em;
}
.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}
.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}
.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}
.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}
.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__progress__bar {
  background: #ccc;
  height: 3px;
}
.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.splide__slide:focus {
  outline: 0;
}
@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}
.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}
.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}
.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}
.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}
.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}
.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}
.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}
.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}
.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}
.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}
.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}
@property --vw { syntax: "<length>"; inherits: true; initial-value: 0; }
@property --scale { syntax: "<number>"; inherits: true; initial-value: 1; }
:root {
  scrollbar-gutter: stable;
  --fz: 1;
  --vw: 100vw;
  --scale: min(tan(atan2(var(--vw), 1280px)), calc(1680 / 1280));
  --easing-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --z-index-base: 500;
  --z-index-header: 700;
  --grid-block: calc(2.375rem * var(--scale));
  --grid-block-small: calc(2.5rem * var(--scale));
  --navy-600: #132044;
  --navy-900: #141416;
  --navy-900-alpha7: rgb(20, 20, 22, 0.07);
  --navy-900-alpha10: rgb(20, 20, 22, 0.1);
  --navy-900-alpha20: rgb(20, 20, 22, 0.2);
  --grey-50: #fdfdfe;
  --grey-50-alpha10: rgb(253, 253, 254, 0.1);
  --grey-50-alpha20: rgb(253, 253, 254, 0.2);
  --grey-50-alpha50: rgb(253, 253, 254, 0.5);
  --grey-100: #eef0f7;
  --grey-200: #d3d5d7;
  --grey-500: #a1a6b4;
  --grey-600: #77767f;
  --grey-700: #55545b;
  --orange: #d97358;
  --pink: #d29989;
  --intro-base-delay: 1.5s;
  --header-height: 48px;
}
@media screen and (width < 768px) {
  :root {
    --scale: tan(atan2(var(--vw), 375px));
  }
}
html {
  scroll-behavior: auto !important;
}
body {
  font-family:
    "Open Sans",
    "Noto Sans JP",
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font-family: inherit;
  cursor: pointer;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
}
.o-container {
  box-sizing: unset;
  max-width: var(--_container-max-width, calc(60.9375rem * var(--scale)));
  padding-inline: var(--_container-padding, calc(1.25rem * var(--scale)));
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .o-container {
    padding-inline: var(--_container-padding, calc(1.875rem * var(--scale)));
  }
}
.o-grid {
  --_repeat: var(--_grid-repeat, auto-fit);
  --_size: min(var(--_grid-min-size, 0px), 100%);
  --_column-gap: var(--_grid-column-gap, var(--_grid-gap, 0px));
  --_row-gap: var(--_grid-row-gap, var(--_grid-gap, 0px));
  display: grid;
  grid-template-columns: var(--_grid-layout, repeat(var(--_repeat), minmax(var(--_size), 1fr)));
  gap: var(--_row-gap) var(--_column-gap);
}
@media screen and (width < 768px) {
  .o-grid {
    --_repeat: var(--_grid-repeat-sp, var(--_grid-repeat, auto-fit));
    --_size: min(var(--_grid-min-size-sp, var(--_grid-min-size, 0px)), 100%);
    --_column-gap: var(--_grid-column-gap-sp, var(--_grid-gap-sp, var(--_grid-column-gap, var(--_grid-gap, 0px))));
    --_row-gap: var(--_grid-row-gap-sp, var(--_grid-gap-sp, var(--_grid-row-gap, var(--_grid-gap, 0px))));
    grid-template-columns: var(--_grid-layout-sp, var(--_grid-layout, repeat(var(--_repeat), minmax(var(--_size), 1fr))));
  }
}
@property --scroll-p { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --intro-p { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --intro-cloud-p { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --intro-sun-p { syntax: "<number>"; inherits: true; initial-value: 0; }
.top-content {
  top: 0 !important;
}
.p-intro {
  --intro-cloud-p: clamp(0, var(--intro-p) / 0.5, 1);
  --intro-sun-p: clamp(0, (var(--intro-p) - 0.5) / 0.5, 1);
  position: relative;
  z-index: 2;
  mask-image: url(/assets/images/mask_section.png);
  mask-repeat: no-repeat;
  mask-position: right 0% bottom 0;
  mask-size: 300% 200%;
}
body.is-loaded .p-intro {
  transition: 2.5s cubic-bezier(0.22, 1, 0.36, 1) mask-position;
}
body.is-loaded .p-intro.is-fadeOut {
  pointer-events: none;
  mask-position: right 200% bottom 0;
  transition: 1.75s cubic-bezier(0.61, 1, 0.87, 1) mask-position;
}
.p-intro__Gradation {
  position: sticky;
  top: 0;
  left: 0;
  transition: 0.5s opacity;
}
body.is-anchorScroll .p-intro__Gradation {
  opacity: 0;
}
.p-intro__kvSticky {
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  margin-top: -100vh;
  transition: 0.5s opacity;
}
body.is-anchorScroll .p-intro__kvSticky {
  opacity: 0;
}
.p-intro__sun,
.p-intro__sunLight {
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  margin-top: -100vh;
  overflow: hidden;
}
@media screen and (width < 768px) {
  .p-intro__sun,
  .p-intro__sunLight {
    position: absolute;
    top: 104svh;
    height: calc(20.3125rem * var(--scale));
    margin-top: 0;
    overflow: visible;
  }
}
.p-intro__sunLight {
  mix-blend-mode: soft-light;
}
.p-intro__kv {
  margin-top: -100vh;
  transition: 0.3s opacity ease-in-out;
}
.p-intro.is-kvFade .p-intro__kv {
  opacity: 0;
}
.p-intro__statement {
  position: relative;
  margin-top: calc(37.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-intro__statement {
    margin-top: calc(31.25rem * var(--scale));
  }
}
.p-mainContent {
  position: relative;
  z-index: 1;
  padding-top: 90vh;
  margin-top: -175vh;
}
.p-page-marquee {
  position: relative;
  z-index: -1;
  margin-top: calc(9rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-marquee {
    margin-top: calc(5.25rem * var(--scale));
  }
}
.p-page-marquee__text {
  padding-right: calc(4.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-marquee__text {
    padding-right: calc(3.5rem * var(--scale));
  }
}
.p-page-about {
  position: relative;
  z-index: 2;
  margin-top: calc(-4.5rem * var(--scale));
}
.p-page-advantage {
  margin-top: calc(10.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-advantage {
    margin-top: calc(5.9375rem * var(--scale));
  }
}
.p-page-whatWeDo {
  margin-top: calc(-6.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-whatWeDo {
    margin-top: calc(-4.6875rem * var(--scale));
  }
}
.p-page-trackRecord {
  margin-top: calc(5.125rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-trackRecord {
    margin-top: calc(5.875rem * var(--scale));
  }
}
.p-page-information {
  position: relative;
  z-index: 3;
}
.p-page-contact {
  position: relative;
  z-index: 3;
  margin-top: calc(21.0625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-contact {
    margin-top: calc(13.75rem * var(--scale));
  }
}
.p-page-bottom {
  position: relative;
  padding-top: calc(7.375rem * var(--scale));
  padding-bottom: calc(12.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-page-bottom {
    padding-top: calc(3.375rem * var(--scale));
    padding-bottom: calc(7.5rem * var(--scale));
  }
}
.p-page-bottom__bg {
  position: absolute;
  inset: calc(-3.375rem * var(--scale)) 0 0;
  pointer-events: none;
  mask-image:
    linear-gradient(
      to bottom,
      transparent 0,
      #000 calc(6.25rem * var(--scale)));
}
.p-page-bottom__grade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      0deg,
      #010409 0%,
      #0b1631 17.19%,
      #132044 26.98%,
      #332f54 35.7%,
      #564e72 42.2%,
      #d29989 49.62%,
      #e2b9a9 55.21%,
      #f2d9c9 75.9%,
      #fffaf7 95.93%,
      #fff 100%);
}
@media screen and (width < 768px) {
  .p-page-bottom__grade {
    background:
      linear-gradient(
        0deg,
        #010409 0%,
        #0b1631 24.73%,
        #132044 33.01%,
        #332f54 36.73%,
        #564e72 39.38%,
        #d29989 46.52%,
        #f2d9c9 71.14%,
        #fff 100%);
  }
}
.p-page-bottom__noise {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.01);
  backdrop-filter: blur(40px);
}
.p-page-bottom__noise::after {
  position: absolute;
  inset: 0;
  content: "";
  background: url(/assets/images/img_noise.png), rgba(255, 255, 255, 0.01);
  background-size: calc(9.375rem * var(--scale)) calc(9.375rem * var(--scale));
  opacity: 0.07;
  mask-image:
    linear-gradient(
      0deg,
      rgba(217, 217, 217, 0) 0%,
      #737373 5.79%);
}
@media screen and (width < 768px) {
  .p-page-bottom__noise::after {
    background-size: calc(1.875rem * var(--scale)) calc(1.875rem * var(--scale));
    mask-image:
      linear-gradient(
        0deg,
        #d9d9d9 93.33%,
        rgba(115, 115, 115, 0) 100%);
  }
}
.p-page-bottom__themeAnchor {
  position: absolute;
  inset: 53% 0 0;
  pointer-events: none;
}
.p-kv {
  --_animate-delay: calc(var(--intro-base-delay) + 1.5s);
  position: relative;
  width: 100vw;
  height: 100svh;
  overflow-x: hidden;
}
.p-kv .p-kv__nav {
  position: absolute;
  top: calc(4.875rem * var(--scale));
  right: var(--grid-block);
  opacity: 0;
  filter: brightness(0);
  transform: scale(1.02);
}
body.is-loaded .p-kv .p-kv__nav {
  opacity: 1;
  filter: brightness(1);
  transform: scale(1);
  transition:
    1s calc(var(--_animate-delay)) opacity,
    1.5s calc(var(--_animate-delay)) filter,
    1s calc(var(--_animate-delay)) transform;
}
.p-kv .p-kv__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  padding-top: calc(0.375rem * var(--scale));
  padding-right: calc(1.5rem * var(--scale));
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-kv .p-kv__logo {
    padding-top: 0;
    padding-right: calc(1.875rem * var(--scale));
    padding-bottom: calc(2.625rem * var(--scale));
  }
}
.p-kv .p-kv__description {
  position: absolute;
  bottom: calc(2.5rem * var(--scale));
  left: var(--grid-block);
  width: calc(18.75rem * var(--scale));
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 150%;
  color: var(--grey-50-alpha50);
  letter-spacing: 0.01em;
  opacity: 0;
  filter: brightness(0);
  transform: scale(1.02);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
body.is-loaded .p-kv .p-kv__description {
  opacity: 1;
  filter: brightness(1);
  transform: scale(1);
  transition:
    1s calc(var(--_animate-delay)) opacity,
    1.5s calc(var(--_animate-delay)) filter,
    1s calc(var(--_animate-delay)) transform;
}
@media screen and (width < 768px) {
  .p-kv .p-kv__description {
    bottom: calc(1.125rem * var(--scale));
    left: calc(1rem * var(--scale));
    font-size: calc(0.625rem * var(--scale));
  }
}
.p-kv__scroll {
  position: absolute;
  right: calc(-1rem * var(--scale));
  bottom: calc(2.5rem * var(--scale));
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--grey-200);
  letter-spacing: 0.01em;
  opacity: 0;
  filter: brightness(0);
  transform: scale(1.02);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-kv__scroll {
    right: calc(-2.25rem * var(--scale));
    bottom: calc(1.375rem * var(--scale));
    font-size: calc(0.6875rem * var(--scale));
  }
}
body.is-loaded .p-kv__scroll {
  opacity: 1;
  filter: brightness(1);
  transform: scale(1);
  transition:
    1s calc(var(--_animate-delay)) opacity,
    1.5s calc(var(--_animate-delay)) filter,
    1s calc(var(--_animate-delay)) transform;
}
.p-kv__scroll ._label {
  display: block;
  transform: rotate(90deg);
  transform-origin: top left;
}
.p-kv__scroll ._bar {
  --_track-h: calc(7rem * var(--scale));
  --_bar-h: calc(3rem * var(--scale));
  position: relative;
  display: block;
  width: 1px;
  height: var(--_track-h);
  margin-top: calc(-1rem * var(--scale));
  margin-left: calc(0.625rem * var(--scale));
  overflow: hidden;
}
@media screen and (width < 768px) {
  .p-kv__scroll ._bar {
    --_track-h: calc(6rem * var(--scale));
    --_bar-h: calc(2rem * var(--scale));
  }
}
.p-kv__scroll ._bar::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: var(--_track-h);
  content: "";
  background-color: #fff;
  opacity: 0.2;
}
.p-kv__scroll ._bar::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 1px;
  height: var(--_bar-h);
  content: "";
  background-color: #fff;
  transform: translate3d(0, calc(var(--_bar-h) * -1), 0);
  backface-visibility: hidden;
}
body.is-loaded .p-kv__scroll ._bar::before {
  animation: scroll 2s 0.5s ease-in-out infinite;
  will-change: transform;
}
@keyframes scroll {
  0% {
    transform: translate3d(0, calc(var(--_bar-h) * -1), 0);
  }
  100% {
    transform: translate3d(0, var(--_track-h), 0);
  }
}
.p-kvNav {
  width: fit-content;
}
.p-kvNav ._list {
  display: inline-flex;
  flex-direction: column;
}
.p-kvNav ._list:has(._link:hover) ._link:not(:hover) {
  opacity: 0.5;
}
.p-kvNav ._link {
  display: block;
  padding: calc(0.46875rem * var(--scale)) 0;
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 1.4;
  color: var(--grey-100);
  transition: 0.3s ease-out opacity;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-kvLogo {
  display: flex;
  flex-direction: row-reverse;
  gap: calc(1.4375rem * var(--scale));
  align-items: flex-start;
}
@media screen and (width < 768px) {
  .p-kvLogo {
    gap: calc(1.125rem * var(--scale));
  }
}
.p-kvLogo ._main {
  opacity: 0;
  filter: brightness(0);
}
.p-kvLogo ._sub {
  margin-top: calc(0.1875rem * var(--scale));
  opacity: 0;
  filter: brightness(0);
  mask-image: url(/assets/images/mask_logo.png);
  mask-repeat: no-repeat;
  mask-position: left 170%;
  mask-size: auto 250%;
}
body.is-loaded .p-kvLogo ._sub {
  opacity: 1;
  filter: brightness(1);
  mask-position: left 0%;
  transition:
    1.5s calc(var(--intro-base-delay) + 0.7s) linear mask-position,
    1.5s calc(var(--intro-base-delay) + 0.7s) filter,
    1.5s calc(var(--intro-base-delay) + 0.7s) linear opacity;
}
body.is-loaded .p-kvLogo ._main {
  opacity: 1;
  filter: brightness(1);
  transition: 2s var(--intro-base-delay) opacity, 2s 1.5s filter;
}
@property --grad-p { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --c1 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c2 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c3 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c4 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c5 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c6 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c7 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c8 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@property --c9 { syntax: "<color>"; inherits: false; initial-value: #010409; }
@keyframes intro-c1 {
  0% {
    --c1: #010409;
  }
  13.4% {
    --c1: #010409;
  }
  30.07% {
    --c1: #0b1631;
  }
  36.29% {
    --c1: #132044;
  }
  48% {
    --c1: #332f54;
  }
  56% {
    --c1: #564e72;
  }
  72% {
    --c1: #d29989;
  }
  91% {
    --c1: #f2d9c9;
  }
  97% {
    --c1: #faeade;
  }
  100% {
    --c1: #fff;
  }
}
@keyframes intro-c2 {
  0% {
    --c2: #010409;
  }
  13.4% {
    --c2: #010409;
  }
  30.07% {
    --c2: #0b1631;
  }
  36.29% {
    --c2: #132044;
  }
  48% {
    --c2: #332f54;
  }
  56% {
    --c2: #564e72;
  }
  72% {
    --c2: #d29989;
  }
  91% {
    --c2: #f2d9c9;
  }
  97% {
    --c2: #faeade;
  }
  100% {
    --c2: #fff;
  }
}
@keyframes intro-c3 {
  0% {
    --c3: #010409;
  }
  13.4% {
    --c3: #010409;
  }
  30.07% {
    --c3: #0b1631;
  }
  36.29% {
    --c3: #132044;
  }
  48% {
    --c3: #332f54;
  }
  56% {
    --c3: #564e72;
  }
  72% {
    --c3: #d29989;
  }
  91% {
    --c3: #f2d9c9;
  }
  97% {
    --c3: #faeade;
  }
  100% {
    --c3: #fff;
  }
}
@keyframes intro-c4 {
  0% {
    --c4: #010409;
  }
  13.4% {
    --c4: #010409;
  }
  30.07% {
    --c4: #0b1631;
  }
  36.29% {
    --c4: #132044;
  }
  48% {
    --c4: #332f54;
  }
  56% {
    --c4: #564e72;
  }
  72% {
    --c4: #d29989;
  }
  91% {
    --c4: #f2d9c9;
  }
  97% {
    --c4: #faeade;
  }
  100% {
    --c4: #fff;
  }
}
@keyframes intro-c5 {
  0% {
    --c5: #010409;
  }
  13.4% {
    --c5: #010409;
  }
  30.07% {
    --c5: #0b1631;
  }
  36.29% {
    --c5: #132044;
  }
  48% {
    --c5: #332f54;
  }
  56% {
    --c5: #564e72;
  }
  72% {
    --c5: #d29989;
  }
  91% {
    --c5: #f2d9c9;
  }
  97% {
    --c5: #faeade;
  }
  100% {
    --c5: #fff;
  }
}
@keyframes intro-c6 {
  0% {
    --c6: #010409;
  }
  13.4% {
    --c6: #010409;
  }
  30.07% {
    --c6: #0b1631;
  }
  36.29% {
    --c6: #132044;
  }
  48% {
    --c6: #332f54;
  }
  56% {
    --c6: #564e72;
  }
  72% {
    --c6: #d29989;
  }
  91% {
    --c6: #f2d9c9;
  }
  97% {
    --c6: #faeade;
  }
  100% {
    --c6: #fff;
  }
}
@keyframes intro-c7 {
  0% {
    --c7: #010409;
  }
  13.4% {
    --c7: #010409;
  }
  30.07% {
    --c7: #0b1631;
  }
  36.29% {
    --c7: #132044;
  }
  48% {
    --c7: #332f54;
  }
  56% {
    --c7: #564e72;
  }
  72% {
    --c7: #d29989;
  }
  91% {
    --c7: #f2d9c9;
  }
  97% {
    --c7: #faeade;
  }
  100% {
    --c7: #fff;
  }
}
@keyframes intro-c8 {
  0% {
    --c8: #010409;
  }
  13.4% {
    --c8: #010409;
  }
  30.07% {
    --c8: #0b1631;
  }
  36.29% {
    --c8: #132044;
  }
  48% {
    --c8: #332f54;
  }
  56% {
    --c8: #564e72;
  }
  72% {
    --c8: #d29989;
  }
  91% {
    --c8: #f2d9c9;
  }
  97% {
    --c8: #faeade;
  }
  100% {
    --c8: #fff;
  }
}
@keyframes intro-c9 {
  0% {
    --c9: #010409;
  }
  13.4% {
    --c9: #010409;
  }
  30.07% {
    --c9: #0b1631;
  }
  36.29% {
    --c9: #132044;
  }
  48% {
    --c9: #332f54;
  }
  56% {
    --c9: #564e72;
  }
  72% {
    --c9: #d29989;
  }
  91% {
    --c9: #f2d9c9;
  }
  97% {
    --c9: #faeade;
  }
  100% {
    --c9: #fff;
  }
}
@keyframes bottom-c1 {
  0% {
    --c1: #0b1631;
  }
  20% {
    --c1: #0b1631;
  }
  32% {
    --c1: #132044;
  }
  40% {
    --c1: #332f54;
  }
  48% {
    --c1: #564e72;
  }
  60% {
    --c1: #d29989;
  }
  91% {
    --c1: #f2d9c9;
  }
  99.8% {
    --c1: #faeade;
  }
  100% {
    --c1: #fff;
  }
}
@keyframes bottom-c2 {
  0% {
    --c2: #0b1631;
  }
  20% {
    --c2: #0b1631;
  }
  32% {
    --c2: #132044;
  }
  40% {
    --c2: #332f54;
  }
  48% {
    --c2: #564e72;
  }
  60% {
    --c2: #d29989;
  }
  91% {
    --c2: #f2d9c9;
  }
  99.8% {
    --c2: #faeade;
  }
  100% {
    --c2: #fff;
  }
}
@keyframes bottom-c3 {
  0% {
    --c3: #0b1631;
  }
  20% {
    --c3: #0b1631;
  }
  32% {
    --c3: #132044;
  }
  40% {
    --c3: #332f54;
  }
  48% {
    --c3: #564e72;
  }
  60% {
    --c3: #d29989;
  }
  91% {
    --c3: #f2d9c9;
  }
  99.8% {
    --c3: #faeade;
  }
  100% {
    --c3: #fff;
  }
}
@keyframes bottom-c4 {
  0% {
    --c4: #0b1631;
  }
  20% {
    --c4: #0b1631;
  }
  32% {
    --c4: #132044;
  }
  40% {
    --c4: #332f54;
  }
  48% {
    --c4: #564e72;
  }
  60% {
    --c4: #d29989;
  }
  91% {
    --c4: #f2d9c9;
  }
  99.8% {
    --c4: #faeade;
  }
  100% {
    --c4: #fff;
  }
}
@keyframes bottom-c5 {
  0% {
    --c5: #0b1631;
  }
  20% {
    --c5: #0b1631;
  }
  32% {
    --c5: #132044;
  }
  40% {
    --c5: #332f54;
  }
  48% {
    --c5: #564e72;
  }
  60% {
    --c5: #d29989;
  }
  91% {
    --c5: #f2d9c9;
  }
  99.8% {
    --c5: #faeade;
  }
  100% {
    --c5: #fff;
  }
}
@keyframes bottom-c6 {
  0% {
    --c6: #0b1631;
  }
  20% {
    --c6: #0b1631;
  }
  32% {
    --c6: #132044;
  }
  40% {
    --c6: #332f54;
  }
  48% {
    --c6: #564e72;
  }
  60% {
    --c6: #d29989;
  }
  91% {
    --c6: #f2d9c9;
  }
  99.8% {
    --c6: #faeade;
  }
  100% {
    --c6: #fff;
  }
}
@keyframes bottom-c7 {
  0% {
    --c7: #0b1631;
  }
  20% {
    --c7: #0b1631;
  }
  32% {
    --c7: #132044;
  }
  40% {
    --c7: #332f54;
  }
  48% {
    --c7: #564e72;
  }
  60% {
    --c7: #d29989;
  }
  91% {
    --c7: #f2d9c9;
  }
  99.8% {
    --c7: #faeade;
  }
  100% {
    --c7: #fff;
  }
}
@keyframes bottom-c8 {
  0% {
    --c8: #0b1631;
  }
  20% {
    --c8: #0b1631;
  }
  32% {
    --c8: #132044;
  }
  40% {
    --c8: #332f54;
  }
  48% {
    --c8: #564e72;
  }
  60% {
    --c8: #d29989;
  }
  91% {
    --c8: #f2d9c9;
  }
  99.8% {
    --c8: #faeade;
  }
  100% {
    --c8: #fff;
  }
}
@keyframes bottom-c9 {
  0% {
    --c9: #0b1631;
  }
  20% {
    --c9: #0b1631;
  }
  32% {
    --c9: #132044;
  }
  40% {
    --c9: #332f54;
  }
  48% {
    --c9: #564e72;
  }
  60% {
    --c9: #d29989;
  }
  91% {
    --c9: #f2d9c9;
  }
  99.8% {
    --c9: #faeade;
  }
  100% {
    --c9: #fff;
  }
}
.p-introGradation {
  --grad-p: calc(var(--intro-p, 0) * 0.1 + var(--scroll-p, 0) * 0.9);
  width: 100vw;
  height: 100vh;
  background:
    linear-gradient(
      180deg,
      var(--c1) 0%,
      var(--c2) 12.5%,
      var(--c3) 25%,
      var(--c4) 37.5%,
      var(--c5) 50%,
      var(--c6) 62.5%,
      var(--c7) 75%,
      var(--c8) 87.5%,
      var(--c9) 100%);
  animation:
    intro-c1 1s linear paused both,
    intro-c2 1s linear paused both,
    intro-c3 1s linear paused both,
    intro-c4 1s linear paused both,
    intro-c5 1s linear paused both,
    intro-c6 1s linear paused both,
    intro-c7 1s linear paused both,
    intro-c8 1s linear paused both,
    intro-c9 1s linear paused both;
  animation-delay:
    calc(var(--grad-p) * -1s),
    calc((var(--grad-p) + 0.0625) * -1s),
    calc((var(--grad-p) + 0.125) * -1s),
    calc((var(--grad-p) + 0.1875) * -1s),
    calc((var(--grad-p) + 0.25) * -1s),
    calc((var(--grad-p) + 0.3125) * -1s),
    calc((var(--grad-p) + 0.375) * -1s),
    calc((var(--grad-p) + 0.4375) * -1s),
    calc((var(--grad-p) + 0.5) * -1s);
}
.p-statement {
  width: calc(61.875rem * var(--scale));
  padding-bottom: calc((100vh - 28.25rem * var(--scale)) / 2);
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .p-statement {
    width: auto;
    padding-top: calc(0.75rem * var(--scale));
    padding-bottom: calc(12.5rem * var(--scale));
  }
}
.p-statement__inner {
  padding-left: calc(2.875rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-statement__inner {
    padding-inline: calc(2.5rem * var(--scale));
  }
}
.p-statement__body {
  margin-top: calc(4.875rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-statement__body {
    margin-top: calc(3.75rem * var(--scale));
  }
}
.p-statement__body ._text {
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 210%;
  color: #141416;
  letter-spacing: 0.04em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-statement__body ._text:not(:first-child) {
  margin-top: calc(2.125rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-statement__body ._text:not(:first-child) {
    margin-top: calc(1.75rem * var(--scale));
  }
}
@media screen and (width < 768px) {
  .p-statement__body ._text {
    font-size: calc(0.875rem * var(--scale));
    letter-spacing: 0.02em;
  }
}
.p-statement__title {
  position: relative;
}
@media screen and (width < 768px) {
  .p-statement__title {
    display: flex;
    flex-direction: column;
    gap: calc(1.25rem * var(--scale)) 0;
  }
}
.p-statement__title ._jp {
  font-size: calc(2rem * var(--scale));
  font-weight: 400;
  line-height: 160%;
  color: #141416;
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-statement__title ._jp {
    font-size: calc(1.625rem * var(--scale));
  }
}
.p-statement__title ._en {
  position: absolute;
  top: calc(0.625rem * var(--scale));
  left: calc(-1.75rem * var(--scale));
  font-size: calc(0.875rem * var(--scale));
  font-weight: 400;
  line-height: 140%;
  color: #55545b;
  transform: rotate(90deg);
  transform-origin: top left;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-statement__title ._en {
    position: relative;
    top: auto;
    left: auto;
    font-size: calc(0.75rem * var(--scale));
    transform: none;
  }
}
@property --cloud-navy-p { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --cloud-pink-p { syntax: "<number>"; inherits: true; initial-value: 0; }
.p-kvSticky {
  position: relative;
  height: 100lvh;
  overflow: hidden;
}
.p-kvSticky::after {
  position: fixed;
  inset: 0;
  z-index: 2;
  display: block;
  content: "";
  background-image: url(/assets/images/img_noise.png);
  background-size: calc(9.375rem * var(--scale)) calc(9.375rem * var(--scale));
  opacity: 0.07;
}
@media screen and (width < 768px) {
  .p-kvSticky::after {
    background-size: calc(1.875rem * var(--scale)) calc(1.875rem * var(--scale));
  }
}
.p-kvSticky__cloudWrapper {
  position: absolute;
  bottom: calc(-5rem * var(--scale));
  z-index: 2;
  transition: 0.8s opacity ease-in-out;
}
body.is-loaded .is-cloudFade .p-kvSticky__cloudWrapper {
  opacity: 0;
}
@media screen and (width < 768px) {
  .p-kvSticky__cloudWrapper {
    bottom: calc(-8.4375rem * var(--scale));
  }
}
.p-kvSticky__cloud {
  --cloud-navy-p: var(--intro-cloud-p);
  --cloud-pink-p: clamp(0, var(--scroll-p) / 0.22, 1);
}
body.is-loaded .p-kvSticky__cloud {
  opacity: 1 !important;
}
.p-kvSticky__cloud ._cloud {
  position: absolute;
  mix-blend-mode: plus-lighter;
}
.p-kvSticky__cloud ._cloud img {
  max-width: none;
}
.p-kvSticky__cloud ._dark {
  opacity: calc((1 - var(--cloud-navy-p)) * (1 - var(--cloud-pink-p)));
}
.p-kvSticky__cloud ._navy {
  opacity: calc(var(--cloud-navy-p) * (1 - var(--cloud-pink-p)));
}
.p-kvSticky__cloud ._pink {
  opacity: var(--cloud-pink-p);
}
.p-kvSticky__cloudItem {
  position: relative;
  width: calc(228.625rem * var(--scale));
  aspect-ratio: 3658/448;
  isolation: isolate;
}
@property --deg { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --intro-deg { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --start-x { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --start-y { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --end-x { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --end-y { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --ux { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --uy { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --d { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --k { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --cx { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --cy { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --r { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --start { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --sun-p { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --logo-p { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --hold-p { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --logo-start { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --logo-span { syntax: "<number>"; inherits: false; initial-value: 1; }
.p-sun {
  --start-x: 30vw;
  --start-y: 134vh;
  --end-x: 68vw;
  --end-y: 50vh;
  --deg: 110deg;
  --intro-deg: 15deg;
  --ux: calc(var(--end-x) - var(--start-x));
  --uy: calc(var(--end-y) - var(--start-y));
  --d: hypot(var(--ux), var(--uy));
  --k: calc(1 / (2 * tan(var(--deg) / 2)));
  --cx: calc((var(--start-x) + var(--end-x)) / 2 - var(--uy) * var(--k));
  --cy: calc((var(--start-y) + var(--end-y)) / 2 + var(--ux) * var(--k));
  --r: calc(var(--d) / (2 * sin(var(--deg) / 2)));
  --start: calc(atan2(var(--uy), var(--ux)) + 270deg - var(--deg) / 2);
  --sun-p: clamp(0, var(--scroll-p) / 0.26, 1);
  --angle: calc(var(--start) + var(--intro-sun-p) * var(--intro-deg) + var(--sun-p) * (var(--deg) - var(--intro-deg)));
  --logo-start: 0.09;
  --logo-span: 0.35;
  --logo-p: clamp(0, (var(--scroll-p) - var(--logo-start)) / var(--logo-span), 1);
  position: absolute;
  top: var(--cy);
  left: var(--cx);
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(var(--r)) rotate(calc(var(--angle) * -1));
  opacity: 0;
}
body.is-loaded .p-sun {
  opacity: var(--intro-sun-p);
}
@media screen and (width < 768px) {
  .p-sun {
    --logo-p: clamp(0, var(--hold-p) / 0.6, 1);
    position: sticky;
    top: 50vh;
    left: auto;
    transform: none;
    translate: 0 calc((1 - var(--intro-sun-p)) * 8vh);
  }
}
.p-sun ._sun {
  mask-image: url(/assets/images/mask_logo_inv.png);
  mask-repeat: no-repeat;
  mask-position: center calc(clamp(0, (1 - var(--logo-p)) * 1.5, 1) * 100%);
  mask-size: 100% 300%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-sun ._yoake {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  mask-image: url(/assets/images/mask_logo.png);
  mask-repeat: no-repeat;
  mask-position: center calc((1 - var(--logo-p)) * 300%);
  mask-size: 150% 200%;
}
.p-sunLight {
  --start-x: 30vw;
  --start-y: 134vh;
  --end-x: 68vw;
  --end-y: 50vh;
  --deg: 110deg;
  --intro-deg: 15deg;
  --ux: calc(var(--end-x) - var(--start-x));
  --uy: calc(var(--end-y) - var(--start-y));
  --d: hypot(var(--ux), var(--uy));
  --k: calc(1 / (2 * tan(var(--deg) / 2)));
  --cx: calc((var(--start-x) + var(--end-x)) / 2 - var(--uy) * var(--k));
  --cy: calc((var(--start-y) + var(--end-y)) / 2 + var(--ux) * var(--k));
  --r: calc(var(--d) / (2 * sin(var(--deg) / 2)));
  --start: calc(atan2(var(--uy), var(--ux)) + 270deg - var(--deg) / 2);
  --sun-p: clamp(0, var(--scroll-p) / 0.26, 1);
  --angle: calc(var(--start) + var(--intro-sun-p) * var(--intro-deg) + var(--sun-p) * (var(--deg) - var(--intro-deg)));
  --logo-start: 0.09;
  --logo-span: 0.35;
  --logo-p: clamp(0, (var(--scroll-p) - var(--logo-start)) / var(--logo-span), 1);
  position: absolute;
  top: var(--cy);
  left: var(--cx);
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(var(--r)) rotate(calc(var(--angle) * -1));
  opacity: 0;
}
body.is-loaded .p-sunLight {
  opacity: var(--intro-sun-p);
}
@media screen and (width < 768px) {
  .p-sunLight {
    --logo-p: clamp(0, var(--hold-p) / 0.6, 1);
    position: sticky;
    top: 50vh;
    left: auto;
    transform: none;
    translate: 0 calc((1 - var(--intro-sun-p)) * 8vh);
  }
}
.p-sunLight ._light {
  mask-image: url(/assets/images/mask_logo_inv.png);
  mask-repeat: no-repeat;
  mask-position: center calc(clamp(0, (1 - var(--logo-p)) * 1.5, 1) * 100%);
  mask-size: 100% 300%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-news {
  display: flex;
  align-items: flex-start;
  width: calc(65.625rem * var(--scale));
  padding: calc(2rem * var(--scale)) calc(var(--grid-block) * 2);
  margin: 0 auto;
  border-top: 1px solid rgba(20, 20, 22, 0.2);
  border-bottom: 1px solid rgba(20, 20, 22, 0.2);
}
@media screen and (width < 768px) {
  .p-news {
    flex-direction: column;
    width: calc(100% - 3.875rem * var(--scale));
    padding: calc(2.5rem * var(--scale)) 0;
  }
}
.p-news__title {
  display: flex;
  flex-direction: column;
  gap: calc(1.125rem * var(--scale));
  width: calc(14.125rem * var(--scale));
  padding: calc(2.5rem * var(--scale)) 0 calc(4.375rem * var(--scale));
  border-right: 1px solid rgba(20, 20, 22, 0.2);
}
@media screen and (width < 768px) {
  .p-news__title {
    flex-direction: column;
    gap: calc(0.75rem * var(--scale));
    align-items: center;
    width: 100%;
    padding: 0;
    border: none;
  }
}
.p-news__title ._en {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--grey-700);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-news__title ._jp {
  font-size: calc(1.6875rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--navy-900);
  letter-spacing: 0.03em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-news__title ._jp {
    font-size: calc(1.5rem * var(--scale));
  }
}
.p-news__contents {
  padding: calc(2.5rem * var(--scale)) 0 calc(2.5rem * var(--scale)) calc(9.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-news__contents {
    width: 100%;
    padding: 0;
    margin-top: calc(1.5rem * var(--scale));
  }
}
.p-news__text {
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-news__text {
    font-size: calc(0.875rem * var(--scale));
    text-align: center;
  }
}
.p-news__button {
  margin-top: calc(1.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-news__button {
    text-align: center;
  }
}
.p-about__main {
  display: flex;
  gap: calc(6.375rem * var(--scale));
  width: calc(65.625rem * var(--scale));
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .p-about__main {
    flex-direction: column;
    gap: calc(2.1875rem * var(--scale)) 0;
    width: 100%;
    padding: calc(0.5rem * var(--scale)) calc(2rem * var(--scale)) 0;
  }
}
.p-about__contents {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-about__text {
  width: calc(19rem * var(--scale));
  margin-left: auto;
  font-size: calc(0.875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-about__text {
    width: 100%;
    line-height: 1.8;
  }
}
.p-about__image {
  margin-top: calc(-2.625rem * var(--scale));
  margin-right: calc(2.375rem * var(--scale));
  text-align: right;
}
@media screen and (width < 768px) {
  .p-about__image {
    margin-top: calc(3.125rem * var(--scale));
  }
}
.p-about__subContent {
  padding-top: calc(2.625rem * var(--scale));
  margin-top: calc(7.625rem * var(--scale));
  border-top: 1px solid var(--navy-900-alpha20);
}
.p-about__subContent + .p-about__subContent {
  margin-top: calc(6.125rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-about__subContent + .p-about__subContent {
    margin-top: calc(4.25rem * var(--scale));
  }
}
@media screen and (width < 768px) {
  .p-about__subContent {
    padding-top: calc(1.625rem * var(--scale));
    margin-top: calc(4.4375rem * var(--scale));
  }
}
@property --_draw { syntax: "<number>"; inherits: false; initial-value: 0; }
@keyframes items-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes items-in-up {
  from {
    opacity: 0;
    transform: translateY(calc(0.25rem * var(--scale)));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes circle-scale {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
  20% {
    opacity: 1;
  }
  60%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.2);
  }
}
@keyframes circle-draw {
  from {
    --_draw: 0;
  }
  to {
    --_draw: 1;
  }
}
@keyframes arrow-xin {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes arrow-yin {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
.p-imgAnimation {
  position: relative;
  width: calc(51.5rem * var(--scale));
  height: auto;
  aspect-ratio: 824/472;
}
@media screen and (width < 768px) {
  .p-imgAnimation {
    width: calc(19.5625rem * var(--scale));
    aspect-ratio: 626/1120;
  }
}
.p-imgAnimation .svg {
  position: absolute;
  top: 0;
  left: 0;
}
.p-imgAnimation svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.p-imgAnimation ._text01 {
  position: absolute;
  top: 49.8%;
  left: 28.6%;
  opacity: 0;
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._text01 {
    top: 29.6%;
    left: 50%;
  }
}
.p-imgAnimation ._text02 {
  position: absolute;
  top: 49%;
  left: 80.5%;
  opacity: 0;
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._text02 {
    top: 78%;
    left: 50%;
  }
}
.p-imgAnimation ._text02_icon {
  position: absolute;
  top: 71%;
  left: 80.5%;
  width: calc(3.0625rem * var(--scale));
  opacity: 0;
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._text02_icon {
    top: 90.5%;
    left: 50%;
    width: calc(2rem * var(--scale));
  }
}
.p-imgAnimation ._arrow {
  position: absolute;
  top: 50.7%;
  left: 60.5%;
  width: calc(5.8125rem * var(--scale));
  overflow: hidden;
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._arrow {
    top: 64%;
    left: 50%;
    width: calc(0.6875rem * var(--scale));
    transform: translate(-50%, -50%);
  }
}
.p-imgAnimation ._arrow g {
  transform: translateX(-100%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._arrow g {
    transform: translateY(-100%);
  }
}
.p-imgAnimation ._ring {
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--_draw));
  transform: rotate(-90deg);
  transform-origin: center;
}
.p-imgAnimation ._circle01 {
  position: absolute;
  top: 50%;
  left: 28.7%;
  width: calc(29.5rem * var(--scale));
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._circle01 {
    top: 30%;
    left: 50%;
    width: calc(19.5625rem * var(--scale));
  }
}
.p-imgAnimation ._circle02 {
  position: absolute;
  top: 50%;
  left: 28.7%;
  width: calc(22.8125rem * var(--scale));
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._circle02 {
    top: 30%;
    left: 50%;
    width: calc(15.125rem * var(--scale));
  }
}
.p-imgAnimation ._circle03 {
  position: absolute;
  top: 50%;
  left: 28.7%;
  width: calc(16.125rem * var(--scale));
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._circle03 {
    top: 30%;
    left: 50%;
    width: calc(10.6875rem * var(--scale));
  }
}
.p-imgAnimation ._animationCircle {
  position: absolute;
  top: 50%;
  left: 28.7%;
  width: calc(14.25rem * var(--scale));
  aspect-ratio: 1;
  border: 1px solid #e4e4e4;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._animationCircle {
    top: 30%;
    left: 50%;
    width: calc(8.75rem * var(--scale));
  }
}
.p-imgAnimation ._circle04 {
  position: absolute;
  top: 56.4%;
  left: 80.6%;
  width: calc(20.125rem * var(--scale));
  opacity: 0;
  transform: translate(-50%, -50%);
}
@media screen and (width < 768px) {
  .p-imgAnimation ._circle04 {
    top: 81%;
    left: 50%;
    width: calc(13.3125rem * var(--scale));
  }
}
.p-imgAnimation ._items {
  display: block;
  opacity: 1;
}
.p-imgAnimation ._item {
  --_r: calc(11.25rem * var(--scale));
  --_angle: calc((var(--_index) - 1) * 60deg - 90deg);
  position: absolute;
  top: 50%;
  left: 28.7%;
  width: calc(5.375rem * var(--scale));
  transform: translate(-50%, -50%) rotate(var(--_angle)) translateX(var(--_r)) rotate(calc(var(--_angle) * -1));
}
@media screen and (width < 768px) {
  .p-imgAnimation ._item {
    --_r: calc(7.5rem * var(--scale));
    top: 30%;
    left: 50%;
    width: calc(3.5rem * var(--scale));
  }
}
.p-imgAnimation ._icon {
  position: absolute;
  top: calc(-1.875rem * var(--scale));
  right: calc(-0.75rem * var(--scale));
  width: calc(3.125rem * var(--scale));
  opacity: 0;
  transform: translateY(calc(0.25rem * var(--scale)));
}
@media screen and (width < 768px) {
  .p-imgAnimation ._icon {
    top: calc(-1.25rem * var(--scale));
    right: calc(-0.5rem * var(--scale));
    width: calc(2.1875rem * var(--scale));
  }
}
.p-imgAnimation.is-inView ._ring {
  animation: circle-draw 1.2s linear 0.72s both;
}
.p-imgAnimation.is-inView ._animationCircle {
  animation: circle-scale 2s linear calc(2.9s + var(--_index) * 0.4s) infinite;
}
.p-imgAnimation.is-inView ._text01 {
  animation: items-in 0.6s ease-in 1.2s both;
}
.p-imgAnimation.is-inView ._arrow g {
  animation: arrow-xin 0.7s cubic-bezier(0.16, 1, 0.3, 1) 2.1s both;
}
@media screen and (width < 768px) {
  .p-imgAnimation.is-inView ._arrow g {
    animation: arrow-yin 0.7s cubic-bezier(0.16, 1, 0.3, 1) 2.1s both;
  }
}
.p-imgAnimation.is-inView ._circle04 {
  animation: items-in 0.45s ease-out 2.7s both;
}
.p-imgAnimation.is-inView ._text02,
.p-imgAnimation.is-inView ._text02_icon {
  animation: items-in 0.45s ease-out 2.7s both;
}
.p-imgAnimation.is-inView {
}
.p-imgAnimation.is-inView ._item:nth-child(1) ._icon {
  animation: items-in-up 0.6s ease-in-out 0.45s both;
}
.p-imgAnimation.is-inView ._item:nth-child(5) ._icon {
  animation: items-in-up 0.6s ease-in-out 1.25s both;
}
.p-imgAnimation.is-inView ._item:nth-child(2) ._icon {
  animation: items-in-up 0.6s ease-in-out 2.05s both;
}
.p-aboutTheme__cardContainer {
  margin-top: calc(4rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutTheme__cardContainer {
    margin-top: calc(2.5rem * var(--scale));
  }
}
.p-aboutTheme__card {
  padding: calc(1.75rem * var(--scale)) calc(1.5rem * var(--scale));
  background-color: #f7f7f7;
  border-radius: calc(0.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutTheme__card {
    padding: calc(1.375rem * var(--scale)) calc(1.5rem * var(--scale));
  }
}
.p-aboutTheme__card ._theme {
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 600;
  line-height: 100%;
  color: var(--orange);
  letter-spacing: -0.02em;
  text-decoration: underline;
  text-underline-offset: 4px;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutTheme__card ._icon {
  margin-top: calc(-0.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutTheme__card ._icon {
    margin-top: calc(-0.1875rem * var(--scale));
    margin-right: calc(-0.3125rem * var(--scale));
  }
}
.p-aboutTheme__card ._title {
  display: flex;
  flex-direction: column;
  gap: calc(0.8125rem * var(--scale));
  margin-top: calc(3.875rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutTheme__card ._title {
    margin-top: calc(0.75rem * var(--scale));
  }
}
.p-aboutTheme__card ._titleMain {
  font-size: calc(1.5rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-aboutTheme__card ._titleMain {
    font-size: calc(1.25rem * var(--scale));
  }
}
.p-aboutTheme__card ._titleSub {
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 140%;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutTheme__card ._keyword {
  position: relative;
  padding-left: calc(0.625rem * var(--scale));
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 500;
  font-feature-settings: "palt" on;
  line-height: 100%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutTheme__card ._keyword::after {
  position: absolute;
  top: calc(0.5em - 0.0625rem * var(--scale));
  left: 0;
  display: block;
  width: calc(0.375rem * var(--scale));
  aspect-ratio: 1;
  content: "";
  background-color: var(--orange);
  border-radius: 50%;
}
.p-aboutTheme__card ._descriptionWrapper {
  margin-top: calc(0.8125rem * var(--scale));
}
.p-aboutTheme__card ._description {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 160%;
  color: var(--grey-600);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutTheme__cardHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.p-aboutTheme__body {
  padding-top: calc(1.0625rem * var(--scale));
  margin-top: calc(2.0625rem * var(--scale));
  border-top: 2px solid #fff;
}
@media screen and (width < 768px) {
  .p-aboutTheme__body {
    padding-top: calc(0.8125rem * var(--scale));
    margin-top: calc(1.625rem * var(--scale));
  }
}
@keyframes about-number-value-in {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.p-aboutNumber__list {
  margin-top: calc(4.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutNumber__list {
    margin-top: calc(2.5rem * var(--scale));
  }
}
.p-aboutNumber__card {
  position: relative;
  aspect-ratio: 232/250;
  padding: calc(1.5rem * var(--scale));
  border: 1px solid var(--navy-900-alpha10);
  border-radius: calc(0.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutNumber__card {
    aspect-ratio: 151/170;
    padding: calc(1.1875rem * var(--scale)) 0 calc(1.1875rem * var(--scale)) calc(0.875rem * var(--scale));
  }
}
.p-aboutNumber__card ._title {
  position: relative;
  padding-left: calc(1rem * var(--scale));
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-aboutNumber__card ._title {
    padding-left: calc(0.8125rem * var(--scale));
    font-size: calc(0.75rem * var(--scale));
  }
}
.p-aboutNumber__card ._title::after {
  position: absolute;
  top: calc(0.5em - 0.25rem * var(--scale));
  left: 0;
  display: block;
  width: calc(0.75rem * var(--scale));
  aspect-ratio: 1;
  content: "";
  background-color: var(--orange);
  border-radius: 50%;
}
@media screen and (width < 768px) {
  .p-aboutNumber__card ._title::after {
    width: calc(0.625rem * var(--scale));
  }
}
.p-aboutNumber__card ._title sup {
  top: -0.3em;
  font-size: calc(0.625rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--grey-700);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutNumber__card ._content {
  position: absolute;
  top: calc(5.9375rem * var(--scale));
  left: calc(4.75rem * var(--scale));
  width: calc(8.5625rem * var(--scale));
  height: calc(4.0625rem * var(--scale));
  padding: calc(0.75rem * var(--scale)) calc(1rem * var(--scale)) calc(1.6875rem * var(--scale));
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 135%;
  color: var(--navy-900);
  letter-spacing: 0.01em;
  white-space: nowrap;
  background-image: url(/assets/images/about/frame.svg);
  background-repeat: no-repeat;
  background-size: contain;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-aboutNumber__card ._content {
    top: calc(2.9375rem * var(--scale));
    left: calc(1.1875rem * var(--scale));
    width: calc(7.5rem * var(--scale));
    height: calc(3.5625rem * var(--scale));
    padding: calc(0.625rem * var(--scale)) calc(0.625rem * var(--scale)) calc(0.625rem * var(--scale)) calc(0.75rem * var(--scale));
    font-size: calc(0.625rem * var(--scale));
    background-image: url(/assets/images/about/frame_sp.svg);
  }
}
.p-aboutNumber__card ._value {
  position: absolute;
  bottom: calc(1.25rem * var(--scale));
  left: calc(1.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutNumber__card ._value {
    bottom: calc(1rem * var(--scale));
    left: calc(0.625rem * var(--scale));
  }
}
@media screen and (width < 768px) {
  .p-aboutNumber__card ._value .c-icon {
    transform: scale(0.85);
    transform-origin: left bottom;
  }
}
.p-aboutNumber__card ._value ._animeNumber path {
  transform: translateY(100%);
  transform-box: view-box;
}
.p-aboutNumber__card.is-inView ._value ._animeNumber path {
  animation: about-number-value-in 0.25s ease-out both;
  will-change: transform;
}
.p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(1) {
  animation-delay: calc(0s);
}
@media screen and (width < 768px) {
  .p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(1) {
    animation-delay: calc(0s);
  }
}
.p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(2) {
  animation-delay: calc(0.1s);
}
@media screen and (width < 768px) {
  .p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(2) {
    animation-delay: calc(0.1s);
  }
}
.p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(3) {
  animation-delay: calc(0.2s);
}
@media screen and (width < 768px) {
  .p-aboutNumber__card.is-inView ._value ._animeNumber path:nth-child(3) {
    animation-delay: calc(0.2s);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-aboutNumber__card ._value ._animeNumber path {
    transform: none;
    animation: none;
  }
}
.p-aboutNumber__card ._valuePrefix {
  margin-right: calc(-0.625rem * var(--scale));
  font-size: calc(1rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 100%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutNumber__card ._valueNumber {
  font-size: calc(4.75rem * var(--scale));
  font-weight: 300;
  font-feature-settings: "palt" on;
  line-height: 100%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutNumber__card ._valueUnit {
  margin-right: calc(0.125rem * var(--scale));
  font-size: calc(1rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 100%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-aboutNumber__notes {
  margin-top: calc(1.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-aboutNumber__notes {
    margin-top: calc(0.875rem * var(--scale));
  }
}
.p-aboutNumber__note {
  padding-left: 1em;
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--gray-600);
  text-align: right;
  text-indent: -1em;
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-aboutNumber__note {
    text-align: left;
  }
}
.p-advantage {
  width: calc(75rem * var(--scale));
  padding: calc(8rem * var(--scale)) calc(9.375rem * var(--scale)) calc(8rem * var(--scale)) calc(4.6875rem * var(--scale));
  margin-inline: auto;
  background-color: #081d39;
}
@media screen and (width < 768px) {
  .p-advantage {
    width: calc(21.4375rem * var(--scale));
    padding: calc(3.125rem * var(--scale)) calc(1.9375rem * var(--scale)) calc(3.375rem * var(--scale));
  }
}
.p-advantage .c-sectionTitleTate ._jp {
  color: #fff;
}
.p-advantage .c-sectionTitleTate ._en {
  color: var(--grey-200);
}
.p-advantage__inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-right: calc(0.125rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-advantage__inner {
    flex-direction: column;
  }
}
@media screen and (width < 768px) {
  .p-advantage__inner .c-sectionTitleTate ._char:not(:first-child) {
    margin-left: -0.01em;
  }
}
.p-advantage__content {
  width: calc(49.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-advantage__content {
    width: 100%;
    margin-top: calc(2.125rem * var(--scale));
  }
}
.p-advantage__item {
  display: flex;
  gap: 0 calc(4.4375rem * var(--scale));
  align-items: flex-start;
  padding: calc(3.5625rem * var(--scale)) 0 calc(3.5rem * var(--scale)) calc(2.375rem * var(--scale));
  border-top: 1px solid rgba(253, 253, 254, 0.2);
}
@media screen and (width < 768px) {
  .p-advantage__item {
    gap: 0 calc(1.625rem * var(--scale));
    padding: calc(2.1875rem * var(--scale)) 0;
  }
}
.p-advantage__item:last-child {
  border-bottom: 1px solid rgba(253, 253, 254, 0.2);
}
.p-advantage__item ._number {
  flex-shrink: 0;
  margin-top: calc(0.125rem * var(--scale));
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 600;
  font-feature-settings: "palt" on;
  line-height: 100%;
  color: var(--orange);
  letter-spacing: -0.05em;
  text-decoration: underline;
  text-underline-offset: 5px;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-advantage__item ._number {
    font-size: calc(0.75rem * var(--scale));
  }
}
.p-advantage__item ._title {
  font-size: calc(1.5rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--grey-50);
  letter-spacing: 0.03em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-advantage__item ._title {
    font-size: calc(1.125rem * var(--scale));
  }
}
.p-advantage__item ._descriptionWrapper {
  padding-right: calc(2.5rem * var(--scale));
  margin-top: calc(1.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-advantage__item ._descriptionWrapper {
    width: calc(100% + 0.125rem * var(--scale));
    padding-right: 0;
  }
}
.p-advantage__item ._description {
  font-size: calc(0.875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 150%;
  color: var(--grey-50);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-advantage__item ._description {
    font-size: calc(0.8125rem * var(--scale));
    line-height: 155%;
  }
}
.p-whatWeDo__title {
  display: flex;
  flex-direction: column;
  gap: calc(1.0625rem * var(--scale)) 0;
  align-items: center;
}
@media screen and (width < 768px) {
  .p-whatWeDo__title {
    gap: calc(0.75rem * var(--scale)) 0;
  }
}
.p-whatWeDo__title ._en {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 100%;
  color: var(--grey-700);
  text-transform: capitalize;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDo__title ._jp {
  font-size: calc(2rem * var(--scale));
  font-weight: 400;
  line-height: 100%;
  color: var(--navy-900);
  text-align: center;
  letter-spacing: 0.96px;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-whatWeDo__title ._jp {
    font-size: calc(1.5rem * var(--scale));
  }
}
.p-whatWeDo__content {
  width: calc(69.625rem * var(--scale));
  margin-inline: auto;
  margin-top: calc(4rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__content {
    width: calc(19.5625rem * var(--scale));
    margin-top: calc(2.5rem * var(--scale));
  }
}
.p-whatWeDo__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(2.0625rem * var(--scale)) 0 calc(1.125rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__item {
    padding: calc(2.0625rem * var(--scale)) 0;
    border-top: 1px solid rgba(20, 20, 22, 0.2);
  }
  .p-whatWeDo__item:last-child {
    border-bottom: 1px solid rgba(20, 20, 22, 0.2);
  }
}
.p-whatWeDo__item:not(:last-child) {
  border-right: 1px solid rgba(20, 20, 22, 0.2);
}
@media screen and (width < 768px) {
  .p-whatWeDo__item:not(:last-child) {
    border-right: none;
  }
}
.p-whatWeDo__item ._number {
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 600;
  line-height: 100%;
  color: var(--orange);
  letter-spacing: -0.02em;
  text-decoration: underline;
  text-underline-offset: 4px;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDo__item ._titleWrapper {
  margin-top: calc(1.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._titleWrapper {
    margin-top: calc(1.3125rem * var(--scale));
  }
}
.p-whatWeDo__item ._title {
  font-size: calc(1.6875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  letter-spacing: 0.03em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._title {
    font-size: calc(1.5rem * var(--scale));
  }
}
.p-whatWeDo__item ._lottieIcon {
  display: block;
  width: calc(5.5rem * var(--scale));
  aspect-ratio: 1;
  margin-top: calc(2.25rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._lottieIcon {
    width: calc(5rem * var(--scale));
    margin-top: calc(1rem * var(--scale));
  }
}
.p-whatWeDo__item ._textWrapper {
  margin-top: calc(1.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._textWrapper {
    margin-top: calc(0.9375rem * var(--scale));
  }
}
.p-whatWeDo__item ._text {
  font-size: calc(0.875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 160%;
  color: var(--navy-900);
  text-align: center;
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDo__item ._link {
  margin-top: calc(2.875rem * var(--scale));
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 160%;
  color: var(--navy-600);
  text-decoration: underline;
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._link {
    margin-top: calc(1.125rem * var(--scale));
  }
}
.p-whatWeDo__item ._link ._icon {
  position: relative;
  display: inline-block;
  width: calc(1.125rem * var(--scale));
  aspect-ratio: 1;
  overflow: hidden;
  vertical-align: text-bottom;
}
.p-whatWeDo__item ._link ._prev,
.p-whatWeDo__item ._link ._next {
  position: absolute;
  top: 0%;
  left: 0%;
  display: inline-block;
  width: calc(1.125rem * var(--scale));
  height: calc(1.125rem * var(--scale));
  font-size: 0;
}
.p-whatWeDo__item ._link ._next {
  transform: translate(-100%, 100%);
}
@media (any-hover) {
  .p-whatWeDo__item ._link:where(:any-link, :enabled, summary):hover {
    text-decoration-color: transparent;
  }
  .p-whatWeDo__item ._link:where(:any-link, :enabled, summary):hover ._prev {
    transform: translate(100%, -100%);
    transition: 0.3s transform ease-out;
  }
  .p-whatWeDo__item ._link:where(:any-link, :enabled, summary):hover ._next {
    transform: translate(0%, 0%);
    transition: 0.3s transform ease-out;
  }
}
.p-whatWeDo__item ._link:focus-visible {
  text-decoration-color: transparent;
}
.p-whatWeDo__item ._link:focus-visible ._prev {
  transform: translate(100%, -100%);
  transition: 0.3s transform ease-out;
}
.p-whatWeDo__item ._link:focus-visible ._next {
  transform: translate(0%, 0%);
  transition: 0.3s transform ease-out;
}
.p-whatWeDo__item ._content {
  width: calc(16.625rem * var(--scale));
  margin-top: calc(1.75rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__item ._content {
    margin-top: calc(1.4375rem * var(--scale));
  }
}
.p-whatWeDo__item ._contentTitle {
  font-size: calc(0.75rem * var(--scale));
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 140%;
  color: #55545b;
  text-align: center;
  letter-spacing: 0.02em;
  background-color: #eef0f7;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDo__item ._contentTextWrapper {
  margin-top: calc(0.6875rem * var(--scale));
}
.p-whatWeDo__item ._contentText {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 150%;
  color: #77767f;
  text-align: center;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDo__about {
  margin-top: calc(7.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDo__about {
    margin-top: calc(4rem * var(--scale));
  }
}
.p-whatWeDoAbout__inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  width: calc(80rem * var(--scale));
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__inner {
    flex-direction: column;
    width: 100%;
  }
}
.p-whatWeDoAbout__content {
  width: calc(42.3125rem * var(--scale));
  padding: calc(3.75rem * var(--scale)) calc(7.125rem * var(--scale)) 0;
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content {
    width: 100%;
    padding: 0;
  }
}
.p-whatWeDoAbout__profile {
  width: calc(37.6875rem * var(--scale));
  padding: calc(4rem * var(--scale)) calc(9.375rem * var(--scale));
  background: var(--grey-100);
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__profile {
    width: calc(19.5625rem * var(--scale));
    padding: calc(2.125rem * var(--scale)) calc(2rem * var(--scale)) calc(2.3125rem * var(--scale));
    margin-inline: auto;
    margin-top: calc(3.375rem * var(--scale));
  }
}
.p-whatWeDoAbout__content ._titleWrapper {
  display: flex;
  justify-content: center;
  padding-right: calc(0.375rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content ._titleWrapper {
    padding-right: calc(1.25rem * var(--scale));
  }
}
.p-whatWeDoAbout__content ._title {
  font-size: calc(2.125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "vert" on;
  line-height: 180%;
  color: var(--navy-900);
  letter-spacing: 0.09em;
  writing-mode: vertical-rl;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content ._title {
    font-size: calc(1.3125rem * var(--scale));
    line-height: 160%;
    letter-spacing: 0.03em;
    writing-mode: horizontal-tb;
  }
}
.p-whatWeDoAbout__content ._texts {
  margin-top: calc(4.0625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content ._texts {
    width: calc(17.5625rem * var(--scale));
    margin-inline: auto;
    margin-top: calc(2.1875rem * var(--scale));
  }
}
.p-whatWeDoAbout__content ._text {
  font-size: calc(0.875rem * var(--scale));
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 190%;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDoAbout__content ._text + ._text {
  margin-top: calc(2rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content ._text + ._text {
    margin-top: calc(1.75rem * var(--scale));
  }
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__content ._text {
    font-size: calc(0.8125rem * var(--scale));
    line-height: 192%;
  }
}
.p-whatWeDoAbout__profile ._companyWrapper {
  padding-left: calc(0.1875rem * var(--scale));
  margin-top: calc(1.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__profile ._companyWrapper {
    padding-left: 0;
    margin-top: calc(1.25rem * var(--scale));
  }
}
.p-whatWeDoAbout__profile ._company {
  display: block;
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 140%;
  color: var(--grey-700);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-whatWeDoAbout__profile ._nameWrapper {
  padding-left: calc(0.1875rem * var(--scale));
  margin-top: calc(0.5625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__profile ._nameWrapper {
    padding-left: 0;
    margin-top: calc(0.625rem * var(--scale));
  }
}
.p-whatWeDoAbout__profile ._name {
  display: block;
  font-size: calc(1.375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 170%;
  color: var(--navy-900);
  letter-spacing: 0.1em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__profile ._name {
    font-size: calc(1.125rem * var(--scale));
  }
}
.p-whatWeDoAbout__profile ._textWrapper {
  padding-left: calc(0.1875rem * var(--scale));
  margin-top: calc(1.5625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-whatWeDoAbout__profile ._textWrapper {
    padding-left: 0;
    margin-top: calc(1.25rem * var(--scale));
  }
}
.p-whatWeDoAbout__profile ._text {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 155%;
  color: var(--navy-900);
  letter-spacing: 0.01em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-trackRecord__inner {
  width: calc(65.625rem * var(--scale));
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .p-trackRecord__inner {
    width: calc(19.5625rem * var(--scale));
  }
}
.p-trackRecord__contents {
  margin-top: calc(1.75rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-trackRecord__contents {
    margin-top: calc(2.5rem * var(--scale));
  }
}
.p-trackRecord__content {
  padding: calc(1.25rem * var(--scale)) 0 calc(8rem * var(--scale));
  border-top: 1px solid rgba(20, 20, 22, 0.2);
}
@media screen and (width < 768px) {
  .p-trackRecord__content {
    padding: calc(0.875rem * var(--scale)) 0 calc(3.5625rem * var(--scale));
  }
}
.p-trackRecord__content.--small {
  padding-bottom: calc(6.0625rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-trackRecord__content.--small {
    padding-bottom: calc(3.375rem * var(--scale));
  }
}
.p-trackRecord__label {
  position: relative;
  padding-left: calc(1rem * var(--scale));
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-trackRecord__label {
    padding-left: calc(0.75rem * var(--scale));
    font-size: calc(0.75rem * var(--scale));
  }
}
.p-trackRecord__label::after {
  position: absolute;
  top: calc(0.1875rem * var(--scale));
  left: 0;
  display: block;
  width: calc(0.75rem * var(--scale));
  aspect-ratio: 1;
  content: "";
  background-color: var(--orange);
  border-radius: 50%;
}
@media screen and (width < 768px) {
  .p-trackRecord__label::after {
    width: calc(0.625rem * var(--scale));
  }
}
.p-trackRecord__list {
  margin-top: calc(3rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-trackRecord__list {
    margin-top: calc(1.875rem * var(--scale));
  }
}
@media screen and (width < 768px) {
  .p-trackRecord__list.--large {
    margin-top: calc(2.625rem * var(--scale));
  }
}
.p-trackRecord__list.--small {
  width: calc(56.25rem * var(--scale));
  margin-top: calc(3.875rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-trackRecord__list.--small {
    width: calc(17.75rem * var(--scale));
    padding-bottom: calc(1.5625rem * var(--scale));
    margin-top: calc(3.25rem * var(--scale));
  }
}
.p-trackRecord__list ._text {
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  line-height: 145%;
  color: #000;
  letter-spacing: 0.05em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-trackRecord__list ._text ._suffix {
  display: inline-block;
  margin-left: calc(0.875rem * var(--scale));
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  line-height: 145%;
  vertical-align: middle;
  color: #000;
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-trackRecord__list ._text ._suffix {
    margin-left: calc(0.5rem * var(--scale));
    font-size: calc(0.75rem * var(--scale));
  }
}
.p-information__inner {
  display: flex;
  gap: 0 calc(8.3125rem * var(--scale));
  width: calc(65.625rem * var(--scale));
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .p-information__inner {
    flex-direction: column;
    width: calc(19.5625rem * var(--scale));
  }
}
.p-information__content {
  margin-top: calc(0.5rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-information__content {
    margin-top: calc(3rem * var(--scale));
  }
}
.p-information__content ._row {
  display: flex;
}
.p-information__content ._head {
  width: calc(14.0625rem * var(--scale));
  padding: calc(3.1875rem * var(--scale)) 0 calc(3.5rem * var(--scale));
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  border-top: 1px solid var(--navy-900);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-information__content ._head {
    width: calc(6.875rem * var(--scale));
    padding: calc(2rem * var(--scale)) 0 calc(2.4375rem * var(--scale));
    font-size: calc(0.875rem * var(--scale));
  }
}
.p-information__content ._body {
  width: calc(37.5rem * var(--scale));
  padding: calc(3.1875rem * var(--scale)) 0 calc(3.5rem * var(--scale));
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--navy-900);
  letter-spacing: 0.02em;
  border-top: 1px solid rgba(20, 20, 22, 0.2);
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-information__content ._body {
    width: calc(12.6875rem * var(--scale));
    padding: calc(2rem * var(--scale)) 0 calc(2.4375rem * var(--scale));
    font-size: calc(0.875rem * var(--scale));
  }
}
.p-information__content ._small {
  display: inline-block;
  margin-left: calc(1.1875rem * var(--scale));
  font-size: calc(0.6875rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 145%;
  color: var(--grey-700);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-information__content ._small {
    margin-top: calc(0.5rem * var(--scale));
    margin-left: 0;
  }
}
.p-contact__inner {
  display: flex;
  width: calc(51.5625rem * var(--scale));
  margin-inline: auto;
  opacity: 0;
  filter: brightness(0);
  mask-image: url(/assets/images/mask_contact_text.png);
  mask-repeat: no-repeat;
  mask-position: 100% top;
  mask-size: auto 1600%;
}
@media screen and (width < 768px) {
  .p-contact__inner {
    flex-direction: column;
    width: 100%;
    mask-size: auto 200%;
  }
}
.p-contact__inner.is-inView {
  opacity: 1;
  filter: brightness(1);
  mask-position: left 0%;
  transition:
    2s cubic-bezier(0.22, 1, 0.36, 1) mask-position,
    2s filter,
    2s cubic-bezier(0.22, 1, 0.36, 1) opacity;
}
.p-contact__title {
  display: flex;
  flex-direction: column;
  gap: calc(1rem * var(--scale)) 0;
  align-items: flex-start;
  width: calc(22.9375rem * var(--scale));
  padding: calc(0.4375rem * var(--scale)) 0 calc(2.5rem * var(--scale));
  border-right: 1px solid rgba(253, 253, 254, 0.2);
}
@media screen and (width < 768px) {
  .p-contact__title {
    align-items: center;
    width: 100%;
    padding: 0;
  }
}
.p-contact__title ._en {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 140%;
  color: var(--grey-200);
  text-align: center;
  text-transform: capitalize;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.p-contact__title ._jp {
  font-size: calc(2.5625rem * var(--scale));
  font-weight: 300;
  line-height: 100%;
  color: var(--grey-50);
  letter-spacing: 0.07em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-contact__title ._jp {
    font-size: calc(1.875rem * var(--scale));
  }
}
.p-contact__content {
  width: calc(28.625rem * var(--scale));
  padding-top: calc(0.375rem * var(--scale));
  padding-left: calc(6.6875rem * var(--scale));
}
@media screen and (width < 768px) {
  .p-contact__content {
    width: 100%;
    padding-top: 0;
    padding-left: 0;
    margin-top: calc(2.125rem * var(--scale));
    text-align: center;
  }
}
.p-contact__content ._label {
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 300;
  font-feature-settings: "palt" on;
  line-height: 170%;
  color: var(--grey-50);
  letter-spacing: 0.02em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .p-contact__content ._label {
    font-size: calc(0.875rem * var(--scale));
  }
}
.p-contact__content ._link {
  margin-top: calc(2rem * var(--scale));
}
.a-fadeUp.is-inView .a-fadeUpChildren {
  opacity: 1;
  transform: translateY(0);
}
.a-fadeUpChildren {
  opacity: 0;
  transform: translateY(var(--_fade-up-distance, 100%));
  transition: opacity var(--_fade-up-duration, 0.5s) var(--_delay, 0s) ease-out, transform var(--_fade-up-duration, 0.5s) var(--_delay, 0s) ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .a-fadeUpChildren {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.c-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  width: calc(100vw - 4rem);
  height: calc(100vh - 4rem);
  padding: 0;
  margin: 0;
  transform: translate(-50%, -50%);
}
.c-modal__container {
  position: relative;
}
.c-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  cursor: pointer;
}
.c-picture {
  display: inline-block;
  width: calc(var(--_display-width, 100%) * var(--scale));
  aspect-ratio: var(--_aspect-ratio, auto);
}
@media screen and (width < 768px) {
  .c-picture {
    width: calc(var(--_display-width-sp, var(--_display-width, 100%)) * min(var(--scale)));
    aspect-ratio: var(--_aspect-ratio-sp, var(--_aspect-ratio, auto));
  }
}
.c-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-button {
  --_base-bg: var(--navy-600);
  --_base-bg-transparent: rgb(19, 32, 68, 0);
  --_hover-bg:
    linear-gradient(
      281deg,
      #132044 26.69%,
      #344e98 84.65%);
  display: inline-flex;
  gap: 0 calc(0.25rem * var(--scale));
  align-items: center;
  padding: calc(0.875rem * var(--scale)) calc(1rem * var(--scale)) calc(0.875rem * var(--scale)) calc(1.375rem * var(--scale));
  font-family:
    "Open Sans",
    "Noto Sans JP",
    sans-serif;
  font-size: calc(0.9375rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1;
  color: var(--grey-50);
  letter-spacing: 0.01em;
  background-color: var(--_base-bg);
  background-image:
    linear-gradient(
      to right,
      var(--_base-bg-transparent) 0%,
      var(--_base-bg-transparent) 33.34%,
      var(--_base-bg) 66.66%,
      var(--_base-bg) 100%),
    var(--_hover-bg);
  background-repeat: no-repeat;
  background-position: 100% 0, 0 0;
  background-size: 300% 100%, 100% 100%;
  border-radius: calc(62.4375rem * var(--scale));
  box-shadow: none;
  transition: 0.4s background-position ease-out;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media (any-hover) {
  .c-button:where(:any-link, :enabled, summary):hover {
    background-position: 0 0, 0 0;
  }
  .c-button:where(:any-link, :enabled, summary):hover .c-icon {
    transition: 0.3s transform ease-out;
  }
  .c-button:where(:any-link, :enabled, summary):hover ._prev .c-icon {
    transform: translateX(100%);
  }
  .c-button:where(:any-link, :enabled, summary):hover ._next .c-icon {
    transform: translateX(0%);
  }
}
.c-button:focus-visible {
  background-position: 0 0, 0 0;
}
.c-button:focus-visible .c-icon {
  transition: 0.3s transform ease-out;
}
.c-button:focus-visible ._prev .c-icon {
  transform: translateX(100%);
}
.c-button:focus-visible ._next .c-icon {
  transform: translateX(0%);
}
@media (prefers-reduced-motion: reduce) {
  .c-button {
    transition-duration: 0s;
  }
}
.c-button.--large {
  gap: 0 calc(0.5rem * var(--scale));
  padding: calc(1.1875rem * var(--scale)) calc(1.5rem * var(--scale)) calc(1.1875rem * var(--scale)) calc(1.625rem * var(--scale));
  font-size: calc(1rem * var(--scale));
}
.c-button.--orange {
  --_base-bg: #c9694f;
  --_base-bg-transparent: rgb(201, 105, 79, 0);
  --_hover-bg:
    linear-gradient(
      281deg,
      #c9694f 26.69%,
      #d68671 84.65%);
}
.c-button ._icon {
  position: relative;
  width: calc(1.25rem * var(--scale));
  aspect-ratio: 1;
  overflow: hidden;
}
.c-button ._prev,
.c-button ._next {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-button ._prev .c-icon {
  transform: translateX(0);
}
.c-button ._next .c-icon {
  transform: translateX(-100%);
}
.c-icon {
  --_width: 1em;
  --_height: 1em;
  display: inline-block;
  width: calc(var(--_width) * var(--scale));
  height: calc(var(--_height) * var(--scale));
  font-size: 0;
  line-height: 1;
}
@media screen and (width < 768px) {
  .c-icon {
    width: calc(var(--_sp-width, var(--_width)) * var(--scale));
    height: calc(var(--_sp-height, var(--_height)) * var(--scale));
  }
}
.c-icon svg {
  width: 100%;
  height: 100%;
}
.c-carousel {
  width: 100%;
}
.c-carousel__slide {
  width: 200px;
}
.c-carousel__slide img {
  display: block;
  width: 100%;
  height: auto;
}
.c-carousel .splide__arrow {
  background: rgba(0, 0, 0, 0.5);
  opacity: 1;
}
.c-carousel .splide__arrow:hover {
  background: rgba(0, 0, 0, 0.8);
}
.c-carousel .splide__arrow svg {
  fill: #fff;
}
.c-carousel .splide__pagination__page {
  background: #ccc;
}
.c-carousel .splide__pagination__page.is-active {
  background: #333;
}
.c-marquee {
  --gap: 2rem;
  width: 100vw;
  contain: paint;
  overflow: hidden;
  pointer-events: none;
}
.c-marquee__track {
  display: flex;
  gap: 0;
  will-change: transform;
}
.c-marquee__set {
  display: flex;
  flex: none;
  gap: var(--gap);
  padding-right: var(--gap);
}
@media (prefers-reduced-motion: reduce) {
  .c-marquee {
    overflow-x: auto;
  }
}
.c-sectionHead {
  display: flex;
  justify-content: space-between;
}
@media screen and (width < 768px) {
  .c-sectionHead {
    flex-direction: column;
    gap: calc(2rem * var(--scale)) 0;
  }
}
.c-sectionHead__title {
  font-size: calc(1.6875rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--navy-900);
  letter-spacing: 0.03em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .c-sectionHead__title {
    font-size: calc(1.25rem * var(--scale));
  }
}
.c-sectionHead__description {
  width: calc(25.8125rem * var(--scale));
  font-size: calc(0.8125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.55;
  color: var(--navy-900);
  letter-spacing: 0.26px;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .c-sectionHead__description {
    width: 100%;
  }
}
.c-sectionTitleTate {
  position: relative;
  padding-left: calc(3.625rem * var(--scale));
}
@media screen and (width < 768px) {
  .c-sectionTitleTate {
    display: flex;
    flex-direction: column;
    gap: calc(0.875rem * var(--scale)) 0;
    padding-left: 0;
  }
}
.c-sectionTitleTate ._en {
  position: absolute;
  left: calc(2.5rem * var(--scale));
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--grey-700);
  text-transform: capitalize;
  white-space: nowrap;
  transform: rotate(90deg);
  transform-origin: left top;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .c-sectionTitleTate ._en {
    position: relative;
    left: 0;
    transform: none;
  }
}
.c-sectionTitleTate ._jp {
  font-size: calc(2.125rem * var(--scale));
  font-weight: 400;
  font-feature-settings: "vert" on;
  line-height: 1.1;
  color: var(--navy-900);
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .c-sectionTitleTate ._jp {
    font-size: calc(1.5rem * var(--scale));
    font-feature-settings: unset;
    writing-mode: horizontal-tb;
  }
}
.c-sectionTitleTate ._char {
  display: inline-block;
  margin-top: var(--_char-space, 0);
}
@media screen and (width < 768px) {
  .c-sectionTitleTate ._char {
    margin-top: 0;
  }
}
.c-sectionTitleYoko {
  display: flex;
  flex-direction: column;
  gap: calc(1.125rem * var(--scale));
  width: calc(14.125rem * var(--scale));
  padding: calc(2.5rem * var(--scale)) 0;
}
@media screen and (width < 768px) {
  .c-sectionTitleYoko {
    flex-direction: column;
    gap: calc(1rem * var(--scale));
    align-items: flex-start;
    width: 100%;
    padding: 0;
  }
}
.c-sectionTitleYoko ._en {
  font-size: calc(0.75rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--grey-700);
  text-transform: capitalize;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
.c-sectionTitleYoko ._jp {
  font-size: calc(2rem * var(--scale));
  font-weight: 400;
  line-height: 1;
  color: var(--navy-900);
  letter-spacing: 0.03em;
  --_leading-trim: calc((1em - 1lh) / 2);
  margin-block: var(--_leading-trim);
}
@media screen and (width < 768px) {
  .c-sectionTitleYoko ._jp {
    font-size: calc(1.5rem * var(--scale));
  }
}
.f-productCard {
  background-color: #fff;
}
.l-stickyNav {
  position: fixed;
  top: calc(var(--header-height) + 1.25rem * var(--scale));
  left: 50%;
  z-index: 100;
  width: fit-content;
  padding: calc(0.25rem * var(--scale)) calc(0.5rem * var(--scale));
  overflow: hidden;
  color: #fff;
  background: rgba(153, 153, 153, 0.08);
  border-radius: calc(62.4375rem * var(--scale));
  backdrop-filter: blur(12px);
  transform: translateY(0) translateX(-50%);
  transition: transform 0.5s ease, color 0.5s ease;
}
@media screen and (width < 768px) {
  .l-stickyNav {
    display: none;
  }
}
body:has(.p-intro:not(.is-kvFade)) .l-stickyNav {
  pointer-events: none;
  transform: translateY(calc(-100% - var(--header-height))) translateX(-50%);
}
.l-stickyNav.is-hidden {
  transform: translateY(calc(-100% - var(--header-height))) translateX(-50%);
}
.l-stickyNav.is-theme-light {
  color: #000;
}
.l-stickyNav ._list {
  display: inline-flex;
}
.l-stickyNav ._list:has(._link:hover) ._link:not(:hover) {
  opacity: 0.5;
}
.l-stickyNav ._item.is-active ._link::before {
  opacity: 1;
}
.l-stickyNav ._link {
  display: flex;
  gap: calc(0.375rem * var(--scale));
  align-items: center;
  padding: calc(0.8125rem * var(--scale)) calc(1rem * var(--scale));
  font-size: calc(0.75rem * var(--scale));
  color: currentcolor;
  white-space: nowrap;
  transition: 0.3s ease-out opacity;
}
.l-stickyNav ._link::before {
  display: block;
  width: calc(0.3125rem * var(--scale));
  height: calc(0.3125rem * var(--scale));
  content: "";
  background-color: #d97358;
  border-radius: 50%;
  opacity: 0;
  transition: 0.5s opacity ease-out;
}
@media screen and (width >= 768px) {
  .u-sp {
    display: none;
  }
}
@media screen and (width < 768px) {
  .u-pc {
    display: none;
  }
}
@media screen and (width < 768px) {
  .u-brSp {
    display: block;
  }
}
.u-hoverOpacity {
  transition: 0.3s linear opacity;
}
@media (any-hover) {
  .u-hoverOpacity:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.u-hoverOpacity:focus-visible {
  opacity: 0.6;
}
.u-srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border-width: 0;
  clip-path: inset(50%);
}
/*$vite$:1*/