@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes slideDown {
  0% {
    translate: 0-100vh;
    opacity: 0
  }

  1% {
    opacity: 1
  }

  to {
    translate: 0 0;
    opacity: 1
  }
}

@keyframes loop {
  0% {
    transform: translateX(0)
  }

  to {
    transform: translateX(-100%)
  }
}

:where(*) {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font: inherit
}

:where(*)::after,
:where(*)::before {
  box-sizing: inherit
}

:where(:not(img)) {
  border: 0
}

:focus:not(:focus-visible) {
  outline: 0
}

img,
svg {
  max-width: 100%;
  height: auto;
  vertical-align: top
}

svg {
  overflow: visible
}

a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: break-word
}

button {
  background: 0 0;
  text-align: inherit
}

button,
input[type=reset],
input[type=submit] {
  cursor: pointer
}

button,
input,
select,
textarea {
  border-radius: 0;
  letter-spacing: inherit;
  -webkit-appearance: none;
  color: inherit
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
  cursor: default
}

summary::-webkit-details-marker {
  display: none
}

summary {
  display: block
}

:where(dialog) {
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  margin: unset;
  padding: unset;
  overflow: unset;
  border: unset;
  background-color: unset;
  color: unset
}

:where(:root[data-mousedown] dialog *),
[data-modal-open]:where(:root[data-mousedown] *) {
  outline: 0
}

:root {
  --scroll-bar: 0px;
  --base-ease: cubic-bezier(.16, 1, .3, 1);
  --base-duration: 0.8s;
  --base-black: #2E2624;
  --base-white: #fff;
  --base-blue-lt: #204DC0
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: #2e2624;
  font-size: .875rem;
  line-height: 1.75;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-variant-ligatures: none
}

.text-gradient {
  background: linear-gradient(180deg, #1a2c65 0, #1a2c65 69%, #47c4e6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent
}

*,
::after,
::before {
  --un-rotate: 0;
  --un-rotate-x: 0;
  --un-rotate-y: 0;
  --un-rotate-z: 0;
  --un-scale-x: 1;
  --un-scale-y: 1;
  --un-scale-z: 1;
  --un-skew-x: 0;
  --un-skew-y: 0;
  --un-translate-x: 0;
  --un-translate-y: 0;
  --un-translate-z: 0;
  --un-pan-x: ;
  --un-pan-y: ;
  --un-pinch-zoom: ;
  --un-scroll-snap-strictness: proximity;
  --un-ordinal: ;
  --un-slashed-zero: ;
  --un-numeric-figure: ;
  --un-numeric-spacing: ;
  --un-numeric-fraction: ;
  --un-border-spacing-x: 0;
  --un-border-spacing-y: 0;
  --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0);
  --un-ring-shadow: 0 0 rgb(0 0 0 / 0);
  --un-shadow-inset: ;
  --un-shadow: 0 0 rgb(0 0 0 / 0);
  --un-ring-inset: ;
  --un-ring-offset-width: 0px;
  --un-ring-offset-color: #fff;
  --un-ring-width: 0px;
  --un-ring-color: rgb(147 197 253 / 0.5);
  --un-blur: ;
  --un-brightness: ;
  --un-contrast: ;
  --un-drop-shadow: ;
  --un-grayscale: ;
  --un-hue-rotate: ;
  --un-invert: ;
  --un-saturate: ;
  --un-sepia: ;
  --un-backdrop-blur: ;
  --un-backdrop-brightness: ;
  --un-backdrop-contrast: ;
  --un-backdrop-grayscale: ;
  --un-backdrop-hue-rotate: ;
  --un-backdrop-invert: ;
  --un-backdrop-opacity: ;
  --un-backdrop-saturate: ;
  --un-backdrop-sepia:
}

::backdrop {
  --un-rotate: 0;
  --un-rotate-x: 0;
  --un-rotate-y: 0;
  --un-rotate-z: 0;
  --un-scale-x: 1;
  --un-scale-y: 1;
  --un-scale-z: 1;
  --un-skew-x: 0;
  --un-skew-y: 0;
  --un-translate-x: 0;
  --un-translate-y: 0;
  --un-translate-z: 0;
  --un-pan-x: ;
  --un-pan-y: ;
  --un-pinch-zoom: ;
  --un-scroll-snap-strictness: proximity;
  --un-ordinal: ;
  --un-slashed-zero: ;
  --un-numeric-figure: ;
  --un-numeric-spacing: ;
  --un-numeric-fraction: ;
  --un-border-spacing-x: 0;
  --un-border-spacing-y: 0;
  --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0);
  --un-ring-shadow: 0 0 rgb(0 0 0 / 0);
  --un-shadow-inset: ;
  --un-shadow: 0 0 rgb(0 0 0 / 0);
  --un-ring-inset: ;
  --un-ring-offset-width: 0px;
  --un-ring-offset-color: #fff;
  --un-ring-width: 0px;
  --un-ring-color: rgb(147 197 253 / 0.5);
  --un-blur: ;
  --un-brightness: ;
  --un-contrast: ;
  --un-drop-shadow: ;
  --un-grayscale: ;
  --un-hue-rotate: ;
  --un-invert: ;
  --un-saturate: ;
  --un-sepia: ;
  --un-backdrop-blur: ;
  --un-backdrop-brightness: ;
  --un-backdrop-contrast: ;
  --un-backdrop-grayscale: ;
  --un-backdrop-hue-rotate: ;
  --un-backdrop-invert: ;
  --un-backdrop-opacity: ;
  --un-backdrop-saturate: ;
  --un-backdrop-sepia:
}

.container {
  width: 100%
}

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

.pointer-events-none {
  pointer-events: none
}

.absolute,
.after\:absolute::after {
  position: absolute
}

.fixed {
  position: fixed
}

.relative {
  position: relative
}

.sticky {
  position: sticky
}

.inset-x-0 {
  right: 0;
  left: 0
}

.inset-y-0 {
  top: 0;
  bottom: 0
}

.left-248\/748 {
  left: 33.1550802139%
}

.left-4\/102 {
  left: 3.9215686275%
}

.left-5\/102 {
  left: 4.9019607843%
}

.right-4\/102 {
  right: 3.9215686275%
}

.right-5\/102 {
  right: 4.9019607843%
}

.z-1 {
  z-index: 1
}

.z-9 {
  z-index: 9
}

