@charset "UTF-8";
/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  touch-action: pan-y;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
}

.flickity-rtl .flickity-slider {
  left: unset;
  right: 0;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-cell ---- */
.flickity-cell {
  position: absolute;
  left: 0;
}

.flickity-rtl .flickity-cell {
  left: unset;
  right: 0;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsl(0 0% 100%/75%);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0 8px;
  background: hsl(0 0% 20%/25%);
  border-radius: 50%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  text-indent: -9999px;
  overflow: hidden;
}

.flickity-rtl .flickity-page-dot {
  text-indent: 9999px;
}

.flickity-page-dot:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-page-dot.is-selected {
  background: hsl(0 0% 20%/100%);
}

:root {
  --wp--style--gallery-gap-default: var(--grid-gutter);
}

.wp-text-black {
  color: var(--wp--preset--color--black);
}

.wp-text-gray {
  color: var(--wp--preset--color--cyan-bluish-gray);
}

.wp-text-white {
  color: var(--wp--preset--color--white);
}

.wp-text-pink {
  color: var(--wp--preset--color--pale-pink);
}

.wp-text-red {
  color: var(--wp--preset--color--vivid-red);
}

.wp-text-orange {
  color: var(--wp--preset--color--luminous-vivid-orange);
}

.wp-text-yellow {
  color: var(--wp--preset--color--luminous-vivid-amber);
}

.wp-text-lime {
  color: var(--wp--preset--color--light-green-cyan);
}

.wp-text-green {
  color: var(--wp--preset--color--vivid-green-cyan);
}

.wp-text-cyan {
  color: var(--wp--preset--color--pale-cyan-blue);
}

.wp-text-blue {
  color: var(--wp--preset--color--vivid-cyan-blue);
}

.wp-text-purple {
  color: var(--wp--preset--color--vivid-purple);
}

.wp-bg-black {
  background-color: var(--wp--preset--color--black);
}

.wp-bg-gray {
  background-color: var(--wp--preset--color--cyan-bluish-gray);
}

.wp-bg-white {
  background-color: var(--wp--preset--color--white);
}

.wp-bg-pink {
  background-color: var(--wp--preset--color--pale-pink);
}

.wp-bg-red {
  background-color: var(--wp--preset--color--vivid-red);
}

.wp-bg-orange {
  background-color: var(--wp--preset--color--luminous-vivid-orange);
}

.wp-bg-yellow {
  background-color: var(--wp--preset--color--luminous-vivid-amber);
}

.wp-bg-lime {
  background-color: var(--wp--preset--color--light-green-cyan);
}

.wp-bg-green {
  background-color: var(--wp--preset--color--vivid-green-cyan);
}

.wp-bg-cyan {
  background-color: var(--wp--preset--color--pale-cyan-blue);
}

.wp-bg-blue {
  background-color: var(--wp--preset--color--vivid-cyan-blue);
}

.wp-bg-purple {
  background-color: var(--wp--preset--color--vivid-purple);
}

.wp-gradient-blue {
  background-image: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple);
}

.wp-gradient-green {
  background-image: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan);
}

.wp-gradient-orange {
  background-image: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange);
}

.wp-gradient-red {
  background-image: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red);
}

.wp-gradient-gray {
  background-image: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray);
}

.wp-gradient-rainbow {
  background-image: var(--wp--preset--gradient--cool-to-warm-spectrum);
}

.wp-gradient-violet {
  background-image: var(--wp--preset--gradient--blush-light-purple);
}

.wp-gradient-red {
  background-image: var(--wp--preset--gradient--blush-bordeaux);
}

.wp-gradient-instagram {
  background-image: var(--wp--preset--gradient--luminous-dusk);
}

.wp-gradient-meadow {
  background-image: var(--wp--preset--gradient--pale-ocean);
}

.wp-gradient-grass {
  background-image: var(--wp--preset--gradient--electric-grass);
}

.wp-gradient-navy {
  background-image: var(--wp--preset--gradient--midnight);
}

.wp-font-size-sm {
  font-size: var(--wp--preset--font-size--small);
}

.wp-font-size-md {
  font-size: var(--wp--preset--font-size--medium);
}

.wp-font-size-lg {
  font-size: var(--wp--preset--font-size--large);
}

.wp-font-size-xlg {
  font-size: var(--wp--preset--font-size--x-large);
}

.wp-spacing-20 {
  letter-spacing: var(--wp--preset--spacing--20);
}

.wp-spacing-30 {
  letter-spacing: var(--wp--preset--spacing--30);
}

.wp-spacing-40 {
  letter-spacing: var(--wp--preset--spacing--40);
}

.wp-spacing-50 {
  letter-spacing: var(--wp--preset--spacing--50);
}

.wp-spacing-60 {
  letter-spacing: var(--wp--preset--spacing--60);
}

.wp-spacing-70 {
  letter-spacing: var(--wp--preset--spacing--70);
}

.wp-spacing-80 {
  letter-spacing: var(--wp--preset--spacing--80);
}

.wp-box-shadow-natural {
  box-shadow: var(--wp--preset--shadow--natural);
}

.wp-box-shadow-deep {
  box-shadow: var(--wp--preset--shadow--deep);
}

.wp-box-shadow-sharp {
  box-shadow: var(--wp--preset--shadow--sharp);
}

.wp-box-shadow-outlined {
  box-shadow: var(--wp--preset--shadow--outlined);
}