.grid {
  display: grid
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.m-\.00000085 {
  margin: 2.125e-7rem
}

.m-\.00000149 {
  margin: 3.725e-7rem
}

.m0 {
  margin: 0
}

.m1\.59375 {
  margin: .3984375rem
}

.m101\.975 {
  margin: 25.49375rem
}

.m104\.419 {
  margin: 26.10475rem
}

.m122\.3 {
  margin: 30.575rem
}

.m13\.2886 {
  margin: 3.32215rem
}

.m133\.902 {
  margin: 33.4755rem
}

.m136\.697 {
  margin: 34.17425rem
}

.m14 {
  margin: 3.5rem
}

.m14\.1635 {
  margin: 3.540875rem
}

.m142\.448 {
  margin: 35.612rem
}

.m145\.777 {
  margin: 36.44425rem
}

.m15 {
  margin: 3.75rem
}

.m152\.461 {
  margin: 38.11525rem
}

.m165\.301 {
  margin: 41.32525rem
}

.m165\.735 {
  margin: 41.43375rem
}

.m176\.475 {
  margin: 44.11875rem
}

.m185\.861 {
  margin: 46.46525rem
}

.m192\.455 {
  margin: 48.11375rem
}

.m194\.945 {
  margin: 48.73625rem
}

.m2\.06641 {
  margin: .5166025rem
}

.m217\.024 {
  margin: 54.256rem
}

.m219\.94 {
  margin: 54.985rem
}

.m22\.6034 {
  margin: 5.65085rem
}

.m23 {
  margin: 5.75rem
}

.m231\.792 {
  margin: 57.948rem
}

.m237\.919 {
  margin: 59.47975rem
}

.m24\.1523 {
  margin: 6.038075rem
}

.m250\.628 {
  margin: 62.657rem
}

.m251\.393 {
  margin: 62.84825rem
}

.m259\.839 {
  margin: 64.95975rem
}

.m266\.673 {
  margin: 66.66825rem
}

.m274\.397 {
  margin: 68.59925rem
}

.m28\.3346 {
  margin: 7.08365rem
}

.m286\.34 {
  margin: 71.585rem
}

.m298\.445 {
  margin: 74.61125rem
}

.m304\.328 {
  margin: 76.082rem
}

.m31\.1672 {
  margin: 7.7918rem
}

.m31\.1912 {
  margin: 7.7978rem
}

.m325\.167 {
  margin: 81.29175rem
}

.m358\.493 {
  margin: 89.62325rem
}

.m371\.395 {
  margin: 92.84875rem
}

.m38\.4933 {
  margin: 9.623325rem
}

.m384\.896 {
  margin: 96.224rem
}

.m41\.6444 {
  margin: 10.4111rem
}

.m45\.8469 {
  margin: 11.461725rem
}

.m5 {
  margin: 1.25rem
}

.m5\.5 {
  margin: 1.375rem
}

.m56\.5395 {
  margin: 14.134875rem
}

.m58\.8324 {
  margin: 14.7081rem
}

.m62\.8711 {
  margin: 15.717775rem
}

.m65\.9914 {
  margin: 16.49785rem
}

.m76\.9452 {
  margin: 19.2363rem
}

.m82\.4229 {
  margin: 20.605725rem
}

.m86\.0941 {
  margin: 21.523525rem
}

.m9\.811 {
  margin: 2.45275rem
}

.m92\.7354 {
  margin: 23.18385rem
}

.m94\.8571 {
  margin: 23.714275rem
}

.mx-auto {
  margin-right: auto;
  margin-left: auto
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto
}

.ml-auto {
  margin-left: auto
}

.mt-100svh {
  margin-top: 100svh
}

.mt-1em {
  margin-top: 1em
}

.mt-215\/748 {
  margin-top: 28.743315508%
}

.mt-397\/748 {
  margin-top: 53.0748663102%
}

.mt-465\/748 {
  margin-top: 62.1657754011%
}

.box-content {
  box-sizing: content-box
}

.block {
  display: block
}

.hidden {
  display: none
}

.aspect-496\/504 {
  aspect-ratio: 496/504
}

.aspect-500\/368 {
  aspect-ratio: 500/368
}

.aspect-500\/502 {
  aspect-ratio: 500/502
}

.aspect-500\/504 {
  aspect-ratio: 500/504
}

.aspect-748\/863 {
  aspect-ratio: 748/863
}

.aspect-996\/365 {
  aspect-ratio: 996/365
}

.h-100svh {
  height: 100svh
}

.h-100vh {
  height: 100vh
}

.h-2\.3em {
  height: 2.3em
}

.h-4\.72em {
  height: 4.72em
}

.h-full {
  height: 100%
}

.max-w-none {
  max-width: none
}

.min-h-100svh {
  min-height: 100svh
}

.min-h-full {
  min-height: 100%
}

.w-0\.727em {
  width: .727em
}

.w-1\/2 {
  width: 50%
}

.w-2\.25em {
  width: 2.25em
}

.w-248\/748 {
  width: 33.1550802139%
}

.w-250\/748 {
  width: 33.422459893%
}

.w-498\/748 {
  width: 66.577540107%
}

.w-5\.1em {
  width: 5.1em
}

.w-748\/1920 {
  width: 38.9583333333%
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content
}

.w-full {
  width: 100%
}

.flex,
.p-project-block__table dl {
  display: flex
}

.shrink-0 {
  flex-shrink: 0
}

.flex-col {
  flex-direction: column
}

.flex-wrap {
  flex-wrap: wrap
}

.-scale-x-100 {
  --un-scale-x: -1
}

.-scale-x-100,
.transform {
  transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))
}

.resize {
  resize: both
}

.list-none {
  list-style-type: none
}

.items-center {
  align-items: center
}

.items-baseline {
  align-items: baseline
}

.gap-0\.36em {
  gap: .36em
}

.gap-1\.3em {
  gap: 1.3em
}

.gap-2\.13em {
  gap: 2.13em
}

.overflow-hidden {
  overflow: hidden
}

.border {
  border-width: 1px
}

.border-b {
  border-bottom-width: 1px
}

.border-l {
  border-left-width: 1px
}

.border-t {
  border-top-width: 1px
}

.border-blue-lt {
  --un-border-opacity: 1;
  border-color: rgb(32 77 192/var(--un-border-opacity))
}

.border-blue\/12 {
  border-color: rgb(26 44 101/.12)
}

.border-gray-border {
  --un-border-opacity: 1;
  border-color: rgb(224 224 224/var(--un-border-opacity))
}

.border-gray-text\/20 {
  border-color: rgb(175 187 202/.2)
}

.border-white {
  --un-border-opacity: 1;
  border-color: rgb(255 255 255/var(--un-border-opacity))
}

.rounded-full {
  border-radius: 9999px
}

.border-solid {
  border-style: solid
}

.bg-\[linear-gradient\(270deg\,rgba\(89\,157\,47\,1\)_0\%\,rgba\(89\,157\,47\,0\)_100\%\)\] {
  background-image: linear-gradient(270deg, #599d2f 0, rgba(89, 157, 47, 0) 100%)
}

.bg-\[linear-gradient\(90deg\,rgba\(89\,157\,47\,1\)_0\%\,rgba\(89\,157\,47\,0\)_100\%\)\] {
  background-image: linear-gradient(90deg, #599d2f 0, rgba(89, 157, 47, 0) 100%)
}

.bg-black,
.bg-blue-footer {
  --un-bg-opacity: 1;
  background-color: rgb(46 38 36/var(--un-bg-opacity))
}

.bg-blue-footer {
  background-color: rgb(43 54 91/var(--un-bg-opacity))
}

.bg-blue-researchOne {
  --un-bg-opacity: 1;
  background-color: rgb(50 94 107/var(--un-bg-opacity))
}

.bg-blue-researchThree {
  --un-bg-opacity: 1;
  background-color: rgb(47 124 128/var(--un-bg-opacity))
}

.bg-blue-researchTwo,
.bg-gray {
  --un-bg-opacity: 1;
  background-color: rgb(93 111 133/var(--un-bg-opacity))
}

.bg-gray {
  background-color: rgb(233 239 240/var(--un-bg-opacity))
}

.bg-green,
.bg-white {
  --un-bg-opacity: 1;
  background-color: rgb(89 157 47/var(--un-bg-opacity))
}

.bg-white {
  background-color: rgb(255 255 255/var(--un-bg-opacity))
}

.bg-white\/20 {
  background-color: rgb(255 255 255/.2)
}

.bg-white\/50 {
  background-color: rgb(255 255 255/.5)
}

.fill-current {
  fill: currentColor
}

.stroke-current {
  stroke: currentColor
}

.object-cover {
  -o-object-fit: cover;
  object-fit: cover
}

.px {
  padding-right: 1rem;
  padding-left: 1rem
}

.text-center {
  text-align: center
}

.text-0\.9em {
  font-size: .9em
}

.text-black,
.text-blue {
  --un-text-opacity: 1;
  color: rgb(46 38 36/var(--un-text-opacity))
}

.text-blue {
  color: rgb(26 44 101/var(--un-text-opacity))
}

.text-blue-dark,
.text-blue-lt {
  --un-text-opacity: 1;
  color: rgb(91 109 131/var(--un-text-opacity))
}

.text-blue-lt {
  color: rgb(32 77 192/var(--un-text-opacity))
}

.text-gray-dark,
.text-gray-line {
  --un-text-opacity: 1;
  color: rgb(100 105 117/var(--un-text-opacity))
}

.text-gray-line {
  color: rgb(222 222 222/var(--un-text-opacity))
}

.text-gray-text,
.text-white {
  --un-text-opacity: 1;
  color: rgb(175 187 202/var(--un-text-opacity))
}

.text-white {
  color: rgb(255 255 255/var(--un-text-opacity))
}

.font-bold {
  font-weight: 700
}

.font-light {
  font-weight: 300
}

.font-medium {
  font-weight: 500
}

.tracking-normal {
  letter-spacing: 0
}

.font-en {
  font-family: "Abhaya Libre", serif
}

.font-sans {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

.underline {
  text-decoration-line: underline
}

.underline-offset-2 {
  text-underline-offset: 2px
}

.opacity-80 {
  opacity: .8
}

.shadow {
  --un-shadow: 10px 15px 30px var(--un-shadow-color, rgba(92, 108, 123, 0.12));
  box-shadow: var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)
}

.drop-shadow,
.drop-shadow-sm {
  filter: var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)
}

.drop-shadow {
  --un-drop-shadow: drop-shadow(0 20px 40px var(--un-drop-shadow-color, rgba(0, 0, 0, 0.15)))
}

.drop-shadow-sm {
  --un-drop-shadow: drop-shadow(0 2px 10px var(--un-drop-shadow-color, rgba(0, 0, 0, 0.15)))
}

.transition-colors {
  transition-duration: .8s;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1)
}

.transition-opacity {
  transition-duration: .8s;
  transition-property: opacity, visibility
}

.ease,
.transition-opacity {
  transition-timing-function: cubic-bezier(.16, 1, .3, 1)
}

.after\:content-\[\'\'\]::after {
  content: ""
}

.flex-center {
  justify-content: center
}

.flex-center,
.flex-center-y {
  display: flex;
  align-items: center
}

.flex-between {
  display: flex;
  justify-content: space-between
}

.inset-0-img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.clip-path-0 {
  clip-path: inset(0)
}

.hv-op {
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1)
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.leading-1 {
  line-height: 1
}

.leading-1\.1 {
  line-height: 1.1
}

.leading-1\.15 {
  line-height: 1.15
}

.leading-1\.25 {
  line-height: 1.25
}

.leading-1\.35 {
  line-height: 1.35
}

.leading-1\.5 {
  line-height: 1.5
}

.leading-1\.7 {
  line-height: 1.7
}

.tracking-10 {
  letter-spacing: .01em
}

.tracking-20 {
  letter-spacing: .02em
}

.tracking-30 {
  letter-spacing: .03em
}

.tracking-50 {
  letter-spacing: .05em
}

.mt-1 {
  margin-top: 1px
}

.mt-12 {
  margin-top: 12px
}

.mt-13 {
  margin-top: 13px
}

.mt-14 {
  margin-top: 14px
}

.mt-15 {
  margin-top: 15px
}

.mt-16 {
  margin-top: 16px
}

.mt-18 {
  margin-top: 18px
}

.mt-19 {
  margin-top: 19px
}

.mt-2 {
  margin-top: 2px
}

.mt-28 {
  margin-top: 28px
}

.mt-3 {
  margin-top: 3px
}

.mt-32 {
  margin-top: 32px
}

.mt-33 {
  margin-top: 33px
}

.mt-36 {
  margin-top: 36px
}

.mt-50 {
  margin-top: 50px
}

.mt-52 {
  margin-top: 52px
}

.mt-59 {
  margin-top: 59px
}

.mt-72 {
  margin-top: 72px
}

.mt-78 {
  margin-top: 78px
}

.mt-79 {
  margin-top: 79px
}

.mt-80 {
  margin-top: 80px
}

.mt-89 {
  margin-top: 89px
}

.mt-90 {
  margin-top: 90px
}

.mt-95 {
  margin-top: 95px
}

.-mr-2 {
  margin-right: -2px
}

.-mb-116 {
  margin-bottom: -116px
}

.ml-20 {
  margin-left: 20px
}

.ml-4 {
  margin-left: 4px
}

.ml-5 {
  margin-left: 5px
}

.p-20 {
  padding: 20px
}

.pt-100 {
  padding-top: 100px
}

.pt-11 {
  padding-top: 11px
}

.pt-116 {
  padding-top: 116px
}

.pt-13 {
  padding-top: 13px
}

.pt-14 {
  padding-top: 14px
}

.pt-16 {
  padding-top: 16px
}

.pt-18 {
  padding-top: 18px
}

.pt-200 {
  padding-top: 200px
}

.pt-248 {
  padding-top: 248px
}

.pt-25 {
  padding-top: 25px
}

.pt-40 {
  padding-top: 40px
}

.pt-50 {
  padding-top: 50px
}

.pt-52 {
  padding-top: 52px
}

.pt-6 {
  padding-top: 6px
}

.pt-60 {
  padding-top: 60px
}

.pt-80 {
  padding-top: 80px
}

.pr-35 {
  padding-right: 35px
}

.pb-100 {
  padding-bottom: 100px
}

.pb-102 {
  padding-bottom: 102px
}

.pb-120 {
  padding-bottom: 120px
}

.pb-13 {
  padding-bottom: 13px
}

.pb-15 {
  padding-bottom: 15px
}

.pb-19 {
  padding-bottom: 19px
}

.pb-38 {
  padding-bottom: 38px
}

.pb-4 {
  padding-bottom: 4px
}

.pb-40 {
  padding-bottom: 40px
}

.pb-47 {
  padding-bottom: 47px
}

.pb-49 {
  padding-bottom: 49px
}

.pb-5 {
  padding-bottom: 5px
}

.pb-58 {
  padding-bottom: 58px
}

.pb-60 {
  padding-bottom: 60px
}

.pb-80 {
  padding-bottom: 80px
}

.pl-13 {
  padding-left: 13px
}

.pl-30 {
  padding-left: 30px
}

.pl-82 {
  padding-left: 82px
}

.px-15 {
  padding-inline: 15px
}

.px-20 {
  padding-inline: 20px
}

.px-24 {
  padding-inline: 24px
}

.px-35 {
  padding-inline: 35px
}

.px-5 {
  padding-inline: 5px
}

.px-7 {
  padding-inline: 7px
}

.py-10 {
  padding-block: 10px
}

.py-15 {
  padding-block: 15px
}

.py-17 {
  padding-block: 17px
}

.py-20 {
  padding-block: 20px
}

.py-200 {
  padding-block: 200px
}

.py-29 {
  padding-block: 29px
}

.py-3 {
  padding-block: 3px
}

.py-6 {
  padding-block: 6px
}

.text-20 {
  font-size: 20px
}

.text-10ptr {
  font-size: .625rem
}

.text-11ptr {
  font-size: .6875rem
}

.text-12ptr {
  font-size: .75rem
}

.text-13ptr {
  font-size: .8125rem
}

.text-14ptr {
  font-size: .875rem
}

.text-15ptr {
  font-size: .9375rem
}