.wp-box-shadow-crisp {
  box-shadow: var(--wp--preset--shadow--crisp);
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  white-space: break-spaces;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

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

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

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.font-gothic {
  font-family: var(--font-jp-gothic);
}

.font-en {
  font-family: var(--font-sans-text);
}

.font-serif {
  font-family: var(--font-serif);
}

.font-mono {
  font-family: var(--font-monospace-code);
}

.lazy-image-fade.lazy-ready {
  opacity: 0;
}
.lazy-image-fade.lazy-loaded {
  opacity: 1;
  transition-property: opacity;
  transition-duration: 150ms;
  transition-timing-function: ease-in-out;
}

.marquee {
  --marquee-gap: 0.5ch;
  --marquee-duration: 16s;
  display: flex;
  margin-left: calc(var(--grid-gutter) * -1);
  margin-right: calc(var(--grid-gutter) * -1);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1;
}
.marquee__container {
  display: flex;
  overflow: visible;
  animation: var(--marquee-duration) marquee 0s linear infinite;
  will-change: transform;
}
.marquee span {
  display: inline-flex;
  white-space: nowrap;
}
.marquee__main span {
  padding-left: var(--marquee-gap);
}
.marquee__clone {
  overflow: visible;
}
@media screen and (min-width: 750px) {
  .marquee__clone {
    width: 0;
  }
}
.marquee__clone span {
  padding-left: var(--marquee-gap);
}
.marquee.lazy-ready .marquee__wrapper {
  transform: translate(0, 101%);
}
.marquee.lazy-seen .marquee__wrapper {
  transform: translate(0, 0%);
  transition: transform 1s var(--ease-out-quint) 0.25s;
}

@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-50%, 0);
  }
}
.gradient-shimmer {
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: GradientShimmer;
  animation-timing-function: linear;
  background: #f6f7f8;
  background: linear-gradient(to right, #fafafa 8%, #f4f4f4 38%, #fafafa 54%);
  background-size: 1000px 640px;
  position: relative;
}

@keyframes GradientShimmer {
  0% {
    background-position: -468px 0;
  }
  100% {
    background-position: 468px 0;
  }
}
.hover\:lift-up {
  transition: transform 350ms var(--ease-out-quint);
  transform: translateY(0px);
}
.hover\:lift-up:hover {
  transform: translateY(-8px);
}

[data-tilt] {
  transform-style: preserve-3d;
}

.slide-up.lazy-ready {
  opacity: 0;
  transform: translate(0, 32px);
}
.slide-up.lazy-seen, .slide-up._animate-forever.lazy-visible {
  opacity: 1;
  transform: translate(0, 0);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-timing-function: var(--ease-out-quint);
}
.slide-up.lazy-seen.delay-siblings:nth-child(1), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(1) {
  transition-delay: 75ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(2), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(2) {
  transition-delay: 150ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(3), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(3) {
  transition-delay: 225ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(4), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(4) {
  transition-delay: 300ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(5), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(5) {
  transition-delay: 375ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(6), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(6) {
  transition-delay: 450ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(7), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(7) {
  transition-delay: 525ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(8), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(8) {
  transition-delay: 600ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(9), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(9) {
  transition-delay: 675ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(10), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(10) {
  transition-delay: 750ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(11), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(11) {
  transition-delay: 825ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(12), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(12) {
  transition-delay: 900ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(13), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(13) {
  transition-delay: 975ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(14), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(14) {
  transition-delay: 1050ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(15), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(15) {
  transition-delay: 1125ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(16), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(16) {
  transition-delay: 1200ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(17), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(17) {
  transition-delay: 1275ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(18), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(18) {
  transition-delay: 1350ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(19), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(19) {
  transition-delay: 1425ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(20), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(20) {
  transition-delay: 1500ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(21), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(21) {
  transition-delay: 1575ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(22), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(22) {
  transition-delay: 1650ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(23), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(23) {
  transition-delay: 1725ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(24), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(24) {
  transition-delay: 1800ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(25), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(25) {
  transition-delay: 1875ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(26), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(26) {
  transition-delay: 1950ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(27), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(27) {
  transition-delay: 2025ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(28), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(28) {
  transition-delay: 2100ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(29), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(29) {
  transition-delay: 2175ms;
}
.slide-up.lazy-seen.delay-siblings:nth-child(30), .slide-up._animate-forever.lazy-visible.delay-siblings:nth-child(30) {
  transition-delay: 2250ms;
}
.slide-up.lazy-seen._delay-3rd:nth-child(3n+1), .slide-up._animate-forever.lazy-visible._delay-3rd:nth-child(3n+1) {
  transition-delay: 75ms;
}
.slide-up.lazy-seen._delay-3rd:nth-child(3n+2), .slide-up._animate-forever.lazy-visible._delay-3rd:nth-child(3n+2) {
  transition-delay: 150ms;
}

.text-wipe__wrap {
  overflow: hidden;
}
.text-wipe__text {
  display: inline-block;
}
.text-wipe.lazy-ready .text-wipe__text {
  transform: translate(0, 101%);
}
.text-wipe.lazy-seen .text-wipe__text, .text-wipe._animate-forever.lazy-visible .text-wipe__text {
  transition: transform 500ms var(--ease-out-quint);
  transition-delay: 100ms;
  transform: translate(0, 0%);
}

.static-noise {
  display: none;
  position: fixed;
  top: -50%;
  left: -50%;
  right: -50%;
  bottom: -50%;
  width: 200%;
  height: 200vh;
  background-image: url("../img/texture/noise-white.webp");
  background-size: 10rem;
  background-repeat: repeat;
  animation: static_noise 300ms infinite;
  opacity: 0.9;
  visibility: visible;
  z-index: 0;
}

@keyframes static_noise {
  0% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(-5%, -5%);
  }
  20% {
    transform: translate(-10%, 5%);
  }
  30% {
    transform: translate(5%, -10%);
  }
  40% {
    transform: translate(-5%, 15%);
  }
  50% {
    transform: translate(-10%, 5%);
  }
  60% {
    transform: translate(15%, 0);
  }
  70% {
    transform: translate(0, 10%);
  }
  80% {
    transform: translate(-15%, 0);
  }
  90% {
    transform: translate(10%, 5%);
  }
  100% {
    transform: translate(5%, 0);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes blink_smooth {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.underline-animation {
  display: inline;
  background-image: linear-gradient(to top, var(--underline-animation-color), var(--underline-animation-color));
  background-repeat: no-repeat;
  background-size: 0% var(--underline-animation-thickness);
  background-position: var(--underline-animation-position);
  transition: background-size 500ms var(--ease-out-quint);
}
.underline-animation:hover, .group:hover .underline-animation {
  background-size: 100% var(--underline-animation-thickness);
}

.blink-dot-before {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.blink-dot-before::before {
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 9999px;
  background-color: currentColor;
  animation: blink 1250ms steps(1, start) infinite;
  scale: 0.95;
}

.no-gutter {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.no-gutter > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.no-gutter > .row > .cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wrapper {
  padding-left: var(--grid-padding);
  padding-right: var(--grid-padding);
}
.wrapper--narrow {
  padding-left: calc(var(--grid-padding) / 2);
  padding-right: calc(var(--grid-padding) / 2);
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}
@media screen and (max-width: 749px) {
  .row {
    margin-left: -8px;
    margin-right: -8px;
  }
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.no-gutter {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.no-gutter > .cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.flex-vertical {
  flex-direction: column;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

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

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.align-start {
  align-items: flex-start;
}

.align-center {
  align-items: center;
}

.align-end {
  align-items: flex-end;
}

.align-between {
  align-items: space-between;
}

.align-around {
  align-items: space-around;
}

.align-evenly {
  align-items: space-evenly;
}

.cell {
  flex-basis: 0;
  flex-grow: 1;
  padding-right: 16px;
  padding-left: 16px;
  max-width: 100%;
  min-height: 1px;
}
@media screen and (max-width: 749px) {
  .cell {
    padding-right: 8px;
    padding-left: 8px;
  }
}
.no-gutter > .cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cell--auto {
  flex: 1 0 0%;
  width: auto;
  max-width: 100%;
}

.cell\:1\/24 {
  max-width: calc(100% * 1 / 24);
  flex: 0 0 calc(100% * 1 / 24);
}

.cell\:2\/24 {
  max-width: calc(100% * 2 / 24);
  flex: 0 0 calc(100% * 2 / 24);
}

.cell\:3\/24 {
  max-width: calc(100% * 3 / 24);
  flex: 0 0 calc(100% * 3 / 24);
}

.cell\:4\/24 {
  max-width: calc(100% * 4 / 24);
  flex: 0 0 calc(100% * 4 / 24);
}

.cell\:5\/24 {
  max-width: calc(100% * 5 / 24);
  flex: 0 0 calc(100% * 5 / 24);
}

.cell\:6\/24 {
  max-width: calc(100% * 6 / 24);
  flex: 0 0 calc(100% * 6 / 24);
}

.cell\:7\/24 {
  max-width: calc(100% * 7 / 24);
  flex: 0 0 calc(100% * 7 / 24);
}

.cell\:8\/24 {
  max-width: calc(100% * 8 / 24);
  flex: 0 0 calc(100% * 8 / 24);
}

.cell\:9\/24 {
  max-width: calc(100% * 9 / 24);
  flex: 0 0 calc(100% * 9 / 24);
}

.cell\:10\/24 {
  max-width: calc(100% * 10 / 24);
  flex: 0 0 calc(100% * 10 / 24);
}

.cell\:11\/24 {
  max-width: calc(100% * 11 / 24);
  flex: 0 0 calc(100% * 11 / 24);
}

.cell\:12\/24 {
  max-width: calc(100% * 12 / 24);
  flex: 0 0 calc(100% * 12 / 24);
}

.cell\:13\/24 {
  max-width: calc(100% * 13 / 24);
  flex: 0 0 calc(100% * 13 / 24);
}

.cell\:14\/24 {
  max-width: calc(100% * 14 / 24);
  flex: 0 0 calc(100% * 14 / 24);
}

.cell\:15\/24 {
  max-width: calc(100% * 15 / 24);
  flex: 0 0 calc(100% * 15 / 24);
}

.cell\:16\/24 {
  max-width: calc(100% * 16 / 24);
  flex: 0 0 calc(100% * 16 / 24);
}

.cell\:17\/24 {
  max-width: calc(100% * 17 / 24);
  flex: 0 0 calc(100% * 17 / 24);
}

.cell\:18\/24 {
  max-width: calc(100% * 18 / 24);
  flex: 0 0 calc(100% * 18 / 24);
}

.cell\:19\/24 {
  max-width: calc(100% * 19 / 24);
  flex: 0 0 calc(100% * 19 / 24);
}

.cell\:20\/24 {
  max-width: calc(100% * 20 / 24);
  flex: 0 0 calc(100% * 20 / 24);
}

.cell\:21\/24 {
  max-width: calc(100% * 21 / 24);
  flex: 0 0 calc(100% * 21 / 24);
}

.cell\:22\/24 {
  max-width: calc(100% * 22 / 24);
  flex: 0 0 calc(100% * 22 / 24);
}

.cell\:23\/24 {
  max-width: calc(100% * 23 / 24);
  flex: 0 0 calc(100% * 23 / 24);
}

.cell\:24\/24 {
  max-width: 100%;
  flex: 0 0 100%;
}

.push\:0\/24 {
  margin-left: 0;
}

.push\:1\/24 {
  margin-left: calc(100% * 1 / 24);
}

.push\:2\/24 {
  margin-left: calc(100% * 2 / 24);
}

.push\:3\/24 {
  margin-left: calc(100% * 3 / 24);
}

.push\:4\/24 {
  margin-left: calc(100% * 4 / 24);
}

.push\:5\/24 {
  margin-left: calc(100% * 5 / 24);
}

.push\:6\/24 {
  margin-left: calc(100% * 6 / 24);
}

.push\:7\/24 {
  margin-left: calc(100% * 7 / 24);
}

.push\:8\/24 {
  margin-left: calc(100% * 8 / 24);
}

.push\:9\/24 {
  margin-left: calc(100% * 9 / 24);
}

.push\:10\/24 {
  margin-left: calc(100% * 10 / 24);
}

.push\:11\/24 {
  margin-left: calc(100% * 11 / 24);
}

.push\:12\/24 {
  margin-left: calc(100% * 12 / 24);
}

.push\:13\/24 {
  margin-left: calc(100% * 13 / 24);
}

.push\:14\/24 {
  margin-left: calc(100% * 14 / 24);
}

.push\:15\/24 {
  margin-left: calc(100% * 15 / 24);
}

.push\:16\/24 {
  margin-left: calc(100% * 16 / 24);
}

.push\:17\/24 {
  margin-left: calc(100% * 17 / 24);
}

.push\:18\/24 {
  margin-left: calc(100% * 18 / 24);
}

.push\:19\/24 {
  margin-left: calc(100% * 19 / 24);
}

.push\:20\/24 {
  margin-left: calc(100% * 20 / 24);
}

.push\:21\/24 {
  margin-left: calc(100% * 21 / 24);
}

.push\:22\/24 {
  margin-left: calc(100% * 22 / 24);
}

.push\:23\/24 {
  margin-left: calc(100% * 23 / 24);
}

.push\:24\/24 {
  margin-left: 100%;
}

@media screen and (min-width: 370px) {
  .xs\:1\/4 {
    max-width: calc(100% * 1 / 4);
    flex: 0 0 calc(100% * 1 / 4);
  }
  .xs\:2\/4 {
    max-width: calc(100% * 2 / 4);
    flex: 0 0 calc(100% * 2 / 4);
  }
  .xs\:3\/4 {
    max-width: calc(100% * 3 / 4);
    flex: 0 0 calc(100% * 3 / 4);
  }
  .xs\:4\/4 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (min-width: 370px) {
  .xs\:push-0\/4 {
    margin-left: 0;
  }
  .xs\:push-1\/4 {
    margin-left: calc(100% * 1 / 4);
  }
  .xs\:push-2\/4 {
    margin-left: calc(100% * 2 / 4);
  }
  .xs\:push-3\/4 {
    margin-left: calc(100% * 3 / 4);
  }
  .xs\:push-4\/4 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 749px) {
  .sm\:1\/4 {
    max-width: calc(100% * 1 / 4);
    flex: 0 0 calc(100% * 1 / 4);
  }
  .sm\:2\/4 {
    max-width: calc(100% * 2 / 4);
    flex: 0 0 calc(100% * 2 / 4);
  }
  .sm\:3\/4 {
    max-width: calc(100% * 3 / 4);
    flex: 0 0 calc(100% * 3 / 4);
  }
  .sm\:4\/4 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (max-width: 749px) {
  .sm\:push-1\/4 {
    margin-left: calc(100% * 1 / 4);
  }
  .sm\:push-2\/4 {
    margin-left: calc(100% * 2 / 4);
  }
  .sm\:push-3\/4 {
    margin-left: calc(100% * 3 / 4);
  }
  .sm\:push-4\/4 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 750px) {
  .md\:1\/8 {
    max-width: calc(100% * 1 / 8);
    flex: 0 0 calc(100% * 1 / 8);
  }
  .md\:2\/8 {
    max-width: calc(100% * 2 / 8);
    flex: 0 0 calc(100% * 2 / 8);
  }
  .md\:3\/8 {
    max-width: calc(100% * 3 / 8);
    flex: 0 0 calc(100% * 3 / 8);
  }
  .md\:4\/8 {
    max-width: calc(100% * 4 / 8);
    flex: 0 0 calc(100% * 4 / 8);
  }
  .md\:5\/8 {
    max-width: calc(100% * 5 / 8);
    flex: 0 0 calc(100% * 5 / 8);
  }
  .md\:6\/8 {
    max-width: calc(100% * 6 / 8);
    flex: 0 0 calc(100% * 6 / 8);
  }
  .md\:7\/8 {
    max-width: calc(100% * 7 / 8);
    flex: 0 0 calc(100% * 7 / 8);
  }
  .md\:8\/8 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (min-width: 750px) {
  .md\:push-0\/8 {
    margin-left: 0;
  }
  .md\:push-1\/8 {
    margin-left: calc(100% * 1 / 8);
  }
  .md\:push-2\/8 {
    margin-left: calc(100% * 2 / 8);
  }
  .md\:push-3\/8 {
    margin-left: calc(100% * 3 / 8);
  }
  .md\:push-4\/8 {
    margin-left: calc(100% * 4 / 8);
  }
  .md\:push-5\/8 {
    margin-left: calc(100% * 5 / 8);
  }
  .md\:push-6\/8 {
    margin-left: calc(100% * 6 / 8);
  }
  .md\:push-7\/8 {
    margin-left: calc(100% * 7 / 8);
  }
  .md\:push-8\/8 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1056px) {
  .lg\:1\/12 {
    max-width: calc(100% * 1 / 12);
    flex: 0 0 calc(100% * 1 / 12);
  }
  .lg\:2\/12 {
    max-width: calc(100% * 2 / 12);
    flex: 0 0 calc(100% * 2 / 12);
  }
  .lg\:3\/12 {
    max-width: calc(100% * 3 / 12);
    flex: 0 0 calc(100% * 3 / 12);
  }
  .lg\:4\/12 {
    max-width: calc(100% * 4 / 12);
    flex: 0 0 calc(100% * 4 / 12);
  }
  .lg\:5\/12 {
    max-width: calc(100% * 5 / 12);
    flex: 0 0 calc(100% * 5 / 12);
  }
  .lg\:6\/12 {
    max-width: calc(100% * 6 / 12);
    flex: 0 0 calc(100% * 6 / 12);
  }
  .lg\:7\/12 {
    max-width: calc(100% * 7 / 12);
    flex: 0 0 calc(100% * 7 / 12);
  }
  .lg\:8\/12 {
    max-width: calc(100% * 8 / 12);
    flex: 0 0 calc(100% * 8 / 12);
  }
  .lg\:9\/12 {
    max-width: calc(100% * 9 / 12);
    flex: 0 0 calc(100% * 9 / 12);
  }
  .lg\:10\/12 {
    max-width: calc(100% * 10 / 12);
    flex: 0 0 calc(100% * 10 / 12);
  }
  .lg\:11\/12 {
    max-width: calc(100% * 11 / 12);
    flex: 0 0 calc(100% * 11 / 12);
  }
  .lg\:12\/12 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (min-width: 1056px) {
  .lg\:push-0\/12 {
    margin-left: 0;
  }
  .lg\:push-1\/12 {
    margin-left: calc(100% * 1 / 12);
  }
  .lg\:push-2\/12 {
    margin-left: calc(100% * 2 / 12);
  }
  .lg\:push-3\/12 {
    margin-left: calc(100% * 3 / 12);
  }
  .lg\:push-4\/12 {
    margin-left: calc(100% * 4 / 12);
  }
  .lg\:push-5\/12 {
    margin-left: calc(100% * 5 / 12);
  }
  .lg\:push-6\/12 {
    margin-left: calc(100% * 6 / 12);
  }
  .lg\:push-7\/12 {
    margin-left: calc(100% * 7 / 12);
  }
  .lg\:push-8\/12 {
    margin-left: calc(100% * 8 / 12);
  }
  .lg\:push-9\/12 {
    margin-left: calc(100% * 9 / 12);
  }
  .lg\:push-10\/12 {
    margin-left: calc(100% * 10 / 12);
  }
  .lg\:push-11\/12 {
    margin-left: calc(100% * 11 / 12);
  }
  .lg\:push-12\/12 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1312px) {
  .xlg\:1\/24 {
    max-width: calc(100% * 1 / 24);
    flex: 0 0 calc(100% * 1 / 24);
  }
  .xlg\:2\/24 {
    max-width: calc(100% * 2 / 24);
    flex: 0 0 calc(100% * 2 / 24);
  }
  .xlg\:3\/24 {
    max-width: calc(100% * 3 / 24);
    flex: 0 0 calc(100% * 3 / 24);
  }
  .xlg\:4\/24 {
    max-width: calc(100% * 4 / 24);
    flex: 0 0 calc(100% * 4 / 24);
  }
  .xlg\:5\/24 {
    max-width: calc(100% * 5 / 24);
    flex: 0 0 calc(100% * 5 / 24);
  }
  .xlg\:6\/24 {
    max-width: calc(100% * 6 / 24);
    flex: 0 0 calc(100% * 6 / 24);
  }
  .xlg\:7\/24 {
    max-width: calc(100% * 7 / 24);
    flex: 0 0 calc(100% * 7 / 24);
  }
  .xlg\:8\/24 {
    max-width: calc(100% * 8 / 24);
    flex: 0 0 calc(100% * 8 / 24);
  }
  .xlg\:9\/24 {
    max-width: calc(100% * 9 / 24);
    flex: 0 0 calc(100% * 9 / 24);
  }
  .xlg\:10\/24 {
    max-width: calc(100% * 10 / 24);
    flex: 0 0 calc(100% * 10 / 24);
  }
  .xlg\:11\/24 {
    max-width: calc(100% * 11 / 24);
    flex: 0 0 calc(100% * 11 / 24);
  }
  .xlg\:12\/24 {
    max-width: calc(100% * 12 / 24);
    flex: 0 0 calc(100% * 12 / 24);
  }
  .xlg\:13\/24 {
    max-width: calc(100% * 13 / 24);
    flex: 0 0 calc(100% * 13 / 24);
  }
  .xlg\:14\/24 {
    max-width: calc(100% * 14 / 24);
    flex: 0 0 calc(100% * 14 / 24);
  }
  .xlg\:15\/24 {
    max-width: calc(100% * 15 / 24);
    flex: 0 0 calc(100% * 15 / 24);
  }
  .xlg\:16\/24 {
    max-width: calc(100% * 16 / 24);
    flex: 0 0 calc(100% * 16 / 24);
  }
  .xlg\:17\/24 {
    max-width: calc(100% * 17 / 24);
    flex: 0 0 calc(100% * 17 / 24);
  }
  .xlg\:18\/24 {
    max-width: calc(100% * 18 / 24);
    flex: 0 0 calc(100% * 18 / 24);
  }
  .xlg\:19\/24 {
    max-width: calc(100% * 19 / 24);
    flex: 0 0 calc(100% * 19 / 24);
  }
  .xlg\:20\/24 {
    max-width: calc(100% * 20 / 24);
    flex: 0 0 calc(100% * 20 / 24);
  }
  .xlg\:21\/24 {
    max-width: calc(100% * 21 / 24);
    flex: 0 0 calc(100% * 21 / 24);
  }
  .xlg\:22\/24 {
    max-width: calc(100% * 22 / 24);
    flex: 0 0 calc(100% * 22 / 24);
  }
  .xlg\:23\/24 {
    max-width: calc(100% * 23 / 24);
    flex: 0 0 calc(100% * 23 / 24);
  }
  .xlg\:24\/24 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (min-width: 1312px) {
  .xlg\:push-0\/24 {
    margin-left: 0;
  }
  .xlg\:push-1\/24 {
    margin-left: calc(100% * 1 / 24);
  }
  .xlg\:push-2\/24 {
    margin-left: calc(100% * 2 / 24);
  }
  .xlg\:push-3\/24 {
    margin-left: calc(100% * 3 / 24);
  }
  .xlg\:push-4\/24 {
    margin-left: calc(100% * 4 / 24);
  }
  .xlg\:push-5\/24 {
    margin-left: calc(100% * 5 / 24);
  }
  .xlg\:push-6\/24 {
    margin-left: calc(100% * 6 / 24);
  }
  .xlg\:push-7\/24 {
    margin-left: calc(100% * 7 / 24);
  }
  .xlg\:push-8\/24 {
    margin-left: calc(100% * 8 / 24);
  }
  .xlg\:push-9\/24 {
    margin-left: calc(100% * 9 / 24);
  }
  .xlg\:push-10\/24 {
    margin-left: calc(100% * 10 / 24);
  }
  .xlg\:push-11\/24 {
    margin-left: calc(100% * 11 / 24);
  }
  .xlg\:push-12\/24 {
    margin-left: calc(100% * 12 / 24);
  }
  .xlg\:push-13\/24 {
    margin-left: calc(100% * 13 / 24);
  }
  .xlg\:push-14\/24 {
    margin-left: calc(100% * 14 / 24);
  }
  .xlg\:push-15\/24 {
    margin-left: calc(100% * 15 / 24);
  }
  .xlg\:push-16\/24 {
    margin-left: calc(100% * 16 / 24);
  }
  .xlg\:push-17\/24 {
    margin-left: calc(100% * 17 / 24);
  }
  .xlg\:push-18\/24 {
    margin-left: calc(100% * 18 / 24);
  }
  .xlg\:push-19\/24 {
    margin-left: calc(100% * 19 / 24);
  }
  .xlg\:push-20\/24 {
    margin-left: calc(100% * 20 / 24);
  }
  .xlg\:push-21\/24 {
    margin-left: calc(100% * 21 / 24);
  }
  .xlg\:push-22\/24 {
    margin-left: calc(100% * 22 / 24);
  }
  .xlg\:push-23\/24 {
    margin-left: calc(100% * 23 / 24);
  }
  .xlg\:push-24\/24 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1584px) {
  .max\:1\/24 {
    max-width: calc(100% * 1 / 24);
    flex: 0 0 calc(100% * 1 / 24);
  }
  .max\:2\/24 {
    max-width: calc(100% * 2 / 24);
    flex: 0 0 calc(100% * 2 / 24);
  }
  .max\:3\/24 {
    max-width: calc(100% * 3 / 24);
    flex: 0 0 calc(100% * 3 / 24);
  }
  .max\:4\/24 {
    max-width: calc(100% * 4 / 24);
    flex: 0 0 calc(100% * 4 / 24);
  }
  .max\:5\/24 {
    max-width: calc(100% * 5 / 24);
    flex: 0 0 calc(100% * 5 / 24);
  }
  .max\:6\/24 {
    max-width: calc(100% * 6 / 24);
    flex: 0 0 calc(100% * 6 / 24);
  }
  .max\:7\/24 {
    max-width: calc(100% * 7 / 24);
    flex: 0 0 calc(100% * 7 / 24);
  }
  .max\:8\/24 {
    max-width: calc(100% * 8 / 24);
    flex: 0 0 calc(100% * 8 / 24);
  }
  .max\:9\/24 {
    max-width: calc(100% * 9 / 24);
    flex: 0 0 calc(100% * 9 / 24);
  }
  .max\:10\/24 {
    max-width: calc(100% * 10 / 24);
    flex: 0 0 calc(100% * 10 / 24);
  }
  .max\:11\/24 {
    max-width: calc(100% * 11 / 24);
    flex: 0 0 calc(100% * 11 / 24);
  }
  .max\:12\/24 {
    max-width: calc(100% * 12 / 24);
    flex: 0 0 calc(100% * 12 / 24);
  }
  .max\:13\/24 {
    max-width: calc(100% * 13 / 24);
    flex: 0 0 calc(100% * 13 / 24);
  }
  .max\:14\/24 {
    max-width: calc(100% * 14 / 24);
    flex: 0 0 calc(100% * 14 / 24);
  }
  .max\:15\/24 {
    max-width: calc(100% * 15 / 24);
    flex: 0 0 calc(100% * 15 / 24);
  }
  .max\:16\/24 {
    max-width: calc(100% * 16 / 24);
    flex: 0 0 calc(100% * 16 / 24);
  }
  .max\:17\/24 {
    max-width: calc(100% * 17 / 24);
    flex: 0 0 calc(100% * 17 / 24);
  }
  .max\:18\/24 {
    max-width: calc(100% * 18 / 24);
    flex: 0 0 calc(100% * 18 / 24);
  }
  .max\:19\/24 {
    max-width: calc(100% * 19 / 24);
    flex: 0 0 calc(100% * 19 / 24);
  }
  .max\:20\/24 {
    max-width: calc(100% * 20 / 24);
    flex: 0 0 calc(100% * 20 / 24);
  }
  .max\:21\/24 {
    max-width: calc(100% * 21 / 24);
    flex: 0 0 calc(100% * 21 / 24);
  }
  .max\:22\/24 {
    max-width: calc(100% * 22 / 24);
    flex: 0 0 calc(100% * 22 / 24);
  }
  .max\:23\/24 {
    max-width: calc(100% * 23 / 24);
    flex: 0 0 calc(100% * 23 / 24);
  }
  .max\:24\/24 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}
@media screen and (min-width: 1584px) {
  .max\:push-0\/24 {
    margin-left: 0;
  }
  .max\:push-1\/24 {
    margin-left: calc(100% * 1 / 24);
  }
  .max\:push-2\/24 {
    margin-left: calc(100% * 2 / 24);
  }
  .max\:push-3\/24 {
    margin-left: calc(100% * 3 / 24);
  }
  .max\:push-4\/24 {
    margin-left: calc(100% * 4 / 24);
  }
  .max\:push-5\/24 {
    margin-left: calc(100% * 5 / 24);
  }
  .max\:push-6\/24 {
    margin-left: calc(100% * 6 / 24);
  }
  .max\:push-7\/24 {
    margin-left: calc(100% * 7 / 24);
  }
  .max\:push-8\/24 {
    margin-left: calc(100% * 8 / 24);
  }
  .max\:push-9\/24 {
    margin-left: calc(100% * 9 / 24);
  }
  .max\:push-10\/24 {
    margin-left: calc(100% * 10 / 24);
  }
  .max\:push-11\/24 {
    margin-left: calc(100% * 11 / 24);
  }
  .max\:push-12\/24 {
    margin-left: calc(100% * 12 / 24);
  }
  .max\:push-13\/24 {
    margin-left: calc(100% * 13 / 24);
  }
  .max\:push-14\/24 {
    margin-left: calc(100% * 14 / 24);
  }
  .max\:push-15\/24 {
    margin-left: calc(100% * 15 / 24);
  }
  .max\:push-16\/24 {
    margin-left: calc(100% * 16 / 24);
  }
  .max\:push-17\/24 {
    margin-left: calc(100% * 17 / 24);
  }
  .max\:push-18\/24 {
    margin-left: calc(100% * 18 / 24);
  }
  .max\:push-19\/24 {
    margin-left: calc(100% * 19 / 24);
  }
  .max\:push-20\/24 {
    margin-left: calc(100% * 20 / 24);
  }
  .max\:push-21\/24 {
    margin-left: calc(100% * 21 / 24);
  }
  .max\:push-22\/24 {
    margin-left: calc(100% * 22 / 24);
  }
  .max\:push-23\/24 {
    margin-left: calc(100% * 23 / 24);
  }
  .max\:push-24\/24 {
    margin-left: 100%;
  }
  .infix\:margin-x-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
.fluid-paragraph-01 {
  font-size: clamp(0.8125rem, 0.4921259843vw + 0.8125rem, 1.125rem);
  line-height: 1.8;
}

.fluid-paragraph-02 {
  font-size: clamp(1.125rem, 0.3937007874vw + 1.125rem, 1.375rem);
  line-height: 1.6;
}

.fluid-quotation-01 {
  font-size: 1.25rem;
  line-height: 1.25rem;
}
@media screen and (min-width: 1056px) {
  .fluid-quotation-01 {
    font-size: 24px;
    line-height: 30px;
  }
}
@media screen and (min-width: 1312px) {
  .fluid-quotation-01 {
    font-size: 28px;
    line-height: 36px;
  }
}
@media screen and (min-width: 1584px) {
  .fluid-quotation-01 {
    font-size: 32px;
    line-height: 40px;
  }
}

.fluid-quotation-02 {
  font-size: clamp(2rem, 2.7559055118vw + 2rem, 3.75rem);
  line-height: 1.25;
}

.fluid-display-01 {
  font-size: clamp(2.25rem, 2.7559055118vw + 2.25rem, 4rem);
  line-height: 1.2;
}

.fluid-display-02 {
  font-size: clamp(2.625rem, 3.3464566929vw + 2.625rem, 4.75rem);
  line-height: 1.2;
  font-weight: 600;
}

.fluid-display-03 {
  font-size: 42px;
  line-height: 50px;
  font-weight: normal;
  font-weight: 300;
}
@media screen and (min-width: 750px) {
  .fluid-display-03 {
    font-size: 54px;
    line-height: 64px;
  }
}
@media screen and (min-width: 1056px) {
  .fluid-display-03 {
    font-size: 60px;
    line-height: 70px;
  }
}
@media screen and (min-width: 1312px) {
  .fluid-display-03 {
    font-size: 75px;
    line-height: 86px;
    letter-spacing: -0.64px;
  }
}
@media screen and (min-width: 1584px) {
  .fluid-display-03 {
    font-size: 84px;
    line-height: 94px;
    letter-spacing: -0.96px;
  }
}

.fluid-display-04 {
  font-size: clamp(2.625rem, 11.2204724409vw + 2.625rem, 9.75rem);
  line-height: 1.2;
  font-weight: normal;
  font-weight: 300;
}

.fluid-heading-03 {
  font-size: 20px;
  line-height: 28px;
}
@media screen and (min-width: 750px) {
  .fluid-heading-03 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1056px) {
  .fluid-heading-03 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1312px) {
  .fluid-heading-03 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1584px) {
  .fluid-heading-03 {
    font-size: 24px;
    line-height: 28px;
  }
}

.fluid-heading-04 {
  font-size: clamp(1.75rem, 2.3426061493vw, 2rem);
  line-height: 1.25;
}

.fluid-heading-05 {
  font-size: clamp(2rem, 4.39238653vw, 3.75rem);
  line-height: 1.25;
}

.fluid-heading-06 {
  font-size: clamp(2rem, 4.39238653vw, 3.75rem);
  line-height: 1.25;
  font-weight: 600;
}

.heading-compact-01 {
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.01em;
  font-weight: bold;
  font-weight: 600;
}

.heading-compact-02 {
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: bold;
  font-weight: 600;
}

.heading-01 {
  font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
  line-height: 1.25;
  letter-spacing: 0.01em;
}

.heading-02 {
  font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
  line-height: 1.25;
}

.heading-03 {
  font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
  line-height: 1.2;
}

.heading-04 {
  font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
  line-height: 1.2;
}

.heading-05 {
  font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
  line-height: 1.2;
}

.heading-06 {
  font-size: clamp(2rem, 3.513909224vw, 3rem);
  line-height: 1.2;
}

.heading-07 {
  font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
  line-height: 1.125;
}

.body-compact-01 {
  font-size: clamp(0.8125rem, 1.1713030747vw, 1rem);
  letter-spacing: 0.02em;
}

.body-compact-02 {
  font-size: clamp(0.875rem, 1.317715959vw, 1.125rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.body-01 {
  font-size: clamp(0.8125rem, 1.1713030747vw, 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.body-02 {
  font-size: clamp(0.875rem, 1.317715959vw, 1.125rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.code-01 {
  font-family: var(--font-monospace-code);
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015em;
}

.code-02 {
  font-family: var(--font-monospace-code);
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.015em;
}

.label-01 {
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015em;
}

.label-02 {
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.015em;
}

.code-02 {
  font-family: var(--font-monospace-code);
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.015em;
}

.helper-text-01 {
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 1312px) {
  .helper-text-01 {
    font-size: 0.875rem;
  }
}

.helper-text-02 {
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 1312px) {
  .helper-text-02 {
    font-size: 1rem;
  }
}

.legal-01 {
  font-size: 0.75rem;
  line-height: 1rem;
}

@media screen and (min-width: 370px) {
  .xs\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xs\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xs\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xs\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xs\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xs\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xs\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xs\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xs\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xs\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xs\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xs\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xs\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xs\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xs\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xs\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xs\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xs\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xs\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xs\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xs\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xs\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xs\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xs\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xs\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xs\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xs\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xs\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
@media screen and (max-width: 749px) {
  .sm\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .sm\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .sm\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .sm\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .sm\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .sm\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .sm\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .sm\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .sm\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .sm\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .sm\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .sm\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .sm\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .sm\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .sm\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .sm\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .sm\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .sm\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .sm\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .sm\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .sm\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .sm\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .sm\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .sm\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .sm\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .sm\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .sm\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .sm\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
@media screen and (min-width: 750px) {
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .md\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .md\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .md\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .md\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .md\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .md\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .md\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
@media screen and (min-width: 1056px) {
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .lg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .lg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .lg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .lg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .lg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .lg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .lg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
@media screen and (min-width: 1312px) {
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .xlg\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .xlg\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .xlg\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .xlg\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .xlg\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .xlg\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .xlg\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
@media screen and (min-width: 1584px) {
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
  .max\:heading-01 {
    font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: 0.01em;
  }
  .max\:heading-02 {
    font-size: clamp(1.125rem, 1.756954612vw, 1.5rem);
    line-height: 1.25;
  }
  .max\:heading-03 {
    font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
    line-height: 1.2;
  }
  .max\:heading-04 {
    font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
    line-height: 1.2;
  }
  .max\:heading-05 {
    font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
    line-height: 1.2;
  }
  .max\:heading-06 {
    font-size: clamp(2rem, 3.513909224vw, 3rem);
    line-height: 1.2;
  }
  .max\:heading-07 {
    font-size: clamp(2.5rem, 4.6852122987vw, 4rem);
    line-height: 1.125;
  }
}
.h0 {
  opacity: 0.15;
  font-size: 10vmax;
  margin-left: -0.05em;
  text-transform: uppercase;
}
@media screen and (min-width: 1312px) {
  .h0 {
    font-size: 7vmax;
    margin-left: -0.05em;
  }
}
@media screen and (min-width: 1584px) {
  .h0 {
    font-size: 8vmax;
  }
}

.h1-en {
  font-family: var(--font-sans-title);
  font-size: 2.625rem;
  line-height: 0.8;
}
.h2 {
  font-size: 2.25rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.h2-en {
  font-family: var(--font-sans-title);
  font-size: 2.25rem;
  line-height: 1.25;
  letter-spacing: 0.03em;
}

.h3 {
  font-family: var(--font-sans-title);
  font-size: 1.875rem;
  line-height: 1.25;
  letter-spacing: 0.03em;
}

.h3-jp {
  font-size: clamp(1.25rem, 2.1229868228vw, 1.75rem);
  line-height: 1.2;
}

.h4 {
  font-family: var(--font-gothic-body);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.01em;
}
.h4-fluid {
  font-size: 4.25vw;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 750px) {
  .h4-fluid {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1312px) {
  .h4-fluid {
    font-size: 1.25vw;
  }
}

.h4-en {
  font-family: paralucent-text, Inter, var(--font-gothic-body);
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 2.25rem;
}
@media screen and (min-width: 1312px) {
  .h4-en {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}

.h5 {
  font-family: vdl-v7gothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, "Meiryo", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.075em;
}
@media screen and (min-width: 750px) {
  .h5 {
    font-size: 1.25rem;
  }
}

.h5-fluid {
  font-family: vdl-v7gothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, "Meiryo", system-ui, sans-serif;
  font-size: 1.2vw;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.075em;
}
@media screen and (min-width: 750px) {
  .h5-fluid {
    font-size: 1.44vw;
  }
}
@media screen and (min-width: 1584px) {
  .h5-fluid {
    font-size: 1.25vw;
  }
}

.h5-en {
  font-family: var(--font-sans-title);
  font-size: 1rem;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.075em;
}

.h6 {
  font-family: vdl-v7gothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, "Meiryo", system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 749px) {
  .h6 {
    font-size: 1rem;
  }
}

.font-jp {
  font-family: vdl-v7gothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, "Meiryo", system-ui, sans-serif;
}

.font-en {
  font-family: var(--font-sans-title);
}

.font-default {
  font-family: var(--font-default);
}

.body-default {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 750px) {
  .body-default {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1312px) {
  .body-default {
    font-size: 1.25rem;
  }
}

.body-large {
  font-family: var(--font-gothic-body);
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1584px) {
  .body-large {
    font-size: 1vw;
  }
}

.body-small {
  font-family: var(--font-gothic-body);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.075em;
}
@media screen and (min-width: 1312px) {
  .body-small {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1584px) {
  .body-small {
    font-size: 1rem;
  }
}

.tagline-medium {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
@media screen and (max-width: 1055px) {
  .tagline-medium {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1312px) {
  .tagline-medium {
    font-size: 1.125rem;
  }
}

.tagline-small-jp {
  font-family: var(--font-gothic-body);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1rem;
  letter-spacing: 0.075em;
  font-family: var(--font-gothic-body);
}
@media screen and (max-width: 749px) {
  .tagline-small-jp {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1056px) {
  .tagline-small-jp {
    font-size: 0.9375rem;
  }
}

.tagline-small-en {
  font-family: var(--font-sans-title);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1rem;
  letter-spacing: 0.075em;
  font-family: var(--font-gothic-body);
}
@media screen and (max-width: 749px) {
  .tagline-small-en {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1056px) {
  .tagline-small-en {
    font-size: 0.9375rem;
  }
}

.label-small {
  font-size: 0.75rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 750px) {
  .label-small {
    font-size: 0.8125rem;
  }
}
@media screen and (min-width: 1312px) {
  .label-small {
    font-size: 0.875rem;
  }
}

.th {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 1056px) {
  .th {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1312px) {
  .th {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1584px) {
  .th {
    font-size: 1rem;
  }
}

.meta-small {
  display: inline-block;
  font-size: clamp(0.75rem, 1.0980966325vw, 0.9375rem);
  line-height: 1.25;
  min-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.section-label {
  font-size: 1.5rem;
  font-family: var(--font-sans-title);
}
@media screen and (min-width: 1312px) {
  .section-label {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 1584px) {
  .section-label {
    font-size: 2rem;
  }
}

:root {
  --color-black: 0 0 0;
  --color-white: 255 255 255;
  --color-gray-50: 250 252 252;
  --color-gray-100: 243 245 245;
  --color-gray-200: 230 232 232;
  --color-gray-300: 220 221 221;
  --color-gray-400: 188 190 190;
  --color-gray-500: 154 157 157;
  --color-gray-600: 121 124 124;
  --color-gray-700: 88 90 90;
  --color-gray-800: 58 59 59;
  --color-gray-900: 25 26 26;
  --color-gray-950: 7 8 8;
  --color-ash-50: 247 249 252;
  --color-ash-100: 240 242 245;
  --color-ash-200: 228 229 234;
  --color-ash-300: 194 195 200;
  --color-ash-400: 172 175 180;
  --color-ash-500: 121 124 134;
  --color-ash-600: 78 80 90;
  --color-ash-700: 55 56 62;
  --color-ash-800: 24 25 30;
  --color-ash-900: 11 12 16;
  --color-ash-950: 1 2 5;
  --color-blue-50: 243 248 252;
  --color-blue-100: 229 241 249;
  --color-blue-200: 175 213 235;
  --color-blue-300: 148 201 229;
  --color-blue-400: 91 173 213;
  --color-blue-500: 54 147 193;
  --color-blue-600: 38 118 163;
  --color-blue-700: 32 95 132;
  --color-blue-800: 30 80 110;
  --color-blue-900: 30 68 92;
  --color-blue-950: 20 44 61;
  --color-sky-50: 232 245 253;
  --color-sky-100: 211 237 251;
  --color-sky-200: 166 219 247;
  --color-sky-300: 117 198 242;
  --color-sky-400: 68 178 238;
  --color-sky-500: 21 159 234;
  --color-sky-600: 17 127 187;
  --color-sky-700: 13 96 140;
  --color-sky-800: 9 64 93;
  --color-sky-900: 4 32 47;
  --color-sky-950: 2 16 23;
  --color-red-50: 253 235 229;
  --color-red-100: 251 213 203;
  --color-red-200: 249 175 156;
  --color-red-300: 247 133 108;
  --color-red-400: 245 94 57;
  --color-red-500: 244 51 12;
  --color-red-600: 203 37 0;
  --color-red-700: 154 27 2;
  --color-red-800: 103 19 0;
  --color-red-900: 51 10 0;
  --color-red-950: 24 5 0;
  --color-green-50: 243 252 248;
  --color-green-100: 234 247 240;
  --color-green-200: 213 236 225;
  --color-green-300: 170 224 199;
  --color-green-400: 122 215 173;
  --color-green-500: 70 211 147;
  --color-green-600: 60 191 121;
  --color-green-700: 46 152 91;
  --color-green-800: 30 108 62;
  --color-green-900: 11 56 29;
  --color-green-950: 3 25 14;
  --color-indigo-50: 230 238 249;
  --color-indigo-100: 211 221 241;
  --color-indigo-200: 168 190 234;
  --color-indigo-300: 120 158 232;
  --color-indigo-400: 70 123 233;
  --color-indigo-500: 36 90 233;
  --color-indigo-600: 27 67 196;
  --color-indigo-700: 19 53 153;
  --color-indigo-800: 9 34 101;
  --color-indigo-900: 3 16 52;
  --color-indigo-950: 1 8 26;
  --color-purple-50: 250 245 251;
  --color-purple-100: 245 235 244;
  --color-purple-200: 231 214 232;
  --color-purple-300: 211 175 212;
  --color-purple-400: 190 140 192;
  --color-purple-500: 170 102 174;
  --color-purple-600: 143 78 146;
  --color-purple-700: 108 59 109;
  --color-purple-800: 72 39 73;
  --color-purple-900: 37 19 38;
  --color-purple-950: 16 9 17;
  --color-gold-50: 239 236 230;
  --color-gold-100: 223 216 203;
  --color-gold-200: 204 193 173;
  --color-gold-300: 187 172 145;
  --color-gold-400: 170 151 116;
  --color-gold-500: 145 126 89;
  --color-gold-600: 117 101 72;
  --color-gold-700: 88 76 54;
  --color-gold-800: 60 52 37;
  --color-gold-900: 28 25 17;
  --color-gold-950: 16 14 10;
  --color-pink-50: 252 237 244;
  --color-pink-100: 250 220 233;
  --color-pink-200: 244 175 205;
  --color-pink-300: 237 130 176;
  --color-pink-400: 230 81 146;
  --color-pink-500: 224 36 118;
  --color-pink-600: 183 26 94;
  --color-pink-700: 138 20 71;
  --color-pink-800: 89 13 46;
  --color-pink-900: 45 6 23;
  --color-pink-950: 15 14 10;
}

:root {
  --color-facebook: 24 119 242; /* #1877F2 */
  --color-twitter: 29 161 242; /* #1DA1F2 */
  --color-instagram: 240 0 115; /* #F00073 */
}

:root {
  --base-font-size: $base-font-size;
  --font-system: system-ui, sans-serif;
  --font-transitional: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  --font-old-style: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
  --font-humanist: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
  --font-neo-humanist: Avenir, "Avenir Next LT Pro", Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
  --font-geometric-humanist: Avenir, "Avenir Next LT Pro", Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
  --font-classic-humanist: Optima, Candara, "Noto Sans", source-sans-pro, sans-serif;
  --font-neo-grotesque: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;
  --font-monospace-slab-serif: "Nimbus Mono PS", "Courier New", "Cutive Mono", monospace;
  --font-monospace-code: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
  --font-industrial: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", "Nimbus Sans Narrow", sans-serif-condensed, sans-serif;
  --font-rounded-sans: ui-rounded, "Hiragino Maru Gothic ProN", Quicksand, Comfortaa, Manjari, "Arial Rounded MT Bold", Calibri, source-sans-pro, sans-serif;
  --font-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab", "DejaVu Serif", "Sitka Small", serif;
  --font-antique: Superclarendon, "Bookman Old Style", "URW Bookman", "URW Bookman L", "Georgia Pro", Georgia, serif;
  --font-didone: Didot, "Bodoni MT", "Noto Serif Display", "URW Palladio L", P052, Sylfaen, serif;
  --font-handwritten: "Segoe Print", "Bradley Hand", Chilanka, TSCu_Comic, casual, cursive;
  --font-jp-gothic: "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --font-jp-serif: "Noto Serif CJK JP", "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --font-serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, vdl-v7mincho, serif;
  --font-gothic-body: Inter, var(--font-jp-gothic);
  --font-gothic-title: vdl-v7gothic, var(--font-jp-gothic);
  --font-sans-title: paralucent, Inter, system-ui, sans-serif;
  --font-sans-text: paralucent-text, Inter, system-ui, sans-serif;
  --font-sans-default: Inter, Roboto, "Helvetica Neue", "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --font-default: var(--font-sans-default);
  --wrapper-max: 1500;
  --wrapper-min: 375;
  --grid-padding: 64px;
  --grid-gutter: 2rem;
  --underline-animation-color: currentColor;
  --underline-animation-thickness: 2px;
  --underline-animation-position: left calc(100% - 0px);
  --rich-content-max-width: 800px;
  --table-cell-padding-x: 16px;
  --table-cell-padding-y: 4px;
  --transition-duration: 300ms;
  --transition-easing: var(--ease-out-quint);
}

:root {
  --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --ease-mixpanel: cubic-bezier(0.19, 1, 0.22, 1);
}

:root {
  --color-whitest: rgb(var(--color-ash-50));
  --color-white-solid: rgb(var(--color-ash-200));
  --color-white-solid-active: rgb(var(--color-ash-400));
  --color-white-ghost: rgba(var(--color-ash-50) / 0.15);
  --color-white-ghost-active: rgba(var(--color-ash-50) / 0.3);
  --color-white-inactive: rgb(var(--color-ash-600));
  --color-dark-solid: rgb(var(--color-ash-900));
  --color-dark-solid-hover: rgb(var(--color-ash-800));
  --color-dark-solid-active: rgb(var(--color-ash-700));
  --color-dark-ghost: rgba(var(--color-ash-950) / 0.15);
  --color-dark-ghost-active: rgba(var(--color-ash-950) / 0.35);
  --bg-color-inactive: rgb(var(--color-ash-900));
  --border-color-inactive: rgb(var(--color-ash-700));
  --text-color-inactive: rgb(var(--color-ash-400));
  --site-bg-color-light: var(--color-ash-50);
  --site-bg-color-dark: var(--color-ash-900);
  --site-bg-color-default: var(--site-bg-color-dark);
  --text-color-light: var(--color-ash-900);
  --text-color-dark: var(--color-ash-50);
  --text-color: var(--text-color-dark);
  --color-card-background: rgb(var(--color-ash-800));
}

[data-theme-color=light] {
  --text-color: var(--text-color-light);
  color: rgb(var(--text-color));
}

:root {
  --border-color-dark: var(--color-ash-100);
  --border-color-light: var(--color-ash-900);
  --border-color: var(--border-color-dark);
  --border-ghost-light: var(--color-ash-950);
  --border-ghost-dark: var(--color-ash-50);
  --border-ghost: rgba(var(--border-ghost-dark) / 0.2);
  --border-ghost-hover: rgba(var(--border-ghost) / 0.4);
}

[data-theme-color=light] {
  --border-ghost: rgba(var(--border-ghost-light) / 0.2);
}

:root {
  --texture-noise-white: url("../img/texture/noise-white-50.webp");
  --texture-noise-black: url("../img/texture/noise-black-50.webp");
  --texture-noise-size: 128px 128px;
}

:root {
  --button-height-small: 28px;
  --button-height-normal: 36px;
  --button-height-medium: 48px;
  --button-height-large: 64px;
  --button-height-default: var(--button-height-normal);
  --button-icon-size: 16px;
  --button-border-radius: 4px;
  --button-bg-color-dark: rgba(var(--color-ash-700) / 0);
  --button-bg-color-dark-hover: rgb(var(--color-ash-800));
  --button-text-color-dark: rgb(var(--color-ash-200));
  --button-border-color-dark: rgba(var(--color-ash-50) / .15);
  --button-padding-x: 15px;
  --button-padding-y: 7px;
  --button-text-color: var(--button-text-color-dark);
  --button-border-color: var(--button-border-color-dark);
  --button-easing: var(--ease-out-quint, ease-out);
  --button-duration: 200ms;
  --button-height: var(--button-height-default);
  --button-font-size: 14px;
  --button-line-height: var(--button-height);
  --button-text-transform: initial;
  --button-font-family: var(--font-gothic-body);
}

:root {
  --category-button-bg-color: var(--color-ash-900);
  --category-button-bg-color-hover: var(--color-ash-700);
  --category-button-text-color: var(--color-ash-200);
  --category-button-border-color: var(--color-ash-200);
}

:root {
  --tab-button-height: 28px;
  --tag-button-bg-color: var(--color-ash-900);
  --tag-button-bg-color-hover: var(--color-ash-700);
  --tag-button-text-color: var(--color-ash-500);
  --tag-button-text-color-hover: var(--color-ash-200);
  --tag-button-border-color: var(--color-ash-200);
  --tag-button-border-color-hover: var(--color-ash-200);
}

:root {
  --table-border-color: rgb(var(--color-ash-700));
}

:where([data-theme-color=light]) {
  --category-button-bg-color: var(--color-ash-50);
  --category-button-border-color: var(--color-ash-900);
  --category-button-bg-color-hover: var(--color-ash-200);
  --category-button-text-color: var(--color-ash-900);
  --tag-button-bg-color: var(--color-ash-50);
  --tag-button-bg-color-hover: var(--color-ash-200);
  --tag-button-text-color: var(--color-ash-900);
  --tag-button-text-color-hover: var(--color-ash-900);
  --tag-button-border-color: var(--color-ash-900);
  --text-color: var(--text-color-light);
  color: rgb(var(--text-color));
}

:where([data-theme-color=dark]) {
  --text-color: var(--text-color-dark);
  color: rgb(var(--text-color));
}

.editor-content {
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  color: rgb(var(--text-color));
  font-size: 1rem;
}
.editor-content > :where(*):first-child {
  margin-top: 0;
}
.editor-content > :where(*):last-child {
  margin-bottom: 0;
}
.editor-content :where(*)::first-letter {
  font-feature-settings: "palt" 1;
}
.editor-content h1, .editor-content h2, .editor-content h3, .editor-content h4, .editor-content h5, .editor-content h6 {
  margin-top: 3em;
  margin-bottom: 1.5em;
  font-weight: 500;
}
.editor-content h1:first-child, .editor-content h2:first-child, .editor-content h3:first-child, .editor-content h4:first-child, .editor-content h5:first-child, .editor-content h6:first-child {
  margin-top: 0;
}
.editor-content h1:last-child, .editor-content h2:last-child, .editor-content h3:last-child, .editor-content h4:last-child, .editor-content h5:last-child, .editor-content h6:last-child {
  margin-bottom: 0;
}
.editor-content h3 {
  font-size: 20px;
  line-height: 28px;
}
@media screen and (min-width: 750px) {
  .editor-content h3 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1056px) {
  .editor-content h3 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1312px) {
  .editor-content h3 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1584px) {
  .editor-content h3 {
    font-size: 24px;
    line-height: 28px;
  }
}
.editor-content h4 {
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: bold;
  font-weight: 600;
}
.editor-content h6 {
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.01em;
  font-weight: bold;
  font-weight: 600;
}
.editor-content p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.01em;
  min-height: 1em;
  color: var(--text-color);
}
@media screen and (min-width: 750px) {
  .editor-content p {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1312px) {
  .editor-content p {
    font-size: 1.25rem;
  }
}
.editor-content p + p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.editor-content p b, .editor-content p strong {
  color: rgb(var(--color-ash-50));
}
.editor-content p a {
  transition: border-color 0 0.35s cubic-bezier(0.5, 1, 0.89, 1);
  border-bottom: 3px solid rgba(var(--color-ash-50)/0.25);
}
.editor-content p a:hover {
  color: rgb(var(--color-ash-50));
  border-color: rgb(var(--color-ash-50));
}
.editor-content p a[target=_blanc]::after {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 6C4 4.89543 4.89543 4 6 4H16V6H6V26H26V16H28V26C28 27.1046 27.1046 28 26 28H6C4.89543 28 4 27.1046 4 26V6Z' fill='%23EDEEF2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M26 6H19V4H28V13H26V6Z' fill='%23EDEEF2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.293 15.2929L26.293 4.29289L27.7072 5.70711L16.7072 16.7071L15.293 15.2929Z' fill='%23EDEEF2'/%3E%3C/svg%3E%0A");
  background-size: 100%;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  transform: translate(0, 0px);
  opacity: 0.85;
}
.editor-content p:first-child {
  margin-top: 0;
}
.editor-content p:last-child {
  margin-bottom: 0;
}
.editor-content figcaption {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015em;
  color: #c2c2c3;
}
@media screen and (min-width: 1312px) {
  .editor-content figcaption {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1312px) {
  .editor-content figcaption {
    font-size: clamp(0.875rem, 1.317715959vw, 1.125rem);
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
}
.editor-content > :where([class*=wp-block]) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.editor-content > :where([class*=wp-block]):first-child {
  margin-top: 0;
}
.editor-content > :where([class*=wp-block]):last-child {
  margin-bottom: 0;
}
.editor-content .wp-block-image {
  flex-wrap: wrap;
}
.editor-content .wp-block-image figure {
  flex-wrap: wrap;
}
.editor-content .wp-block-image .image-container {
  border-radius: 0.375rem;
  flex-wrap: wrap;
}
.editor-content .wp-block-image .image-container > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.editor-content .wp-block-image .image-container[data-lazy-parent] {
  background-color: #18191e;
}
.editor-content .wp-block-image .image-container[data-lazy-parent].parent-loaded {
  background-color: transparent;
  transition: background-color 0.35s ease-out;
}
.editor-content .wp-block-image img.lazy-ready {
  opacity: 0;
}
.editor-content .wp-block-image img.lazy-loaded {
  opacity: 1;
  transition: opacity 0.35s cubic-bezier(0.33, 1, 0.68, 1);
}
.editor-content .wp-block-video video {
  border: 1px solid var(--border-ghost);
  border-radius: 6px;
  overflow: hidden;
}
.editor-content .wp-block-image figcaption,
.editor-content .wp-block-video figcaption,
.editor-content .wp-block-embed figcaption {
  margin: 1rem auto 0;
}
.editor-content .wp-block-image figcaption a,
.editor-content .wp-block-video figcaption a,
.editor-content .wp-block-embed figcaption a {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35em;
  text-decoration-color: rgba(var(--color-ash-50), 0.35);
}
.editor-content .wp-block-image figcaption a:hover,
.editor-content .wp-block-video figcaption a:hover,
.editor-content .wp-block-embed figcaption a:hover {
  text-decoration-color: rgba(var(--color-ash-50), 1);
}
.editor-content ol, .editor-content ul {
  padding-left: 2em;
}
.editor-content ul {
  list-style: disc;
}
.editor-content > ol, .editor-content > ul {
  margin-top: 2em;
  margin-bottom: 2em;
}
.editor-content > ol ol, .editor-content > ol ul, .editor-content > ul ol, .editor-content > ul ul {
  margin-bottom: 1em;
}
.editor-content ol {
  list-style-position: outside;
  list-style-type: decimal;
}
.editor-content li {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  list-style: inherit;
  list-style-position: inherit;
  list-style-type: inherit;
  line-height: 1.25;
}
@media screen and (min-width: 750px) {
  .editor-content li {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1312px) {
  .editor-content li {
    font-size: 1.25rem;
  }
}
.editor-content li::marker {
  opacity: 0.5;
}
.editor-content .wp-block-quote {
  padding-left: 3ch;
  margin-top: 4ch;
  margin-bottom: 4ch;
  border-left: 4px solid rgba(var(--color-ash-50)/0.15);
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
}
.editor-content .wp-block-quote p {
  color: #edeef2;
}
.editor-content .wp-block-quote cite {
  display: block;
  margin-top: 2em;
  font-style: normal;
  opacity: 0.75;
}
.editor-content .wp-block-quote cite::before {
  content: "——";
  margin-right: 1em;
}
.editor-content .wp-block-code {
  border-radius: 0.375rem;
  border: 1px solid rgb(var(--color-gray-700));
  background-color: rgb(var(--color-gray-900));
  padding: 1.25rem 1.75rem;
  line-height: 1.2;
}
.editor-content .wp-block-code, .editor-content code {
  font-family: var(--font-monospace-code);
}
.editor-content .wp-block-embed__wrapper {
  border-radius: 0.375rem;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--border-ghost);
}
.editor-content > .instagram-media {
  margin: 4rem auto !important;
}
.editor-content > .instagram-media:first-child {
  margin-top: 0 !important;
}
.editor-content > .instagram-media:last-child {
  margin-bottom: 0 !important;
}
[data-theme-block=light] .editor-content p {
  color: var(--color-dark-solid);
}
@media screen and (max-width: 1055px) {
  .editor-content .wp-block-quote {
    padding: 2.5em 1.5em 2em;
  }
  .editor-content .wp-block-quote cite::before {
    display: none;
  }
}
@media screen and (max-width: 749px) {
  .editor-content .wp-block-quote {
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }
  .editor-content .wp-block-quote p {
    font-size: 1rem;
  }
}

.wp-block-separator {
  border: 0;
  height: 1px;
  background-color: currentColor;
  opacity: 0.15;
}

.post-body h2 {
  position: relative;
  font-weight: 600;
}

.post-body h2::before {
  content: "✦";
  display: inline-block;
  position: absolute;
  top: 0;
  left: -2ch;
  transform: translate(0, -1px);
}

@media (max-width: 1056px) {
  .post-body h2::before {
    position: static;
    margin-right: 0.5ch;
  }
}
.wp-block-embed__wrapper {
  position: relative;
  height: 0;
}
.wp-block-embed__wrapper._responsive iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.alignwide {
  width: 100%;
  max-width: 100%;
}

.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright {
  display: flex;
}

.wp-block-image {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image .lazy-ready {
  opacity: 0;
}
.wp-block-image .lazy-loaded {
  opacity: 1;
  transition: 0.15s ease-out;
}

:where(.wp-block-image figure) {
  display: flex;
}

figcaption {
  display: block;
}

.aligncenter {
  justify-content: center;
}

.alignleft {
  justify-content: flex-start;
}

.alignright {
  justify-content: flex-end;
}

.alignfull {
  flex: 1 1 100%;
}

:where(.alignfull img) {
  width: 100%;
  max-width: 100%;
}

.single-work .editor-content .wp-block-image img {
  width: 100%;
  height: auto;
}

h2.wp-block-heading {
  font-size: clamp(1.75rem, 2.3426061493vw, 2rem);
  line-height: 1.25;
  font-family: var(--font-gothic-title);
}
@media screen and (min-width: 1056px) {
  h2.wp-block-heading {
    position: relative;
    padding-left: 0;
  }
  h2.wp-block-heading::before {
    content: "✦";
    display: inline-block;
    position: absolute;
    top: 0;
    left: -1.25em;
    transform: translate(0, -0.05em);
    opacity: 0.15;
  }
}

.wp-block-gallery-is-layout-flex {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-gallery.has-nested-images figcaption {
  flex-basis: initial;
}

.wp-block-gallery.has-nested-images.wp-block-gallery-is-layout-flex figcaption {
  flex-basis: 100%;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: static;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
  background: initial;
  max-height: initial;
}

.wp-block-columns {
  row-gap: var(--grid-gutter);
  -moz-column-gap: var(--grid-gutter);
       column-gap: var(--grid-gutter);
}

.wp-block-table > table th, .wp-block-table > table td {
  padding: 1.5em 2em 1.5em 0;
  border-top: 1px solid var(--border-ghost);
  border-bottom: 1px solid var(--border-ghost);
  border-left: 0;
  border-right: 0;
  line-height: 1.5;
}
.wp-block-table > table th:last-child, .wp-block-table > table td:last-child {
  padding-right: 0;
}
.wp-block-table > table th {
  font-size: 0.875em;
  line-height: 1.4;
  color: rgba(var(--color-ash-50)/0.75);
}
.wp-block-table > table td {
  line-height: 1.4;
  font-family: var(--font-default);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th {
  border-top-color: var(--table-border-color) !important;
  border-bottom-color: var(--table-border-color) !important;
  line-height: 1.5;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th {
  white-space: nowrap;
}

.has-white-color.has-black-background-color {
  color: rgb(var(--color-gray-800));
  background-color: rgb(var(--color-gray-50));
  background-image: url("../img/texture/noise-black.webp");
  background-size: 8rem;
  background-repeat: repeat;
}

.has-small-font-size {
  font-size: 1em !important;
  line-height: 1.25 !important;
}

:where(.wp-block-image .aligncenter) {
  display: flex;
  justify-content: center;
}

:where(.wp-block-image .alignleft) {
  float: none;
  margin-left: 0;
}

:where(.wp-block-image .alignright) {
  float: none;
  margin-right: 0;
}

:where(.wp-block-image .alignwide) {
  float: none;
}

:where(.wp-block-image .alignfull) {
  float: none;
  max-width: 100%;
  width: 100%;
}
:where(.wp-block-image .alignfull) img {
  width: 100%;
}

.content-style-default p, .content-style-default ul, .content-style-default ol, .content-style-default h1, .content-style-default h2, .content-style-default h3, .content-style-default h4, .content-style-default h5, .content-style-default h6 {
  margin-left: auto;
  margin-right: auto;
}
.content-style-default .wp-block-quote {
  margin-left: auto;
  margin-right: auto;
}
.content-style-default .wp-block-quote p {
  max-width: 100%;
}

.has-black-color {
  color: rgb(0, 0, 0);
}

.has-cyan-bluish-gray-color {
  color: rgb(171, 184, 195);
}

.has-white-color {
  color: rgb(255, 255, 255);
}

.has-pale-pink-color {
  color: rgb(247, 141, 167);
}

.has-vivid-red-color {
  color: rgb(207, 46, 46);
}

.has-luminous-vivid-orange-color {
  color: rgb(255, 105, 0);
}

.has-luminous-vivid-amber-color {
  color: rgb(252, 185, 0);
}

.has-light-green-cyan-color {
  color: rgb(123, 220, 181);
}

.has-vivid-green-cyan-color {
  color: rgb(0, 208, 132);
}

.has-pale-cyan-blue-color {
  color: rgb(142, 209, 252);
}

.has-vivid-cyan-blue-color {
  color: rgb(6, 147, 227);
}

.has-vivid-purple-color {
  color: rgb(155, 81, 224);
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  display: grid;
}

.wp-block-button__link {
  border-radius: 0.25rem;
  background-color: rgb(var(--color-ash-50));
  color: rgb(var(--color-ash-950));
}
.wp-block-button__link:hover {
  background-color: rgb(var(--color-ash-200));
}
.wp-block-button__link:focus {
  box-shadow: 0 0 0 4px rgba(var(--color-ash-50)/0.25);
}

.wp-block-image-error .media {
  --ratio: 50%: ;
}

@media screen and (max-width: 749px) {
  :root {
    --grid-padding: 32px;
  }
}
@media screen and (max-width: 479px) {
  :root {
    --grid-padding: 24px;
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 4rem;
}
html.transitioning {
  cursor: wait;
}

[id] {
  scroll-padding-top: 4rem;
}

body {
  font-size: 1em;
  background-color: rgb(var(--site-bg-color-default));
  background-image: var(--texture-noise-white);
  background-size: var(--texture-noise-size);
  color: rgb(var(--text-color));
  font-family: var(--font-default);
  letter-spacing: 0.015em;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-variant-east-asian: proportional-width;
}
.transitioning body {
  pointer-events: none;
  overflow: clip;
}

section {
  width: 100%;
}

table {
  border-collapse: collapse;
}

th {
  text-align: left;
  vertical-align: top;
  font-weight: 400;
  white-space: nowrap;
}

.th {
  white-space: nowrap;
}

td {
  vertical-align: top;
  font-weight: 400;
}

ul, ol {
  margin: 0;
  padding: 0;
}
ul li, ol li {
  list-style: none;
}

a {
  color: currentColor;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

svg {
  fill: currentColor;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  line-height: 1;
  font-weight: normal;
}

p {
  margin: 0;
  line-height: 1.4;
}

dl {
  margin: 0;
}

dd {
  margin-left: 0;
}

figure {
  margin: 0;
}

#error-page {
  margin: 0 !important;
  border: 0;
  width: 100%;
  max-width: 100%;
}
#error-page .loader-background {
  display: none !important;
}
#error-page .loader-marquee {
  display: none !important;
}

.site-header {
  position: static;
}
.site-header .site-title {
  --element-height: 1.5rem;
  position: fixed;
  top: 2rem;
  left: 2rem;
  margin: 0;
  padding: 0;
  color: rgb(var(--color-ash-50));
  transform-origin: left top;
  mix-blend-mode: difference;
  z-index: 2000;
  scale: 1.5;
}
.site-header .site-title svg {
  fill: currentColor;
}
.site-header .site-title__link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: currentColor;
  gap: 0.75rem;
  height: var(--element-height);
}
.site-header .site-title__logomark {
  display: flex;
  width: var(--element-height);
  height: var(--element-height);
  animation-duration: 3s;
  animation-timing-function: var(--ease-out-quint);
  animation-name: loader_animation;
  animation-delay: 5s;
  animation-iteration-count: infinite;
  transform-origin: center;
  will-change: transform;
}
.loading .site-header .site-title__logomark {
  animation-delay: 0s;
  animation-duration: 500ms;
  animation-timing-function: linear;
}
.transitioning .site-header .site-title__logomark {
  animation-delay: 0s;
  animation-duration: 500ms;
  animation-timing-function: linear;
}
.site-header .site-title__logotypes {
  position: relative;
  overflow: hidden;
  height: 1.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.site-header .site-title__logotypes::before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 9.1743119266%;
}
.site-header .site-title .logotype {
  --ratio: 0%;
  display: flex;
  width: auto;
  height: auto;
  transition: translate 700ms var(--ease-out-quint);
}
.site-header .site-title .logotype svg {
  height: auto;
}
.site-header .site-title .logotype::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: var(--ratio);
}
.site-header .site-title .logotype--kanji {
  position: absolute;
  top: 2px;
  left: 0;
  --ratio: calc(100% * 20 / 80);
  width: 5rem;
}
.site-header .site-title .logotype--en {
  --ratio: calc(100% * 20 / 218);
  width: 13.625rem;
  translate: 0 5%;
}
.site-header .site-title:hover .logotype--kanji, .overlay-menu-active .site-header .site-title .logotype--kanji {
  translate: 0 -108%;
}
.site-header .site-title:hover .logotype--en, .overlay-menu-active .site-header .site-title .logotype--en {
  translate: 0 -100%;
}
@media screen and (max-width: 749px) {
  .site-header .site-title {
    top: 1rem;
    left: 1rem;
    scale: 1.25;
  }
}
@media screen and (max-width: 350px) {
  .site-header .site-title {
    top: 0.5rem;
    left: 0.5rem;
    scale: 1.125;
  }
}

.header-main-menu {
  font-family: var(--font-sans-title);
}
.header-main-menu > ul {
  display: flex;
}
.header-main-menu .menu-item {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1rem;
  text-align: center;
  font-family: var(--font-gothic-title);
  font-weight: 600;
}
.header-main-menu .menu-item a {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 0.5rem 0.875rem 0.5rem;
  transition-property: color, background-color;
  transition-duration: 0.15s;
  transition-timing-function: var(--ease-out-quint);
  border-radius: 0.1875rem;
  row-gap: 0.25rem;
}
.header-main-menu .menu-item a:hover {
  background-color: rgb(var(--color-ash-50));
  color: rgb(var(--color-gray-950));
}
.header-main-menu .menu-item a:active {
  background-color: rgb(var(--color-ash-50));
  color: rgb(var(--color-gray-950));
}
.header-main-menu .menu-item-label-sub {
  display: block;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1;
  opacity: 0.5;
  font-family: var(--font-sans-text);
}

.overlay-menu {
  --overlay-bg-color: var(--color-ash-950);
  --background-blur: 0;
}
.overlay-menu__overlay {
  display: none;
  background-color: rgba(var(----overlay-bg-color)/0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: blur(var(--background-blur));
          backdrop-filter: blur(var(--background-blur));
  pointer-events: none;
  z-index: 1880;
  transition: -webkit-backdrop-filter 300ms var(--ease-out-cubic);
  transition: backdrop-filter 300ms var(--ease-out-cubic);
  transition: backdrop-filter 300ms var(--ease-out-cubic), -webkit-backdrop-filter 300ms var(--ease-out-cubic);
}
.overlay-menu__content {
  position: fixed;
  top: 5rem;
  right: 2rem;
  padding: clamp(1rem, 2.5vw, 2rem);
  border-radius: 0.75rem;
  background-color: rgb(255, 255, 255);
  border: 1px solid rgba(var(--color-ash-950)/0.15);
  pointer-events: none;
  transition-property: translate, opacity, filter, scale;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-cubic);
  z-index: 1890;
  translate: 0 -0.5rem;
  opacity: 0;
  filter: blur(8px);
}
.overlay-menu._open {
  --background-blur: 8px;
}
.overlay-menu._open .overlay-menu__overlay {
  background-color: rgba(var(--color-ash-950)/0.5);
}
.overlay-menu._open .overlay-menu__content {
  pointer-events: initial;
  translate: 0 0;
  opacity: 1;
  filter: blur(0);
}
@media screen and (max-width: 749px) {
  .overlay-menu__overlay {
    display: block;
  }
  .overlay-menu__content {
    top: auto;
    right: auto;
    bottom: 6rem;
    left: 50%;
    width: calc(100% - 2.5rem);
    translate: -50% 1rem;
  }
  .overlay-menu._open .overlay-menu__content {
    translate: -50% 0;
  }
}
@media screen and (max-width: 479px) {
  .overlay-menu__content {
    top: 4rem;
  }
}
@media screen and (min-width: 1312px) {
  .overlay-menu {
    display: none !important;
  }
}

.overlay-main-menu > ul {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}
.overlay-main-menu .menu-item {
  font-style: normal;
  font-weight: 300;
  font-size: clamp(1rem, 2.5vmax, 1.25rem);
  line-height: 1;
  text-transform: uppercase;
  font-family: var(--font-gothic-title);
}
.overlay-main-menu .menu-item a {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  padding: 0.5rem 2.5rem 0.5rem 0.25rem;
}
.overlay-main-menu .menu-item a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: #000;
  box-shadow: 0 0 0 0.25rem #000;
  translate: -50% -50%;
  opacity: 0;
  transition: all 200ms var(--ease-out-quint);
  border-radius: 0.25rem;
}
.overlay-main-menu .menu-item a:hover::before {
  opacity: 0.05;
  box-shadow: 0 0 0 0.5rem #000;
}
.overlay-main-menu .menu-item a:active::before {
  opacity: 0.1;
}
.overlay-main-menu .menu-item-label-sub {
  font-size: 0.5em;
  opacity: 0.35;
  font-family: var(--font-sans-text);
  font-weight: 600;
}
@media screen and (max-width: 479px) {
  .overlay-main-menu .menu-item {
    font-size: 1.125rem;
  }
}

.site-nav {
  z-index: 1900;
}

.site-menu-toggle {
  --button-border-color-rgb: var(--color-gray-50);
  --button-bg-color: rgba(var(--color-gray-800) / 0.8);
  --button-text-color: rgb(var(--color-gray-100));
  display: flex;
  position: fixed;
  width: auto;
  padding: 0.75rem 1.5rem 0.75rem 1.875rem;
  height: 2.75rem;
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
  border-radius: 0.75rem;
  cursor: pointer;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  z-index: 1900;
  transition: all 300ms var(--ease-out-quint);
}
.site-menu-toggle__wrapper {
  display: flex;
  gap: 1.25rem;
}
.site-menu-toggle rect {
  fill: currentColor;
}
.site-menu-toggle > * {
  pointer-events: none;
}
.site-menu-toggle__label {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "label";
  font-size: 1rem;
  line-height: 1.1875rem;
  letter-spacing: 0.05em;
}
.site-menu-toggle__label__before {
  grid-area: label;
}
.site-menu-toggle__label__after {
  grid-area: label;
  opacity: 0;
}
.site-menu-toggle__icon {
  width: 1.25rem;
  height: 1.25rem;
  padding: 0.125rem;
}
.site-menu-toggle__icon__after {
  opacity: 0;
}
.site-menu-toggle._active {
  --button-bg-color: rgb(var(--color-ash-50));
  --button-text-color: rgb(var(--color-ash-950));
}
.site-menu-toggle._active .site-menu-toggle__icon__before {
  opacity: 0;
}
.site-menu-toggle._active .site-menu-toggle__icon__after {
  opacity: 1;
}
.site-menu-toggle._active .site-menu-toggle__label__before {
  opacity: 0;
}
.site-menu-toggle._active .site-menu-toggle__label__after {
  opacity: 1;
}
@media screen and (max-width: 749px) {
  .site-menu-toggle {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 1.5rem;
    padding-left: 0.75rem;
    transform: translate(-50%, 0);
  }
  .site-menu-toggle__icon {
    order: -1;
  }
}
@media screen and (min-width: 750px) {
  .site-menu-toggle {
    top: 1.25rem;
    right: 2rem;
  }
}
@media screen and (min-width: 1312px) {
  .site-menu-toggle {
    display: none;
  }
}
.mobile.safari .site-menu-toggle, .ios .site-menu-toggle, .ios-safari .site-menu-toggle {
  background-color: #fcfeff;
  color: #0b0c10;
}
.mobile.safari .site-menu-toggle .icon, .ios .site-menu-toggle .icon, .ios-safari .site-menu-toggle .icon {
  fill: #0b0c10;
}

.language-switcher {
  display: none;
  position: fixed;
  mix-blend-mode: difference;
  z-index: 1900;
  top: 1.5rem;
  right: 7.5rem;
}

:root {
  --container-max-width-xs: 320px;
  --container-max-width-sm: 400px;
  --container-max-width-md: 640px;
  --container-max-width-lg: 960px;
  --container-max-width-xl: 1200px;
  --container-max-width-xxl: 1400px;
}

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

@media screen and (min-width: 375px) {
  .container {
    max-width: var(--container-max-width-xs);
  }
  .xs\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-xs);
  }
}
@media screen and (min-width: 480px) {
  .container {
    max-width: var(--container-max-width-sm);
  }
  .sm\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-sm);
  }
}
@media screen and (min-width: 750px) {
  .container {
    max-width: var(--container-max-width-md);
  }
  .md\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-md);
  }
}
@media screen and (min-width: 1056px) {
  .container {
    max-width: var(--container-max-width-lg);
  }
  .lg\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-lg);
  }
}
@media screen and (min-width: 1312px) {
  .container {
    max-width: var(--container-max-width-xl);
  }
  .xl\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-xl);
  }
}
@media screen and (min-width: 1584px) {
  .container {
    max-width: var(--container-max-width-xxl);
  }
  .xxl\:container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max-width-xxl);
  }
}
.section.has-space-below {
  margin-bottom: 8rem;
}
@media screen and (min-width: 1312px) {
  .section.has-space-below {
    margin-bottom: 8.8888888889vw;
  }
}

.section-heading.has-space-vertical {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.section-marquee-title {
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-family: var(--font-sans-title);
  font-size: clamp(4rem, 5.8565153734vw, 8rem);
  line-height: 1;
  opacity: 0.15;
  font-size: clamp(2.625rem, 11.2204724409vw + 2.625rem, 9.75rem);
  line-height: 1.2;
  font-weight: normal;
  font-weight: 300;
}

.section-content.has-space-vertical {
  margin-top: 4rem;
}
.section-content.has-space-vertical:first-child {
  margin-top: 0;
}

.section-footer {
  margin-top: clamp(2.5rem, 3.937007874vw + 2.5rem, 5rem);
}

.subsection-heading {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.subsection-heading:only-child {
  margin: 0;
}

@media screen and (max-width: 749px) {
  .subsection-heading,
  .subsection-caption {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 2rem;
  }
  .subsection-heading:last-child,
  .subsection-caption:last-child {
    margin-bottom: 0;
  }
}

.__debug-code {
  position: relative;
  color: rgba(var(--color-red-50)/1);
  background-color: rgba(var(--color-red-950)/1);
  border: 1px solid rgba(var(--color-red-50)/0.15);
  line-height: 1.414;
  padding: var(--grid-padding);
  border-radius: 0.375rem;
  max-width: calc(100vw - var(--grid-padding) * 2);
  margin: var(--grid-padding) auto;
}
.__debug-code::before {
  content: "Debug";
  display: block;
  position: absolute;
  top: 0;
  left: calc(var(--grid-padding) / 2);
  background: rgba(var(--color-red-700)/1);
  color: rgba(var(--color-red-200)/1);
  font-weight: 700;
  font-family: monospace;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.6875rem;
  padding: 0.25rem 0.5rem 0.125rem;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.site-footer {
  transition: 0.35s var(--ease-out-quint);
}
.site-footer__content {
  position: relative;
  padding: 1rem;
}
.transitioning .site-footer {
  opacity: 0;
  transform: translate(0, 2rem);
}
.site-footer__block {
  border-top: 1px solid var(--border-ghost);
}
.site-footer__menu {
  flex: 0 0 100%;
}
.site-footer .footer-main-menu {
  flex: 0 0 100%;
}
.site-footer .footer-main-menu {
  flex: 0 0 100%;
}
@media screen and (max-width: 479px) {
  .site-footer__menu .footer-main-menu {
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 480px) and (max-width: 750px) {
  .site-footer__menu .footer-main-menu {
    flex: 0 0 50%;
  }
  .site-footer__menu .footer-social-menu {
    flex: 0 0 50%;
  }
}
@media screen and (min-width: 750px) {
  .site-footer__menu {
    margin-bottom: 4rem;
    flex-basis: 100%;
    max-width: 100%;
  }
  .site-footer__menu .footer-main-menu {
    flex: 0 0 50%;
  }
  .site-footer__menu .footer-social-menu {
    flex: 0 0 50%;
  }
  .site-footer__office-info {
    margin-left: 0;
  }
}
@media screen and (min-width: 1312px) {
  .site-footer__menu {
    flex-basis: 50%;
  }
  .site-footer__menu .footer-main-menu {
    flex: 0 0 50%;
  }
  .site-footer__menu .footer-social-menu {
    flex: 0 0 50%;
  }
  .site-footer__office-info {
    flex: 0 0 50%;
  }
}
.site-footer .menu-item {
  display: flex;
  overflow: hidden;
}
.site-footer .menu-label {
  margin-bottom: 0.75rem;
  text-align: left;
  text-transform: uppercase;
}
@media screen and (min-width: 750px) {
  .site-footer .menu-label {
    margin-bottom: 2.5rem;
  }
}
.footer-main-menu .menu-item,
.footer-social-menu .menu-item {
  overflow: visible;
}
.footer-main-menu .menu-item > a, .footer-main-menu .menu-item > span,
.footer-social-menu .menu-item > a,
.footer-social-menu .menu-item > span {
  display: flex;
  font-family: var(--font-gothic-title);
  font-size: clamp(1.125rem, 2vmax, 1.5rem);
  line-height: 1;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  letter-spacing: 0.03em;
  text-align: left;
}
.footer-main-menu .menu-item a[target=_blank],
.footer-social-menu .menu-item a[target=_blank] {
  position: relative;
}
.footer-main-menu .menu-item a[target=_blank]::after,
.footer-social-menu .menu-item a[target=_blank]::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 6px;
  right: -2rem;
  transform: translate(0%, 0%) rotate(-360deg);
  width: 28px;
  height: 28px;
  background-image: url(../assets/img/icons/arrow-up-right.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: var(--ease-out-quint);
  pointer-events: none;
}
.footer-main-menu .menu-item a[target=_blank]:hover::after,
.footer-social-menu .menu-item a[target=_blank]:hover::after {
  transform: translate(0%, 0%) rotate(0deg);
  opacity: 1;
}

.site-footer .menu-item {
  margin-bottom: 8px;
}
.site-footer .menu-item:last-child {
  margin-bottom: 0;
}
.site-footer .menu-item a, .site-footer .menu-item > span {
  opacity: 0.5;
}
.site-footer .menu-item a:hover {
  opacity: 1;
}
.site-footer .our-project {
  --card-content-ratio: 100%;
}
.site-footer .our-project__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--grid-gutter) / 2);
}
.site-footer .our-project .project-card {
  z-index: 1;
}
.site-footer .our-project .project-card:hover {
  z-index: 2;
}
.site-footer .our-project .project-card:focus {
  transform: translate3d(1, 0, 0);
}
.site-footer .our-project .project-card__name {
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.site-footer .our-project .project-card__content {
  overflow: hidden;
  isolation: isolate;
  transition: all 0.25s var(--ease-out-quint);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  will-change: transform;
  transform: perspective(500px);
  border-color: rgb(var(--color-ash-700));
}
.site-footer .our-project .project-card__content::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: var(--card-content-ratio);
}
.site-footer .our-project .project-card__visual {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateZ(100px);
  transform-style: preserve-3d;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  pointer-events: none;
}
.site-footer .our-project .project-card__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) scale(1);
  margin-left: auto;
  margin-right: auto;
  transition: all 0.25s var(--ease-out-quint);
}
.site-footer .our-project .project-card__logo--image {
  width: 50%;
}
.site-footer .our-project .project-card__logo--text {
  width: 100%;
  text-align: center;
  line-height: 1;
}
.site-footer .our-project .project-card__tagline {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  opacity: 0.75;
}
@media screen and (max-width: 749px) {
  .site-footer .our-project .project-card {
    --card-content-ratio: 100%;
  }
  .site-footer .our-project .project-card__name {
    display: none;
  }
  .site-footer .our-project .project-card__logo--image {
    width: 50%;
  }
  .site-footer .our-project .project-card__tagline {
    display: none;
  }
}
@media screen and (min-width: 750px) {
  .site-footer .our-project__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1056px) {
  .site-footer .our-project__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.site-footer .office-info__content {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--grid-gutter) / 2 * -1);
  margin-right: calc(var(--grid-gutter) / 2 * -1);
  row-gap: 4rem;
}
.site-footer .office-info__cell {
  margin: 0;
  flex: 0 0 50%;
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (max-width: 479px) {
  .site-footer .office-info__cell {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.site-footer .office-info__cell__term {
  margin-bottom: 1.5rem;
}
.site-footer .office-info__cell__term:last-child {
  margin-bottom: 0;
}
.site-footer .office-info__cell dt {
  font-size: clamp(0.8125rem, 1.1713030747vw, 1rem);
  letter-spacing: 0.02em;
  opacity: 0.75;
  font-weight: 500;
}
.site-footer .office-info__cell dt:empty {
  display: none;
}
.site-footer .office-info__cell dd {
  font-size: clamp(0.8125rem, 1.1713030747vw, 1rem);
  letter-spacing: 0.02em;
  margin-left: 0;
  opacity: 0.5;
}
@media screen and (max-width: 749px) {
  .site-footer__block {
    padding-top: 1.5rem;
  }
  .site-footer__menu {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 4rem;
    margin-left: 0;
  }
  .site-footer__office-info {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
}

.footer-legal .footer-legal-menu__list > .menu-item {
  margin-left: 1em;
}
@media screen and (max-width: 749px) {
  .footer-legal .footer-legal-menu__list {
    justify-content: flex-start;
  }
  .footer-legal .footer-legal-menu__list > .menu-item {
    margin-left: 0;
    margin-right: 1em;
  }
}

.sidebar__block {
  margin-bottom: 0.0625rem;
}
.sidebar__block:last-child {
  margin-bottom: 0;
}
.sidebar__block__heading {
  margin-bottom: clamp(1rem, 2.3426061493vw, 32px);
  padding-bottom: clamp(1rem, 2.3426061493vw, 32px);
  border-bottom: 1px solid var(--border-ghost);
}
@media screen and (max-width: 749px) {
  .sidebar {
    margin-left: 0;
    margin-right: 0;
  }
  .sidebar .tags {
    max-height: 50vh;
    overflow-x: clip;
    overflow-y: scroll;
  }
  .sidebar__block__heading {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
}

.media {
  --ratio: var(--intrinsic-image-ratio, 56.25%);
  width: 100%;
  position: relative;
  display: flex;
  overflow: hidden;
  isolation: isolate;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-size: clamp(2rem, 15%, 4rem);
  background-position: center;
  background-repeat: no-repeat;
}
.media::before {
  content: "";
  display: inline-block;
  width: 100%;
  padding-bottom: var(--ratio);
}
.media::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  background-color: rgba(var(--color-gray-900)/1);
  transition: opacity 500ms var(--ease-out-quint);
}
.media img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  text-align: center;
}
.media img::before {
  content: "";
  position: absolute;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background-size: clamp(2rem, 3.1496062992vw + 2rem, 4rem);
  background-position: center;
  background-repeat: no-repeat;
  background-color: rgb(var(--color-ash-950));
  background-image: url(../img/icons/icon-placeholder-image.svg);
}
.media img::after {
  content: attr(alt);
  position: absolute;
  top: 50%;
  left: 50%;
}
.media .loader-image {
  z-index: 1;
}
.media .lazy-image {
  opacity: 0;
  z-index: 2;
}
.media .lazy-loaded {
  opacity: 1;
}
.media .lazy-loaded + .loader-image {
  opacity: 0;
}
.media.is-placeholder {
  background-color: rgb(var(--color-gray-800));
}
.media[data-lazy-parent]::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 300ms var(--ease-out-quint);
  pointer-events: none;
  isolation: isolate;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  z-index: 3;
}
.media.has-child-failed img::before {
  background-image: url(../img/icons/icon-internet-network-cloud-error.svg);
}

.site-content {
  min-height: 100vh;
}

.index-section {
  margin-bottom: clamp(8rem, 12.5984251969vw + 8rem, 16rem);
}

.flickity-enabled,
.flickity-viewport,
.flickity-slider {
  overscroll-behavior-x: contain;
}

.page-header {
  padding-top: clamp(4rem, 6.2992125984vw + 4rem, 8rem);
  padding-bottom: clamp(1rem, 1.5748031496vw + 1rem, 2rem);
  margin-bottom: clamp(2rem, 3.1496062992vw + 2rem, 4rem);
}
.page-header .page-title-marquee {
  margin-bottom: 1rem;
  padding: 0;
}
.page-header .page-heading {
  padding-top: 0;
}

.page-tagline .page-type-name a {
  opacity: 0.38;
}
.page-tagline .page-type-name a:hover {
  opacity: 1;
}
.page-tagline:first-child {
  margin-top: 127px;
  margin-bottom: 32px;
  padding-top: 1px;
}

.page-title-marquee {
  position: relative;
  overflow: hidden;
  pointer-events: none;
  font-weight: 400;
}
.ios .page-title-marquee {
  padding-bottom: 1em;
}

.section-container {
  overflow: hidden;
}

.breadcrumb-title {
  display: flex;
  opacity: 1;
  flex-wrap: wrap;
  font-size: 5vw;
}
.breadcrumb-title__chunk {
  display: inline-flex;
  line-height: 1.2;
}
.breadcrumb-title__chunk h1, .breadcrumb-title__chunk h2, .breadcrumb-title__chunk h3, .breadcrumb-title__chunk h4, .breadcrumb-title__chunk h5, .breadcrumb-title__chunk h6 {
  font-size: inherit;
  line-height: inherit;
}
.breadcrumb-title__chunk._parent a {
  opacity: 0.15;
  transition: opacity 0.1s var(--ease-out-quint);
}
.breadcrumb-title__chunk._parent a:hover {
  opacity: 1;
}
.breadcrumb-title__chunk._parent::after {
  margin: 0 0.25em;
  opacity: 0.15;
  display: inline-block;
  content: "/";
  font-size: 0.9375em;
}
.page-type-name {
  text-transform: uppercase;
}

.background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.image-container {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none;
}
.image-container[data-lazy-parent]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("../assets/img/misc/tail-spin.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  pointer-events: none;
}
.image-container[data-lazy-parent].parent-loaded::before {
  transition: opacity 0.25s cubic-bezier(0.33, 1, 0.68, 1);
  opacity: 0;
}
.image-container[data-lazy-parent].has-child-failed {
  padding: 16px;
  background-color: hsla(0, 0%, 100%, 0.05);
  border: 1px solid var(--border-ghost);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.image-container[data-lazy-parent].has-child-failed img {
  margin-top: 1rem;
  order: 3;
  flex: 0 0 100%;
  width: 100%;
  height: 0;
  opacity: 1 !important;
  text-align: center;
  font-size: 0;
  transform: translate(-2rem, 0);
}
.image-container[data-lazy-parent].has-child-failed img::after {
  font-size: 1rem;
  content: attr(alt);
  padding-left: 2rem;
}
.image-container[data-lazy-parent].has-child-failed img[alt=""] {
  display: none;
}
.image-container[data-lazy-parent].has-child-failed::before {
  position: static;
  width: 24px;
  height: 24px;
  background-size: 100%;
  background-image: url("../img/icons/error-octagon.svg");
  transform: none;
  margin-right: 8px;
}
.image-container[data-lazy-parent].has-child-failed::after {
  content: "Media not found";
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}
.image-container[style*=padding] {
  height: 0;
  overflow: hidden;
  isolation: isolate;
}
.image-container[style*=padding] img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  width: auto;
  height: auto;
}

.wp-block-image figure {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image figure.alignleft {
  margin-left: 0;
}
.wp-block-image .alignleft {
  margin: 0 auto 0 0;
  width: 100%;
}
.wp-block-image .alignright {
  margin: 0 0 0 auto;
  width: 100%;
}

.table {
  display: table;
  margin: calc((var(--table-cell-padding-y) + var(--table-cell-padding-x)) * -1);
}

.table-list-view th, .table-list-view td {
  border-bottom: 1px solid rgb(var(--color-ash-50));
}

.tr {
  display: table-row;
}

.th {
  display: table-cell;
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.03em;
  -webkit-font-smoothing: antialiased;
}
@media screen and (min-width: 1056px) {
  .th {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1312px) {
  .th {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1584px) {
  .th {
    font-size: 1rem;
  }
}
.th:first-child {
  padding-left: 0;
}

.td {
  display: table-cell;
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1rem;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 1056px) {
  .td {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1312px) {
  .td {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1584px) {
  .td {
    font-size: 1rem;
  }
}

[data-theme=light],
[data-theme-block=light] {
  background-color: rgb(var(--color-ash-50));
  color: var(--color-dark-solid);
}

[data-theme=dark],
[data-theme-block=dark] {
  background-color: var(--color-dark-solid);
  color: rgb(var(--color-ash-50));
}

.author-badge {
  display: flex;
  text-transform: uppercase;
}
.author-badge__icon {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 1rem;
  border: 2px solid rgb(var(--color-ash-50));
  overflow: hidden;
  isolation: isolate;
  margin-right: 0.5rem;
  display: none;
}
.author-badge__name {
  display: block;
  text-decoration: none;
}
.author-badge__name:hover {
  text-decoration: underline;
}
.author-badge__button {
  display: inline-flex;
  text-decoration: none;
}

.post-count {
  margin: 2rem 0;
}

.post-views.entry-meta > span.post-views-icon.dashicons {
  font-size: inherit;
}

.fade-in.lazy-ready {
  opacity: 0;
}
.fade-in.lazy-loaded {
  opacity: 1;
  transition: opacity 1.25s cubic-bezier(0.33, 1, 0.68, 1) 0.5s;
}

.placeholder-block {
  max-width: 50%;
  margin: 0 auto 32px;
}
.placeholder-block._thumbnail::after {
  content: "";
  width: 100%;
  padding-bottom: 50%;
  display: block;
}
.placeholder-block._title {
  width: 100%;
  height: 3em;
}

.meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.meta-list .meta-item:last-child {
  margin-right: 0;
}
.meta-list .meta-item._group {
  display: flex;
}
.meta-list .meta-item._full {
  flex: 0 0 100%;
}
@media screen and (max-width: 749px) {
  .meta-list .meta-item {
    margin-right: 0.5rem;
  }
}

.go-back {
  display: none;
  position: fixed;
  bottom: 16px;
  left: 16px;
  z-index: 10;
}
.go-back__button {
  position: relative;
}
.go-back__button .icon {
  margin-left: 2px;
}
.go-back__button .button-label {
  transition: width 250ms var(--ease-out-quint), opacity 250ms var(--ease-out-quint);
  white-space: nowrap;
  overflow: hidden;
}
.go-back__button:not(:hover) .button-label {
  width: 0em !important;
  opacity: 0;
  margin-right: 0;
}

.lazy-video button {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(247, 249, 252, 0.15);
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M35.5 18.7239C36.1667 19.1088 36.1667 20.0711 35.5 20.456L8.5 36.0444C7.83334 36.4293 7 35.9482 7 35.1784L7 4.00149C7 3.23169 7.83334 2.75056 8.5 3.13546L35.5 18.7239Z' fill='%23F7F9FC'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: center;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  transition: background-color var(--button-duration) var(--button-easing);
}
.lazy-video button span {
  display: inline-block;
  transform: translateY(40px);
}
.lazy-video button:before {
  content: "";
  display: block;
}
.lazy-video button:hover {
  background-color: rgba(247, 249, 252, 0.3);
}
@media screen and (min-width: 750px) {
  .lazy-video button {
    background-size: 20px 20px;
    width: 64px;
    height: 64px;
  }
  .lazy-video button span {
    transform: translateY(48px);
  }
}
.article-view-count {
  font-size: clamp(0.75rem, 1.0980966325vw, 0.9375rem);
  line-height: 1.25;
  min-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
}

.end-of-list-message {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.end-of-list-message p {
  text-align: center;
  opacity: 0.25;
}

.loader-background {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  max-height: 0vh;
  transition: max-height 0.7s var(--ease-out-quint);
  z-index: 1950;
}
.loading .loader-background {
  max-height: 100vh;
}

.loader-marquee {
  position: fixed;
  pointer-events: none;
  bottom: 0vh;
  left: 0;
  width: 100%;
  overflow: hidden;
  color: rgb(var(--color-ash-50));
  mix-blend-mode: difference;
  z-index: 1951;
  line-height: 1;
  font-size: 12vw;
  font-weight: 300;
}
.loader-marquee .marquee {
  transform: translate(0, 110%);
  transition-duration: 0.7s;
  transition-timing-function: var(--ease-out-quint);
  transition-property: transform;
}
.loader-marquee .marquee__container {
  animation-duration: 6s;
}
@media screen and (max-width: 749px) {
  .loader-marquee .marquee__container {
    animation-duration: 12s;
  }
}
.loading .loader-marquee .marquee {
  transform: translate(0, 0%);
}
@media screen and (max-width: 749px) {
  .loader-marquee {
    bottom: auto;
    top: 50%;
    transform: translate(0, -50%);
    font-size: 20vw;
  }
}

.pace {
  z-index: 1960;
  position: fixed;
  margin: 0;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  mix-blend-mode: difference;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.pace .pace-progress {
  position: fixed;
  background-color: rgb(var(--color-ash-50));
  height: 4px;
  top: 0;
  right: 100%;
  width: 100%;
  display: block;
}

.pace-inactive .pace-progress {
  transition: 0.1s cubic-bezier(0.33, 1, 0.68, 1);
  opacity: 0;
}

/**
 * @deprecated 
 */
.button-wrapper {
  display: flex;
  justify-content: center;
}

.button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: var(--button-border-radius);
  padding: var(--button-padding-y) var(--button-padding-x);
  height: var(--button-height);
  color: var(--button-text-color);
  font-size: var(--button-font-size);
  font-family: var(--button-font-family);
  font-weight: 500;
  line-height: var(--button-line-height);
  transition-property: background-color, border-color, color;
  transition-duration: var(--button-duration);
  transition-timing-function: var(--ease-out-quint);
}
.button > * {
  pointer-events: none;
}
.button:hover {
  background-color: var(--color-ash-50);
  color: var(--color-dark-solid);
}
.button.style-none, .button[disabled] {
  pointer-events: none;
}
.button.style-plain {
  --button-border-radius: 0;
  padding: 0;
  border-bottom: 1px solid transparent;
  transition: none;
}
.button.style-plain:hover {
  background-color: transparent;
  color: rgba(var(--color-ash-50)/1);
  border-bottom-color: currentColor;
}
.button.style-solid {
  border-color: var(--color-ash-50);
}
.button.style-filled {
  border-color: var(--color-dark-ghost);
  background-color: rgb(var(--color-ash-50));
  color: var(--color-dark-solid);
}
.button.style-filled:hover {
  background-color: var(--color-dark-solid);
  border-color: var(--border-ghost);
  color: rgb(var(--color-ash-50));
}
[data-theme-block=light] .button.style-filled {
  border-color: var(--border-ghost);
  background-color: var(--color-dark-solid);
  color: rgb(var(--color-ash-50));
}
[data-theme-block=light] .button.style-filled:hover {
  background-color: var(--color-ash-50);
  border-color: var(--color-dark-ghost);
  color: var(--color-dark-solid);
}
.button.style-icon {
  --button-padding-x: 7px;
  --button-padding-y: 7px;
}
.button.level-secondary {
  color: rgb(var(--color-ash-50));
  background-color: rgba(var(--color-white/0.05));
  border-color: rgba(var(--color-white/0.15));
}
.button.level-secondary:hover {
  background-color: hsla(0, 0%, 100%, 0.1);
}
.button.level-secondary[aria-current=page] {
  pointer-events: none;
  background-color: var(--color-ash-50);
  color: var(--color-dark-solid);
}
.button.style-ghost:hover {
  background-color: rgba(var(--color-ash-50)/0.1);
}
[data-theme-block=light] .button.style-ghost:hover {
  background-color: rgba(var(--color-ash-950)/0.1);
}
.button._round {
  border-radius: 1rem;
}
.button.size-small {
  --button-height: var(--button-height-small);
  --button-line-height: var(--button-height-small);
}
.button.size-medium {
  --button-height: var(--button-height-medium);
  padding: 1rem 1.5rem;
}
.button.size-large {
  height: 3.5rem;
  font-size: 1.125rem;
}
.button.show-icon-on-hover {
  position: relative;
}
.button.show-icon-on-hover .button-icon {
  position: absolute;
  opacity: 0;
  top: 50%;
  transition-property: right, translate, opacity;
  transition-duration: inherit;
  transition-timing-function: inherit;
}
.button.show-icon-on-hover .button-icon:last-child {
  right: -0.5em;
  translate: 100% -50%;
}
.button.show-icon-on-hover:hover .button-icon {
  opacity: 0.35;
}

.button-label {
  display: flex;
  align-items: center;
}

.button-icon {
  display: flex;
  width: var(--button-icon-size);
  height: var(--button-icon-size);
  transition: fill var(--button-duration) var(--button-easing);
}
.button-icon svg {
  fill: currentColor;
}
.button-icon:first-child {
  margin-left: -0.125rem;
}
.button-icon:last-child {
  margin-right: -0.125rem;
}
.button-icon:only-child {
  margin-left: 0;
  margin-right: 0;
}

.view-all-button__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.view-all-button__label {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.view-all-button .button-label {
  display: flex;
  justify-content: center;
  font-family: var(--font-sans-title);
  transition: transform 500ms var(--ease-out-quint);
  text-transform: uppercase;
  font-size: clamp(1.75rem, 2.9282576867vw, 2.5rem);
  line-height: 1.2;
}
.view-all-button .button-icon {
  display: flex;
  position: absolute;
  top: 50%;
  width: 2rem;
  height: 2rem;
  transition-property: left, top, opacity, transform;
  transition-duration: 500ms;
  transition-timing-function: var(--ease-out-quint);
}
.view-all-button .button-icon:first-child {
  left: -2rem;
  opacity: 0;
  transform: translate(-200%, -50%);
}
.view-all-button .button-icon:last-child {
  right: -2rem;
  transform: translate(100%, -50%);
  opacity: 1;
}
.view-all-button:hover .button-label {
  transform: translate(16px, 0);
}
.view-all-button:hover .button-icon:first-child {
  opacity: 1;
  transform: translate(-100%, -50%);
}
.view-all-button:hover .button-icon:last-child {
  opacity: 0;
  transform: translate(200%, -50%);
}

.category-button {
  display: flex;
  gap: 0.375rem;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid rgba(var(--category-button-border-color)/0.25);
  border-radius: 9999px;
  padding: 0 0.8125rem;
  height: 1.75rem;
  line-height: 1.625rem;
  background-color: rgba(var(--category-button-bg-color)/0);
  color: rgb(var(--category-button-text-color));
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font-gothic-title);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  text-decoration-thickness: 2px;
  transition-property: color, background-color, opacity;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-cubic);
}
.category-button:hover {
  text-decoration: none;
  background-color: rgb(var(--category-button-bg-color-hover));
}
.category-button.size-small {
  height: 1.25rem;
  font-size: 0.75rem;
  line-height: 1.125rem;
  padding: 0 0.625rem;
}
.category-button[aria-current=page] {
  --category-button-bg-color: var(--color-ash-700);
  border-color: rgba(var(--category-button-border-color)/1);
  background-color: rgba(var(--category-button-text-color)/1);
  color: rgb(var(--category-button-bg-color));
  pointer-events: none;
}
.category-button--works {
  background-color: rgba(var(--category-button-bg-color)/1);
  border-color: rgba(var(--category-button-border-color)/1);
}
.category-button--works:hover {
  background-color: rgba(var(--category-button-bg-color)/0.5);
}
.category-button--works[aria-current=page] {
  border-color: rgba(var(--category-button-border-color)/0.5);
  background-color: rgba(var(--category-button-bg-color)/0.25);
  color: rgba(var(--category-button-text-color)/1);
}
.category-button[data-category-slug=web] {
  --category-button-bg-color: var(--color-indigo-700);
  --category-button-bg-color-hover: var(--color-indigo-800);
  --category-button-text-color: var(--color-indigo-200);
  --category-button-border-color: var(--color-indigo-500);
}
.category-button[data-category-slug=graphic] {
  --category-button-bg-color: var(--color-pink-700);
  --category-button-bg-color-hover: var(--color-pink-800);
  --category-button-text-color: var(--color-pink-200);
  --category-button-border-color: var(--color-pink-500);
}
.category-button[data-category-slug=photography] {
  --category-button-bg-color: var(--color-green-800);
  --category-button-bg-color-hover: var(--color-green-900);
  --category-button-text-color: var(--color-green-200);
  --category-button-border-color: var(--color-green-600);
}
.category-button[data-category-slug=movie] {
  --category-button-bg-color: var(--color-sky-700);
  --category-button-bg-color-hover: var(--color-sky-800);
  --category-button-text-color: var(--color-sky-200);
  --category-button-border-color: var(--color-sky-500);
}
.category-button[data-category-slug=product] {
  --category-button-bg-color: var(--color-gold-700);
  --category-button-bg-color-hover: var(--color-gold-800);
  --category-button-text-color: var(--color-gold-200);
  --category-button-border-color: var(--color-gold-500);
}
.category-button[data-category-slug=original] {
  --category-button-bg-color: var(--color-red-700);
  --category-button-bg-color-hover: var(--color-red-800);
  --category-button-text-color: var(--color-red-200);
  --category-button-border-color: var(--color-red-500);
}
.category-button[data-category-slug=mixed] {
  --category-button-border-color: var(--color-gray-800);
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.0625rem 0.1875rem;
}

.tag-button {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.125rem;
  padding: 0 0.25rem;
  height: var(--tab-button-height);
  border: 1px solid rgba(var(--tag-button-border-color)/0);
  background-color: rgba(var(--tag-button-bg-color)/0);
  color: rgb(var(--tag-button-text-color));
  font-size: clamp(0.8125rem, 1.0980966325vw, 0.9375rem);
  font-weight: 500;
  line-height: var(--tab-button-height);
  white-space: nowrap;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-quint);
}
.tag-button .button-icon {
  opacity: 0.5;
}
.tag-button__count {
  font-size: 0.75em;
  font-family: var(--font-default);
}
.tag-button__count::before {
  content: "(";
}
.tag-button__count::after {
  content: ")";
}
.tag-button:hover {
  color: rgb(var(--tag-button-text-color-hover));
  background-color: rgba(var(--tag-button-bg-color-hover)/1);
}
.tag-button[aria-current=page] {
  --tag-button-text-color: var(--color-ash-50);
  background-color: rgb(var(--tag-button-text-color));
  color: rgb(var(--tag-button-bg-color));
  font-weight: 600;
  pointer-events: none;
  order: -1;
  opacity: 1;
}
@media screen and (min-width: 1584px) {
  .tag-button {
    font-size: 0.9375rem;
  }
}

.series-button__label {
  transform: translate(0, 1px);
}
.series-button .icon {
  margin-right: 0.75rem;
  width: 1.25rem;
  height: auto;
  flex: 0 0 1.25rem;
  fill: currentColor;
}
.series-button span {
  line-height: 1.25rem;
  font-weight: 600;
}
.series-button a {
  display: inline-flex;
  padding: 0.25rem 1rem 0.25rem 0.75rem;
  border-radius: 0.875rem;
  transform: translate(-8px, 0);
  transition: 150ms cubic-bezier(0.33, 1, 0.68, 1);
}
.series-button a:hover {
  background-color: var(--border-ghost);
}
.series-button a:active {
  background-color: var(--color-white-ghost-active);
}
[data-theme-block=light] .series-button a:hover {
  background-color: var(--color-dark-ghost);
}
[data-theme-block=light] .series-button a:active {
  background-color: var(--color-dark-ghost-active);
}
@media screen and (max-width: 749px) {
  .series-button .icon {
    margin-right: 16px;
  }
}

._acc-ready [data-accordion-toggle] {
  cursor: pointer;
}

.company-motto-text {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.4;
  line-break: auto; /* または anywhere */
  word-break: normal; /* または keep-all */
  hanging-punctuation: none; /* Safari限定 */
  font-family: var(--font-gothic-title);
  font-size: calc(2.3622047244vw + 2.4832677165rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0em;
  text-align: left;
}
.company-motto-text .chunk {
  display: inline;
}
.company-motto-text i {
  font-style: normal;
  vertical-align: top;
}
.company-motto-text .chunk-2 {
  transition-delay: 200ms;
}
.company-motto-text .chunk-3 {
  transition-delay: 250ms;
}
.company-motto-text .chunk-4 {
  transition-delay: 300ms;
}
.company-motto-text .chunk-5 {
  transition-delay: 350ms;
}
.company-motto-text.lazy-ready .chunk {
  opacity: 0;
  transform: translate(0, 1em);
}
.loaded .company-motto-text.lazy-ready.lazy-visible .chunk {
  opacity: 1;
  transform: translate(0, 0em);
  transition-duration: 1.5s;
  transition-property: opacity, transform;
  transition-timing-function: var(--ease-out-quint);
}
@media screen and (max-width: 1055px) {
  .company-motto-text {
    font-size: clamp(3rem, 11vw, 3.4375rem);
  }
}
@media screen and (max-width: 749px) {
  .company-motto-text {
    font-size: clamp(2.5rem, 11vw, 3.125rem);
  }
}

.company-motto-gif {
  position: relative;
  display: inline-flex;
}
@media screen and (max-width: 749px) {
  .company-motto-gif {
    line-height: 1;
  }
}
.company-motto-gif__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 1;
}
.company-motto-gif__label {
  opacity: 0;
}
.company-motto-gif::after {
  content: "";
  position: absolute;
  bottom: -4px;
  transform: translate(0, 100%);
  left: 0;
  display: block;
  width: 100%;
  padding-bottom: 5%;
  background-image: url("../img/small-actions/small-actions-waves.gif");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

@media screen and (max-width: 749px) {
  .company-motto-text {
    display: block;
  }
  .company-motto-text br {
    display: none;
  }
  .company-motto-text .chunk {
    display: inline;
  }
  .company-motto-gif {
    color: transparent;
  }
  .company-motto-gif::after {
    display: none;
  }
  .company-motto-gif__image {
    opacity: 1;
  }
}
.article-title {
  font-family: var(--font-gothic-title);
}

.article-card__wrapper {
  position: relative;
  min-height: 5rem;
  color: currentColor;
}
.article-card__visual {
  position: relative;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  overflow: hidden;
  isolation: isolate;
}
.article-card__visual a {
  z-index: 1;
  display: flex;
}
.article-card__visual a::before {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
}
.article-card__visual:hover .article-card__launch {
  opacity: 1;
  bottom: 0.875rem;
}
.article-card__detail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.article-card__launch {
  z-index: 4;
}
.article-card__heading .article-title {
  margin-bottom: 0;
}
.article-card__heading:only-child {
  margin-bottom: 0;
}
.article-card__info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}
.article-card__author {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5rem;
}
.article-card__date {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5rem;
}
.article-card__launch {
  position: absolute;
  right: 1rem;
  bottom: 0.5rem;
  opacity: 0;
  transition-property: opacity, bottom;
  transition-duration: 0.25s;
  transition-timing-function: var(--ease-out-quint);
}
.article-card .article-title__main {
  display: block;
}
.article-card .article-title__sub {
  display: block;
}
.article-card__tag {
  flex: 0 0 100%;
}
.article-card__excerpt {
  opacity: 0.5;
}
.article-card .group:hover .media::after {
  opacity: 0.5;
}

.article-card.type-work {
  --card-shadow-color: var(--color-ash-50);
  --card-border-color: var(--color-ash-950);
  --card-bg-color: var(--color-ash-800);
  --card-text-color: var(--text-color-dark);
  color: rgb(var(--card-text-color));
}
.article-card.type-work .article-card__wrapper {
  box-shadow: 0 0 0 1px rgba(var(--card-shadow-color)/0.15);
  border: 4px solid rgba(var(--card-border-color)/1);
  border-radius: 1rem;
  padding: 0.5rem;
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-quint);
  background-color: rgb(var(--card-bg-color));
  color: rgb(var(--card-text-color));
  background-image: url("../img/texture/noise-white.webp");
  background-size: 8rem;
  background-repeat: repeat;
}
.article-card.type-work .article-card__wrapper:hover {
  box-shadow: 0 0 0 1px rgba(var(--card-shadow-color)/0.5);
}
.article-card.type-work .article-card__image {
  margin-bottom: 1.25rem;
}
.article-card.type-work .article-card__detail {
  padding: 0.25rem 1rem 0.75rem;
  row-gap: 1.5rem;
}
.article-card.type-work .media {
  --ratio: calc(100% * 1080 / 1920);
}
.article-card.type-work .image-as-background {
  padding-bottom: var(--ratio);
}
.article-card.type-work .article-title__main {
  display: block;
}
.article-card.type-work .article-title__sub {
  display: block;
  margin-top: 0.25rem;
  font-family: var(--font-default);
  opacity: 0.75;
}
[data-theme-color=light] .article-card.type-work {
  --card-shadow-color: var(--color-ash-950);
  --card-border-color: var(--color-ash-100);
  --card-bg-color: var(--color-ash-100);
  --card-text-color: var(--text-color-light);
}
[data-theme-color=light] .article-card.type-work .article-card__wrapper {
  background-image: url("../img/texture/noise-black.webp");
  background-size: 8rem;
  background-repeat: repeat;
}

.layout-full.article-card {
  flex: 0 0 100%;
  max-width: 100%;
}
.layout-full.article-card .article-card__content {
  height: 100%;
}
.layout-full.article-card .article-card__excerpt {
  margin-top: 1rem;
}
.layout-full.article-card .article-card__series {
  margin-top: 1rem;
}
.layout-full.article-card .article-card__wrapper {
  border: 1px solid var(--border-ghost);
  border-radius: 1rem;
  padding: clamp(1rem, 2.9282576867vw, 2.5rem);
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-quint);
}
.layout-full.article-card .article-card__wrapper:hover {
  border-color: var(--border-ghost-hover);
  background-color: rgb(var(--color-ash-50)/0.05);
}
.layout-full.article-card .article-card__content {
  display: flex;
  flex-wrap: wrap;
}
.layout-full.article-card .article-card__heading {
  flex: 1 1 0;
}
.layout-full.article-card .article-card__detail {
  order: 1;
  flex: 1 1 54.1666666667%;
  max-width: 54.1666666667%;
  display: flex;
  flex-direction: column;
}
.layout-full.article-card .article-card__visual {
  order: 2;
  flex: 0 0 33.3333333333%;
  margin-left: 12.5%;
}
.layout-full.article-card .article-card__info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 1.25rem;
  align-items: baseline;
  padding-top: 1rem;
}
.layout-full.article-card .article-card__tags {
  flex: 0 0 100%;
}
.layout-full.article-card .article-excerpt {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.layout-full.article-card .article-title {
  font-size: clamp(1.25rem, 2.3426061493vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
}
.layout-full.article-card.has-no-thumbnail .article-card__visual {
  display: none;
  width: 0;
  margin-left: 0;
}
@media screen and (min-width: 1056px) {
  .layout-full.article-card.has-no-thumbnail .article-card__detail {
    max-width: 75%;
  }
  .layout-full.article-card.has-no-thumbnail .article-excerpt {
    max-width: 80ch;
  }
}
@media screen and (max-width: 1055px) {
  .layout-full.article-card .article-card__detail {
    flex: 0 0 100%;
    max-width: 100%;
    order: initial;
  }
  .layout-full.article-card .article-card__visual {
    margin-bottom: 1.5rem;
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
    order: initial;
  }
}

.article-card.layout-feed {
  margin: 0;
}
.article-card.layout-feed .media {
  --ratio: calc(100% * 2 / 3);
  --ratio: 100%;
}
.article-card.layout-feed .article-card__visual {
  margin-bottom: 0;
}
.article-card.layout-feed .article-card__content {
  display: grid;
  grid-template-columns: 2fr 4fr;
  gap: 1rem;
}
.article-card.layout-feed .article-card__detail:only-child {
  grid-column: 1/-1;
}
.article-card.layout-feed .article-hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgb(var(--color-gray-50));
  box-shadow: 0 0 0 0 rgb(var(--color-gray-50));
}
.article-card.layout-feed .group:hover .article-hover {
  opacity: 0.08;
  box-shadow: 0 0 0 1rem rgb(var(--color-gray-50));
}
.article-card.layout-feed .article-card__category::before {
  margin-left: 0.5rem;
}
.article-card.layout-feed .image-container {
  border-radius: 0.25rem;
}

.article-card.type-recruit {
  --card-bg-color: rgba(var(--color-ash-200) / 0);
  --card-border-color: rgba(var(--color-ash-700) / 1);
  --card-text-color: rgba(var(--color-ash-800) / 1);
}
.article-card.type-recruit .article-card__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--card-border-color);
  padding: 0.25rem 1.25rem;
  border-radius: 0;
  background-color: var(--card-bg-color);
  min-height: 4rem;
  transition: background-color 150ms var(--ease-out-quint);
}
.article-card.type-recruit .group:hover {
  --card-bg-color: rgba(var(--color-ash-700) / 1);
}
.article-card.type-recruit .article-title {
  font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
  line-height: 1.25;
  letter-spacing: 0.01em;
  font-family: var(--font-default);
  font-weight: 500;
}
.article-card.type-recruit .article-title a::before {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
}
.archive-grid--recruit .grid-item:first-child .article-card.type-recruit .article-card__wrapper {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.archive-grid--recruit .grid-item:last-child .article-card.type-recruit .article-card__wrapper {
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.article-card.type-recruit-blog {
  color: rgb(var(--text-color-light));
}
.article-card.type-recruit-blog .article-card__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, auto);
  gap: 2rem;
  padding: 2rem;
  height: 100%;
  background-color: rgba(var(--color-gray-50)/1);
  border-radius: 0.5rem;
  overflow: hidden;
  isolation: isolate;
  transition: 200ms var(--ease-out-quint);
  border: 1px solid rgba(var(--color-gray-50)/0.15);
}
.article-card.type-recruit-blog .article-card__wrapper:hover {
  background-color: rgba(var(--color-gray-200)/1);
}
.article-card.type-recruit-blog .article-title a::before {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
  z-index: 2;
}

.article-modal {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  pointer-events: none;
  z-index: 1850;
}
.article-modal_image-as-background {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(var(--color-ash-950)/0.75);
  transition: 1s var(--ease-out-quint);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.article-modal._open {
  pointer-events: initial;
}
.article-modal .article-side {
  display: none;
}
.article-modal .article-main,
.article-modal .single-post .article-main {
  flex: 0 0 100%;
  max-width: 100%;
}
.article-modal__wrapper {
  height: 100%;
}
.article-modal__container {
  padding-top: 96px;
}
.article-modal__controls {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-100%, 0);
}
.article-modal__content {
  position: relative;
  height: calc(100vh - 96px);
  overflow: scroll;
  background-color: rgb(var(--color-ash-50));
  border-radius: 16px;
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
  margin-left: 33.3333333333%;
  padding-right: 0;
}
.article-modal .work-header {
  margin: 32px auto;
}
.article-modal .single .edit-post-button {
  position: static;
  border-color: 1px solid var(--color-dark-solid);
}
.article-modal .single .edit-post-button__link {
  width: auto;
}
.article-modal .single .edit-post-button__icon {
  width: 24px;
  height: 24px;
  margin-right: 8px;
}
.article-modal .single .edit-post-button__icon .icon {
  width: auto;
  height: auto;
}
.article-modal .single .edit-post-button__label {
  display: inline-block;
}
.mutter__title {
  flex: none;
}
.mutter__content {
  flex-wrap: nowrap;
}
.mutter__list {
  flex: 1 1 0;
}
.mutter__listitem {
  display: flex;
}
.mutter__listitem__name {
  flex: none;
  margin-right: 16px;
}
.mutter__listitem__text {
  flex: 1 1 0;
  font-family: var(--font-gothic-body);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.075em;
  white-space: nowrap;
  overflow: hidden;
  padding: 4px 0;
}
@media screen and (min-width: 1312px) {
  .mutter__listitem__text {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1584px) {
  .mutter__listitem__text {
    font-size: 1rem;
  }
}
.mutter__listitem__text * {
  font-size: inherit;
}
.mutter__listitem__text br {
  display: none;
}
.overlay-menu .mutter {
  margin-top: 64px;
  border-top: 1px solid rgb(var(--color-ash-50));
  border-bottom: 1px solid rgb(var(--color-ash-50));
  padding: 8px 0;
}
[data-theme-block=light] .overlay-menu .mutter {
  border-color: var(--color-dark-solid);
}

.hljs {
  background-color: transparent;
}

.ez-toc-debug-messages {
  display: none !important;
}

#ez-toc-container {
  margin-bottom: clamp(4rem, 9.3704245974vw, 8rem);
}
#ez-toc-container .ez-toc-title-container {
  margin-bottom: 0.75rem;
}
#ez-toc-container .ez-toc-title {
  font-size: clamp(1rem, 1.4641288433vw, 1.25rem);
  line-height: 1.25;
  letter-spacing: 0.01em;
  font-family: var(--font-sans-title);
  text-transform: uppercase;
}
#ez-toc-container nav ul {
  padding-left: 0.5em;
}
#ez-toc-container nav > ul {
  padding-left: 0;
}
#ez-toc-container nav li {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: clamp(0.8125rem, 1.1713030747vw, 1rem);
  letter-spacing: 0.02em;
}
#ez-toc-container nav li + li {
  margin-top: 0.25em;
}
#ez-toc-container nav li a {
  display: flex;
  align-items: baseline;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  color: rgba(var(--color-ash-100)/0.5);
  transition: 100ms var(--ease-out-quint);
}
#ez-toc-container nav li a:hover {
  text-decoration: none;
  color: rgba(var(--color-ash-100)/1);
}
#ez-toc-container nav li ul {
  flex: 0 0 100%;
  margin-top: 0.25em;
}
#ez-toc-container nav li ul li::before {
  content: "–";
  margin-right: 0.5em;
  opacity: 0.25;
}

.notfound__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 88vh;
  padding-top: 4rem;
  gap: 2rem;
}
.notfound__heading {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.notfound__number {
  font-size: clamp(10rem, 23.4260614934vw, 20rem);
  font-weight: 100;
  line-height: 1;
}
.notfound__title {
  line-height: 1;
}

.no-post-message {
  background-color: rgba(var(--color-ash-800)/1);
  color: rgba(var(--color-ash-300)/1);
  padding: 1.5rem;
  border-radius: 0.25rem;
  min-height: 4rem;
  display: flex;
  align-items: center;
}

.archive .page-title {
  margin-bottom: 2rem;
}
.archive .page-title:only-child {
  margin-bottom: 0;
}
@media screen and (max-width: 749px) {
  .archive .breadcrumb-title {
    padding-top: 4vw;
  }
}

.archive-grid {
  display: grid;
  -moz-column-gap: var(--grid-gutter);
       column-gap: var(--grid-gutter);
  row-gap: var(--grid-gutter);
  grid-template-columns: repeat(1, 1fr);
  margin-bottom: clamp(2.5rem, 3.937007874vw + 2.5rem, 5rem);
}
.archive-grid:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1584px) {
  .archive-grid--full {
    grid-template-columns: repeat(2, 1fr);
  }
  .archive-grid--full .grid-item {
    display: flex;
    align-items: stretch;
  }
  .archive-grid--full .article-card__wrapper {
    height: 100%;
  }
}

.archive-grid--columns {
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--grid-gutter);
}
@media screen and (min-width: 1056px) {
  .archive-grid--columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1312px) {
  .archive-grid--columns {
    grid-template-columns: repeat(3, 1fr);
  }
}

.archive-grid--fill-height .grid-item {
  display: flex;
  flex-direction: column;
  flex: 0 0 100%;
}
.archive-grid--fill-height .grid-item .article-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 100%;
}
.archive-grid--fill-height .grid-item .article-card__wrapper {
  flex: 0 0 100%;
}

.archive-grid--recruit {
  row-gap: 0.25rem;
  margin-bottom: 0;
}

.archive-grid--feed {
  margin-bottom: 0;
}

.page-control {
  margin-bottom: clamp(1rem, 5vw, 2rem);
  padding-left: var(--grid-padding);
  padding-right: var(--grid-padding);
}
.page-control__grabber {
  display: none;
}
.page-control__categories__toggle {
  display: none;
}
.page-control .category-button::after {
  content: attr(data-post-count);
  margin-left: 0.5em;
  font-size: 0.6875rem;
  vertical-align: super;
  line-height: 1;
  font-family: var(--font-default);
}
.page-control .category-button[data-category-slug=all]::after {
  display: none;
}
.page-control._float {
  position: fixed;
  top: 100vh;
  left: 50%;
  display: flex;
  margin-bottom: 0;
  padding: 0;
  z-index: 1000;
  transform: translate(-50%, calc(-100% - 24px));
  background-color: #fcfeff;
  color: #515256;
  fill: #515256;
  border-radius: 3px;
}
.page-control._float .category-button:hover {
  background-color: var(--color-dark-ghost);
}
.page-control._float .page-control__content {
  display: flex;
}
.page-control._float .page-control__grabber {
  padding: 4px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.page-control._float .page-control__grabber > * {
  pointer-events: none;
}
.page-control._float .page-control__grabber .icon {
  width: 24px;
  height: 24px;
  fill: inherit;
}
.page-control._float .category-list {
  margin: 0 8px 0 0;
  padding: 0 8px;
  border-left: 1px solid var(--color-dark-ghost);
  border-right: 1px solid var(--color-dark-ghost);
}
.page-control .post-count {
  display: none;
}
@media screen and (max-width: 749px) {
  .page-control {
    padding-left: 0;
    padding-right: 0;
  }
  .page-control__categories {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: scroll;
  }
  .page-control .category-list {
    flex-wrap: nowrap;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .page-control .category-button {
    font-size: 0.875rem;
    line-height: 1.125rem;
    letter-spacing: 0.01em;
    font-weight: bold;
    font-weight: 600;
    margin-right: 0.5rem;
    padding: 0.5625rem 1rem;
  }
  .page-control .category-button[aria-current=page] {
    order: -1;
    background-color: rgb(var(--color-ash-50));
    color: rgb(var(--color-ash-900));
  }
  .page-control .category-button[data-category-slug=all] {
    order: -999;
  }
}

.post-type-archive-work .category-list:hover .category-button {
  opacity: 0.38;
}
.post-type-archive-work .category-list:hover .category-button:hover {
  opacity: 1;
}

.tax .page-control .category-button {
  opacity: 0.35;
}
.tax .page-control .category-button:hover {
  opacity: 1;
}
.tax .page-control .category-button[aria-current=page] {
  opacity: 1;
}

.page-footer .pagination {
  margin: 4rem auto;
}
@media screen and (min-width: 750px) {
  .page-footer .pagination {
    margin: 8rem auto;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  --button-size: 48px;
}
.pagination .page-number-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.pagination .page-numbers {
  font-size: 1rem;
  line-height: 1;
  display: flex;
  height: var(--button-size);
  min-width: var(--button-size);
  border: 2px solid rgba(var(--color-ash-50)/0.15);
  border-radius: 0.125rem;
  padding: 0;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers.current {
  background-color: rgb(var(--color-ash-50));
  color: var(--color-dark-solid);
}
.pagination .page-numbers__label {
  display: none;
}
.pagination .page-numbers.next, .pagination .page-numbers.prev {
  padding: 9px 8px;
}
.pagination a.page-numbers:hover {
  background-color: var(--border-ghost);
}
.pagination a.page-numbers:active {
  background-color: var(--color-white-ghost-active);
}
.pagination .page-icon {
  display: flex;
  width: var(--button-size);
  height: var(--button-size);
  justify-content: center;
  align-items: center;
  border-radius: 2px;
}
.pagination .page-icon__label {
  display: none;
}
.pagination .page-icon--first, .pagination .page-icon--prev {
  margin-right: 0.5rem;
}
.pagination .page-icon--last, .pagination .page-icon--next {
  margin-left: 0.5rem;
}
.pagination .page-icon .icon {
  width: 16px;
  height: 16px;
}
.pagination .page-icon:hover {
  background-color: var(--border-ghost);
}
.pagination .page-icon:active {
  background-color: var(--color-white-ghost-active);
}
.pagination .page-icon[aria-current=page] {
  opacity: 0.38;
  pointer-events: none;
  background-color: transparent;
}
.pagination .page-index {
  display: inline-flex;
  line-height: 40px;
  margin: 0 8px;
}
.pagination .page-index .page-numbers {
  display: inline-flex;
}
.pagination .page-index .page-numbers__icon {
  display: inline-flex;
  padding: 2px;
}
.pagination .page-index .page-numbers .icon {
  width: 20px;
  height: 20px;
}
.pagination .page-index .page-numbers__label {
  display: none;
}
.pagination .page-index__slash {
  margin: 0 2px;
}
@media screen and (max-width: 749px) {
  .pagination .page-number-list {
    display: none;
  }
}
@media screen and (min-width: 750px) {
  .pagination .page-index {
    display: none;
  }
}

.tax-series .article-card .series-button {
  display: none;
}

.tag-cloud {
  display: flex;
}

.tag .tag-title::before {
  content: "#";
}
.tag .tag-title::after {
  content: attr(data-post-count);
  vertical-align: text-top;
  font-size: 12px;
  margin-left: 0.5em;
}
@media screen and (max-width: 749px) {
  .tag .page-controls .tag-cloud {
    width: 100%;
    overflow: auto;
  }
  .tag .page-controls .tags__list {
    flex-wrap: nowrap;
  }
}

.tag-cloud-link {
  display: inline-flex;
  font-size: 0.8125rem;
  margin: 0.25rem 0.125rem;
  padding: 0.25rem 0.375rem 0.25rem;
  height: 1.625rem;
  line-height: 1rem;
  border-radius: 0.1875rem;
  font-weight: 600;
  background-color: hsla(0, 0%, 100%, 0.05);
  border: 1px solid hsla(0, 0%, 100%, 0.05);
}

.archive.tag .page-caption {
  margin-bottom: 1rem;
}

.article-tags {
  display: flex;
  align-items: center;
}
.article-tags .tags__list {
  justify-content: flex-end;
}
.article-tags .tags__list__item {
  margin: 0;
}

.article-date {
  text-transform: uppercase;
}

.article-author {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  gap: 0.5rem;
}

.page-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 4rem;
  margin-bottom: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}
.page-links .page-links-title {
  display: none;
}
.page-links .post-page-numbers {
  margin: 0 0.5rem;
  display: inline-block;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--border-ghost);
  text-align: center;
  line-height: 2.875rem;
  font-size: 1.125rem;
  border-radius: 0.25rem;
  transition: background-color 0.25s cubic-bezier(0.33, 1, 0.68, 1);
  text-align: center;
}
.page-links .post-page-numbers:hover {
  background-color: var(--border-ghost);
}
.page-links .post-page-numbers.current {
  background-color: rgb(var(--color-ash-50));
  color: var(--color-dark-solid);
  pointer-events: none;
}

.single-article-header {
  position: relative;
  margin-bottom: 4rem;
  border-bottom: 1px solid var(--border-ghost);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1056px) {
  .has-thumbnail .single-article-header {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1584px) {
  .has-thumbnail .single-article-header {
    grid-template-columns: 2fr 1fr;
  }
}
.single-article-header .meta-item {
  margin-right: 1rem;
}
@media screen and (min-width: 1312px) {
  .single-article-header .meta-item {
    margin-right: 2rem;
    margin-bottom: 1rem;
  }
}
.single-article-header .meta-item:last-child {
  margin-right: 0;
}

.single-article-visual {
  display: flex;
  position: relative;
}
.single-article-visual::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.single-article-visual__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
}
.single-article-visual__background .media {
  --ratio: 100%;
  scale: 1.5;
}
.single-article-visual__background::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-ash-950)/0.65);
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
}
.single-article-visual__foreground {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 100%;
}
@media screen and (min-width: 1312px) {
  .single-article-visual__foreground {
    max-height: 50vw;
  }
}
.single-article-visual__foreground .media-wrapper {
  position: absolute;
  inset: var(--grid-padding);
  left: 50%;
  translate: -50% 0;
  width: calc(100% - var(--grid-padding) * 2);
  display: grid;
  place-items: center;
}
.single-article-visual__foreground .media {
  border-radius: 0.375rem;
  aspect-ratio: var(--image-width)/var(--image-height);
}
.single-article-visual__foreground .media img {
  aspect-ratio: inherit;
}
.single-article-visual__foreground .media.image-orientation-portrait {
  height: 100%;
  width: auto;
}

.single-article-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
}

.single-article-tagline {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.single-article-author {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.single-article-misc {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
}
@media screen and (max-width: 1311px) {
  .single-article-misc {
    margin-top: 2.5rem;
    row-gap: 0.625rem;
  }
}

.single-article-body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "content" "sidebar";
  row-gap: var(--grid-padding);
  padding-bottom: 8rem;
}
@media (min-width: 750px) and (max-width: 1056px) {
  .single-article-body .single-article-sidebar .archive-grid--feed {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1312px) {
  .single-article-body {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-top: 4rem;
  }
  .single-article-body .single-article-content {
    padding-bottom: 0;
    grid-column: span 7;
  }
  .single-article-body .single-article-sidebar {
    grid-column: 9/13;
  }
}

.single-article-content {
  position: relative;
}

.single-article-sidebar {
  position: relative;
}

.single-article-detail {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  grid-template-areas: "heading" "misc";
  padding: var(--grid-padding);
}
@media screen and (min-width: 1312px) {
  .no-thumbnail .single-article-detail {
    min-height: 32rem;
  }
}
@media screen and (max-width: 1311px) {
  .no-thumbnail .single-article-detail {
    padding-top: 8rem;
    padding-bottom: 3rem;
    row-gap: 1.25rem;
    grid-template-rows: 1fr auto;
  }
}
.single-article-detail .single-article-heading {
  grid-area: heading;
}
.single-article-detail .single-article-misc {
  grid-area: misc;
}
@media screen and (max-width: 1311px) {
  .single-article-detail {
    padding-top: clamp(7.5rem, 14.6412884334vw, 12.5rem);
  }
}

.single-post .article-main .related-posts {
  margin-top: 10rem;
  padding-top: 2rem;
}
.single-post .article-main .related-posts::before {
  display: block;
  margin-bottom: 2rem;
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--border-ghost);
}
.single-post .article-main .related-posts__title__main {
  display: block;
  text-transform: uppercase;
  overflow: hidden;
}
.single-post .article-main .related-posts__title__main span {
  display: inline-block;
}
.single-post .article-main .related-posts__title__sub {
  display: block;
  font-size: 16px;
  overflow: hidden;
}
.single-post .article-main .related-posts__title__sub span {
  display: inline-block;
}
.single-post .article-main .related-posts__title.lazy-ready .related-posts__title__main span,
.single-post .article-main .related-posts__title.lazy-ready .related-posts__title__sub span {
  transform: translate(0, 101%);
}
.single-post .article-main .related-posts__title.lazy-seen .related-posts__title__main span,
.single-post .article-main .related-posts__title.lazy-seen .related-posts__title__sub span {
  transform: translate(0, 0%);
  transition: transform 0.75s var(--ease-out-quint);
}
.single-post .article-main .related-posts__title.lazy-seen .related-posts__title__sub {
  transition-delay: 0.25s;
}
.single-post .article-main .related-posts__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4rem;
  margin-left: -16px;
  margin-right: -16px;
}
.single-post .article-main .related-posts__list__item {
  flex: 0 0 50%;
  max-width: 50%;
  margin-bottom: 4rem;
  padding-left: 16px;
  padding-right: 16px;
}
.single-post .article-main .related-posts__list__item .crp_link {
  display: block;
  margin-bottom: 1rem;
}
.single-post .article-main .related-posts__list__item figure {
  position: relative;
  margin-bottom: 1rem;
  border-radius: 4px;
  overflow: hidden;
  isolation: isolate;
}
.single-post .article-main .related-posts__list__item figure img {
  transform: scale(1);
  transition: transform 0.75s var(--ease-out-quint);
}
.single-post .article-main .related-posts__list__item figure::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-dark-solid);
  opacity: 0;
  transition: opacity 0.75s var(--ease-out-quint);
}
.single-post .article-main .related-posts__list__item figure:hover img {
  transform: scale(1.05);
}
.single-post .article-main .related-posts__list__item figure:hover::after {
  opacity: 0.25;
}
.single-post .article-main .related-posts__list__item .crp_title {
  display: block;
  font-family: var(--font-gothic-body);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.01em;
}
.single-post .article-main .related-posts__list__item .crp_author {
  display: inline-block;
  margin-right: 8px;
  pointer-events: none;
  font-size: clamp(0.75rem, 1.0980966325vw, 0.9375rem);
  line-height: 1.25;
  min-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.single-post .article-main .related-posts__list__item .crp_date {
  display: inline-block;
  margin-right: 8px;
  font-size: clamp(0.75rem, 1.0980966325vw, 0.9375rem);
  line-height: 1.25;
  min-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.single-post .article-main .related-posts__list__item .crp_primary_term {
  text-transform: uppercase;
  font-size: clamp(0.75rem, 1.0980966325vw, 0.9375rem);
  line-height: 1.25;
  min-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.single-post .article-main .related-posts__list__item .crp_excerpt {
  display: block;
  margin-top: 16px;
  opacity: 0.75;
  line-height: 1.4;
}
.single-post .article-main .related-posts__list__item.lazy-ready {
  opacity: 0;
  transform: translate(0, 16px);
}
.single-post .article-main .related-posts__list__item.lazy-seen {
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity 0.75s var(--ease-out-quint), transform 0.75s var(--ease-out-quint);
}
@media screen and (min-width: 1584px) {
  .single-post .article-main .related-posts__list__item:nth-child(2) {
    transition-delay: 100ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(3) {
    transition-delay: 200ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(4) {
    transition-delay: 300ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(5) {
    transition-delay: 400ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(6) {
    transition-delay: 500ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(7) {
    transition-delay: 600ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(8) {
    transition-delay: 700ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(9) {
    transition-delay: 800ms;
  }
  .single-post .article-main .related-posts__list__item:nth-child(10) {
    transition-delay: 900ms;
  }
}

.single-image-header {
  margin-bottom: 5rem;
  padding-top: clamp(10rem, 17.5695461201vw, 15rem);
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--border-ghost);
}

.single-image-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.single-image-main {
  padding-bottom: clamp(5rem, 11.7130307467vw, 10rem);
}

.single-image-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
}

.edit-post-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 4rem auto;
  padding: 4rem 2rem;
  row-gap: 1rem;
  background-color: rgba(var(--color-ash-800)/1);
  background-image: url("../img/texture/noise-white.webp");
  background-size: 8rem;
  background-repeat: repeat;
}
.edit-post-block:last-child {
  margin-bottom: 0;
}
.edit-post-block[data-theme-color=light] {
  background-color: rgba(var(--color-ash-100)/1);
  background-image: url("../img/texture/noise-black.webp");
  background-size: 8rem;
  background-repeat: repeat;
}
.edit-post-block code {
  font-weight: 600;
  letter-spacing: 0.15em;
}
.edit-post-block__button {
  display: flex;
  justify-content: center;
}
.touch-device .edit-post-block {
  display: none;
}

.edit-post-button {
  --button-bg-color: var(--color-ash-50);
  --button-text-color: var(--color-ash-900);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.4375rem 0.9375rem;
  border-radius: 0.1875rem;
  border: 1px solid rgba(var(--button-text-color)/0.15);
  background-color: rgb(var(--button-bg-color));
  color: rgb(var(--button-text-color));
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  transition: 200ms var(--ease-out-quint);
}
.edit-post-button .button-icon {
  display: flex;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
  margin-left: -0.125rem;
}
.edit-post-button .button-icon .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}
.edit-post-button .button-label {
  display: inline-flex;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.edit-post-button:hover {
  --button-bg-color: var(--color-ash-200);
  --button-text-color: var(--color-ash-700);
}
.edit-post-button:active {
  border-color: rgba(var(--button-text-color)/1);
  box-shadow: 0 0 0 3px rgba(var(--button-text-color)/0.15);
}

.single-article-date {
  display: flex;
  align-items: center;
}

.single-article-view-count {
  display: flex;
  align-items: center;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.015em;
}

.crp_related ul {
  padding-left: 1.5em;
}
.crp_related ul li {
  font-family: vdl-v7gothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", YuGothic, "Meiryo", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.075em;
  list-style: disc;
  margin-bottom: 1em;
}
@media screen and (min-width: 750px) {
  .crp_related ul li {
    font-size: 1.25rem;
  }
}
.crp_related ul li::marker {
  color: rgb(var(--color-ash-50));
  font-size: 1.5em;
}

.single-image-related-post .article-card .media {
  --ratio: calc(100% * 2 / 3);
}

.single-work-main {
  padding-bottom: 8rem;
}

.single-work .read-next {
  margin-bottom: 8rem;
}
.single-work .read-next .work-heading {
  margin-bottom: 2rem;
}
.single-work .read-next__cover {
  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  border-radius: 0.75rem;
}
.single-work .read-next__cover::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 42%;
}
.single-work .read-next__cover .image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  opacity: 0.25;
}
.single-work .read-next__cover__title {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translate(0%, -50%);
  text-align: center;
}

.editor-content.style-portfolio > .wp-block-image,
.editor-content.style-portfolio > .wp-block-columns,
.editor-content.style-portfolio > .wp-block-video {
  margin-top: clamp(2.5rem, 4.6852122987vw, 4rem);
  margin-bottom: clamp(2.5rem, 4.6852122987vw, 4rem);
}
.editor-content.style-portfolio > .wp-block-image:first-child,
.editor-content.style-portfolio > .wp-block-columns:first-child,
.editor-content.style-portfolio > .wp-block-video:first-child {
  margin-top: 0;
}
.editor-content.style-portfolio > .wp-block-image:last-child,
.editor-content.style-portfolio > .wp-block-columns:last-child,
.editor-content.style-portfolio > .wp-block-video:last-child {
  margin-bottom: 0;
}
.editor-content.style-portfolio .wp-block-column h2::before {
  display: none;
}
.editor-content.style-portfolio .wp-block-image .image-container {
  border-radius: 0.25rem;
}
.wp-block-columns .editor-content.style-portfolio .wp-block-image:first-child {
  margin-top: 0;
}
.editor-content.style-portfolio .wp-block-image .aligncenter,
.editor-content.style-portfolio .wp-block-image .alignleft,
.editor-content.style-portfolio .wp-block-image .alignright {
  flex: 0 0 100%;
  width: 100%;
}
.editor-content.style-portfolio .wp-block-image .image-container {
  flex: 0 0 100%;
}

.single-work-grid {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(5rem, 11.7130307467vw, 10rem);
  -moz-column-gap: var(--grid-gutter);
       column-gap: var(--grid-gutter);
}
@media screen and (min-width: 1312px) {
  .single-work-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .single-work-grid .single-work-section {
    grid-column: 1/-1;
  }
  .single-work-grid .single-work-side {
    grid-column: 1/2;
  }
  .single-work-grid .single-work-side .sticky-container {
    top: clamp(6.25rem, 25vh, 12.5rem);
  }
  .single-work-grid .single-work-body {
    grid-column: 2/3;
  }
}

@media screen and (max-width: 1311px) {
  .single-work-info {
    padding: 1.25rem 0;
    border-top: 1px solid rgba(var(--border-color)/0.15);
    border-bottom: 1px solid rgba(var(--border-color)/0.15);
  }
}
.single-work-info__client .button-icon {
  translate: 0 -1px;
}

.single-work-date {
  margin-bottom: 2rem;
}

.single-work-heading {
  text-align: center;
  padding-top: clamp(7.5rem, 18.7408491947vw, 16rem);
  margin-bottom: clamp(2.5rem, 9.3704245974vw, 8rem);
}
.single-work-heading .single-work-categories {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
@media screen and (max-width: 749px) {
  .single-work-heading {
    text-align: left;
  }
  .single-work-heading .single-work-categories {
    justify-content: flex-start;
    margin-top: 1rem;
  }
}

.single-work-title {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  font-family: var(--font-gothic-title);
}
.single-work-title__main {
  display: block;
  font-size: clamp(1.75rem, 4.39238653vw, 3.75rem);
}
.single-work-title__sub {
  display: block;
}
@media screen and (max-width: 749px) {
  .single-work-title {
    row-gap: 0.75rem;
  }
}

.single-work-visual {
  margin: 0;
}
.single-work-visual__wrapper {
  transform: scale(1);
  transition: opacity 1s ease-out, transform 1s var(--ease-out-quint);
  border-radius: clamp(0.375rem, 1.1713030747vw, 1rem);
  overflow: hidden;
  isolation: isolate;
  padding: clamp(0.75rem, 5.8565153734vw, 5rem);
  background-color: rgba(var(--color-gray-900)/1);
  border: 1px solid rgba(var(--color-gray-50)/0.15);
}
.loading .single-work-visual__wrapper, .transitioning .single-work-visual__wrapper {
  opacity: 0;
  transform: scale(0.95);
}
.single-work-visual__media .media {
  border-radius: 0.5rem;
}

.single-work-meta {
  margin-top: 2rem;
}
.single-work-meta__heading {
  margin-bottom: 3rem;
}
.single-work-meta .single-work-meta-grid {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 2.5rem;
}
.single-work-meta .grid-item__term {
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015em;
  margin-bottoM: 0.5rem;
  text-transform: uppercase;
  opacity: 0.5;
  letter-spacing: 0.075em;
  font-weight: 500;
}
.single-work-meta .grid-item a {
  border-bottom: 3px solid var(--border-ghost);
}
.single-work-meta .grid-item a:hover {
  border-color: rgb(var(--color-ash-50));
}
.single-work-meta .grid-item dd {
  word-break: break-word;
}
@media screen and (min-width: 750px) {
  .single-work-meta .grid-item--category a {
    margin-right: 1rem;
    margin-bottom: 0.5rem;
  }
  .single-work-meta .grid-item--category a:last-child {
    margin-right: 0;
  }
  .single-work-meta .grid-item--summary {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 749px) {
  .single-work-meta__wrapper {
    padding: 1rem 1.25rem 2.5rem;
  }
  .single-work-meta .single-work-meta-grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
  .single-work-meta .grid-item--category a {
    display: inline-block;
    margin-right: 1rem;
  }
}

.single-work-awards .award-list {
  width: 100%;
}
.single-work-awards .award-list__item {
  position: relative;
}
.single-work-awards .award-list__item th, .single-work-awards .award-list__item td {
  vertical-align: middle;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-ghost);
}
.single-work-awards .award-list__item th:first-child, .single-work-awards .award-list__item td:first-child {
  padding-left: 0;
}
.single-work-awards .award-list__item th:last-child, .single-work-awards .award-list__item td:last-child {
  padding-right: 0;
}
@media screen and (min-width: 1312px) {
  .single-work-awards .section-heading {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .single-work-awards .section-content {
    flex: 0 0 45.8333333333%;
    max-width: 45.8333333333%;
  }
}

.single-work-similar {
  --gap: var(--grid-gutter) / 2;
}
.single-work-similar__list:not(.flickity-enabled) {
  display: flex;
  overflow: auto;
  padding-top: 2rem;
}
.single-work-similar__list:not(.flickity-enabled) .article-card {
  flex: 0 0 100%;
}
.single-work-similar__list:not(.flickity-enabled) + .other-works__controls {
  opacity: 0;
}
@media screen and (max-width: 749px) {
  .single-work-similar__list:not(.flickity-enabled) .grid-item:not(:only-child) {
    --element-width: calc(100% * 0.8 - var(--gap));
  }
}
@media screen and (min-width: 750px) {
  .single-work-similar__list:not(.flickity-enabled) .grid-item {
    --element-width: calc(100% / 1.5 - var(--gap));
  }
}
@media screen and (min-width: 1056px) {
  .single-work-similar__list:not(.flickity-enabled) .grid-item {
    --element-width: calc(100% / 2 - var(--gap));
  }
}
@media screen and (min-width: 1312px) {
  .single-work-similar__list:not(.flickity-enabled) .grid-item {
    --element-width: calc(100% / 3 - var(--gap));
  }
}
.single-work-similar__list.flickity-enabled .article-card {
  transition: none;
}
.single-work-similar__list .flickity-viewport {
  overflow: visible !important;
}
.single-work-similar__list .grid-item {
  --element-width: 100%;
  margin-right: calc(var(--gap));
  flex: 0 0 var(--element-width);
  width: var(--element-width);
  max-width: var(--element-width);
}
@media screen and (max-width: 749px) {
  .single-work-similar__list .grid-item:not(:only-child) {
    --element-width: calc(100% * 0.8 - (var(--gap) / 2));
  }
}
@media screen and (min-width: 750px) {
  .single-work-similar__list .grid-item {
    --gap: 16px;
    --element-width: calc(100% / 1.5 - (var(--gap) / 2));
  }
}
@media screen and (min-width: 1056px) {
  .single-work-similar__list .grid-item {
    --gap: 32px;
    --element-width: calc(100% / 2 - (var(--gap) / 2));
  }
}
@media screen and (min-width: 1312px) {
  .single-work-similar__list .grid-item {
    --element-width: calc(100% / 3 - (var(--gap) / 2));
  }
}
@media screen and (min-width: 1584px) {
  .single-work-similar__list .grid-item {
    --element-width: calc(100% / 4 - (var(--gap) / 2));
  }
}
.single-work-similar__controls {
  position: absolute;
  right: var(--grid-padding);
  transition: opacity 1s ease-out;
}
.single-work-similar__buttons {
  display: flex;
  gap: 0.75rem;
}
.single-work-similar__button {
  padding: 0.4375rem;
  width: 4rem 0px;
  height: 2.5rem;
  border-radius: 0.25rem;
  cursor: pointer;
  border: 1px solid rgba(var(--color-gray-800)/1);
}
.single-work-similar__button:last-child {
  margin-right: 0;
}
.single-work-similar__button > * {
  pointer-events: none;
}
.single-work-similar__button .icon {
  width: 1.5rem;
  height: 1.5rem;
}
.single-work-similar__button:hover {
  background-color: rgba(var(--color-ash-50), 0.1);
}
.single-work-similar__button:active {
  background-color: rgba(var(--color-ash-50), 0.5);
}

.single-work-credits__grid {
  grid-template-columns: 1fr;
  -moz-column-gap: var(--grid-gutter);
       column-gap: var(--grid-gutter);
}
@media screen and (min-width: 1056px) {
  .single-work-credits__grid {
    row-gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.single-work-credits .credit-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
.single-work-credits .credit-group {
  width: 100%;
  padding-top: 0.75rem;
}
.single-work-credits .credit-group th, .single-work-credits .credit-group td {
  border-top: 1px solid var(--border-ghost);
  border-bottom: 1px solid var(--border-ghost);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  vertical-align: middle;
}
.single-work-credits .credit-group__label {
  text-align: left;
  padding-bottom: 0.5rem;
  opacity: 0.5;
  text-transform: uppercase;
}
.single-work-credits .credit-group__label:empty {
  display: none;
}
@media screen and (max-width: 749px) {
  .single-work-credits .credit-group__role {
    margin-bottom: 0.25rem;
  }
  .single-work-credits .credit-group__name {
    margin-bottom: 1.5rem;
  }
}

.has-custom-bg-color {
  background-color: var(--custom-bg-color);
}

.single-work-toc {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
}
.single-work-toc__label {
  flex: 0 0 100%;
}
.single-work-toc__track {
  --toc-progress-track-width: 2px;
  flex: 0 0 var(--toc-progress-track-width);
  position: relative;
  grid-area: track;
  background-color: rgba(var(--color-ash-50)/0.1);
  overflow: hidden;
  border-radius: 2px;
  margin-left: 0.25rem;
}
.single-work-toc__track::before {
  content: "";
  position: absolute;
  top: var(--y, 0);
  left: 0;
  width: 100%;
  height: var(--thumb-height, 0px);
  border-radius: inherit;
  background-color: rgba(var(--color-ash-50)/1);
  transition: top 300ms var(--ease-out-quint);
}
.single-work-toc__links {
  flex: 1 1 auto;
}
.single-work-toc #ez-toc-container {
  margin-bottom: 0;
}
.single-work-toc #ez-toc-container .current {
  color: rgba(var(--color-ash-100)/1);
}
@media screen and (max-width: 1311px) {
  .single-work-toc {
    border-bottom: 1px solid rgba(var(--border-color)/0.15);
    padding-bottom: 2rem;
  }
  .single-work-toc__track {
    margin-left: 0.625rem;
  }
}

.single-page-header {
  margin-bottom: 5vw;
  padding-top: 10vw;
  padding-bottom: 5vw;
  border-bottom: 1px solid var(--border-ghost);
}
@media screen and (max-width: 749px) {
  .single-page-header {
    margin-bottom: 10vw;
    padding-top: 25vw;
    padding-bottom: 10vw;
  }
}

.single-page-content {
  margin-bottom: 128px;
}
@media screen and (min-width: 1056px) {
  .single-page-content {
    flex: 0 0 83.3333333333%;
    margin-left: 8.3333333333%;
  }
}
@media screen and (min-width: 1584px) {
  .single-page-content {
    flex: 0 0 66.6666666667%;
    margin-left: 16.6666666667%;
  }
}

.wsp-container {
  margin-bottom: 63px;
  padding-top: 1px;
  padding-bottom: 1px;
}
.wsp-container .wsp-works-title {
  margin-bottom: 24px;
}
.wsp-container .wsp-category-title {
  font-weight: 400;
  text-transform: uppercase;
}
.wsp-container .wsp-category-title a {
  font-weight: bold;
  text-transform: initial;
}
.wsp-container ul li {
  list-style: none;
  position: relative;
  padding-left: 2.5em;
  margin: 1em 0;
  font-family: var(--font-monospace-code);
  color: var(--color-white-ghost-active);
}
.wsp-container ul li a {
  color: rgb(var(--color-ash-50));
  font-family: var(--font-gothic-body);
  border-bottom: 1px solid transparent;
}
.wsp-container ul li a:hover {
  border-bottom: 1px solid rgb(var(--color-ash-50));
}
.wsp-container ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-monospace-code);
  content: "├──";
}
.wsp-container ul li:last-child::before {
  content: "└──";
}
.wsp-container ul ul {
  transform: translate(-1em, 0);
}

.search-results {
  border-top: 1px solid rgb(var(--color-ash-50));
  padding-top: 10vw;
}
.search-results__heading {
  margin-bottom: 4rem;
  flex: 0 0 100%;
  max-width: 100%;
}
.search-results__content {
  flex: 0 0 100%;
  max-width: 100%;
  padding-bottom: 4rem;
}
.search-results__title__query::before {
  content: "“";
  opacity: 0.25;
  font-weight: 400;
}
.search-results__title__query::after {
  content: "”";
  opacity: 0.25;
  font-weight: 400;
}
.search-results__list {
  width: 100%;
}
.search-results__list td, .search-results__list th {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  vertical-align: middle;
}
.search-results__list thead th {
  text-transform: uppercase;
}
.search-results__list thead th, .search-results__list thead td {
  padding-top: 1em;
  padding-bottom: 1em;
  text-transform: uppercase;
  font-size: 0.75em;
  border-bottom: 1px solid rgb(var(--color-ash-50));
}
.search-results__list tbody .column-type {
  text-transform: uppercase;
}
.search-results__list tbody th, .search-results__list tbody td {
  border-bottom: 1px solid var(--border-ghost);
}
.search-results__list tbody tr:hover {
  background-color: rgba(var(--color-ash-50)/0.05);
}
.search-results__list .column-index {
  max-width: 4ch;
}
.search-results__list .column-title {
  max-width: 50%;
}
.search-results__list th:last-child, .search-results__list td:last-child {
  text-align: right;
}

.recruit-card {
  --element-text-color: rgb(var(--color-ash-900));
  --element-bg-color: rgb(var(--color-ash-50));
  --element-border-color: rgba(var(--color-ash-950) / .15);
  --border-radius: 4px;
  color: var(--element-text-color);
}
.recruit-card__wrapper {
  position: relative;
  border-top: 1px solid rgba(var(--color-white)/0.75);
  border-left: 1px solid rgba(var(--color-ash-950)/0.25);
  border-right: 1px solid rgba(var(--color-ash-950)/0.25);
  border-bottom: 1px solid rgba(var(--color-ash-950)/0.5);
  background-color: var(--element-bg-color);
  overflow: hidden;
  isolation: isolate;
  transition: color 200ms var(--ease-out-quint), background-color 200ms var(--ease-out-quint);
  border-radius: var(--border-radius);
}
.recruit-card__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 1.5rem;
  cursor: pointer;
}
@media screen and (min-width: 1056px) {
  .recruit-card__heading {
    min-height: 5rem;
  }
}
.recruit-card__title a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.recruit-card__status {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translate(0, -50%);
}
.recruit-card__toggle {
  right: 1rem;
  top: 50%;
  transform: translate(0, -50%);
}
.recruit-card__toggle span {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
}
.recruit-card__toggle span::before, .recruit-card__toggle span::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 1px;
  display: block;
  background-color: rgb(var(--color-ash-900));
  top: 50%;
  left: 50%;
}
.recruit-card__toggle span::before {
  transform: translate(-50%, -50%);
}
.recruit-card__toggle span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.recruit-card__content {
  border-top: 1px dashed transparent;
}
.recruit-card__content ul {
  list-style: disc;
  padding-left: 1.5em;
  margin: 1.5em 0;
}
.recruit-card__content ul li {
  list-style: disc;
}
.recruit-card__content li {
  margin: 0.5em 0;
}
.recruit-card.accordion-active .recruit-card__toggle {
  transform: translate(0, -50%) rotate(45deg);
}
.recruit-card .group:hover {
  --element-bg-color: rgb(var(--color-gray-300));
}
.recruit-card[data-recruit-status=inactive] .recruit-card__wrapper {
  cursor: not-allowed;
  color: var(--text-color-inactive);
  background-color: var(--bg-color-inactive);
  border: 1px solid var(--border-color-inactive);
}
.recruit-card[data-recruit-status=inactive] .recruit-card__status {
  color: var(--text-color-inactive);
}
.recruit-card[data-recruit-status=inactive] .recruit-card__toggle {
  display: none;
}
.recruit-card[data-recruit-status=inactive] .recruit-card__header {
  pointer-events: none;
}
.recruit-card--no-position {
  --element-text-color: rgb(var(--color-ash-50) / 0.75);
  --element-bg-color: rgb(var(--color-ash-800));
  --element-border-color: rgba(var(--color-ash-50) / .15);
}
.recruit-card--no-position .recruit-card__wrapper {
  display: flex;
  align-items: center;
  cursor: initial;
}
.recruit-card--no-position .recruit-card__header {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 749px) {
  .recruit-card__header {
    padding: 1.25rem;
  }
  .recruit-card__header__toggle {
    right: 0.5rem;
  }
  .recruit-card__content__wrapper {
    padding: 1.25rem;
  }
}

.home-recruit .subsection._lv2 .subsection-heading::before {
  content: "";
  display: block;
  margin-bottom: 8px;
  width: 100%;
  height: 1px;
  background-color: var(--border-ghost);
}

.single-recruit .single-article-heading .article-author {
  display: none;
}
.single-recruit .single-article-heading .article-date {
  display: none !important;
}
.single-recruit .article-info__cell--middle {
  margin-bottom: 5vw;
}
.single-recruit .article-info__cell--bottom {
  display: none;
}
.single-recruit .sidebar__block--related-posts {
  display: none;
}
.single-recruit .wp-block-table th, .single-recruit .wp-block-table td {
  word-break: auto-phrase;
}
.single-recruit .wp-block-table th {
  font-weight: 600;
  white-space: nowrap;
}
.single-recruit .wp-block-table td {
  font-family: var(--font-default);
}

.home-hero {
  height: 100vh;
}
.home-hero .section-wrapper {
  height: 100%;
  background-size: 16rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  isolation: isolate;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media screen and (min-width: 1312px) {
  .home-hero {
    margin-bottom: 8rem;
    height: 100vh;
  }
}
@media screen and (max-width: 749px) {
  .home-hero {
    height: 80vh;
  }
}
@media (min-aspect-ratio: 16/9) {
  .home-hero {
    min-height: 50vw;
  }
}

.home-services .service-column {
  --slide-width: calc(100% * 2 / 3);
  --border-radius: 6px;
  margin-bottom: 0.125rem;
  flex: 0 0 100%;
  transition-property: background-color, color, border-color;
  transition-duration: 500ms;
  transition-timing-function: var(--ease-out-quint);
}
.home-services .service-column__wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius);
  transition: border-radius 250ms var(--ease-out-quint);
}
.home-services .service-column__container {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1056px) {
  .home-services .service-column__container {
    border-top: 1px solid rgba(var(--color-ash-50)/0.1);
  }
}
.home-services .service-column__header {
  position: relative;
  display: flex;
  padding-top: 2.5rem;
  padding-bottom: 3rem;
  cursor: pointer;
}
.home-services .service-column__heading {
  flex: 0 0 45.8333333333%;
}
.home-services .service-column__title__main {
  white-space: nowrap;
}
.home-services .service-column__caption {
  display: flex;
  align-items: center;
  flex: 0 0 calc(45.8333333333% - 2.75rem);
  transition: color 250ms var(--ease-out-quint);
}
.home-services .service-column__title {
  display: flex;
  margin-bottom: 0.75rem;
  transition: all 500ms var(--ease-out-quint);
}
.home-services .service-column__title .button-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: rgba(var(--color-ash-50)/0.15);
  padding: 0.5rem;
  translate: 0 0.25rem;
  transition: 300ms var(--ease-out-quint);
}
@media screen and (max-width: 1055px) {
  .home-services .service-column__title .button-icon {
    translate: 0 0.125rem;
  }
}
.home-services .service-column__title__main {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.home-services .service-column__title a:hover .button-icon {
  translate: 0.25rem 0.25rem;
}
@media screen and (max-width: 1055px) {
  .home-services .service-column__title a:hover .button-icon {
    translate: 0.25rem 0.125rem;
  }
}
.home-services .service-column__toggle {
  --button-size: 44px;
  --icon-size: 32px;
  flex: 0 0 2.75rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: 16px;
}
.home-services .service-column__toggle__icon {
  --border-color: var(--color-ash-50);
  border-radius: 9999px;
  width: var(--button-size);
  height: var(--button-size);
  transition: 300ms var(--ease-out-quint);
  box-shadow: 0 0 0 1px rgba(var(--border-color)/0.15);
}
.home-services .service-column__toggle__icon::before, .home-services .service-column__toggle__icon::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  width: 1.5rem;
  height: 2px;
  background-color: rgb(var(--border-color));
  transition: inherit;
}
.home-services .service-column__toggle__icon::after {
  rotate: 90deg;
}
.home-services .service-column__toggle__label {
  inset: 0;
  white-space: nowrap;
  position: absolute;
}
.home-services .service-column__detail__wrapper {
  background-image: linear-gradient(to right, rgb(var(--color-ash-900)) 33%, hsla(0, 0%, 100%, 0) 0%);
  background-position: top;
  background-size: 0.5rem 1px;
  background-repeat: repeat-x;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.home-services .service-column__wipe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate(0, -101%);
  pointer-events: none;
  transition: 500ms var(--ease-out-quint);
  background-color: rgb(var(--color-ash-50));
}
.home-services .service-column__showcases {
  padding-left: calc(var(--grid-gutter) * 1);
  padding-right: calc(var(--grid-gutter) * 1);
  padding-top: 4px;
  padding-bottom: 2px;
  overflow: hidden;
}
.home-services .service-column__showcases .flickity-viewport {
  overflow: visible;
}
.home-services .service-column__showcases:not(.flickity-enabled) {
  display: flex;
  overflow-x: scroll;
  align-items: stretch;
}
.home-services .service-column__showcases .flickity-cell {
  width: var(--slide-width);
  max-width: 37.5rem;
  margin-right: 1rem;
}
.home-services .service-column__showcases .article-card {
  margin-top: 2px;
  margin-bottom: 2px;
}
.home-services .service-column:last-child .service-column__wrapper {
  border-bottom: 1px solid var(--border-ghost);
}
.home-services .service-column:last-child .service-column__content {
  border-bottom: 1px solid rgba(var(--color-ash-50)/0.1);
}
.home-services .service-column:hover .service-column__title {
  --underline-animation-thickness: 4px;
}
.home-services .service-column:hover .service-column__title .button-icon {
  background-color: rgba(var(--color-gray-950)/0.15);
}
.home-services .service-column:hover .service-column__title a:hover .button-icon {
  background-color: rgba(var(--color-gray-950)/1);
  color: rgba(var(--color-gray-50)/1);
}
.home-services .service-column.accordion-active {
  color: rgb(var(--color-ash-900));
}
.home-services .service-column.accordion-active .article-card {
  color: rgb(var(--color-ash-50));
}
.home-services .service-column.accordion-active .service-column__toggle__icon {
  --border-color: var(--color-ash-900);
  rotate: -135deg;
  background-color: rgb(var(--color-ash-900));
  box-shadow: 0 0 0 3px rgba(var(--border-color)/0.25);
}
.home-services .service-column.accordion-active .service-column__toggle__icon::before, .home-services .service-column.accordion-active .service-column__toggle__icon::after {
  background-color: rgb(var(--color-ash-50));
}
.home-services .service-column.accordion-active [data-accordion-toggle]:hover .service-column__toggle__icon {
  background-color: rgb(var(--color-ash-900));
}
.home-services .service-column.accordion-active [data-accordion-toggle]:hover .service-column__toggle__icon::before, .home-services .service-column.accordion-active [data-accordion-toggle]:hover .service-column__toggle__icon::after {
  background-color: rgb(var(--color-ash-50));
}
@media screen and (min-width: 750px) {
  .home-services .service-column {
    --slide-width: calc(100% / 1.5);
  }
}
@media screen and (min-width: 750px) and (max-width: 1311px) {
  .home-services .service-column__header {
    padding: 1.5rem 2rem;
  }
}
@media screen and (min-width: 1056px) {
  .home-services .service-column:hover {
    color: rgb(var(--color-ash-900));
  }
  .home-services .service-column:hover::before {
    left: 1rem;
  }
  .home-services .service-column [data-accordion-toggle]:hover .service-column__toggle__icon {
    border-color: rgb(var(--color-ash-900));
    border-color: var(--color-dark-ghost-active);
  }
  .home-services .service-column [data-accordion-toggle]:hover .service-column__toggle__icon::before, .home-services .service-column [data-accordion-toggle]:hover .service-column__toggle__icon::after {
    background-color: rgb(var(--color-ash-900));
  }
  .home-services .service-column.accordion-active .service-column__wrapper {
    border-radius: var(--border-radius);
  }
}
@media screen and (min-width: 1312px) {
  .home-services .service-column {
    --slide-width: calc(100% * 2 / 5);
  }
  .home-services .service-column:hover .service-column__title, .home-services .service-column.accordion-active .service-column__title {
    margin-left: clamp(1.5rem, 2.9282576867vw, 2.5rem);
  }
}
@media screen and (max-width: 1055px) {
  .home-services .service-column {
    margin-bottom: 0.5rem;
  }
  .home-services .service-column__wrapper {
    background-color: rgba(var(--color-ash-50)/0);
    border: 1px solid rgb(var(--border-color)/0.15);
    border-radius: 0.75rem;
  }
  .home-services .service-column__header {
    display: block;
  }
  .home-services .service-column__heading {
    margin-bottom: 1rem;
    flex-basis: 100%;
    max-width: 100%;
  }
  .home-services .service-column__title .button-icon {
    width: 1.5rem;
    height: 1.5rem;
    padding: 0.375rem;
  }
  .home-services .service-column__wipe {
    display: none;
  }
  .home-services .service-column__caption {
    opacity: 0.65;
    font-size: 0.875em;
    align-items: flex-start;
  }
  .home-services .service-column__toggle {
    position: absolute;
    flex: none;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    max-width: 100%;
    transform: scale(0.8);
    margin-right: 0;
  }
  .home-services .service-column__toggle__icon::before, .home-services .service-column__toggle__icon::after {
    background-color: rgb(var(--color-ash-50));
  }
  .home-services .service-column__detail__wrapper {
    padding-top: 1rem;
    padding-bottom: 0;
  }
  .home-services .service-column:hover {
    border-color: rgb(var(--border-color)/0.5);
  }
  .home-services .service-column.accordion-active .service-column__wrapper {
    color: rgb(var(--color-ash-900));
    background-color: rgb(var(--color-ash-50));
  }
}
@media screen and (max-width: 749px) {
  .home-services .service-column {
    margin-left: calc(var(--grid-padding) / 2 * -1);
    margin-right: calc(var(--grid-padding) / 2 * -1);
  }
  .home-services .service-column__header {
    padding: 1rem 1.25rem 2rem 1.25rem;
    transition: padding 0.5s var(--ease-out-quint);
  }
  .home-services .service-column__title {
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 1rem;
  }
  .home-services .service-column__caption {
    flex-basis: 100%;
    max-width: 100%;
  }
  .home-services .service-column__index {
    display: none;
    font-size: 2.5vw;
    top: 4px;
    left: 8px;
  }
  .home-services .service-column__caption {
    font-size: 0.75em;
  }
}

.index-works .article-card .image-wrapper {
  width: 100%;
  height: 0;
}
@media screen and (min-width: 1056px) {
  .index-works .article-card:first-child .article-card__wrapper {
    display: flex;
    flex-direction: column;
  }
  .index-works .article-card:first-child .article-card__info {
    order: 3;
  }
}

.index-blog .section-container {
  border-radius: 1rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
.index-blog .masonry-item {
  width: 100%;
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .index-blog .masonry-item {
    width: 50%;
    padding-left: calc(var(--grid-gutter) * 0.5);
    padding-right: calc(var(--grid-gutter) * 0.5);
  }
}
@media screen and (min-width: 1312px) {
  .index-blog .masonry-item {
    width: 33.3333333333%;
  }
}
.index-blog .article-card__excerpt {
  display: none;
}
.index-blog .article-card.has-no-thumbnail .article-card__wrapper {
  border: 1px solid var(--color-dark-ghost);
  background-color: var(--color-whitest);
  border-radius: 0.375rem;
  padding: 2rem;
}
@media screen and (max-width: 749px) {
  .index-blog .article-card.has-no-thumbnail .article-card__wrapper {
    padding: 1.5rem 1.5rem 1rem;
  }
}
.index-blog .article-card.has-no-thumbnail .article-card__excerpt {
  display: block;
}
.index-blog .article-card.has-no-thumbnail .article-card__detail {
  border: 1px solid transparent;
}

@media screen and (min-width: 750px) {
  .archive-grid--front-works {
    grid-template-columns: repeat(2, 1fr);
  }
  .archive-grid--front-works .grid-item:first-child {
    grid-column: 1/-1;
  }
}
@media screen and (min-width: 1312px) {
  .archive-grid--front-works {
    grid-template-columns: repeat(6, 1fr);
  }
  .archive-grid--front-works .grid-item {
    grid-column: span 2;
  }
  .archive-grid--front-works .grid-item:first-child {
    grid-column: 1/4;
  }
  .archive-grid--front-works .grid-item:nth-child(2) {
    grid-column: 4/7;
  }
}

.about .subsection-header {
  margin-bottom: 4rem;
  padding-top: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.about .subsection-container--card {
  border-radius: 1rem;
  background-color: rgb(var(--color-ash-100));
  color: rgb(var(--color-ash-900));
  padding-bottom: 5rem;
}
.about .text-wrapper {
  display: inline-block;
  overflow: hidden;
}
.about .text-content {
  display: inline-block;
  will-change: transform;
}
.about .about-philosophy-motto {
  margin-bottom: clamp(2rem, 4.6852122987vw, 4rem);
}
.about .our-vision .subsection.lazy-ready .subsection-label::before {
  width: 0.1%;
}
.about .our-vision .subsection.lazy-ready .text-content {
  transform: translateY(101%);
}
.about .our-vision .subsection.lazy-visible .subsection-label::before {
  transition: width 2s var(--transition-easing) 0.5s;
  width: 100%;
}
.about .our-vision .subsection.lazy-visible .text-content {
  transition: transform 1.5s var(--transition-easing);
  transform: translateY(0%);
}
@media screen and (max-width: 749px) {
  .about .our-vision .subsection-caption br {
    display: none;
  }
}

.about-office .office-branch {
  font-size: 100%;
  margin-bottom: 2rem;
}
.about-office .office-branch__container {
  border-radius: 1rem;
  overflow: hidden;
  isolation: isolate;
  background-color: rgb(var(--color-ash-50));
  color: var(--color-dark-solid);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.about-office .office-branch__visual {
  flex: none;
}
.about-office .office-branch__image {
  position: relative;
  width: 100%;
  background-color: var(--color-dark-ghost);
}
.about-office .office-branch__image:not(.flickity-enabled) .office-branch__image__item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
.about-office .office-branch__image.flickity-enabled .office-branch__image__item {
  width: 100%;
}
.about-office .office-branch__image .image-container {
  width: 100%;
}
.about-office .office-branch__image .image {
  opacity: 0;
  padding-bottom: var(--ratio);
}
@media screen and (max-width: 749px) {
  .about-office .office-branch__image .image {
    padding-bottom: 92%;
  }
}
.about-office .office-branch__image .image.lazy-loaded {
  opacity: 1;
  transition: opacity var(--transition-duration) ease-out, transform var(--transition-duration) var(--transition-easing);
}
.about-office .office-branch__image .flickity-page-dots {
  bottom: 16px;
  pointer-events: none;
  justify-content: flex-end;
  padding: 0 12px;
}
.about-office .office-branch__image .flickity-page-dot {
  background-color: var(--border-ghost);
  transition: background-color var(--transition-duration) ease-out;
  height: 3px;
  width: 24px;
  border-radius: 0;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.about-office .office-branch__image .flickity-page-dot.is-selected {
  background-color: rgb(var(--color-ash-50));
}
.about-office .office-branch__detail {
  flex: 1 1 0;
  padding: 1.5rem 2rem 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--grid-gutter);
}
@media screen and (min-width: 1056px) {
  .about-office .office-branch__detail {
    padding: 1.5rem;
  }
}
@media screen and (min-width: 1584px) {
  .about-office .office-branch__detail {
    grid-template-columns: 1fr auto;
  }
}
.about-office .office-branch__heading {
  position: relative;
  flex-basis: 66.6666666667%;
}
.about-office .office-branch__heading .cell-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  row-gap: 1rem;
}
@media screen and (min-width: 1584px) {
  .about-office .office-branch__detail {
    position: relative;
  }
  .about-office .office-branch__heading {
    position: static;
    margin-bottom: 4rem;
    flex-basis: 100%;
    max-width: 100%;
  }
  .about-office .office-branch__info {
    padding-top: 1rem;
  }
  .about-office .office-branch .office-map {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
  }
}
@media screen and (min-width: 1584px) {
  .about-office .office-branch .office-image {
    padding-bottom: 61.0465116279%;
  }
}

@media (min-width: 1056px) and (max-width: 1584px) {
  .about-teams .teams__branch__heading {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-ghost);
  }
}
@media screen and (max-width: 1583px) {
  .about-teams .teams__branch {
    margin-bottom: 4rem;
  }
}
.about-teams .staff-card {
  z-index: 1;
}
.about-teams .staff-card img {
  width: 100%;
  height: auto;
}
.about-teams .staff-card:hover {
  z-index: 2;
}
.about-teams .staff-card__content::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% + 128px);
}
.about-teams .staff-card__surface .staff-card__head::after {
  width: 0.8125rem;
}
.about-teams .staff-card__back {
  transform: rotateY(-180deg);
  background-color: var(--color-card-background);
  border: 1px solid var(--border-ghost);
}
.about-teams .staff-card__back .staff-card__head::after {
  right: auto;
  left: 0.5rem;
  background-color: rgb(var(--color-ash-50));
}
.about-teams .staff-card__head {
  width: 100%;
  height: 4rem;
  padding: 0.75rem 1rem 0;
}
@media screen and (max-width: 749px) {
  .about-teams .staff-card__head {
    padding: 0.5rem 0.75rem 0;
  }
}
.about-teams .staff-card__name {
  text-align: right;
}
@media screen and (max-width: 749px) {
  .about-teams .staff-card__name {
    text-align: left;
  }
}
.about-teams .staff-card._active .staff-card__front {
  transform: rotateY(-180deg);
}
.about-teams .staff-card._active .staff-card__back {
  transform: rotateY(0deg);
}

@media screen and (max-width: 1055px) {
  .about-philosophy .company-motto__text {
    display: inline-block;
    width: 100%;
  }
  .about-philosophy .company-motto__gif {
    pointer-events: none;
  }
  .about-philosophy .company-motto__gif__label {
    opacity: 0;
  }
  .about-philosophy .company-motto__gif__image {
    opacity: 1;
  }
}
@media screen and (max-width: 749px) {
  .about-philosophy .company-motto__cell {
    padding-left: 6.5vw;
    padding-right: 0;
  }
}

.about-philosophy-body__words {
  display: inline-block;
  text-align: left;
}
.about-philosophy-body__words.lazy-ready {
  opacity: 0;
  transform: translateY(1em);
}
.about-philosophy-body__words.lazy-seen {
  opacity: 1;
  transform: translateY(0em);
  transition: transform 2s var(--transition-easing) 0.5s, opacity 2s var(--transition-easing) 0.5s;
}
@media screen and (max-width: 749px) {
  .about-philosophy-body__words {
    display: inline;
  }
}
.about-philosophy-body__gap {
  display: block;
  height: 2em;
}

.about-value.lazy-ready .value-listitem::before, .about-value.lazy-ready .value-listitem::after {
  width: 0%;
}
.about-value.lazy-visible .value-listitem::before, .about-value.lazy-visible .value-listitem::after {
  width: 100%;
  transition: width 2s var(--transition-easing);
}
.about-value.lazy-visible .value-listitem:nth-child(1) .value-listitem__index .text-content {
  transition-delay: 350ms;
}
.about-value.lazy-visible .value-listitem:nth-child(1) .value-listitem__title .text-content {
  transition-delay: 450ms;
}
.about-value.lazy-visible .value-listitem:nth-child(1) .value-listitem__caption .text-content {
  transition-delay: 550ms;
}
.about-value.lazy-visible .value-listitem:nth-child(1)::after {
  transition-delay: 254ms;
}
.about-value.lazy-visible .value-listitem:nth-child(2) .value-listitem__index .text-content {
  transition-delay: 600ms;
}
.about-value.lazy-visible .value-listitem:nth-child(2) .value-listitem__title .text-content {
  transition-delay: 700ms;
}
.about-value.lazy-visible .value-listitem:nth-child(2) .value-listitem__caption .text-content {
  transition-delay: 800ms;
}
.about-value.lazy-visible .value-listitem:nth-child(2)::after {
  transition-delay: 504ms;
}
.about-value.lazy-visible .value-listitem:nth-child(3) .value-listitem__index .text-content {
  transition-delay: 850ms;
}
.about-value.lazy-visible .value-listitem:nth-child(3) .value-listitem__title .text-content {
  transition-delay: 950ms;
}
.about-value.lazy-visible .value-listitem:nth-child(3) .value-listitem__caption .text-content {
  transition-delay: 1050ms;
}
.about-value.lazy-visible .value-listitem:nth-child(3)::after {
  transition-delay: 754ms;
}
.about-value.lazy-visible .value-listitem:nth-child(4) .value-listitem__index .text-content {
  transition-delay: 1100ms;
}
.about-value.lazy-visible .value-listitem:nth-child(4) .value-listitem__title .text-content {
  transition-delay: 1200ms;
}
.about-value.lazy-visible .value-listitem:nth-child(4) .value-listitem__caption .text-content {
  transition-delay: 1300ms;
}
.about-value.lazy-visible .value-listitem:nth-child(4)::after {
  transition-delay: 1004ms;
}
.about-value.lazy-visible .value-listitem:nth-child(5) .value-listitem__index .text-content {
  transition-delay: 1350ms;
}
.about-value.lazy-visible .value-listitem:nth-child(5) .value-listitem__title .text-content {
  transition-delay: 1450ms;
}
.about-value.lazy-visible .value-listitem:nth-child(5) .value-listitem__caption .text-content {
  transition-delay: 1550ms;
}
.about-value.lazy-visible .value-listitem:nth-child(5)::after {
  transition-delay: 1254ms;
}
.about-value.lazy-visible .value-listitem:nth-child(6) .value-listitem__index .text-content {
  transition-delay: 1600ms;
}
.about-value.lazy-visible .value-listitem:nth-child(6) .value-listitem__title .text-content {
  transition-delay: 1700ms;
}
.about-value.lazy-visible .value-listitem:nth-child(6) .value-listitem__caption .text-content {
  transition-delay: 1800ms;
}
.about-value.lazy-visible .value-listitem:nth-child(6)::after {
  transition-delay: 1504ms;
}
.about-value.lazy-visible .value-listitem:nth-child(7) .value-listitem__index .text-content {
  transition-delay: 1850ms;
}
.about-value.lazy-visible .value-listitem:nth-child(7) .value-listitem__title .text-content {
  transition-delay: 1950ms;
}
.about-value.lazy-visible .value-listitem:nth-child(7) .value-listitem__caption .text-content {
  transition-delay: 2050ms;
}
.about-value.lazy-visible .value-listitem:nth-child(7)::after {
  transition-delay: 1754ms;
}
.about-value.lazy-visible .value-listitem:nth-child(8) .value-listitem__index .text-content {
  transition-delay: 2100ms;
}
.about-value.lazy-visible .value-listitem:nth-child(8) .value-listitem__title .text-content {
  transition-delay: 2200ms;
}
.about-value.lazy-visible .value-listitem:nth-child(8) .value-listitem__caption .text-content {
  transition-delay: 2300ms;
}
.about-value.lazy-visible .value-listitem:nth-child(8)::after {
  transition-delay: 2004ms;
}

.about-value-listitem {
  position: relative;
  transition: 0.5s var(--transition-easing);
  border-radius: 0px;
}
.about-value-listitem::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  flex-basis: 100%;
  background-color: var(--color-dark-ghost);
}
.about-value-listitem:last-child::after {
  display: none;
}
@media screen and (max-width: 749px) {
  .about-value-listitem {
    flex-wrap: wrap;
    flex-direction: row;
    align-items: baseline;
  }
}

.about-awards .section-content {
  display: flex;
  flex-wrap: wrap;
}
.about-awards .award-list {
  width: 100%;
}
@media screen and (max-width: 749px) {
  .about-awards .award-group--head {
    display: none;
  }
}
.about-awards .award-item {
  --border-color: var(--border-color-dark);
  display: table-row;
  position: relative;
  transition: var(--transition-duration) var(--transition-easing);
}
.about-awards .award-item__heading {
  transition-property: padding-left, padding-right;
  transition-duration: var(--transition-duration);
  transition-timing-function: var(--transition-easing);
  padding-right: 2rem;
}
.about-awards .award-item__cell {
  transition-property: padding-left, padding-right;
  transition-duration: var(--transition-duration);
  transition-timing-function: var(--transition-easing);
}
.about-awards .award-item__cell--date {
  text-align: right;
}
.about-awards .award-item__link .icon {
  fill: currentColor;
  position: absolute;
  opacity: 0;
  transition: var(--transition-duration) var(--transition-easing);
  width: 1rem;
  height: 1rem;
}
.about-awards .award-item.has-link:hover {
  color: rgb(var(--color-ash-900));
  background-color: rgb(var(--color-ash-100));
}
@media screen and (min-width: 750px) {
  .about-awards .award-item.has-link:hover .award-item__heading {
    padding-left: 2rem;
    padding-right: 0;
  }
}
@media screen and (max-width: 749px) {
  .about-awards .award-item.has-link:hover {
    padding-left: 1rem;
  }
  .about-awards .award-item.has-link:hover .award-item__link .icon {
    opacity: 1;
  }
}
@media screen and (min-width: 750px) {
  .about-awards .award-item__cell {
    display: table-cell;
    vertical-align: middle;
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-right: 0.5rem;
    border-bottom: 1px solid rgba(var(--border-color-dark)/0.15);
  }
}
@media screen and (max-width: 749px) {
  .about-awards .award-item {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid rgba(var(--border-color)/0.15);
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
  }
  .about-awards .award-item:last-child {
    border-bottom: 1px solid rgba(var(--border-color-dark)/0.15);
  }
  .about-awards .award-item__cell {
    display: block;
    border: 0;
  }
  .about-awards .award-item__cell--heading {
    margin-top: 0.625rem;
  }
  .about-awards .award-item__cell--heading {
    margin-bottom: 0;
    flex: 0 0 100%;
    width: 100%;
  }
  .about-awards .award-item__cell--date {
    order: -2;
    margin-right: 1rem;
    flex: none;
  }
  .about-awards .award-item__cell--host {
    flex: 0 0 80%;
    order: -1;
    opacity: 0.5;
    padding-right: 2rem;
  }
  .about-awards .award-item__link .icon {
    position: absolute;
    top: 1.25rem;
    right: 1rem;
    opacity: 1;
    fill: currentColor;
    opacity: 0.5;
  }
}

.about-partners__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 749px) {
  .about-partners__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media screen and (max-width: 1311px) {
  .about-partners__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
}
.about-partners .grid-item.lazy-ready {
  opacity: 0;
  transform: translate(0, 10%);
}
.about-partners .grid-item.lazy-seen {
  opacity: 1;
  transform: translate(0, 0%);
  transition: transform 500ms var(--ease-mixpanel), opacity 500ms var(--ease-out-quint);
}
.about-partners .partner-listitem__container {
  position: relative;
}
.about-partners .partner-listitem__image {
  border-radius: 0.375rem;
  overflow: hidden;
  isolation: isolate;
}
.about-partners .partner-listitem__image .image-container {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}
.about-partners .partner-listitem__image .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.about-partners .partner-listitem__image__caption {
  display: none;
}
.about-partners .partner-listitem__link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  -webkit-backface-visibility: visible;
          backface-visibility: visible;
  transition-property: background-color, -webkit-backdrop-filter;
  transition-property: background-color, backdrop-filter;
  transition-property: background-color, backdrop-filter, -webkit-backdrop-filter;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-quint);
  background-color: rgba(var(--color-ash-950), 0);
  -webkit-backdrop-filter: blur(0px);
          backdrop-filter: blur(0px);
}
.about-partners .partner-listitem__link .icon {
  width: 25%;
  height: auto;
  pointer-events: none;
  position: absolute;
  top: 55%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(180deg) scale(0.8);
  transition: 300ms var(--ease-out-quint);
}
.about-partners .partner-listitem__link:hover {
  background-color: rgba(var(--color-ash-950)/0.75);
}
.about-partners .partner-listitem__link:hover .icon {
  top: 50%;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
}
.about-partners .partner-listitem--last .partner-listitem__image {
  background-color: var(--border-ghost);
}
.about-partners .partner-listitem--last .partner-listitem__last-message {
  position: absolute;
  top: 50%;
  left: 0;
  padding: 0 32px;
  width: 100%;
  transform: translate(0%, -50%);
  text-align: center;
  font-style: italic;
}
@media screen and (max-width: 749px) {
  .about-partners .partner-listitem--last {
    font-size: 0.8125rem;
  }
}
.contact .wp-block-columns {
  --grid-gutter: 5rem;
}
.contact .hbspt-form ~ .hbspt-form {
  display: none;
}

.editor-content .hbspt-form {
  padding: clamp(1.25rem, 4.6852122987vw, 4rem);
  background-color: rgb(var(--color-ash-100));
  border-radius: 0.375rem;
  filter: none !important;
}

@media (max-width: 781px) {
  .wp-block-column .hbspt-form {
    margin-top: clamp(1.25rem, 4.6852122987vw, 4rem);
  }
}
.page-services {
  --accent-color: currentColor;
  padding-top: 4.5rem;
  font-family: Inter, system-ui, sans-serif;
  color: rgb(var(--text-color));
  background-color: rgb(var(--color-ash-100));
}
.page-services .flickity-viewport {
  overflow: visible !important;
}
.page-services img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.page-services svg[fill=none] {
  fill: none;
}
.page-services .text-color-accent {
  color: var(--accent-color);
}
.page-services .bg-color-accent {
  background-color: var(--accent-color);
}
.page-services .accent-orange {
  --text-color: #ffffff;
  --accent-color: #F55E39;
}
.page-services .accent-green {
  --text-color: #ffffff;
  --accent-color: #3CBF79;
}
.page-services .accent-sky {
  --text-color: #ffffff;
  --accent-color: #159FEA;
}
.page-services .accent-blue {
  --text-color: #ffffff;
  --accent-color: #467BE9;
}
.page-services .accent-reset {
  --text-color: rgb(var(--color-ash-700));
  --accent-color: currentColor;
}
.page-services .text-color-reset {
  --text-color: rgb(var(--color-ash-700));
  color: var(--text-color);
}
.page-services .service-fv {
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
  padding: 1.25rem 2.1875rem;
}
.page-services .service-fv .grid-card {
  position: relative;
  display: flex;
  background-color: #ffffff;
  border-radius: 0.625rem;
  overflow: hidden;
  isolation: isolate;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.page-services .service-fv .grid-card__content {
  flex: 0 0 100%;
}
.page-services .service-fv .grid-card--image .grid-card__content {
  display: flex;
}
.page-services .service-fv .grid-card .flickity-cell {
  width: 100%;
}
.page-services .service-fv .grid-card .media {
  --ratio: 100%;
}
.page-services .service-fv .grid-card__media-slider {
  flex: 0 0 100%;
}
.page-services .service-fv .grid-card__media-wrapper {
  display: flex;
  flex: 0 0 100%;
  width: 100%;
}
.page-services .service-fv .grid-card__media {
  display: flex;
  width: 100%;
}
.page-services .service-fv .grid-card--first {
  grid-column: 1/span 2;
}
.page-services .service-fv .grid-card--first::before {
  padding-bottom: 0%;
}
.page-services .service-fv .grid-card--first h1 {
  font-size: clamp(1.75rem, 3.2vw, 2.875rem);
  font-weight: 700;
}
.page-services .service-fv .grid-card--first .grid-card__content {
  padding: 2.5rem 3rem 1.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
}
.page-services .service-fv .grid-card--text .grid-card__content {
  padding: clamp(1rem, 2.67vw, 2.5rem);
}
.page-services .service-fv .grid-card--white {
  text-align: center;
}
.page-services .service-fv .grid-card--white .grid-card__content {
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.875rem;
}
.page-services .service-fv .grid-card--image .flickity-page-dots {
  bottom: 10px;
}
.page-services .service-fv .grid-card--image .flickity-page-dot {
  background: hsla(0, 0%, 100%, 0.5);
}
.page-services .service-fv .grid-card--image .flickity-page-dot.is-selected {
  background: hsl(0, 0%, 100%);
}
.page-services .service-fv .grid-card.has-accent {
  color: var(--text-color);
  background-color: var(--accent-color);
}
.page-services .service-fv .grid-card.has-accent svg {
  stroke: var(--accent-color);
}
.page-services .service-fv .grid-card__index {
  font-size: clamp(1rem, 1.667vw, 1.5rem);
  margin-bottom: clamp(1.25rem, 2.22vw, 2rem);
}
.page-services .service-fv .grid-card__doodle {
  position: absolute;
  display: flex;
  top: clamp(18px, 2.4vw, 35px);
  right: clamp(18px, 2.4vw, 30px);
  width: clamp(32px, 5vw, 72px);
  height: auto;
}
.page-services .service-fv .grid-card__title {
  font-size: clamp(1rem, 2vw, 3rem);
  font-weight: bold;
}
.page-services .service-fv .grid-card__title-big {
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: bold;
}
@media screen and (min-width: 1312px) {
  .page-services .service-fv .grid-card__title-big {
    font-size: clamp(1.25rem, 2.2vw, 3rem);
  }
}
.page-services .service-fv .grid-card__arrow {
  position: absolute;
  bottom: clamp(12px, 1.389vw, 20px);
  right: clamp(12px, 1.389vw, 20px);
  background-color: #ffffff;
  border-radius: 9999px;
  width: clamp(1.875rem, 4.12vw, 3.75rem);
  height: clamp(1.875rem, 4.12vw, 3.75rem);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: translate 350ms var(--ease-out-quint);
}
.page-services .service-fv .grid-card__arrow svg {
  width: clamp(12px, 1.389vw, 20px);
  height: clamp(12px, 1.389vw, 20px);
}
.page-services .service-fv .grid-card__arrow:hover {
  translate: 0 8px;
}
.page-services .service-fv .grid-card:nth-child(1) {
  order: 1;
}
.page-services .service-fv .grid-card:nth-child(2) {
  order: 2;
}
.page-services .service-fv .grid-card:nth-child(3) {
  order: 3;
}
.page-services .service-fv .grid-card:nth-child(4) {
  order: 4;
}
.page-services .service-fv .grid-card:nth-child(5) {
  order: 5;
}
.page-services .service-fv .grid-card:nth-child(6) {
  order: 6;
}
.page-services .service-fv .grid-card:nth-child(7) {
  order: 7;
}
.page-services .service-fv .grid-card:nth-child(8) {
  order: 8;
}
.page-services .service-fv .grid-card:nth-child(9) {
  order: 9;
}
.page-services .service-fv .grid-card:nth-child(10) {
  order: 10;
}
.page-services .service-fv .grid-card:nth-child(11) {
  order: 11;
}
.page-services .service-fv .grid-card:nth-child(12) {
  order: 12;
}
@media screen and (max-width: 1311px) {
  .page-services .service-fv.container {
    max-width: 100%;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-fv {
    grid-template-columns: repeat(2, 1fr);
    padding: 0.625rem;
  }
  .page-services .service-fv.container {
    max-width: 100%;
  }
  .page-services .service-fv .grid-card--text .grid-card__content {
    padding: 1.125rem 0.875rem;
  }
  .page-services .service-fv .grid-card:nth-child(6) {
    order: 7;
  }
  .page-services .service-fv .grid-card:nth-child(7) {
    order: 6;
  }
  .page-services .service-fv .grid-card:nth-child(8) {
    order: 9;
  }
  .page-services .service-fv .grid-card:nth-child(9) {
    order: 7;
  }
  .page-services .service-fv .grid-card__title {
    font-size: clamp(0.875rem, 4vw, 2rem);
  }
  .page-services .service-fv .grid-card__anchor svg path {
    stroke-width: 2px;
  }
  .page-services .service-fv .grid-card--white .grid-card__title-big {
    font-size: 1.25rem;
  }
}
.page-services .service-section {
  position: relative;
  overflow: hidden;
}
.page-services .service-section-index {
  color: var(--accent-color);
  font-size: 2.5rem;
}
.page-services .service-section-title {
  margin-bottom: 1.875rem;
  font-size: clamp(1.5rem, 2.36vw, 2.125rem);
  font-weight: 700;
  letter-spacing: 0.025em;
}
.page-services .service-section-description {
  font-size: clamp(0.9375rem, 1.19vw, 1.0625rem);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.page-services .service-section-description p {
  font-size: inherit;
  line-height: inherit;
}
.page-services .bg-color-accent {
  background-color: var(--accent-color);
}
.page-services .service-section-body {
  color: var(--text-color);
}
.page-services .service-section-body.has-space-around {
  padding: 5.625rem 3.125rem;
}
@media screen and (max-width: 749px) {
  .page-services .service-section-body.has-space-around {
    padding: 3.75rem 1.25rem;
  }
}
.page-services .service-subsection {
  position: relative;
  overflow: hidden;
}
.page-services .service-subsection + .service-subsection {
  margin-top: 5.625rem;
}
@media screen and (max-width: 749px) {
  .page-services .service-subsection.container {
    max-width: 100%;
  }
}
.page-services .service-subsection-title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
}
@media screen and (max-width: 749px) {
  .page-services .service-subsection-title {
    font-size: 1.375rem;
  }
}
.page-services .service-subsection-content {
  background-color: #ffffff;
  border-radius: 0.625rem;
  padding: 2.5rem 2.1875rem 2.75rem;
}
@media screen and (max-width: 749px) {
  .page-services .service-subsection-content {
    padding: 1.5rem 1.25rem 1.875rem;
  }
}
.page-services .service-subsection-visual {
  display: flex;
  border-radius: 0.625rem;
  overflow: hidden;
  isolation: isolate;
  margin-bottom: 1.875rem;
}
.page-services .service-subsection-visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-services .service-subsection-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding-left: 2.375rem;
  padding-right: 2.375rem;
  color: rgb(var(--color-ash-700));
}
.page-services .service-subsection-columns ul li::before {
  position: absolute;
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--accent-color);
  left: 0.625rem;
  top: 0.90625rem;
}
.page-services .service-subsection-columns li {
  position: relative;
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem;
  padding-left: 1.875rem;
  font-weight: 600;
}
@media screen and (max-width: 749px) {
  .page-services .service-subsection-columns {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.page-services .service-section-01,
.page-services .service-section-04 {
  border-top: 1px solid var(--accent-color);
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.page-services .service-section-01 .service-section-index,
.page-services .service-section-04 .service-section-index {
  padding-left: 2.75rem;
}
.page-services .service-section-01 .service-section-header,
.page-services .service-section-04 .service-section-header {
  display: grid;
  grid-template-columns: 7fr 14fr;
  gap: 1.5rem;
  padding: 5rem 3.125rem 3.75rem;
}
@media screen and (max-width: 1311px) {
  .page-services .service-section-01 .service-section-header.container,
  .page-services .service-section-04 .service-section-header.container {
    max-width: 100%;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-01 .service-section-header,
  .page-services .service-section-04 .service-section-header {
    display: block;
    padding: 3.125rem 1.5rem 2.5rem;
  }
  .page-services .service-section-01 .service-section-index,
  .page-services .service-section-04 .service-section-index {
    padding-left: 0;
    margin-bottom: 1.25rem;
    font-size: 1.875rem;
  }
  .page-services .service-section-01 .service-section-title,
  .page-services .service-section-04 .service-section-title {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .page-services .service-section-01 .service-section-description,
  .page-services .service-section-04 .service-section-description {
    font-size: 0.9375rem;
  }
  .page-services .service-section-01 .service-section-description br,
  .page-services .service-section-04 .service-section-description br {
    display: none;
  }
}
.page-services .service-section-01 .service-section-body {
  background-image: url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-s01-doogle.svg), url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-s01-doogle.svg);
  background-repeat: no-repeat;
  background-position: -3% 97%, 103% 3%;
}
.page-services .service-section-01 .column-image {
  display: flex;
  background-color: lightgray;
  margin-bottom: 1rem;
  border-radius: 0.625rem;
  overflow: hidden;
  isolation: isolate;
}
.page-services .service-section-01 .column-image::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: 100%;
}
.page-services .service-section-01 .column-title {
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--accent-color);
  padding-bottom: 0.75rem;
  padding-left: 0.375rem;
  color: var(--accent-color);
  font-size: clamp(1.25rem, 1.67vw, 1.5rem);
  font-weight: 600;
}
.page-services .service-section-01 .service-subsection-02 .service-subsection-columns {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 1311px) {
  .page-services .service-section-01 .service-subsection-columns {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-01 .service-subsection-01 .service-subsection-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
  .page-services .service-section-01 .service-subsection-02 .service-subsection-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .page-services .service-section-01 .service-subsection-02 .service-subsection-content {
    background-color: transparent;
    padding: 0;
  }
  .page-services .service-section-01 .service-subsection-02 .column {
    background-color: #ffffff;
    padding: 0.9375rem;
    border-radius: 0.625rem;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-01 .service-subsection-02 .service-subsection-columns {
    grid-template-columns: repeat(1, 1fr);
  }
}
.page-services .service-section-awards {
  margin-top: 7.125rem;
  margin-bottom: 11.25rem;
  border-top: 0;
}
@media screen and (min-width: 1312px) {
  .page-services .service-section-awards .service-section-wrapper {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
.page-services .service-section-awards-carousel .award-cell {
  width: 30%;
  transition-property: width, flex;
  transition-duration: 350ms;
  transition-timing-function: ease-out;
}
.page-services .service-section-awards-carousel .award-cell__wrapper {
  scale: 0.75;
  padding: 0 0rem;
  transition: scale 350ms ease-out;
}
.page-services .service-section-awards-carousel .award-cell__image {
  display: flex;
  border-radius: 0.625rem;
  overflow: hidden;
  isolation: isolate;
}
.page-services .service-section-awards-carousel .award-cell__image::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: 68.9655172414%;
}
.page-services .service-section-awards-carousel .award-cell__info {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  padding: 1.75rem 2.5rem 1.5rem;
  margin-top: -1.875rem;
  margin-left: -3rem;
  margin-right: -3rem;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: all 350ms ease-out;
}
.page-services .service-section-awards-carousel .award-cell__title {
  font-weight: 600;
  font-size: 1.125rem;
}
.page-services .service-section-awards-carousel .award-cell__link a {
  display: flex;
  gap: 0.5rem;
}
.page-services .service-section-awards-carousel .award-cell__link__icon {
  display: flex;
}
.page-services .service-section-awards-carousel .award-cell__link__label {
  display: flex;
}
.page-services .service-section-awards-carousel .award-cell.is-selected {
  z-index: 4;
}
.page-services .service-section-awards-carousel .award-cell.is-selected .award-cell__wrapper {
  scale: 1;
}
.page-services .service-section-awards-carousel .award-cell.is-selected .award-cell__info {
  opacity: 1;
}
.page-services .service-section-awards-carousel .flickity-prev-next-button {
  width: clamp(3.125rem, 5.2vw, 4.6875rem);
  height: clamp(3.125rem, 5.2vw, 4.6875rem);
}
.page-services .service-section-awards-carousel .flickity-prev-next-button svg path {
  d: path("M68.2549 5.17163L71.0833 8.00006L28.6569 50.4265L71.0833 92.8529L68.2549 95.6813L23 50.4265L68.2549 5.17163Z");
}
.page-services .service-section-awards-carousel .flickity-prev-next-button.previous {
  left: 25%;
  top: 75%;
}
.page-services .service-section-awards-carousel .flickity-prev-next-button.next {
  right: 25%;
  top: 75%;
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-awards-carousel .award-cell {
    width: 80%;
  }
  .page-services .service-section-awards-carousel .award-cell__wrapper {
    scale: 0.9;
    padding: 0 0rem;
    transition: scale 350ms ease-out;
  }
  .page-services .service-section-awards-carousel .award-cell__info {
    margin-top: -1.875rem;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .page-services .service-section-awards-carousel .flickity-prev-next-button.previous {
    left: 0.5rem;
    top: 60vw;
  }
  .page-services .service-section-awards-carousel .flickity-prev-next-button.next {
    right: 0.5rem;
    top: 60vw;
  }
}
.page-services .service-section-awards-carousel .flickity-button {
  background-color: transparent;
}
@media screen and (max-width: 749px) {
  .page-services .service-section-awards-carousel .flickity-prev-next-button.previous {
    left: -1rem;
    top: 75%;
  }
  .page-services .service-section-awards-carousel .flickity-prev-next-button.next {
    right: -1rem;
    top: 75%;
  }
}
.page-services .service-section-awards-title {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 3rem;
}
.page-services .service-section-02,
.page-services .service-section-03 {
  --page-gutter: 5.75rem;
  padding-bottom: 11.25rem;
}
.page-services .service-section-02 .service-section-container,
.page-services .service-section-03 .service-section-container {
  display: grid;
  grid-template-columns: 8fr 11fr;
}
.page-services .service-section-02 .service-section-index,
.page-services .service-section-03 .service-section-index {
  margin-bottom: 3.125rem;
  border-bottom: 1px solid var(--accent-color);
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}
.page-services .service-section-02 .service-section-title,
.page-services .service-section-03 .service-section-title {
  line-height: 1.9;
  padding-left: var(--page-gutter);
}
.page-services .service-section-02 .service-section-description,
.page-services .service-section-03 .service-section-description {
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}
.page-services .service-section-02 .service-section-body,
.page-services .service-section-03 .service-section-body {
  padding: 3.125rem;
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
}
.page-services .service-section-02 .service-section-visual,
.page-services .service-section-03 .service-section-visual {
  margin-right: -167px;
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-02,
  .page-services .service-section-03 {
    --page-gutter: 2.5rem;
    padding-bottom: 0;
  }
  .page-services .service-section-02 .service-section-container,
  .page-services .service-section-03 .service-section-container {
    grid-template-columns: 1fr;
  }
  .page-services .service-section-02 .service-section-header,
  .page-services .service-section-03 .service-section-header {
    padding-bottom: 2.5rem;
  }
  .page-services .service-section-02 .service-section-index,
  .page-services .service-section-03 .service-section-index {
    padding: 3.125rem var(--page-gutter) 1.25rem;
  }
  .page-services .service-section-02 .service-section-title,
  .page-services .service-section-03 .service-section-title {
    padding: 0 var(--page-gutter);
  }
  .page-services .service-section-02 .service-section-description,
  .page-services .service-section-03 .service-section-description {
    padding: 0 var(--page-gutter);
  }
}
.page-services .service-section-02 .service-section-header {
  position: relative;
  overflow: hidden;
}
.page-services .service-section-02 .service-section-header::after {
  content: "";
  margin-top: 5rem;
  translate: -5vw;
  display: block;
  background-image: url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-02-doodle.svg);
  width: 17.1875rem;
  height: 3.125rem;
  background-size: 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-02 .service-section-body {
    margin-left: 1.25rem;
    padding: 1.5rem;
  }
  .page-services .service-section-02 .service-section-header {
    padding-bottom: 6.25rem;
  }
}
.page-services .service-section-03 {
  padding-top: 3.75rem;
}
.page-services .service-section-03 .service-section-wrapper {
  position: relative;
}
.page-services .service-section-03 .service-section-wrapper::after {
  content: "";
  position: absolute;
  bottom: 8.5%;
  right: 0.75%;
  display: block;
  background: url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-team-doodle.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 18.375rem;
  height: 8.75rem;
}
@media screen and (max-width: 749px) {
  .page-services .service-section-03 .service-section-wrapper {
    padding-bottom: 64px;
  }
  .page-services .service-section-03 .service-section-wrapper::after {
    scale: 0.75;
    bottom: 0;
    translate: 25% 0px;
  }
}
.page-services .service-section-03 .service-section-body {
  padding-top: 0;
  padding-right: 3.125rem;
  padding-left: 1.5rem;
  padding-bottom: 3.75rem;
}
.page-services .service-section-03 .columns {
  position: relative;
  margin-top: -3.75rem;
  margin-left: 8.3333333333%;
  margin-right: 25%;
}
@media screen and (max-width: 749px) {
  .page-services .service-section-03 .columns {
    padding-bottom: 3.5rem;
  }
}
.page-services .service-section-03 .column + .column {
  margin-top: 3.75rem;
}
.page-services .service-section-03 .column-image {
  position: relative;
  display: flex;
  margin-bottom: 1.125rem;
  border-radius: 0.625rem;
  background-color: lightgray;
  overflow: hidden;
  isolation: isolate;
}
.page-services .service-section-03 .column-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-services .service-section-03 .column-image::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: 54.9450549451%;
}
.page-services .service-section-03 .column-title {
  margin-bottom: 0.5rem;
  color: currentColor;
  font-size: 1.125rem;
  font-weight: 600;
}
.page-services .service-section-03 .column-body {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-03 .service-section-body {
    margin-left: 1.25rem;
    padding: 1.5rem;
  }
  .page-services .service-section-03 .columns {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }
}
.page-services .service-section-04 .service-section-body {
  background-image: url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-doodle-blue.svg), url(https://masudakohboh.com/wp/wp-content/uploads/2025/06/service-doodle-blue.svg);
  background-position: -3% 97%, 103% 3%;
  background-repeat: no-repeat;
}
.page-services .service-section-04 .service-subsection-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
.page-services .service-section-04 .partner-column {
  position: relative;
  color: var(--text-color-default);
  background-color: #ffffff;
  padding: 2.5rem 2rem 0;
  border-radius: 0.625rem;
  height: 100%;
}
.page-services .service-section-04 .partner-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  display: inline-block;
  width: 2.5rem;
  height: 0.5rem;
  background-color: var(--accent-color);
}
.page-services .service-section-04 .partner-column-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-services .service-section-04 .partner-column-tagline {
  color: var(--accent-color);
  font-weight: 600;
  text-align: center;
  margin-bottom: 1.75rem;
  counter-reset: index 1;
  counter-increment: index;
}
.page-services .service-section-04 .partner-column-tagline::before {
  content: "Partnership Case" counter(index, decimal-leading-zero);
}
.page-services .service-section-04 .partner-column-client-logo {
  margin-bottom: 2.25rem;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
}
.page-services .service-section-04 .partner-column-client-logo .media {
  display: flex;
}
.page-services .service-section-04 .partner-column-client-logo .media::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: 100%;
}
.page-services .service-section-04 .partner-column-duration {
  margin-bottom: 2.5rem;
  text-align: center;
}
.page-services .service-section-04 .partner-column-duration__label {
  font-weight: 600;
}
.page-services .service-section-04 .partner-column-duration__number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: var(--accent-color);
  font-weight: 700;
  font-size: 1.25rem;
}
.page-services .service-section-04 .partner-column-duration__number strong {
  display: inline-block;
  font-size: 2.8125rem;
  margin-right: 0.25rem;
  translate: 0 2px;
  line-height: 1;
}
.page-services .service-section-04 .partner-column-body {
  flex: 1 1 auto;
  padding-bottom: 2.25rem;
  padding-left: 0.625rem;
}
.page-services .service-section-04 .partner-column-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
}
.page-services .service-section-04 .partner-column-gallery .media {
  --ratio: 100%;
  border-radius: 0.625rem;
  overflow: hidden;
  isolation: isolate;
}
.page-services .service-section-04 .partner-column-ending {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
  margin-top: 2rem;
}
.page-services .service-section-04 .partner-column-ending::before {
  content: "etc";
  display: block;
  color: rgb(var(--color-indigo-200));
  font-size: 0.875rem;
}
.page-services .service-section-04 .partner-column-ending::after {
  content: "";
  display: block;
  width: 4px;
  height: 44px;
  background-image: url("data:image/svg+xml,%3Csvg width='4' height='47' viewBox='0 0 4 47' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 2V42' stroke='%23A8BEEA' stroke-width='3' stroke-linecap='round' stroke-dasharray='0.1 8'/%3E%3C/svg%3E%0A");
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-04 .service-section-header.container {
    max-width: 100%;
    grid-template-columns: 1fr;
  }
  .page-services .service-section-04 .service-section-index {
    padding-left: 0;
  }
  .page-services .service-section-04 .service-section-body {
    background-position: -3% 2rem, 97% calc(100% - 1.5rem);
    background-repeat: no-repeat;
    background-size: 50.5128205128vw;
    padding-bottom: 7.5rem;
  }
  .page-services .service-section-04 .service-subsection-columns {
    grid-template-columns: repeat(1, 1fr);
  }
  .page-services .service-section-04 .partner-column-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .page-services .service-section-04 .partner-column-tagline {
    grid-column: 1/-1;
  }
  .page-services .service-section-04 .partner-column-client-logo {
    width: 100%;
  }
  .page-services .service-section-04 .partner-column-duration {
    text-align: left;
    padding-left: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .page-services .service-section-04 .partner-column-duration__number {
    justify-content: flex-start;
  }
  .page-services .service-section-04 .partner-column-body {
    grid-column: 1/-1;
    padding-left: 0;
    padding-bottom: 1.5rem;
  }
  .page-services .service-section-04 .partner-column-body ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .page-services .service-section-04 .partner-column-body ul li {
    font-size: 0.9375rem;
  }
  .page-services .service-section-04 .partner-column-ending {
    grid-column: 1/-1;
  }
  .page-services .service-section-04 .partner-column-gallery {
    grid-column: 1/-1;
  }
}
@media screen and (max-width: 479px) {
  .page-services .service-section-04 .partner-column {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .page-services .service-section-04 .partner-column-body ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.page-services .service-section-testimonials {
  padding-bottom: 8.75rem;
}
.page-services .service-section-testimonials .service-section-columns {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.875rem;
}
.page-services .service-section-testimonials .service-section-columns::before {
  content: "";
  display: block;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='64' viewBox='0 0 200 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.0786 46C9.13251 10 27.376 10 74.8089 46C63.8629 10 82.1063 10 129.539 46C118.593 10 136.837 10 184.27 46' stroke='%237AD7AD' stroke-width='18' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  width: 12.5rem;
  height: 4rem;
  top: -1.6875rem;
  right: -2.625rem;
  z-index: 5;
}
.page-services .service-section-testimonials .service-section-columns::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='50' viewBox='0 0 200 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.0786 38C8.13251 2 26.376 2 73.8089 38C62.8629 2 81.1063 2 128.539 38C117.593 2 135.837 2 183.27 38' stroke='%23FFEC85' stroke-width='18' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  width: 12.5rem;
  height: 3.125rem;
  bottom: -1.875rem;
  left: -2.5rem;
  z-index: 5;
}
.page-services .service-section-testimonials .service-section-title {
  margin-bottom: 3.75rem;
  text-align: center;
  font-weight: 600;
}
.page-services .service-section-testimonials .testimonial-column {
  background-color: #ffffff;
  padding: 2.5rem 4.3125rem;
  border-radius: 0.625rem;
}
.page-services .service-section-testimonials .testimonial-column-wrapper {
  display: grid;
  grid-template-columns: 15.625rem 1fr;
  align-items: center;
}
.page-services .service-section-testimonials .testimonial-column-texts {
  padding-left: 2.625rem;
}
.page-services .service-section-testimonials .testimonial-column-quote {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}
.page-services .service-section-testimonials .testimonial-column-roles {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
}
.page-services .service-section-testimonials .testimonial-column-image-media {
  display: flex;
  margin-bottom: 1rem;
}
.page-services .service-section-testimonials .testimonial-column-image-media::before {
  content: "";
  display: block;
  width: 0;
  padding-bottom: 100%;
}
.page-services .service-section-testimonials .testimonial-column-image-caption {
  font-size: 0.8125rem;
  text-align: center;
}
.page-services .service-section-testimonials .testimonial-column-links {
  margin-top: 4.5rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.page-services .service-section-testimonials .testimonial-column-link a {
  display: flex;
  gap: 0.5rem;
}
.page-services .service-section-testimonials .testimonial-column-link a:hover .testimonial-column-link-icon {
  translate: 2px -2px;
}
.page-services .service-section-testimonials .testimonial-column-link-icon {
  transition: translate 300ms var(--ease-out-quint);
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-testimonials {
    padding-bottom: 7.5rem;
  }
  .page-services .service-section-testimonials .service-section-columns::before {
    scale: 0.75;
  }
  .page-services .service-section-testimonials .testimonial-column {
    padding: 2.5rem 2rem;
  }
  .page-services .service-section-testimonials .testimonial-column-wrapper {
    grid-template-columns: auto;
  }
  .page-services .service-section-testimonials .testimonial-column-image {
    margin-bottom: 2rem;
  }
  .page-services .service-section-testimonials .testimonial-column-image-media {
    max-width: 12.5rem;
    margin-left: auto;
    margin-right: auto;
  }
  .page-services .service-section-testimonials .testimonial-column-texts {
    padding-left: 0;
  }
  .page-services .service-section-testimonials .testimonial-column-links {
    display: grid;
    grid-template-columns: auto;
    margin-top: 2.5rem;
  }
}
.page-services .service-section-contact {
  padding-bottom: 7.5rem;
}
.page-services .service-section-contact .service-section-title {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  font-size: 1.875rem;
  gap: 0.625rem;
}
.page-services .service-section-contact .service-section-title span {
  display: flex;
  white-space: nowrap;
}
.page-services .service-section-contact .service-section-title img {
  display: inline-block;
  width: auto;
  translate: 0 -2px;
}
.page-services .service-section-contact .contact-button {
  color: #ffffff;
  width: 100%;
  height: 22.5rem;
  border-radius: 11.25rem;
  filter: drop-shadow(10px 10px 30px hsla(201, 62%, 46%, 0.3));
  transition: filter 300ms ease-out;
}
.page-services .service-section-contact .contact-button-foreground {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  color: #ffffff;
  border-radius: 11.25rem;
  padding-left: clamp(2.125rem, 10.102489019vw, 8.625rem);
  width: 100%;
  height: clamp(8.75rem, 26.3543191801vw, 22.5rem);
  background-color: hsl(200, 56%, 48%);
  background-image: url("data:image/svg+xml,%3Csvg width='375' height='269' viewBox='0 0 375 269' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M358.387 2.00488C366.492 2.21001 373 8.84502 373 17V252C373 260.284 366.284 267 358 267H17C8.71573 267 2 260.284 2 252V17L2.00488 16.6133C2.21001 8.50774 8.84502 2 17 2H358L358.387 2.00488ZM32 237H343V49.7998L196.953 168.341C191.394 172.853 183.421 172.807 177.914 168.232L32 47V237ZM187.61 137.284L317.326 32H60.8896L187.61 137.284Z' fill='%232C8ABE'/%3E%3C/svg%3E%0A");
  background-position: -5% center;
  background-size: clamp(6.25rem, 27.4524158126vw, 23.4375rem);
  background-repeat: no-repeat;
  transition: background-color 300ms ease-out;
}
@media screen and (max-width: 1583px) {
  .page-services .service-section-contact .contact-button-foreground {
    padding-left: 8%;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-contact .contact-button-foreground {
    padding-left: clamp(2.125rem, 10.102489019vw, 8.625rem);
  }
}
.page-services .service-section-contact .contact-button-title {
  display: flex;
  align-items: center;
  font-size: clamp(1.6875rem, 7vw, 5rem);
  gap: 1rem;
}
.page-services .service-section-contact .contact-button-title svg {
  width: clamp(1.75rem, 4.9780380673vw, 4.25rem);
  height: clamp(1.75rem, 4.9780380673vw, 4.25rem);
  transition: translate 300ms ease-out;
}
.page-services .service-section-contact .contact-button-subtitle {
  font-size: clamp(0.6875rem, 2vw, 1.25rem);
}
.page-services .service-section-contact .contact-button-subtitle br {
  display: none;
}
.page-services .service-section-contact .contact-button-image {
  position: absolute;
  width: 50%;
  top: 50%;
  left: 50%;
  translate: 5% -50%;
}
@media screen and (max-width: 1583px) {
  .page-services .service-section-contact .contact-button-image {
    left: 60%;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-contact .contact-button-image {
    left: 50%;
  }
}
.page-services .service-section-contact .contact-button:hover {
  filter: drop-shadow(10px 10px 30px hsla(201, 80%, 50%, 0.8));
}
.page-services .service-section-contact .contact-button:hover .contact-button-foreground {
  background-color: hsl(200, 72%, 48%);
}
.page-services .service-section-contact .contact-button:hover .contact-button-title svg {
  translate: 4px 0;
}
@media screen and (max-width: 749px) {
  .page-services .service-section-contact .service-section-title {
    flex-wrap: wrap;
    font-size: 5vw;
    padding-top: 0.375rem;
    row-gap: 0;
  }
  .page-services .service-section-contact .service-section-title img {
    height: 7.5vw;
    translate: 0 -4px;
  }
  .page-services .service-section-contact .contact-button-image {
    translate: 25% -50%;
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-contact .contact-button-title {
    gap: 0.25rem;
  }
}
@media screen and (max-width: 479px) {
  .page-services .service-section-contact .contact-button-subtitle br {
    display: block;
  }
  .page-services .service-section-contact .contact-button-image {
    width: 60%;
    translate: 35% -50%;
  }
}
.page-services .service-section-clients {
  padding-bottom: 6.25rem;
}
.page-services .service-section-clients .service-section-wrapper {
  padding-top: 6.25rem;
  padding-left: 3.125rem;
  padding-right: 3.125rem;
  padding-bottom: 6.25rem;
}
.page-services .service-section-clients .client-list {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
}
@media screen and (max-width: 1055px) {
  .page-services .service-section-clients .service-section-wrapper {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .page-services .service-section-clients .client-list {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (max-width: 749px) {
  .page-services .service-section-clients .client-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 479px) {
  .page-services .service-section-clients .client-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.page-template-page-tokyo-space {
  overflow-x: clip;
}
.page-template-page-tokyo-space .page-cover__slider .image {
  height: 80vh;
}
.page-template-page-tokyo-space .page-cover__front {
  top: 0;
  left: 0;
}
.page-template-page-tokyo-space .page-cover__front a {
  background-color: hsla(0, 0%, 100%, 0.01);
  border: 1px solid hsla(0, 0%, 100%, 0.15);
}
.page-template-page-tokyo-space .page-cover__front a .icon {
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  .page-template-page-tokyo-space .page-cover svg {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 1312px) {
  .page-template-page-tokyo-space .feature:nth-child(2n+1) .feature__detail {
    margin-right: 4.1666666667%;
  }
  .page-template-page-tokyo-space .feature:nth-child(2n) .feature__row {
    flex-direction: row-reverse;
  }
  .page-template-page-tokyo-space .feature:nth-child(2n) .feature__detail {
    margin-left: 4.1666666667%;
  }
}
@media (min-width: 749px) {
  .page-template-page-tokyo-space .page-cover {
    margin-top: 80px;
  }
  .page-template-page-tokyo-space .page-cover .image {
    height: 575px;
  }
}
.page-template-page-tokyo-space .concept__title p {
  line-height: inherit;
}
.page-template-page-tokyo-space .concept__title__jp strong {
  display: inline-block;
  position: relative;
  font-weight: inherit;
}
.page-template-page-tokyo-space .concept__title__jp strong::after {
  position: absolute;
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='377' height='23' viewBox='0 0 377 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 22C33.1728 13.2171 69.19 8.49562 103.401 4.80317C127.276 2.22627 155.264 -0.548798 179.555 2.027C185.243 2.63024 181.853 4.10952 178.848 5.26586C171.656 8.03442 163.891 10.1966 156.25 12.3605C148.753 14.4835 132.552 17.8389 150.953 16.1392C188.341 12.6857 225.437 6.67705 263.123 4.80317C271.729 4.37525 283.81 3.18902 292.314 4.99596C297.141 6.02171 292.561 8.93395 290.901 10.1242C290.182 10.6399 285.086 12.9119 285.428 13.9414C286.13 16.0563 298.841 15.1603 299.493 15.1367C325.431 14.1987 350.769 9.7105 376 6.03702' stroke='%23FFCD29' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  width: 100%;
  padding-bottom: 5.6%;
  height: 0;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.page-template-page-tokyo-space .map pre {
  font-family: var(--font-neo-grotesque);
  font-variant-numeric: tabular-nums;
  font-size: 0.875em;
}
.page-template-page-tokyo-space .features {
  counter-reset: feature_index 0;
}
.page-template-page-tokyo-space .features .feature__index::before {
  content: "●";
  margin-right: 0.5em;
}
.page-template-page-tokyo-space .features .feature__index::after {
  counter-increment: feature_index 1;
  content: "_" counter(feature_index, decimal-leading-zero);
}
.page-template-page-tokyo-space .features .feature [data-bg-src] {
  padding-bottom: 66.557912%;
}
.page-template-page-tokyo-space .spec__index::before {
  content: "●";
  margin-right: 0.5em;
}
.page-template-page-tokyo-space .spec__texts ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6px;
}
.page-template-page-tokyo-space .spec__texts ul li {
  font-size: 13px;
  display: inline-block;
  padding: 4px 8px;
  background-color: rgba(var(--color-ash-50)/0.05);
  border-radius: 3px;
}
@media screen and (min-width: 1056px) {
  .page-template-page-tokyo-space .spec__texts ul {
    gap: 12px;
  }
  .page-template-page-tokyo-space .spec__texts ul li {
    font-size: 15px;
    padding: 12px 24px;
    border-radius: 6px;
  }
}
.page-template-page-tokyo-space .contact p {
  min-height: 1em;
}
.page-template-page-tokyo-space .contact small {
  opacity: 0.8;
}
.page-template-page-tokyo-space .contact__item--instagram {
  color: white;
}
.page-template-page-tokyo-space .contact__item--instagram .group {
  background-image: var(--wp--preset--gradient--luminous-dusk);
}
.page-template-page-tokyo-space .contact__item .group:hover {
  opacity: 0.8;
}
.page-template-page-tokyo-space .active-events,
.page-template-page-tokyo-space .future-events {
  margin-bottom: 4px;
}
.page-template-page-tokyo-space .no-active-events .active-events {
  display: none !important;
}
.page-template-page-tokyo-space .no-future-events .future-events {
  display: none !important;
}
@media (min-width: 1056px) {
  .page-template-page-tokyo-space .event-info dl {
    display: grid;
    grid-template-columns: auto 1fr;
  }
}
.page-template-page-tokyo-space .event-info dt {
  text-transform: uppercase;
  font-weight: bold;
  padding-right: 3em;
  padding-top: 0.25em;
  opacity: 1;
  mix-blend-mode: luminosity;
  color: green;
}
.page-template-page-tokyo-space .event-info dt::before {
  content: "●";
  margin-right: 0.25em;
}
@media (max-width: 749px) {
  .page-template-page-tokyo-space .event-info dt {
    margin-bottom: 4px;
  }
}
@media screen and (min-width: 1024px) {
  .page-template-page-tokyo-space .event-info dd {
    font-size: 1.25em;
  }
}
.page-template-page-tokyo-space .article-card h1:hover {
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.25em;
}
.page-template-page-tokyo-space .active-event-mark {
  position: absolute;
  max-width: 256px;
  min-width: 128px;
  width: 15vw;
  top: -5vw;
  left: 50%;
  flex: none !important;
}
@media screen and (min-width: 1024px) {
  .page-template-page-tokyo-space .active-event-mark {
    right: 2.5vw;
    left: auto;
  }
}
.page-template-page-tokyo-space .active-event-mark__wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  height: -webkit-fit-content;
  filter: invert(1);
}
.page-template-page-tokyo-space .active-event-mark__spinner {
  animation: ActiveMarkRotate 6s linear infinite;
}
.page-template-page-tokyo-space .active-event-mark__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .page-template-page-tokyo-space .active-event-mark {
    left: 50%;
    top: 15%;
    z-index: 3;
  }
  body .page-template-page-tokyo-space .active-event-mark {
    flex-basis: 0 !important;
  }
}
@keyframes ActiveMarkRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}
.page-template-page-tokyo-space .active-event-mark figure img {
  width: 100%;
  height: 100%;
}
.page-template-page-tokyo-space .active-event-mark figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: 1.5vw;
  white-space: nowrap;
  width: 100%;
  text-align: center;
}
@media (max-width: 749px) {
  .page-template-page-tokyo-space .active-event-mark figcaption {
    font-size: 12px;
  }
}

.page.service .art-circles__left {
  animation-name: ArtCircleLeft;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  will-change: cx;
}
.page.service .art-circles__right {
  animation-name: ArtCircleRight;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  will-change: cx;
}
@keyframes ArtCircleLeft {
  0% {
    cx: 24;
    fill: rgb(var(--color-ash-50));
  }
  100% {
    cx: 52;
    fill: #AAE0C7;
  }
}
@keyframes ArtCircleRight {
  0% {
    cx: 104;
    fill: rgb(var(--color-ash-50));
  }
  100% {
    cx: 76;
    fill: #A8BEEA;
  }
}
.page.service .art-ribbons {
  width: 180px;
  top: 8vh;
  right: 1vw;
}
@media screen and (max-width: 749px) {
  .page.service .art-ribbons {
    width: 24vw;
    top: 3vw;
    right: 3vw;
  }
}
.page.service .art-ribbons rect {
  animation-name: ArtRibbons;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  will-change: x, width;
}
.page.service .art-ribbons rect:nth-child(2) {
  animation-delay: 0.2s;
}
.page.service .art-ribbons rect:nth-child(3) {
  animation-delay: 0.4s;
}
.page.service .art-ribbons rect:nth-child(4) {
  animation-delay: 0.6s;
}
.page.service .art-ribbons rect:nth-child(5) {
  animation-delay: 0.8s;
}
@keyframes ArtRibbons {
  0% {
    x: 0;
    width: 128;
    fill: rgb(var(--color-purple-100));
  }
  100% {
    x: 167;
    width: 16;
    fill: rgb(var(--color-purple-500));
  }
}
.page.service .art-triangles {
  max-width: 150px;
  top: 4vh;
  left: 10vw;
}
@media screen and (max-width: 749px) {
  .page.service .art-triangles {
    top: 2vw;
    left: 4vw;
    width: 16vw;
  }
}
.page.service .art-arm {
  max-width: 160px;
  top: 50%;
  left: 0.5555555556vw;
}
@media screen and (max-width: 749px) {
  .page.service .art-arm {
    width: 22vw;
    top: 130vw;
  }
}
.page.service .art-hemispheres {
  width: 6vw;
  top: 40vh;
  right: 4vw;
}
@media screen and (max-width: 749px) {
  .page.service .art-hemispheres {
    top: 300vw;
    right: 10vw;
    width: 20vw;
  }
}
.page.service .art-bezier {
  left: 200px;
  top: calc(100% - 40px);
}
@media screen and (max-width: 749px) {
  .page.service .art-bezier {
    top: 230vw;
    left: 13vw;
  }
}
.page.service .art-bezier path {
  animation-duration: 2.5s;
  animation-iteration-count: infinite;
  will-change: d;
}
.page.service .art-bezier__curve {
  animation-name: ArtBezierCurve;
}
@keyframes ArtBezierCurve {
  0% {
    d: path("M176 4C175 4 5 124 4 124");
  }
  25% {
    d: path("M176 4C57 4 143.323 124 4 124");
  }
  50% {
    d: path("M176 4C4 4 176 124 4 124");
  }
  80% {
    d: path("M176 4C4 4 176 124 4 124");
  }
  100% {
    d: path("M176 4C175 4 5 124 4 124");
  }
}
.page.service .art-bezier__stem-top {
  animation-name: ArtBezierStemTop;
}
@keyframes ArtBezierStemTop {
  0% {
    d: path("M176 4L175 4");
  }
  25% {
    d: path("M176 4L56 4");
  }
  50% {
    d: path("M176 4L4 4");
  }
  80% {
    d: path("M176 4L4 4");
  }
  100% {
    d: path("M176 4L175 4");
  }
}
.page.service .art-bezier__anchor-top {
  animation-name: ArtBezierAnchorTop;
}
@keyframes ArtBezierAnchorTop {
  0% {
    d: path("M173 4L175 2L177 4L175 6L173 4Z");
  }
  25% {
    d: path("M54 4L56 2L58 4L56 6L54 4Z");
  }
  50% {
    d: path("M2 4L4 2L6 4L4 6L2 4Z");
  }
  80% {
    d: path("M2 4L4 2L6 4L4 6L2 4Z");
  }
  100% {
    d: path("M173 4L175 2L177 4L175 6L173 4Z");
  }
}
.page.service .art-bezier__stem-bottom {
  animation-name: ArtBezierStemBottom;
}
@keyframes ArtBezierStemBottom {
  0% {
    d: path("M5 124H4");
  }
  25% {
    d: path("M126 124H4");
  }
  50% {
    d: path("M176 124H4");
  }
  80% {
    d: path("M176 124H4");
  }
  100% {
    d: path("M5 124H4");
  }
}
.page.service .art-bezier__anchor-bottom {
  animation-name: ArtBezierAnchorBottom;
}
@keyframes ArtBezierAnchorBottom {
  0% {
    d: path("M3 124L5 122L7 124L5 126L3 124Z");
  }
  25% {
    d: path("M124 124L126 122L128 124L126 126L124 124Z");
  }
  50% {
    d: path("M174 124L176 122L178 124L176 126L174 124Z");
  }
  80% {
    d: path("M174 124L176 122L178 124L176 126L174 124Z");
  }
  100% {
    d: path("M3 124L5 122L7 124L5 126L3 124Z");
  }
}
.page.service .art-stars {
  width: 15vw;
  top: calc(100% - 48px);
  right: 10vw;
}
@media screen and (max-width: 749px) {
  .page.service .art-stars {
    top: 176vw;
    width: 50vw;
    right: 7vw;
  }
}
.page.service .fv__heading {
  min-height: 80vh;
  padding: 10vh 0;
}
@media screen and (max-width: 749px) {
  .page.service .fv__caption br {
    display: none;
  }
}
.page.service .section-heading__sub::before {
  content: "[";
  margin-right: 2em;
}
.page.service .section-heading__sub::after {
  content: "]";
  margin-left: 2em;
}
.page.service .section-heading__hash {
  top: 14px;
  left: -4px;
}
@media screen and (min-width: 1056px) {
  .page.service .section-heading__hash {
    top: 16px;
    left: -24px;
  }
}
.page.service .strengths__item {
  margin-top: 128px;
  margin-bottom: 128px;
}
.page.service .strengths__item__index {
  opacity: 0.2;
}
.page.service .strengths__item__index span {
  font-size: 5rem;
  color: transparent;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: white;
}
.page.service .strengths__item__index svg {
  stroke-width: 2;
  fill: none;
}
.page.service .strengths__item__image img {
  width: 100%;
  height: auto;
}
.page.service .strengths__item__subtitle__corner svg {
  position: absolute;
}
.page.service .strengths__item__subtitle__corner svg:nth-child(1) {
  top: 0;
  left: 0;
  transform: rotate(0deg);
}
.page.service .strengths__item__subtitle__corner svg:nth-child(2) {
  top: 0;
  right: 0;
  transform: rotate(90deg);
}
.page.service .strengths__item__subtitle__corner svg:nth-child(3) {
  bottom: 0;
  left: 0;
  transform: rotate(-90deg);
}
.page.service .strengths__item__subtitle__corner svg:nth-child(4) {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
@media screen and (max-width: 1311px) {
  .page.service .strengths__item__index {
    margin-bottom: 64px;
  }
  .page.service .strengths__item__texts {
    margin-bottom: 64px;
  }
}
@media screen and (min-width: 1312px) {
  .page.service .strengths__item {
    gap: 32px 32px;
    display: grid;
    grid-template-columns: [index] 3fr [texts] 10fr [image] 11fr;
  }
  .page.service .strengths__item__index {
    grid-column: index;
    padding-left: 25%;
  }
  .page.service .strengths__item__texts {
    grid-column: texts;
  }
  .page.service .strengths__item__image {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    grid-column: image;
    transform: translateY(-15%);
  }
}
.page.service .strengths .strengths__item-1 .strengths__item__index span {
  -webkit-text-stroke-color: rgb(var(--color-blue-400));
}
.page.service .strengths .strengths__item-1 .strengths__item__index svg {
  stroke: rgb(var(--color-blue-400));
}
.page.service .strengths .strengths__item-1 .strengths__item__subtitle__corner {
  stroke: rgb(var(--color-blue-300));
}
.page.service .strengths .strengths__item-1 .strengths__item__tagline {
  color: rgb(var(--color-blue-300));
}
.page.service .strengths .strengths__item-1 .strengths__item__title {
  color: rgb(var(--color-blue-950));
}
.page.service .strengths .strengths__item-1 .strengths__item__title__desktop span, .page.service .strengths .strengths__item-1 .strengths__item__title__mobile {
  background-color: rgb(var(--color-blue-200));
}
.page.service .strengths .strengths__item-1 .strengths__item__caption {
  color: rgb(var(--color-blue-200));
}
.page.service .strengths .strengths__item-2 .strengths__item__index span {
  -webkit-text-stroke-color: rgb(var(--color-green-400));
}
.page.service .strengths .strengths__item-2 .strengths__item__index svg {
  stroke: rgb(var(--color-green-400));
}
.page.service .strengths .strengths__item-2 .strengths__item__subtitle__corner {
  stroke: rgb(var(--color-green-300));
}
.page.service .strengths .strengths__item-2 .strengths__item__tagline {
  color: rgb(var(--color-green-300));
}
.page.service .strengths .strengths__item-2 .strengths__item__title {
  color: rgb(var(--color-green-950));
}
.page.service .strengths .strengths__item-2 .strengths__item__title__desktop span, .page.service .strengths .strengths__item-2 .strengths__item__title__mobile {
  background-color: rgb(var(--color-green-400));
}
.page.service .strengths .strengths__item-2 .strengths__item__caption {
  color: rgb(var(--color-green-200));
}
.page.service .strengths .strengths__item-3 .strengths__item__index span {
  -webkit-text-stroke-color: rgb(var(--color-purple-400));
}
.page.service .strengths .strengths__item-3 .strengths__item__index svg {
  stroke: rgb(var(--color-purple-400));
}
.page.service .strengths .strengths__item-3 .strengths__item__subtitle__corner {
  stroke: rgb(var(--color-purple-300));
}
.page.service .strengths .strengths__item-3 .strengths__item__tagline {
  color: rgb(var(--color-purple-300));
}
.page.service .strengths .strengths__item-3 .strengths__item__title {
  color: rgb(var(--color-purple-950));
}
.page.service .strengths .strengths__item-3 .strengths__item__title__desktop span, .page.service .strengths .strengths__item-3 .strengths__item__title__mobile {
  background-color: rgb(var(--color-purple-300));
}
.page.service .strengths .strengths__item-3 .strengths__item__caption {
  color: rgb(var(--color-purple-200));
}
.page.service .strengths .strengths__item-4 .strengths__item_index span {
  -webkit-text-stroke-color: rgb(var(--color-gold-400));
}
.page.service .strengths .strengths__item-4 .strengths__item__index svg {
  stroke: rgb(var(--color-gold-400));
}
.page.service .strengths .strengths__item-4 .strengths__item__subtitle__corner {
  stroke: rgb(var(--color-gold-300));
}
.page.service .strengths .strengths__item-4 .strengths__item__tagline {
  color: rgb(var(--color-gold-300));
}
.page.service .strengths .strengths__item-4 .strengths__item__title {
  color: rgb(var(--color-gold-950));
}
.page.service .strengths .strengths__item-4 .strengths__item__title__desktop span, .page.service .strengths .strengths__item-4 .strengths__item__title__mobile {
  background-color: rgb(var(--color-gold-300));
}
.page.service .strengths .strengths__item-4 .strengths__item__caption {
  color: rgb(var(--color-gold-200));
}
.page.service .art-slashes {
  margin: 256px auto;
  max-width: 342px;
}
.page.service .details__toc {
  border-right: 1px solid rgb(var(--color-ash-800));
}
.page.service .details__toc__list {
  --toc-active-link-pos-y: 0;
  --toc-active-link-height: 40px;
}
.page.service .details__toc__list::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  opacity: 0.08;
  background-color: rgb(var(--color-ash-50));
}
.page.service .details__toc__list::after {
  content: "";
  display: block;
  width: 3px;
  left: 0;
  height: var(--toc-active-link-height);
  position: absolute;
  top: var(--toc-active-link-pos-y);
  transition: top 300ms;
  background-color: rgb(var(--color-ash-50));
}
.page.service .details__toc__listitem:last-child {
  margin-bottom: 0;
}
.page.service .details__toc .toc-highlight-initialized a {
  opacity: 0.5;
  transition: opacity 300ms;
}
.page.service .details__toc .toc-highlight-initialized a:hover {
  text-decoration: underline;
}
.page.service .details__toc .toc-highlight-initialized a.in-view {
  opacity: 1;
  pointer-events: none;
}
.page.service .detail-section__heading {
  position: relative;
}
.page.service .detail-section__heading__texture {
  position: absolute;
  width: 100%;
  height: 100%;
}
.page.service .detail-section__heading__texture__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
.page.service .detail-section__heading__texture__image::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 101%;
  background-size: 100% 100%;
  background: linear-gradient(0deg, #0B0C10 23.84%, rgba(0, 0, 0, 0) 161.08%);
}
.page.service .detail-section__caption {
  color: rgb(var(--color-ash-300));
  margin-top: 64px;
}
.page.service .subsection-title__sub {
  margin-bottom: 8px;
  display: block;
  font-family: var(--font-sans-title);
  color: rgb(var(--color-ash-300));
}
.page.service .subsection-title__main {
  display: block;
}
.page.service .gragraphic-sampleic-sample-list__item > div::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.page.service .gragraphic-sampleic-sample-list__item a {
  background-color: rgba(var(--color-ash-950), 0.8);
}
.page.service .product-type__title__main {
  text-indent: -0.15em;
}
.page.service .product-type__detail__group__title::before {
  content: "[  ";
}
.page.service .product-type__detail__group__title::after {
  content: "  ]";
}
@media screen and (min-width: 1056px) {
  .page.service .strengths__item__title__desktop span:nth-child(n+2) {
    margin-top: -8px;
  }
  .page.service .strengths__item-2 .strengths__item__title__desktop span:nth-child(2) {
    margin-left: 3em;
  }
  .page.service .strengths__item-3 .strengths__item__title__desktop span:nth-child(2) {
    margin-left: 9em;
  }
  .page.service .strengths__item-4 .strengths__item__title__desktop span:nth-child(2) {
    margin-left: 9em;
  }
}
.page.service .web-advantages .border-gradient {
  background-image: linear-gradient(180deg, #B0B7F9 0%, rgba(149, 136, 186, 0.67) 33.33%, rgba(55, 56, 62, 0) 100%);
}
.page.service .web-advantages .text-gradient {
  background-image: linear-gradient(87deg, #F3D2FF -2.99%, #8EC2FF 104.77%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page.service .detail-graphic-design .detail-navigation .border-gradient {
  background: linear-gradient(269deg, rgba(246, 92, 255, 0.3) 0%, rgba(255, 255, 255, 0) 81.39%);
}
.page.service .detail-marketing .detail-navigation .border-gradient {
  background: linear-gradient(269deg, rgba(254, 11, 117, 0.3) 0%, rgba(138, 178, 255, 0.3) 40.78%, rgba(255, 255, 255, 0) 86.74%);
}
.page.service .detail-total-produce .detail-navigation .border-gradient {
  background-image: linear-gradient(269deg, rgba(255, 133, 20, 0.3) 0.45%, rgba(6, 106, 255, 0.26) 41.89%, rgba(255, 255, 255, 0) 88.59%);
}

.text-white {
  color: rgb(var(--color-white));
}

.text-black {
  color: rgb(var(--color-black));
}

.text-gray-50 {
  color: rgb(var(--color-gray-50));
}

.color-gray-100 {
  color: rgb(var(--color-gray-100));
}

.color-gray-200 {
  color: rgb(var(--color-gray-200));
}

.color-gray-300 {
  color: rgb(var(--color-gray-300));
}

.color-gray-400 {
  color: rgb(var(--color-gray-400));
}

.color-gray-500 {
  color: rgb(var(--color-gray-500));
}

.color-gray-600 {
  color: rgb(var(--color-gray-600));
}

.color-gray-700 {
  color: rgb(var(--color-gray-700));
}

.color-gray-800 {
  color: rgb(var(--color-gray-800));
}

.color-gray-900 {
  color: rgb(var(--color-gray-800));
}

.color-gray-1000 {
  color: rgb(var(--color-gray-1000));
}

.text-inherit {
  color: inherit;
}

.text-current {
  color: currentColor;
}

.text-transparent {
  color: transparent;
}

.text-black {
  color: rgb(0, 0, 0);
}

.text-white {
  color: rgb(255, 255, 255);
}

.bg-inherit {
  background-color: inherit;
}

.bg-current {
  background-color: currentColor;
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  background-color: rgb(255, 255, 255);
}

.bg-black {
  background-color: rgb(0, 0, 0);
}

.bg-noise-black {
  background-image: url("../img/texture/noise-black.webp");
  background-size: 8rem;
  background-repeat: repeat;
}

.bg-noise-white {
  background-image: url("../img/texture/noise-white.webp");
  background-size: 8rem;
  background-repeat: repeat;
}

.fill-none {
  fill: none;
}

.fill-inherit {
  fill: inherit;
}

.fill-current {
  fill: currentColor;
}

.fill-transparent {
  fill: transparent;
}

.fill-black {
  fill: #000;
}

.fill-white {
  fill: #fff;
}

.stroke-none {
  stroke: none;
}

.stroke-inherit {
  stroke: inherit;
}

.stroke-current {
  stroke: currentColor;
}

.stroke-transparent {
  stroke: transparent;
}

.stroke-black {
  stroke: #000;
}

.stroke-white {
  stroke: #fff;
}

.stroke-0 {
  stroke-width: 0;
}

.stroke-1 {
  stroke-width: 1;
}

.stroke-2 {
  stroke-width: 2;
}

.display-none {
  display: none;
}

.display-block {
  display: block;
}

.display-flex {
  display: flex;
}

.display-inline-block {
  display: inline-block;
}

.display-table {
  display: table;
}

.display-th {
  display: table-cell;
}

.display-td {
  display: table-cell;
}

.display-tbody {
  display: table-row-group;
}

.display-thead {
  display: table-row-group;
}

.display-tfoot {
  display: table-row-group;
}

.display-tr {
  display: table-row;
}

.border-all {
  border: 1px solid var(--color-white-ghost);
}

.border-top {
  border-top: 1px solid var(--color-white-ghost);
}

.border-right {
  border-right: 1px solid var(--color-white-ghost);
}

.border-bottom {
  border-bottom: 1px solid var(--color-white-ghost);
}

.border-left {
  border-left: 1px solid var(--color-white-ghost);
}

.border-radius-3 {
  border-radius: 3px;
}

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

.border-radius-6 {
  border-radius: 6px;
}

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

.border-radius-12 {
  border-radius: 12px;
}

.border-radius-16 {
  border-radius: 16px;
}

.border-radius-24 {
  border-radius: 24px;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-sm {
  border-radius: 0.125rem; /* 2px */
}

.rounded {
  border-radius: 0.25rem; /* 4px */
}

.rounded-md {
  border-radius: 0.375rem; /* 6px */
}

.rounded-lg {
  border-radius: 0.5rem; /* 8px */
}

.rounded-xl {
  border-radius: 0.75rem; /* 12px */
}

.rounded-2xl {
  border-radius: 1rem; /* 16px */
}

.rounded-3xl {
  border-radius: 1.5rem; /* 24px */
}

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

.f-uppercase {
  text-transform: uppercase;
}

.f-weight-300 {
  font-weight: 300;
}

.f-weight-400 {
  font-weight: 400;
}

.f-weight-500 {
  font-weight: 500;
}

.f-weight-600 {
  font-weight: 600;
}

.f-weight-700 {
  font-weight: 700;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.subpixel-antialiased {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

.position-static {
  position: static;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.position-sticky {
  position: sticky;
}

.position-fixed {
  position: fixed;
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.alt-half-width,
.alt-half-width-first-letter::first-letter {
  font-feature-settings: "palt" 1;
}

.preserve-3d {
  transform-style: preserve-3d;
}

.isolate {
  isolation: isolate;
}

.backface-hidden {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.before-rect-1\/1 {
  content: "";
  display: block;
  height: 0;
  padding-bottom: 100%;
  width: 100%;
}

.border-top {
  border-top: 1px solid var(--border-ghost);
}

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

.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.first-letter-palt::first-letter {
  font-feature-settings: "palt" 1;
}

.ratio-square {
  display: flex;
}
.ratio-square::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  padding-bottom: 100%;
}

.wrap-link-before::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.gap-default {
  gap: var(--grid-gutter);
}