.text-16ptr {
  font-size: 1rem
}

.text-17ptr {
  font-size: 1.0625rem
}

.text-18ptr {
  font-size: 1.125rem
}

.text-20ptr {
  font-size: 1.25rem
}

.text-22ptr {
  font-size: 1.375rem
}

.text-24ptr {
  font-size: 1.5rem
}

.text-26ptr {
  font-size: 1.625rem
}

.text-28ptr {
  font-size: 1.75rem
}

.text-30ptr {
  font-size: 1.875rem
}

.text-38ptr {
  font-size: 2.375rem
}

.text-50ptr {
  font-size: 3.125rem
}

.text-64ptr {
  font-size: 4rem
}

.text-80ptr {
  font-size: 5rem
}

.gap-10 {
  gap: 10px
}

.gap-115 {
  gap: 115px
}

.gap-16 {
  gap: 16px
}

.gap-20 {
  gap: 20px
}

.gap-3 {
  gap: 3px
}

.gap-32 {
  gap: 32px
}

.gap-4 {
  gap: 4px
}

.gap-6 {
  gap: 6px
}

.gap-7 {
  gap: 7px
}

.gap-8 {
  gap: 8px
}

.gap-x-10 {
  -moz-column-gap: 10px;
  column-gap: 10px
}

.gap-y-24 {
  row-gap: 24px
}

.h-10 {
  height: 10px
}

.h-24 {
  height: 24px
}

.h-39 {
  height: 39px
}

.h-40 {
  height: 40px
}

.h-6 {
  height: 6px
}

.min-h-525 {
  min-height: 525px
}

.min-h-59 {
  min-height: 59px
}

.w-1 {
  width: 1px
}

.w-2 {
  width: 2px
}

.w-2485 {
  width: 2485px
}

.w-335 {
  width: 335px
}

.min-w-295 {
  min-width: 295px
}

.min-w-305 {
  min-width: 305px
}


.max-w-1216 {
  max-width: 1216px
}

.max-w-1528 {
  max-width: 1528px
}

.max-w-1530 {
  max-width: 1530px
}

.max-w-840 {
  max-width: 840px
}

.size-50 {
  width: 50px;
  height: 50px
}

.border-l-3 {
  border-left-width: 3px
}

.rounded-4 {
  border-radius: 4px
}

.rounded-8 {
  border-radius: 8px
}

.rounded-t-8 {
  border-top-right-radius: 8px;
  border-top-left-radius: 8px
}

.-top-37 {
  top: -37px
}

.-top-45 {
  top: -45px
}

.top-0 {
  top: 0
}

.top-20 {
  top: 20px
}

.right-0 {
  right: 0
}

.right-15 {
  right: 15px
}

.right-20 {
  right: 20px
}

.bottom-0 {
  bottom: 0
}

.bottom-24 {
  bottom: 24px
}

.-left-14 {
  left: -14px
}

.left-0 {
  left: 0
}

.left-20 {
  left: 20px
}

.after\:inset-0::after,
.inset-0 {
  inset: 0
}

.translate-y-38 {
  transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));
  --un-translate-y: 38px
}

.c-hexagon-link {
  --space: 17px;
  clip-path: polygon(var(--space) 0%, calc(100% - var(--space))0, 100% 50%, calc(100% - var(--space)) 100%, var(--space) 100%, 0% 50%)
}

.js-anime {
  --ease: var(--base-ease);
  --opacity: 0;
  --delay: 0;
  --duration: 1.4s
}

.js-anime__item:not(.is-split) {
  animation-duration: var(--duration);
  animation-timing-function: var(--ease);
  animation-delay: var(--delay);
  animation-fill-mode: both;
  opacity: var(--opacity)
}

.is-anime {
  animation-name: fadeIn
}

.is-anime.is-fadeOut {
  --opacity: 1;
  --ease: ease;
  animation-name: fadeOut
}

.is-anime.is-slideDown {
  --duration: 0.3s;
  --ease: cubic-bezier(0, 0.1, 1, 1);
  animation-name: slideDown
}

.is-anime.is-loop {
  --opacity: 1;
  --duration: 30s;
  --ease: linear;
  animation-iteration-count: infinite;
  animation-name: loop
}

.js-anime__item.is-slideDown:nth-child(9) {
  --delay: 0.17s
}

.js-anime__item.is-slideDown:nth-child(8) {
  --delay: 0.24s
}

.js-anime__item.is-slideDown:nth-child(7) {
  --delay: 0.31s
}

.js-anime__item.is-slideDown:nth-child(6) {
  --delay: 0.38s
}

.js-anime__item.is-slideDown:nth-child(5) {
  --delay: 0.45s
}

.js-anime__item.is-slideDown:nth-child(4) {
  --delay: 0.52s
}

.js-anime__item.is-slideDown:nth-child(3) {
  --delay: 0.59s
}

.js-anime__item.is-slideDown:nth-child(2) {
  --delay: 0.66s
}

.js-anime__item.is-slideDown:nth-child(1) {
  --delay: 0.73s
}

.js-anime__item.is-split {
  --ease: cubic-bezier(0.23, 1, 0.32, 1);
  transform: translate(-3rem, 0)
}

.js-anime__item.is-split.is-anime {
  transform: translate(0, 0);
  transition: transform 1.3s var(--ease)
}

.js-anime__item.is-split.is-anime .js-anime__split-item {
  transform: translate(0, 0);
  clip-path: polygon(0 0, 108%0, 100% 100%, 0 100%);
  transition: clip-path 560ms var(--ease);
  transition-delay: calc(var(--index, 0)*30ms)
}

.js-anime__split-item {
  transform: translate(.8em, 0);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  will-change: transform
}

.js-modal {
  --background: rgba(255, 255, 255, 0.8);
  --background-backdrop: rgba(255, 255, 255, 0.8);
  background-color: var(--background);
  box-shadow: 0 0 0 100vmax var(--background-backdrop);
  -webkit-backdrop-filter: blur(15px);
  contain: strict;
  backdrop-filter: blur(15px);
  transition: opacity var(--base-duration) var(--base-ease)
}

.js-modal.is-research {
  --background: rgba(0, 0, 0, 0.5);
  --background-backdrop: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0)
}

.js-modal:not([data-active=true]) {
  opacity: 0
}

.js-modal::backdrop {
  transition: opacity var(--base-duration) var(--base-ease)
}

.js-modal:not([data-active=true])::backdrop {
  opacity: 0
}

.js-modal__container {
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain
}

.js-modal__button {
  margin-right: var(--scroll-bar)
}

.js-scroll-overlap {
  position: relative
}

.js-scroll-overlap:not(.is-disabled) {
  --sticky-offset: -1px;
  --overlay-opacity: 0;
  position: sticky;
  top: var(--sticky-offset)
}

.js-scroll-overlap[data-is-overlay=true]:not(.is-disabled)::after {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .8);
  content: "";
  opacity: var(--overlay-opacity);
  pointer-events: none
}

.js-scroll-overlap[data-is-overlay=true]:not(.is-disabled).is-active::after {
  will-change: opacity
}

.js-scroll-scale {
  --base-scale: 0.34;
  --base-mask-w: 185px;
  --scale: var(--base-scale);
  --mask-w: var(--base-mask-w)
}

.js-scroll-scale__itemBody {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  min-height: 68vw;
  transform: translate(-50%, -50%)
}

.js-scroll-scale__body {
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzA3IDM1NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMTUzLjUgMCAxNTMuNSA4OC41djE3N2wtMTUzLjUgODguNS0xNTMuNS04OC41di0xNzd6Ii8+PC9zdmc+);
  mask-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzA3IDM1NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMTUzLjUgMCAxNTMuNSA4OC41djE3N2wtMTUzLjUgODguNS0xNTMuNS04OC41di0xNzd6Ii8+PC9zdmc+);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: var(--mask-w) auto;
  mask-size: var(--mask-w) auto
}

.js-scroll-scale__item {
  scale: var(--scale)
}

.js-scroll-toggle {
  --logo-color: var(--base-black);
  --logo-sub-color: #333;
  --icon-color: var(--base-blue-lt);
  --lang-color: var(--base-black);
  --text-color: var(--base-black);
  --drop-position: -1.36em;
  position: absolute
}

.js-scroll-toggle.is-scroll {
  --drop-position: 0;
  position: fixed;
  background: var(--base-white);
  animation-duration: var(--base-duration);
  animation-timing-function: var(--base-ease);
  animation-fill-mode: both;
  animation-name: fadeIn
}

.js-scroll-toggle.is-white:not(.is-scroll) {
  --icon-color: var(--base-white);
  --logo-color: var(--base-white);
  --text-color: var(--base-white);
  --logo-sub-color: var(--base-white);
  --lang-color: var(--base-blue-lt)
}

.js-scroll-toggle__icon {
  color: var(--icon-color)
}

.js-scroll-toggle__logo {
  fill: var(--logo-color)
}

.js-scroll-toggle__logoSub {
  fill: var(--logo-sub-color)
}

.js-scroll-toggle__lang {
  color: var(--lang-color)
}

.js-scroll-toggle__text {
  color: var(--text-color)
}

.js-scroll-toggle__drop {
  margin-top: var(--drop-position)
}

.js-drop__body {
  visibility: hidden;
  opacity: 0;
  transition-duration: var(--base-duration);
  transition-property: opacity, visibility;
  transition-timing-function: var(--base-ease)
}

.js-drop:has([aria-expanded=true]) .js-drop__body {
  visibility: visible;
  opacity: 1
}

.js-toggle {
  --rotate: 0deg
}

.js-toggle.is-active {
  --rotate: 180deg
}

.js-toggle__icon {
  transform: translate3d(0, 0, 0) rotate(var(--rotate))
}

.js-area-parallax {
  --position: 0;
  --position-rev: 0;
  --position-half: 0;
  --position-half-rev: 0;
  --ratio-mobile: 0px;
  --aspect-ratio: 16 / 9
}

.js-area-parallax img {
  display: block;
  width: 100%
}

.js-area-parallax.is-parallax-active .js-parallax__item {
  transition: transform .1s;
  will-change: transform
}

.js-area-parallax__item:not(.is-desktop-only) {
  --y: var(--position);
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, var(--y), 0, 1)
}

.js-area-parallax__item:not(.is-desktop-only).is-rev {
  --y: var(--position-rev)
}

.js-area-parallax__item:not(.is-desktop-only).is-half {
  --y: var(--position-half)
}

.js-area-parallax__item:not(.is-desktop-only).is-half-rev {
  --y: var(--position-half-rev)
}

.splide__container {
  box-sizing: border-box;
  position: relative
}

.splide__list {
  display: flex;
  height: 100%;
  backface-visibility: hidden;
  list-style: none
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block
}

.splide:not(.is-overflow) .splide__pagination {
  display: none
}

.splide {
  visibility: hidden;
  position: relative
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible
}

.splide__slide {
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  margin: 0;
  backface-visibility: hidden;
  list-style-type: none !important
}

.splide__sr {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0
}

.splide__track {
  z-index: 0;
  position: relative;
  overflow: hidden
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
  z-index: 1;
  opacity: 1
}

.splide--rtl {
  direction: rtl
}

.splide__track--ttb>.splide__list {
  display: block
}

.splide--main {
  clip-path: polygon(0 25%, 50%0, 100% 25%, 100% 75%, 50% 100%, 0 75%)
}

.splide--main,
.splide--main .splide__track {
  position: absolute
}

.p-project__container {
  max-width: 1688px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 80px;
  padding-left: 80px
}

.p-project__textGradient span {
  display: inline-block;
  background: linear-gradient(287.25deg, #1a2c65 70.1%, #47c4e6 100.74%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.p-project__mainTitle__wrapper {
  background-image: url(/assets/images/member/mainTitle_deco.svg);
  background-position: 80% 50%;
  background-repeat: no-repeat
}

.p-project__mainTitle {
  line-height: 1
}

.p-project__mainTitle-en span {
  font-size: 128px
}

.p-project__mainTitle-jp {
  font-size: 24px
}


.p-project-sort {
    padding: 74px 0 45px;
    background-color: #fafafa
}

.p-project-sort__box {
    padding: 40px 80px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 25px 40px rgba(92, 108, 123, .1)
}

.p-project-sort__ttl {
    color: #2e2624;
    font-weight: 700;
    font-size: 24px;
    font-family: "Abhaya Libre", serif
}

.p-project-sort__cate {
    display: grid;
    margin-bottom: 23px;
    /* padding-bottom: 30px; */
    gap: 10px 0;
    /* border-bottom: 1px solid #dedede */
}

.p-project-sort__cate-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.p-project-sort__cate-btn {
    display: grid;
    place-content: center;
    padding: 10px;
    border: 1px solid #646975;
    border-radius: 9999px;
    background-color: #fff;
    color: #646975;
    font-size: 16px;
    line-height: 1.2
}

.p-project-sort__years {
    display: flex;
    gap: 0 45px
}

@media screen and (max-width:1024px) {
    .p-project-sort__cate-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width:781px) {

    .p-project-sort {
        padding: 50px 0 45px
    }

    .p-project-sort__box {
        width: 90%;
        margin-inline: auto;
        padding: 30px
    }

    .p-project-sort__ttl {
        font-size: 20px
    }

    .p-project-sort__cate-btn {
        min-height: 56px;
        font-size: 14px
    }
}

@media screen and (max-width:767px) {
    .p-project-sort__cate-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px
    }
}



.p-project-bg {
  background-color: #fafafa;
}

.p-project-content {
  justify-content: space-between
}

.p-project-side {
  /* width: 12.4345549738%; */
  padding-top: 28px
}

.p-project-side__list {
  display: grid;
  gap: 20px 0
}

.p-project-side__item {
  position: relative;
  padding-left: 35px
}

.p-project-side__item::before {
  top: 3px;
  aspect-ratio: 17/20;
  width: 20px
}

.p-project-side__item.--jsps::before {
  background: url(/assets/images/project/polygon_color.svg)no-repeat center/contain
}

.p-project-side__item.--org::before {
  background: url(/assets/images/project/polygon_light.svg)no-repeat center/contain
}

.p-project-side__item a {
  font-size: 14px;
  font-family: "Outfit", sans-serif
}

.p-project-main {
  display: grid;
  /* width: 79.5811518325%; */
  gap: 120px 0;
  background: #fafafa
}

.p-project-block__cate {
  position: relative;
  margin-bottom: 10px;
  padding-left: 32px;
  border-top: 1px solid #333;
  font-weight: 600;
  font-size: 30px;
  line-height: 2.7;
  font-family: "Outfit", sans-serif;
  letter-spacing: -.04em
}

.p-project-block__cate::before,
.p-project-block__ttl::before,
.p-project-side__item::before {
  display: block;
  position: absolute;
  left: 0;
  min-height: 0;
  content: ""
}

.p-project-block__cate::before {
  top: 35px;
  aspect-ratio: 13/15;
  width: 13px;
  background: url(/assets/images/project/polygon_dark.svg)no-repeat center/contain
}

.p-project-block__list {
  display: grid;
  gap: 24px 0
}

.p-project-block__item {
  display: grid;
  padding: 55px 80px;
  gap: 30px 0;
  background: #fff
}

.p-project-block__ttl {
  position: relative;
  padding-left: 20px;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: .05em
}

.p-project-block__ttl::before {
  top: 15px;
  aspect-ratio: 1/1;
  width: 9px;
  border-radius: 9999px;
  background-color: #7c99ad
}

.p-project-block__logobox {
  display: flex;
  gap: 0 25px
}

.p-project-block__logobox figure {
  width: -moz-fit-content;
  width: fit-content;
  height: 56px
}

.p-project-block__logobox figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.p-project-block__table {
  display: grid;
  gap: 17px 0
}

.p-project-block__table dt {
  width: 16%;
  padding: 0 10px 18px;
  border-bottom: 1px solid #1c3177;
  font-weight: 500;
  font-size: 16px
}

.p-project-block__table dd {
  width: 84%;
  padding: 0 10px 18px;
  border-bottom: 1px solid #646975
}

.p-project-btns {
  background-color: #e9eff0
}

.p-project-btns__wrap {
  display: grid;
  margin-inline: auto;
  gap: 1rem 0
}

.p-project-btns__link {
  position: relative;
  padding: 2rem;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0 15px 30px rgba(92, 108, 123, .12)
}

.p-project-btns__link-txt {
  color: #1c3177;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.2
}

.p-project-btns__link-txt .big {
  font-size: 3rem
}

.p-project-btns__link-txt .jp {
  display: block;
  margin-left: .7rem;
  color: #2e2624;
  font-size: .8rem
}

.p-project-btns__link .svg-ar,
.p-project-btns__link .svg-bg {
  transition: all .3s ease
}

@media (min-width:375px) {
  .container {
    max-width: 375px
  }
}

@media (min-width:640px) {
  .container {
    max-width: 640px
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .js-scroll-scale {
    --base-scale: 0.4;
    --base-mask-w: 300px
  }
}

@media (min-width:782px) {
  body {
    font-size: 1rem
  }

  .container {
    max-width: 782px
  }

  .md\:absolute {
    position: absolute
  }

  .md\:inset-x-20px {
    right: 20px;
    left: 20px
  }

  .md\:top-1\/2 {
    top: 50%
  }

  .md\:order-1 {
    order: 1
  }

  .md\:order-2 {
    order: 2
  }

  .md\:order-3 {
    order: 3
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .md\:ml-115\/1760 {
    margin-left: 6.5340909091%
  }

  .md\:ml-auto {
    margin-left: auto
  }

  .md\:mt-2\.42em {
    margin-top: 2.42em
  }

  .md\:inline-block {
    display: inline-block
  }

  .md\:contents {
    display: contents
  }

  .md\:hidden {
    display: none
  }

  .md\:h-100svh {
    height: 100svh
  }

  .md\:min-h-100svh {
    min-height: 100svh
  }

  .md\:w-1067\/1920 {
    width: 55.5729166667%
  }

  .md\:w-1920\/1067 {
    width: 179.9437675726%
  }

  .md\:w-431\/1528 {
    width: 28.2068062827%
  }

  .md\:w-466\/1528 {
    width: 30.497382199%
  }

  .md\:w-853\/1920 {
    width: 44.4270833333%
  }

  .md\:flex {
    display: flex
  }

  .md\:flex-grow {
    flex-grow: 1
  }

  .md\:flex-row-reverse {
    flex-direction: row-reverse
  }

  .md\:-translate-y-1\/2 {
    --un-translate-y: -50%;
    transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))
  }

  .md\:items-center {
    align-items: center
  }

  .md\:justify-between {
    justify-content: space-between
  }

  .md\:overflow-hidden {
    overflow: hidden
  }

  .md\:text-ellipsis {
    text-overflow: ellipsis
  }

  .md\:whitespace-nowrap {
    white-space: nowrap
  }

  .md\:font-medium {
    font-weight: 500
  }

  .md\:flex-center {
    justify-content: center
  }

  .md\:flex-center,
  .md\:flex-center-y {
    display: flex;
    align-items: center
  }

  .md\:leading-1\.15 {
    line-height: 1.15
  }

  .md\:leading-1\.25 {
    line-height: 1.25
  }

  .md\:tracking-10 {
    letter-spacing: .01em
  }

  .md\:tracking-30 {
    letter-spacing: .03em
  }

  .md\:tracking-50 {
    letter-spacing: .05em
  }

  .md\:mt-116 {
    margin-top: 116px
  }

  .md\:mt-12 {
    margin-top: 12px
  }

  .md\:mt-120 {
    margin-top: 120px
  }

  .md\:mt-14 {
    margin-top: 14px
  }

  .md\:mt-148 {
    margin-top: 148px
  }

  .md\:mt-15 {
    margin-top: 15px
  }

  .md\:mt-150 {
    margin-top: 150px
  }

  .md\:mt-16 {
    margin-top: 16px
  }

  .md\:mt-17 {
    margin-top: 17px
  }

  .md\:mt-2 {
    margin-top: 2px
  }

  .md\:mt-226 {
    margin-top: 226px
  }

  .md\:mt-25 {
    margin-top: 25px
  }

  .md\:mt-28 {
    margin-top: 28px
  }

  .md\:mt-4 {
    margin-top: 4px
  }

  .md\:mt-47 {
    margin-top: 47px
  }

  .md\:mt-5 {
    margin-top: 5px
  }

  .md\:mt-51 {
    margin-top: 51px
  }

  .md\:mt-67 {
    margin-top: 67px
  }

  .md\:mt-69 {
    margin-top: 69px
  }

  .md\:mt-71 {
    margin-top: 71px
  }

  .md\:mt-80 {
    margin-top: 80px
  }

  .md\:mt-89 {
    margin-top: 89px
  }

  .md\:ml-9 {
    margin-left: 9px
  }

  .md\:pt-12 {
    padding-top: 12px
  }

  .md\:pt-137 {
    padding-top: 137px
  }

  .md\:pt-180 {
    padding-top: 180px
  }

  .md\:pt-280 {
    padding-top: 280px
  }

  .md\:pt-3 {
    padding-top: 3px
  }

  .md\:pt-37 {
    padding-top: 37px
  }

  .md\:pt-8 {
    padding-top: 8px
  }

  .md\:pt-80 {
    padding-top: 80px
  }

  .md\:pr-40 {
    padding-right: 40px
  }

  .md\:pr-50 {
    padding-right: 50px
  }

  .md\:pr-80 {
    padding-right: 80px
  }

  .md\:pb-146 {
    padding-bottom: 146px
  }

  .md\:pb-180 {
    padding-bottom: 180px
  }

  .md\:pb-240 {
    padding-bottom: 240px
  }

  .md\:pb-54 {
    padding-bottom: 54px
  }

  .md\:pb-65 {
    padding-bottom: 65px
  }

  .md\:pb-7 {
    padding-bottom: 7px
  }

  .md\:pb-70 {
    padding-bottom: 70px
  }

  .md\:pl-157 {
    padding-left: 157px
  }

  .md\:pl-20 {
    padding-left: 20px
  }

  .md\:pl-40 {
    padding-left: 40px
  }

  .md\:pl-96 {
    padding-left: 96px
  }

  .md\:px-12 {
    padding-inline: 12px
  }

  .md\:px-20 {
    padding-inline: 20px
  }

  .md\:px-40 {
    padding-inline: 40px
  }

  .md\:px-60 {
    padding-inline: 60px
  }

  .md\:py-6 {
    padding-block: 6px
  }

  .md\:py-70 {
    padding-block: 70px
  }

  .md\:text-120ptr {
    font-size: 7.5rem
  }

  .md\:text-13ptr {
    font-size: .8125rem
  }

  .md\:text-14ptr {
    font-size: .875rem
  }

  .md\:text-16ptr {
    font-size: 1rem
  }

  .md\:text-18ptr {
    font-size: 1.125rem
  }

  .md\:text-20ptr {
    font-size: 1.25rem
  }

  .md\:text-24ptr {
    font-size: 1.5rem
  }

  .md\:text-28ptr {
    font-size: 1.75rem
  }

  .md\:text-30ptr {
    font-size: 1.875rem
  }

  .md\:text-32ptr {
    font-size: 2rem
  }

  .md\:text-38ptr {
    font-size: 2.375rem
  }

  .md\:text-42ptr {
    font-size: 2.625rem
  }

  .md\:text-86ptr {
    font-size: 5.375rem
  }

  .md\:text-96ptr {
    font-size: 6rem
  }

  .md\:gap-16 {
    gap: 16px
  }

  .md\:gap-24 {
    gap: 24px
  }

  .md\:gap-30 {
    gap: 30px
  }

  .md\:gap-9 {
    gap: 9px
  }

  .md\:gap-x-14 {
    -moz-column-gap: 14px;
    column-gap: 14px
  }

  .md\:gap-y-16 {
    row-gap: 16px
  }

  .md\:gap-y-17 {
    row-gap: 17px
  }

  .md\:h-100 {
    height: 100px
  }

  .md\:min-h-500 {
    min-height: 500px
  }

  .md\:min-h-69 {
    min-height: 69px
  }

  .md\:w-102 {
    width: 102px
  }

  .md\:w-106 {
    width: 106px
  }

  .md\:w-108 {
    width: 108px
  }

  .md\:w-109 {
    width: 109px
  }

  .md\:w-110 {
    width: 110px
  }

  .md\:w-114 {
    width: 114px
  }

  .md\:w-13 {
    width: 13px
  }

  .md\:w-160 {
    width: 160px
  }

  .md\:w-30 {
    width: 30px
  }

  .md\:w-8 {
    width: 8px
  }

  .md\:min-w-373 {
    min-width: 373px
  }

  .md\:max-w-1560 {
    max-width: 1560px
  }

  .md\:max-w-552 {
    max-width: 552px
  }

  .md\:max-w-624 {
    max-width: 624px
  }

  .md\:border-l-4 {
    border-left-width: 4px
  }

  .md\:-top-63 {
    top: -63px
  }

  .md\:top-0 {
    top: 0
  }

  .md\:-left-31 {
    left: -31px
  }

  .md\:left-40 {
    left: 40px
  }

  .c-hexagon-link {
    --space: 20px
  }

  .js-scroll-scale {
    --base-scale: 0.5;
    --base-mask-w: 360px
  }

  .js-area-parallax__item.is-desktop-only {
    --y: var(--position);
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, var(--y), 0, 1)
  }

  .js-area-parallax__item.is-desktop-only.is-rev {
    --y: var(--position-rev)
  }

  .js-area-parallax__item.is-desktop-only.is-half {
    --y: var(--position-half)
  }

  .js-area-parallax__item.is-desktop-half-rev,
  .js-area-parallax__item.is-desktop-only.is-half-rev {
    --y: var(--position-half-rev)
  }

  .p-project-btns__wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 2rem
  }

  .p-project-btns__link {
    padding: 4rem
  }

  .p-project-btns__link-txt {
    font-size: 3rem
  }

  .p-project-btns__link-txt .big {
    font-size: 4rem
  }
}

@media (min-width:782px) and (max-width:1600px) {
  .js-scroll-scale__itemBody {
    min-width: 1920px;
    min-height: 100vw
  }
}

@media (min-width:782px) and (min-aspect-ratio:16/8) {
  .js-scroll-scale__itemBody {
    min-width: 100vh;
    min-height: 100vw
  }
}

@media (min-width:1024px) {
  .container {
    max-width: 1024px
  }

  .lg\:inset-x-80px {
    right: 80px;
    left: 80px
  }

  .lg\:ml-10\% {
    margin-left: 10%
  }

  .lg\:mr-5\% {
    margin-right: 5%
  }

  .lg\:flex {
    display: flex
  }

  .lg\:gap-1\.86em {
    gap: 1.86em
  }

  .lg\:pl-4\% {
    padding-left: 4%
  }

  .lg\:flex-between {
    display: flex;
    justify-content: space-between
  }

  .lg\:leading-1\.25 {
    line-height: 1.25
  }

  .lg\:mt-43 {
    margin-top: 43px
  }

  .lg\:-mb-270 {
    margin-bottom: -270px
  }

  .lg\:pt-152 {
    padding-top: 152px
  }

  .lg\:pt-270 {
    padding-top: 270px
  }

  .lg\:text-16ptr {
    font-size: 1rem
  }

  .lg\:text-18ptr {
    font-size: 1.125rem
  }

  .lg\:text-20ptr {
    font-size: 1.25rem
  }

  .lg\:text-32ptr {
    font-size: 2rem
  }

  .lg\:text-36ptr {
    font-size: 2.25rem
  }

  .lg\:text-39ptr {
    font-size: 2.4375rem
  }

  .lg\:text-64ptr {
    font-size: 4rem
  }

  .lg\:text-96ptr {
    font-size: 6rem
  }

  .lg\:gap-80 {
    gap: 80px
  }

  .lg\:min-h-540 {
    min-height: 540px
  }

  .lg\:w-217 {
    width: 217px
  }

  .lg\:max-w-748 {
    max-width: 748px
  }

  .js-scroll-scale {
    --base-mask-w: 566px
  }
}

@media (min-width:1280px) {
  .container {
    max-width: 1280px
  }

  .\32 lg\:px-40 {
    padding-inline: 40px
  }

  .\32 lg\:text-18ptr {
    font-size: 1.125rem
  }

  .\32 lg\:w-300 {
    width: 300px
  }
}

@media (min-width:1440px) {
  .container {
    max-width: 1440px
  }

  .xl\:ml-18\% {
    margin-left: 18%
  }

  .xl\:mr-1\.5\% {
    margin-right: 1.5%
  }

  .xl\:w-411\/1528 {
    width: 26.8979057592%
  }

  .xl\:w-436\/1528 {
    width: 28.5340314136%
  }

  .xl\:w-566\/1528 {
    width: 37.0418848168%
  }

  .xl\:px-196\/1920 {
    padding-right: 10.2083333333%;
    padding-left: 10.2083333333%
  }

  .xl\:pl-115\/1760 {
    padding-left: 6.5340909091%
  }

  .xl\:mt-24 {
    margin-top: 24px
  }

  .xl\:mt-32 {
    margin-top: 32px
  }

  .xl\:-ml-36 {
    margin-left: -36px
  }

  .xl\:pr-105 {
    padding-right: 105px
  }

  .xl\:pr-90 {
    padding-right: 90px
  }

  .xl\:pb-140 {
    padding-bottom: 140px
  }

  .xl\:pl-120 {
    padding-left: 120px
  }

  .xl\:px-30 {
    padding-inline: 30px
  }

  .xl\:px-40 {
    padding-inline: 40px
  }

  .xl\:px-50 {
    padding-inline: 50px
  }

  .xl\:px-80 {
    padding-inline: 80px
  }

  .xl\:text-16ptr {
    font-size: 1rem
  }

  .xl\:text-20ptr {
    font-size: 1.25rem
  }

  .xl\:text-28ptr {
    font-size: 1.75rem
  }

  .xl\:text-32ptr {
    font-size: 2rem
  }

  .xl\:text-44ptr {
    font-size: 2.75rem
  }

  .xl\:text-64ptr {
    font-size: 4rem
  }

  .xl\:gap-48 {
    gap: 48px
  }

  .xl\:min-h-750 {
    min-height: 750px
  }

  .xl\:w-520 {
    width: 520px
  }

  .xl\:w-68 {
    width: 68px
  }

  .xl\:right-40 {
    right: 40px
  }

  .xl\:bottom-40 {
    bottom: 40px
  }

  .xl\:left-40 {
    left: 40px
  }

  .p-project-btns__link-txt .jp {
    display: inline;
    font-size: 1.125rem
  }
}

@media (min-width:1600px) {
  .container {
    max-width: 1600px
  }

  .\32 xl\:mt-4 {
    margin-top: 4px
  }

  .\32 xl\:text-22ptr {
    font-size: 1.375rem
  }

  .\32 xl\:w-392 {
    width: 392px
  }

  .\32 xl\:right-50 {
    right: 50px
  }

  .js-scroll-scale {
    --base-scale: 0.6
  }
}

@media screen and (max-width:1439px) {
  .p-project__container {
    padding-right: 20px;
    padding-left: 20px
  }
}

@media (max-width:1023.9px) {
  .max-lg\:hidden {
    display: none
  }

  .max-lg\:border-t {
    border-top-width: 1px
  }

  .max-lg\:bg-green-bg\/70 {
    background-color: rgb(53 125 20/.7)
  }

  .max-lg\:backdrop-blur-sm {
    --un-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);
    backdrop-filter: var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)
  }

  .max-lg\:pt-41 {
    padding-top: 41px
  }
}

@media (max-width:781.9px) {
  .max-md\:mx-auto {
    margin-right: auto;
    margin-left: auto
  }

  .max-md\:mt-auto {
    margin-top: auto
  }

  .max-md\:before\:block::before {
    display: block
  }

  .max-md\:hidden {
    display: none
  }

  .max-md\:before\:aspect-748\/863::before {
    aspect-ratio: 748/863
  }

  .max-md\:h-100svh {
    height: 100svh
  }

  .max-md\:w-264\/335 {
    width: 78.8059701493%
  }

  .max-md\:w-auto {
    width: auto
  }

  .max-md\:flex-col {
    flex-direction: column
  }

  .max-md\:before\:content-\[\'\'\]::before {
    content: ""
  }

  .max-md\:line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden
  }

  .max-md\:mt-1 {
    margin-top: 1px
  }

  .max-md\:mt-26 {
    margin-top: 26px
  }

  .max-md\:mt-39 {
    margin-top: 39px
  }

  .max-md\:mt-4 {
    margin-top: 4px
  }

  .max-md\:mt-51 {
    margin-top: 51px
  }

  .max-md\:mt-60 {
    margin-top: 60px
  }

  .max-md\:mb-19 {
    margin-bottom: 19px
  }

  .max-md\:before\:mx-20::before {
    margin-inline: 20px
  }

  .max-md\:pt-16 {
    padding-top: 16px
  }

  .max-md\:pt-20 {
    padding-top: 20px
  }

  .max-md\:pt-38 {
    padding-top: 38px
  }

  .max-md\:pt-80 {
    padding-top: 80px
  }

  .max-md\:pb-60 {
    padding-bottom: 60px
  }

  .max-md\:pb-80 {
    padding-bottom: 80px
  }

  .max-md\:px-20 {
    padding-inline: 20px
  }

  .max-md\:px-22 {
    padding-inline: 22px
  }

  .max-md\:px-25 {
    padding-inline: 25px
  }

  .max-md\:px-30 {
    padding-inline: 30px
  }

  .max-md\:py-14 {
    padding-block: 14px
  }

  .max-md\:py-20 {
    padding-block: 20px
  }

  .max-md\:h-0 {
    height: 0
  }

  .max-md\:h-59 {
    height: 59px
  }

  .max-md\:w-214 {
    width: 214px
  }

  .max-md\:w-256 {
    width: 256px
  }

  .max-md\:before\:max-w-500::before,
  .max-md\:max-w-500 {
    max-width: 500px
  }

  .max-md\:-right-13 {
    right: -13px
  }

  .max-md\:-right-18 {
    right: -18px
  }

  .js-scroll-scale__itemBody {
    min-width: 100vh;
    min-height: 100vw
  }

  .js-area-parallax__item.is-mobile-half {
    --y: var(--position-half)
  }

  .js-area-parallax__item.is-mobile-rev {
    --y: var(--position-rev)
  }

  .js-area-parallax__item.is-mobile-half-rev {
    --y: calc(var(--position-half-rev) * 0.5)
  }

  .splide--pickup .splide__list:has(:nth-child(2)) .splide__slide:not(:last-child) {
    padding-right: 20px;
    border-right: 1px solid #e0e0e0
  }
}

@media screen and (max-width:781px) {
  .p-project__container {
    padding-right: 15px;
    padding-left: 15px
  }

  .p-project__mainTitle__wrapper {
    padding: 150px 0 100px;
    background-position: 80% 80%;
    background-size: 50vw
  }

  .p-project__mainTitle-en span {
    font-size: 48px
  }

  .p-project__mainTitle-jp {
    font-size: 18px
  }

  /* .p-project-side {
    width: 100%;
    padding-top: 0
  }

  .p-project-side__list {
    margin-bottom: 50px;
    gap: 10px 0
  }

  .p-project-side__item {
    padding-left: 25px
  }

  .p-project-side__item::before {
    width: 15px
  } */





  .p-project-main {
    width: 100%;
    gap: 80px 0
  }

  .p-project-block__cate {
    padding-left: 20px;
    font-size: 22px
  }

  .p-project-block__cate::before {
    top: 23px;
    width: 10px
  }

  .p-project-block__list {
    gap: 12px 0
  }

  .p-project-block__item {
    padding: 20px;
    gap: 20px 0
  }

  .p-project-block__ttl {
    padding-left: 15px;
    font-size: 18px;
    line-height: 1.5
  }

  .p-project-block__ttl::before {
    top: 12px;
    width: 7px
  }

  .p-project-block__logobox figure {
    height: 40px
  }

  .p-project-block__table dd,
  .p-project-block__table dt {
    width: 30%;
    padding: 0 8px 13px;
    font-size: 14px
  }

  .p-project-block__table dd {
    width: 70%
  }
}

@media (any-hover:hover) {
  .hover\:bg-white:hover {
    --un-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--un-bg-opacity))
  }

  .hover\:text-black:hover {
    --un-text-opacity: 1;
    color: rgb(46 38 36/var(--un-text-opacity))
  }

  .group:hover .group-hover\:opacity-0 {
    opacity: 0
  }

  .hv-op:hover {
    opacity: .7
  }

  .p-project-btns__link:hover .svg-bg {
    fill: none
  }

  .p-project-btns__link:hover .svg-ar {
    stroke: #1c3177;
    fill: none
  }
}

@media (hover:hover) and (pointer:fine) {
  @media (any-hover:hover) {
    .p-project-btns__link:hover .svg-bg {
      fill: none
    }

    .p-project-btns__link:hover .svg-ar {
      stroke: #1c3177;
      fill: none
    }
  }
}

@media (prefers-reduced-motion:reduce) {

  *,
  ::after,
  ::backdrop,
  ::before {
    background-attachment: scroll !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important
  }
}

@media print {
  .js-anime {
    --opacity: 1
  }
}