@charset "UTF-8";
@layer base, components, pages;
.stick {
  --topY: calc(var(--floatingPos) + var(--btnMenu) + 1rem);
  position: sticky;
  top: var(--topY);
}
@media (max-width: 1100px) {
  .stick.killSp {
    position: inherit;
    --topY: inherit;
  }
}

.symbol {
  --topY: 0;
  --maskSize: 157%;
  --maskRepeat: no-repeat;
  --maskPosition: 25% 85%;
  --maskColor: linear-gradient(45deg, var(--typo), var(--sub));
  --maskWidth: 100%;
  --ratio: 1000/1086.22;
  --maskImage: url("../images/mark.svg");
  --maskTr: all .8s cubic-bezier(0, 0.54, 0.46, 0.27);
  width: var(--maskWidth);
  mask-repeat: var(--maskRepeat);
  mask-position: var(--maskPosition);
  mask-size: var(--maskSize);
  -webkit-mask-repeat: var(--maskRepeat);
  -webkit-mask-position: var(--maskPosition);
  -webkit-mask-size: var(--maskSize);
  aspect-ratio: var(--ratio);
  mask-image: var(--maskImage);
  -webkit-mask-image: var(--maskImage);
  background: var(--maskColor);
  flex-shrink: 0;
  margin-right: calc(0% - var(--maskWidth));
  z-index: -1;
  opacity: 0.1;
  height: 100vh;
  transition: var(--maskTr);
}
@media (max-width: 1100px) {
  .symbol {
    display: none;
  }
}

.sepWrap {
  --gridCol: 1fr 1fr;
  --gridGap: calc(var(--pad) * 3);
  --contGap: 1em;
  --figOrder: inherit;
  display: grid;
  grid-template-columns: var(--gridCol);
  grid-template-rows: var(--gridRow);
  gap: var(--gridGap);
}
@media (max-width: 1100px) {
  .sepWrap {
    --contGap: 1em;
    --gridCol: 1fr;
    --gridGap: var(--pad);
    --placeContent: flex-start;
  }
}
.sepWrap .figWrap {
  width: 100%;
  order: var(--figOrder);
}
.sepWrap .figWrap figure {
  width: 100%;
  height: 100%;
}
.sepWrap .figWrap figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sepWrap .contWrap {
  align-items: flex-start;
  gap: var(--contGap);
}

.chap {
  --h2: 1em;
  --bold: normal;
  display: flex;
  align-items: center;
  color: var(--sub);
}
.chap:before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1px;
  margin-right: 0.5em;
  background: currentColor;
}
.chap span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btnOutline {
  display: inline-block;
  padding: 0.5em 2em;
  border: 1px solid;
  border-radius: var(--rad0);
  text-decoration: none;
  transition: all 0.3s ease;
  line-height: 1.25;
}
.btnOutline:hover {
  background: currentColor;
  color: var(--typo);
}

.center {
  text-align: center;
}

[data-grad] {
  --gradStart: var(--sub);
  --gradEnd: var(--sub2);
  background-image: url(../images/noise.png), linear-gradient(90deg, var(--gradStart) 0%, var(--gradEnd) 100%);
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.subPage .slogan strong,
.subPage .slogan b {
  --gradStart: var(--sub);
  --gradEnd: var(--sub2);
  background-image: url(../images/noise.png), linear-gradient(90deg, var(--gradStart) 0%, var(--gradEnd) 100%);
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.hero hgroup h1 strong {
  --gradStart: var(--sub);
  --gradEnd: var(--sub2);
  background-image: url(../images/noise.png), linear-gradient(90deg, var(--gradStart) 0%, var(--gradEnd) 100%);
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

[data-accent] {
  color: var(--sub);
}

hgroup,
[data-scramble-gsap] {
  overflow: hidden;
}

.ghost {
  --view-opacity: .75;
}

.fade {
  -webkit-mask-image: linear-gradient(to bottom, black 68%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 68%, transparent 100%);
}

.uf-reg {
  font-size: 0.5em;
  vertical-align: super;
}

.section {
  --contGap: calc(var(--pad) * 3);
  --contGapHalf: calc(var(--pad) * 1.5);
  display: grid;
  grid-template-columns: var(--gridCol);
  grid-template-rows: var(--gridRow);
  gap: var(--gridGap);
  --gridGap: var(--contGap);
}
.section .kicker {
  font-size: var(--h2);
}
.section .slogan {
  font-size: var(--sloganSize);
  line-height: 1.25;
  letter-spacing: -0.03em;
}
.section .slogan:has(span:not([data-grad])) {
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.section .slogan:has(span:not([data-grad])) em {
  font-size: var(--h2);
  letter-spacing: -0.05em;
}
.section .slogan:has(span:not([data-grad])) span {
  font-size: 0.3em;
  display: block;
}
.section hgroup {
  display: grid;
  grid-template-columns: var(--gridCol);
  grid-template-rows: var(--gridRow);
  gap: var(--gridGap);
  --gridCol: 1fr;
  --gridGap: 1em;
}
.section hgroup h2 {
  font-size: var(--chapSize);
  line-height: 1.5;
}
.section hgroup h2.normal {
  font-size: var(--h1);
}
@media (min-width: 1100px) {
  .section hgroup h2 br {
    display: var(--mobNoBr);
  }
}
.section .contWrap :is(h2, h3) {
  font-size: var(--chapSize);
  line-height: 1.5;
}
.section .grid {
  --gridCol: repeat(3, 1fr);
  --gridGap: calc(var(--pad) * .5);
}
@media (max-width: 1536px) {
  .section .grid {
    --gridCol: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  .section .grid {
    --gridCol: 1fr;
  }
}
.section .note {
  font-size: var(--mini);
  opacity: 0.5;
}
.section.center {
  --contGap: var(--contGapHalf);
}
.section.center .inner:has(.contWrap) {
  --padTop: 0;
}
.section.center .inner:has(.contWrap) .contWrap {
  gap: var(--contGap);
  align-items: center;
}
.section.center .inner:has(.contWrap) .contWrap p {
  max-width: var(--bodyMax);
}
.section .separates {
  --gridGap: calc(var(--contGap) * 2);
  --gridCol: 1fr;
}
.section .sepWrap {
  --gridGap: calc(var(--pad) * 5);
}
@media (min-width: 1100px) {
  .section .sepWrap:nth-child(even) {
    --figOrder: 2;
  }
}
@media (max-width: 1100px) {
  .section .sepWrap {
    --gridCol: 1fr;
    --gridGap: var(--pad);
  }
}
.section .sepWrap .figWrap figure {
  clip-path: inset(0 round var(--rad3));
}
.section .sepWrap .figWrap figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section .sepWrap .figWrap figure::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to top, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to bottom, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to right, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to left, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2));
  filter: blur(var(--gs-blur, 1em));
  --gs-color: var(--body);
  --gs-alpha: 1;
  --gs-pos: .25em;
  --gs-thick: .5em;
  --gs-blur: .5em;
}
.section .sepWrap .contWrap {
  display: flex;
  flex-direction: column;
  gap: var(--contGapHalf);
}
.section + .section {
  margin-top: var(--sectGap);
}
.section:last-child {
  margin-bottom: var(--sectGap);
}
.section .bodyCopy {
  font-size: var(--h5);
}
@media (min-width: 1100px) {
  .section .bodyCopy {
    line-height: 2.5;
  }
}
.section .bodyCopy br {
  display: var(--mobNoBr);
}

.card {
  --cardPad: calc(var(--pad) * 1.5);
  --cardRad: var(--rad3);
  padding: var(--cardPad);
  border-radius: var(--cardRad);
  position: relative;
  --gb-from: rgba(157, 177, 255, 1);
  --gb-mid: rgba(129, 139, 178, .2);
  --gb-to: rgba(73, 110, 255, 1);
  --gb-width: 1.5px;
}
.card.shadow {
  box-shadow: 0 0 2em var(--bk09);
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(0.5em);
  -webkit-backdrop-filter: blur(0.5em);
}
.card:not(.shadow) {
  overflow: hidden;
  isolation: isolate;
  transition: --gb-mx 0.25s ease-out, --gb-my 0.25s ease-out, --gb-glow 0.35s ease-out;
}
.card:not(.shadow)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  --gb-pos: 1em;
  --gb-color: 157 177 255;
  --gb-alpha: .07;
  --gb-thick: 1.75em;
  --gb-blur: 1em;
  background: linear-gradient(to top, transparent calc(var(--gb-pos) - var(--gb-thick) / 2), rgb(var(--gb-color)/var(--gb-alpha)) var(--gb-pos), transparent calc(var(--gb-pos) + var(--gb-thick) / 2)), linear-gradient(to bottom, transparent calc(var(--gb-pos) - var(--gb-thick) / 2), rgb(var(--gb-color)/var(--gb-alpha)) var(--gb-pos), transparent calc(var(--gb-pos) + var(--gb-thick) / 2)), linear-gradient(to right, transparent calc(var(--gb-pos) - var(--gb-thick) / 2), rgb(var(--gb-color)/var(--gb-alpha)) var(--gb-pos), transparent calc(var(--gb-pos) + var(--gb-thick) / 2)), linear-gradient(to left, transparent calc(var(--gb-pos) - var(--gb-thick) / 2), rgb(var(--gb-color)/var(--gb-alpha)) var(--gb-pos), transparent calc(var(--gb-pos) + var(--gb-thick) / 2));
  filter: blur(var(--gb-blur));
}
.card:not(.shadow)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--gb-width, 1.4px);
  pointer-events: none;
  background: radial-gradient(circle 160px at var(--gb-mx, 50%) var(--gb-my, 50%), rgb(255 255 255/var(--gb-glow, 0)) 0%, rgb(157 177 255/calc(var(--gb-glow, 0) * .55)) 35%, transparent 70%), linear-gradient(var(--gb-angle, 135deg), var(--gb-from, #9db1ff), var(--gb-mid, rgba(129, 139, 178, 0.2)), var(--gb-to, #496eff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
}
.card .num {
  font-size: var(--h4);
  color: var(--sub);
  line-height: 1;
}
.card small {
  color: var(--sub);
}
.card dl dt {
  font-size: var(--small);
  opacity: 0.5;
}
.card dl dd {
  font-size: var(--h3);
  line-height: 1.5;
}
.card dl dd b {
  color: var(--sub);
}

body.en-US {
  --lineHeight: 1.75;
}
body.en-US .rv-char {
  text-box-trim: trim-end;
}
body.en-US .section .contWrap :is(h2, h3),
body.en-US .section .slogan {
  line-height: 1;
}
body.en-US .philosophyPage #message .sepWrap .contWrap div p,
body.en-US .strategyPage #approach .grid .card p {
  line-height: 1.5;
}
body.en-US .section hgroup h2,
body.en-US .card dl dd,
body.en-US .philosophyPage #message .sepWrap .contWrap div h4,
body.en-US .strategyPage #approach .sepWrap .contWrap div strong,
body.en-US .strategyPage #framework .sepWrap .contWrap h3 {
  line-height: 1.25;
}
body.en-US .section .bodyCopy,
body.en-US .home .pane p {
  line-height: 2;
}
body.en-US .companyPage #org-chart .figWrap .card .body dl dt {
  font-size: var(--h5);
}
body.en-US .strategyPage #market .grid .card small {
  font-size: 1em;
}
body.en-US .strategyPage #market .grid .card span,
body.en-US .strategyPage #market .grid .card i,
body.en-US .companyPage #org-chart .figWrap .card .body ul {
  font-size: var(--small);
}
body.en-US .strategyPage #market .grid .card p em {
  font-size: var(--mini);
}
body.en-US .companyPage {
  --coMax: 20em;
}
body.en-US .solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 > em {
  display: block;
}
body.en-US .globalFooter .ctaBanner .inner a {
  font-size: var(--h4);
}
body.en-US .formsWrap .snow-monkey-form[data-screen=confirm] .smf-action:before {
  content: "If the information you entered is correct, please click “Submit.”";
}
body.zh-CN .formsWrap .snow-monkey-form[data-screen=confirm] .smf-action:before {
  content: "如果输入内容无误，请点击“发送”。";
}
@media (max-width: 1100px) {
  body .globalFooter .ctaBanner .inner h4 strong, body.home .hero .slogan h2 div span {
    line-height: 1.125;
  }
  body .solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 {
    line-height: 1.25;
  }
  body .solutionPage #about hgroup em {
    line-height: 1.5;
  }
}

.home {
  --paneGap: calc(var(--pad) * 2);
  --sloganTop: calc(var(--navH) + var(--innPad) * 1.5);
  --sloganBottom: var(--innPad);
  --sloganLand: var(--innPad);
  --catchySize: clamp(3rem, 9vw, 9rem);
  --sloganW: 100%;
  --sloganH: var(--fitH);
  --sloganLast: right;
  --h1Size: 1em;
  --h2H: 100%;
  --heroFigH: var(--fitH);
  --heroFigPos: sticky;
  --panePadTop: 90vh;
  --panePadBottom: 0;
  --chapSize: clamp(2rem, 3vw, 3.2rem);
  --contMax: 40em;
  --logosMax: 40em;
}
.home main {
  margin-top: var(--wrapperOffset);
}
@media (max-width: 1100px) {
  .home {
    --catchySize: clamp(3rem, 15vw, 15rem);
    --sloganLast: left;
    --sloganLand: 10vw;
    --sloganTop: 10vw;
    --sloganBottom: 10vw;
    --h1Size: var(--small);
    --h2H: auto;
    --groupListDir: column;
    --contMax: inherit;
    --logosMax: inherit;
    --heroFigH: 100svh;
    --panePadTop: calc(var(--fitH) * .5);
  }
}
.home .label {
  --labelGap: .5em;
  font-size: var(--h6);
  color: var(--sub);
  margin: 0 auto var(--paneGap);
  display: flex;
  align-items: center;
  gap: var(--labelGap);
}
.home .label span {
  font-size: 1.1em;
}
.home .story {
  width: 100%;
}
.home .story h2 strong {
  --gradStart: var(--sub);
  --gradEnd: var(--sub2);
  background-image: url(../images/noise.png), linear-gradient(90deg, var(--gradStart) 0%, var(--gradEnd) 100%);
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.home .hero {
  width: 100%;
  position: var(--heroFigPos);
  top: 0;
  height: var(--heroFigH);
  z-index: -2;
  overflow: hidden;
}
.home .hero .slogan {
  width: var(--sloganW);
  height: var(--sloganH);
  position: relative;
  z-index: 1;
  color: var(--sub);
  mix-blend-mode: plus-lighter;
  margin: 0;
  padding: var(--sloganTop) var(--sloganLand) var(--sloganBottom);
}
@media (max-width: 1100px) {
  .home .hero .slogan {
    display: flex;
    flex-direction: column-reverse;
    gap: 2em;
    justify-content: center;
  }
}
.home .hero .slogan .title {
  clip-path: inset(0 0);
}
.home .hero .slogan .title h1 {
  font-size: var(--h1Size);
}
@media (min-width: 1100px) {
  .home .hero .slogan .title {
    position: absolute;
    bottom: var(--sloganBottom);
    left: var(--sloganLand);
    z-index: 2;
  }
}
.home .hero .slogan h2 {
  font-size: var(--catchySize);
  letter-spacing: -0.04em;
  line-height: 0.85;
  --gridCol: 1fr;
  place-content: space-between;
  width: 100%;
  height: var(--h2H);
  position: relative;
  z-index: 0;
}
@media (max-width: 1100px) {
  .home .hero .slogan h2 {
    --gridGap: 0;
    place-content: center;
  }
}
.home .hero .slogan h2 div span {
  display: block;
  width: 100%;
  text-box-trim: trim-end;
  clip-path: inset(0 0);
}
.home .hero .slogan h2 div span b {
  display: block;
}
.home .hero .slogan h2 div span:last-child {
  margin-top: -0.25em;
}
.home .hero .slogan h2 div:last-child {
  text-align: var(--sloganLast);
}
.home .hero .slides {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home .hero #cell-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
}
.home .hero .heroProgress {
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.home .hero .heroProgressBar {
  width: 100%;
  height: 100%;
  background: var(--typo);
  transform-origin: top;
  transform: scaleY(0);
}
.home .pane {
  padding-top: var(--panePadTop);
  padding-bottom: var(--panePadBottom);
}
.home .pane .kicker {
  font-size: var(--h3);
  line-height: 1.5;
}
.home .pane h2 {
  font-size: var(--chapSize);
  line-height: 1.5;
}
.home .pane h3 {
  font-size: var(--h5);
}
.home .pane p {
  margin-top: calc(var(--pad) * 2);
  font-size: var(--h6);
  max-width: var(--contMax);
  line-height: 2.25;
}
.home .pane .btn {
  margin-top: var(--paneGap);
}
.home .group #group > ul {
  max-width: var(--logosMax);
  --gap: calc(var(--pad) * .5);
  gap: var(--gap);
  flex-wrap: wrap;
}
.home .group #group > ul > li {
  width: 100%;
}
.home .group #group > ul > li .card {
  --cardRad: var(--rad1);
  --cardPad: .5em;
  --gridCol: 40% 1fr;
  --gridGap: var(--pad);
}
@media (max-width: 1100px) {
  .home .group #group > ul > li .card {
    --gridCol: 1fr;
    --cardPad: 1.5em;
    backdrop-filter: blur(2em);
    -webkit-backdrop-filter: blur(2em);
  }
}
.home .group #group > ul > li .card figure {
  border-radius: calc(var(--cardRad) - var(--cardPad) * .5);
  background: var(--wh00);
  display: grid;
  place-content: center;
  height: 8em;
}
.home .group #group > ul > li .card figure .logo {
  display: block;
  width: 100%;
  height: 2.5em;
  color: var(--typo);
}
.home .group #group > ul > li .card figure .logo path, .home .group #group > ul > li .card figure .logo polygon, .home .group #group > ul > li .card figure .logo rect {
  fill: currentColor;
}
.home .group #group > ul > li .card > div {
  place-items: center flex-start;
  place-content: center;
  --gridCol: 1fr;
  --gridGap: .5em;
}
.home .group #group > ul > li .card > div dl dt {
  font-size: var(--h5);
  opacity: 1;
}
.home .group #group > ul > li .card > div dl dd {
  font-size: var(--small);
}
.home .group #group > ul > li .card > div ul {
  gap: 0.5em;
  flex-wrap: wrap;
}
.home .group #group > ul > li .card > div ul li {
  width: auto;
  font-size: var(--mini);
  border: 1px solid var(--wh02);
  padding: 0 1em;
  border-radius: var(--rad0);
  opacity: 0.75;
}
.home .group #partners {
  margin-top: calc(var(--pad) * 5);
}
.home .group #partners ul {
  max-width: var(--logosMax);
  --gap: calc(var(--pad) * .5);
  justify-content: flex-start;
  gap: var(--gap);
  flex-wrap: wrap;
}
.home .group #partners ul li {
  position: relative;
  width: calc(50% - var(--gap) / 2);
  border-radius: var(--rad1);
  overflow: hidden;
}
.home .group #partners ul li .box {
  height: 6em;
  display: grid;
  place-items: center;
  backdrop-filter: blur(0.5em);
  -webkit-backdrop-filter: blur(0.5em);
  background: var(--wh00);
}
.home .group #partners ul li .box:after {
  content: none;
}
.home .group #partners ul li .box .logo {
  display: block;
  width: 100%;
  height: 100%;
  --logoColor: var(--typo);
  background-color: var(--logoColor, var(--typo));
  mask: var(--maskImage) no-repeat center/contain;
  -webkit-mask: var(--maskImage) no-repeat center/contain;
  transition: 0.4s all ease-in-out;
}
.home .group #partners ul li strong {
  display: grid;
  position: absolute;
  inset: 0;
  place-items: center;
  background: var(--bk08);
  opacity: 0;
  border-radius: var(--rad1);
  color: var(--typo);
  transition: all 0.4s ease-in-out;
  pointer-events: none;
  scale: 120%;
}
.home .group #partners ul li:hover .box .logo {
  scale: 120%;
  filter: blur(1em);
  opacity: 0.3;
}
.home .group #partners ul li:hover strong {
  opacity: 1;
  scale: 100%;
}
.home .news {
  backdrop-filter: blur(3em);
  -webkit-backdrop-filter: blur(3em);
  border-radius: var(--rad5);
  background: var(--wh00);
}
.home .news .inner {
  --gridCol: 15em 1fr;
  --gridRow: 1fr auto;
  --gridGap: 1em;
  place-items: baseline;
}
@media (max-width: 1100px) {
  .home .news .inner {
    --gridCol: 1fr;
    --gridRow: 1fr;
  }
}
.home .news .inner .label {
  margin: 0;
}

.subPage {
  --heroTop: calc(var(--floatingPos) + var(--btnMenu) + var(--pad) * 5);
  --heroBottom: calc(var(--pad) * 3);
  --heroGap: calc(var(--pad) * 1);
  --heroMinH: 24em;
  --sectGap: calc(var(--pad) * 8);
  width: 100%;
  position: relative;
}
@media (min-width: 1100px) {
  .subPage .hero h2 br {
    display: none;
  }
}
@media (max-width: 1100px) {
  .subPage {
    --heroMinH: inherit;
  }
}
.subPage strong {
  color: var(--sub);
}
.subPage .inner {
  --padTop: 0;
  --padBottom: 0;
}
.subPage .label {
  --labelGap: .5em;
  writing-mode: vertical-rl;
  font-size: var(--h6);
  color: var(--sub);
  display: flex;
  align-items: center;
  gap: var(--labelGap);
}
.subPage .label span {
  font-size: 1.1em;
}
.subPage .vLabel {
  writing-mode: vertical-rl;
  line-height: 1;
  color: var(--typo);
  font-weight: var(--regular);
  margin: 0;
}
.subPage .logo {
  display: block;
  background-color: var(--logoColor, var(--typo));
  mask: var(--maskImage) no-repeat center/contain;
  -webkit-mask: var(--maskImage) no-repeat center/contain;
}
.subPage article {
  width: 100%;
  position: relative;
}
.subPage .featImg {
  --padTop: 0;
  --padBottom: 0;
  --ratio: 4/1;
  aspect-ratio: var(--ratio);
}
@media (max-width: 1100px) {
  .subPage .featImg {
    --ratio: 6/5;
  }
}
.subPage .featImg figure {
  clip-path: inset(0 round var(--rad3));
  height: 100%;
  position: relative;
}
.subPage .featImg figure::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to top, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to bottom, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to right, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2)), linear-gradient(to left, transparent calc(var(--gs-pos, 1em) - var(--gs-thick, 1.75em) / 2), rgb(from var(--gs-color, #9db1ff) r g b / var(--gs-alpha, .07)) var(--gs-pos, 1em), transparent calc(var(--gs-pos, 1em) + var(--gs-thick, 1.75em) / 2));
  filter: blur(var(--gs-blur, 1em));
  --gs-color: var(--body);
  --gs-alpha: 1;
  --gs-pos: .25em;
  --gs-thick: .5em;
  --gs-blur: .5em;
}
.subPage .featImg figure img {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  object-fit: cover;
  z-index: 0;
}
.subPage .hero hgroup {
  --gridCol: 1fr;
  --gridGap: calc(var(--heroGap) * .5);
  display: grid;
  grid-template-columns: var(--gridCol);
  grid-template-rows: var(--gridRow);
  gap: var(--gridGap);
  padding-bottom: var(--heroBottom);
  min-height: var(--heroMinH);
  place-content: flex-start;
}
.subPage .hero hgroup em {
  font-size: var(--h5);
  line-height: 1;
  margin-bottom: 1em;
  display: block;
}
.subPage .hero hgroup h1 {
  font-size: var(--sloganSize);
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.subPage .hero hgroup h1.flexBox {
  gap: 0.2em 0;
}
.subPage .hero hgroup h1 span {
  display: inline-block;
}
.subPage .hero hgroup h1 strong {
  --gradStart: var(--sub);
  --gradEnd: var(--sub2);
  background-image: url(../images/noise.png), linear-gradient(90deg, var(--gradStart) 0%, var(--gradEnd) 100%);
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (min-width: 1100px) {
  .subPage .hero hgroup h1 br {
    display: none;
  }
  .subPage .hero hgroup h1 br + span {
    margin-top: -0.25em;
  }
}
.subPage .hero hgroup h2 {
  font-size: var(--h6);
}
.subPage .hero hgroup .heroLead {
  font-size: var(--h6);
}
.subPage .hero .contWrap {
  --padTop: var(--heroTop);
  --padBottom: 0;
}
.subPage .hero .featImg {
  --padBottom: 0;
}
.subPage .hero + .section {
  --nexSectOffset: var(--contGap);
  margin-top: var(--nexSectOffset);
}

.solutionPage {
  --bodyMax: 50em;
  --figMax: 56em;
  --contMax: 30em;
  --listMax: 35em;
}
.solutionPage hgroup.center p {
  max-width: var(--bodyMax);
  margin: 0 auto;
}
.solutionPage #about {
  --textAlign: center;
  margin-top: var(--sectGap);
  text-align: var(--textAlign);
}
@media (min-width: 1100px) {
  .solutionPage #about {
    --textAlign: center;
  }
}
@media (max-width: 1100px) {
  .solutionPage #about {
    --textAlign: left;
  }
}
.solutionPage #about hgroup em {
  font-size: var(--h3);
  color: var(--sub);
  margin: var(--contGapHalf) 0 var(--contGap);
}
@media (max-width: 1100px) {
  .solutionPage #about hgroup em {
    margin: 1em 0;
  }
}
.solutionPage #about hgroup em br {
  display: var(--mobNoBr);
}
.solutionPage #about .grid[data-seq] {
  --gridCol: repeat(3, 1fr);
  margin-top: var(--contGapHalf);
}
@media (max-width: 1100px) {
  .solutionPage #about .grid[data-seq] {
    --gridCol: 1fr;
  }
}
.solutionPage #about .grid[data-seq] .card {
  --cardPad: calc(var(--pad) * 1.5) 1em;
  gap: 1em;
}
.solutionPage #about .grid[data-seq] .card p {
  font-size: var(--h4);
  line-height: 1.5;
}
.solutionPage #supernatant {
  --chartGap: calc(var(--pad) * .5);
}
.solutionPage #supernatant .sepWrap {
  place-items: center;
}
.solutionPage #supernatant .sepWrap .contWrap h2 > em:first-child {
  font-size: 0.5em;
}
.solutionPage #supernatant .chart-wrap {
  text-align: var(--textAlign);
}
@media (max-width: 1100px) {
  .solutionPage #supernatant .chart-wrap {
    padding: 2em;
    background: var(--wh01);
    border-radius: var(--rad1);
  }
}
.solutionPage #supernatant .chart-wrap .chart-bars {
  display: flex;
  justify-content: center;
  gap: clamp(2.5em, 8vw, 5em);
  align-items: flex-end;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  flex: 1;
  max-width: 11.25em;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-col:first-child .vbar-val {
  color: #94A3B8;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-col:last-child .vbar-val {
  color: #38BDF8;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-val {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1;
  opacity: 0;
  transform: translateY(0.5em);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-val.on {
  opacity: 1;
  transform: translateY(0);
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-val .vu {
  font-size: 0.5em;
  margin-left: 0.12em;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-track {
  width: 4.5em;
  height: 15em;
  position: relative;
  border-radius: var(--rad0);
  background: rgba(255, 255, 255, 0.03);
  overflow: hidden;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-fill {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-radius: 0 0 var(--rad0) var(--rad0);
  height: 0;
  transition: height 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-fill.exo {
  background: linear-gradient(0deg, #37465a, #516583, #798fad);
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-fill.sup {
  background: linear-gradient(0deg, #006389, #549df6, #b7d5ff);
  box-shadow: 0 0 1.75em rgba(14, 165, 233, 0.3), 0 0 3.5em rgba(14, 165, 233, 0.12);
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-lbl b {
  display: block;
}
.solutionPage #supernatant .chart-wrap .chart-bars .vbar-lbl span {
  display: block;
}
.solutionPage #supernatant .chart-wrap .chart-head {
  margin-top: var(--chartGap);
  padding-top: var(--chartGap);
  border-top: 1px solid var(--wh02);
  text-align: center;
}
.solutionPage #supernatant .chart-wrap .chart-head h3 {
  font-size: var(--h5);
}
.solutionPage #supernatant .chart-wrap .chart-head p {
  font-size: var(--mini);
}
.solutionPage #supernatant .chart-wrap .chart-head small {
  font-size: var(--micro);
  opacity: 0.5;
  display: block;
}
.solutionPage #mechanism .contWrap + .grid {
  margin-top: var(--contGap);
}
.solutionPage #mechanism .grid {
  --gridCol: repeat(2, 1fr);
}
@media (max-width: 1100px) {
  .solutionPage #mechanism .grid {
    --gridCol: 1fr;
  }
}
.solutionPage #mechanism .grid .card {
  --gridGap: calc(var(--pad) * 2);
  --gridCol: 1.5em 1fr;
  --cardPad: calc(var(--pad) * 2.5);
}
@media (max-width: 1100px) {
  .solutionPage #mechanism .grid .card {
    --gridGap: 1em;
    --gridCol: 1fr;
  }
  .solutionPage #mechanism .grid .card p br {
    display: none;
  }
}
.solutionPage #mechanism .grid .card div {
  gap: 2em;
}
.solutionPage #mechanism .grid .card div dd em:first-child {
  font-size: 0.6em;
  opacity: 0.5;
}
.solutionPage #evidence .evidenceWrap {
  --contGap: calc(var(--pad) * 5);
  --gridCol: 1fr;
  --gridGap: calc(var(--pad) * 8);
}
.solutionPage #evidence .evidenceWrap .evidenceInner {
  --gridCol: 2fr 1.5fr;
  --gridGap: calc(var(--pad) * 2);
  --StrongSize: calc(var(--chapSize));
  --hederSize: 1em;
  --normSize: clamp(3rem, 5vw, 5rem);
  --largeSize: clamp(5rem, 13vw, 12rem);
  --hraderPlace: flex-start;
  --largePlace: flex-end;
  --h2TextAlign: inherit;
  --listGap: 5em;
  --listPad: 0;
  --borderColor: transparent;
  place-items: var(--hraderPlace);
}
@media (min-width: 1100px) {
  .solutionPage #evidence .evidenceWrap .evidenceInner .contWrap {
    --topY: 25vh;
    min-height: 50vh;
  }
  .solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList {
    margin-top: 50vh;
  }
}
@media (max-width: 1100px) {
  .solutionPage #evidence .evidenceWrap .evidenceInner {
    --gridCol: 1fr;
    --gridGap: calc(var(--pad) * 3);
    --wrapGap: var(--pad);
    --hederSize: 1em;
    --normSize: clamp(3rem, 4vw, 3.5rem);
    --largeSize: clamp(5rem, 26vw, 25rem);
    --hraderPlace: center;
    --largePlace: center;
    --h2TextAlign: center;
    --listGap: 2em;
    --listPad: 2em;
    --borderColor: var(--wh02);
  }
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap {
  gap: var(--contGapHalf);
  justify-content: center;
  align-items: var(--hraderPlace);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup {
  --gridGap: 0;
  place-items: var(--hraderPlace);
  font-size: var(--hederSize);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 {
  font-size: var(--normSize);
  text-align: var(--h2TextAlign);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 > em {
  font-size: 0.5em;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 strong:has(em) {
  line-height: 1;
  display: grid;
  place-items: var(--largePlace);
  font-size: var(--largeSize);
  letter-spacing: -0.05em;
  text-box-trim: none;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 strong:has(em) + br {
  display: none;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2 strong:has(em) em {
  text-box-trim: none;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup h2:has(strong em) {
  line-height: 1;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap hgroup p:not(.kicker) {
  max-width: var(--contMax);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard {
  --cardFig: 7em;
  align-items: flex-start;
  gap: var(--pad);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile {
  display: flex;
  align-items: center;
  gap: 1em;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile .evidenceProfileImg {
  width: var(--cardFig);
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
  overflow: hidden;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile .evidenceProfileInfo {
  line-height: 1.25;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile .evidenceProfileInfo em, .solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile .evidenceProfileInfo span {
  display: block;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceProfile .evidenceProfileInfo span {
  font-size: var(--small);
  margin-top: 1em;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceMeta {
  font-size: var(--micro);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceMeta dl {
  display: flex;
  gap: 1em;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .contWrap .evidenceCard .evidenceMeta dl dt {
  white-space: nowrap;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList {
  gap: calc(var(--pad) * 1.5);
  padding: var(--listPad);
  border-radius: var(--rad1);
  border: 1px solid var(--borderColor);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div {
  display: flex;
  align-items: flex-start;
  gap: var(--listGap);
  padding-bottom: calc(var(--pad) * 1.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div em {
  color: var(--sub);
  flex-shrink: 0;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dt {
  font-size: var(--h3);
  line-height: 1.5;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dt b {
  color: var(--sub);
}
@media (max-width: 1100px) {
  .solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dt br {
    display: none;
  }
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dd {
  margin-top: 1.5em;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dd small {
  display: block;
}
.solutionPage #evidence .evidenceWrap .evidenceInner .evidenceList > div dl dd .btn {
  font-size: var(--small);
  margin-top: 1em;
}
.solutionPage #manufacturing .lottieStage {
  position: relative;
  width: 100%;
  max-width: var(--figMax);
  aspect-ratio: 2000/600;
  margin: var(--contGapHalf) auto;
}
.solutionPage #manufacturing .lottieStage .scene {
  position: absolute;
  top: 0;
  left: 0;
  width: 2000px;
  height: 600px;
  transform-origin: top left;
}
.solutionPage #manufacturing .lottieStage .obj {
  position: absolute;
}
.solutionPage #manufacturing .lottieStage .obj > img {
  display: block;
  width: 100%;
  height: 100%;
}
.solutionPage #manufacturing .lottieStage .obj#tube {
  overflow: hidden;
  border-radius: 0 0 5em 5em;
}
.solutionPage #manufacturing .lottieStage .layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.solutionPage #manufacturing .lottieStage .liquid {
  position: absolute;
  transform-origin: 50% 100%;
  background: linear-gradient(90deg, #d8e0ff, #6582f4);
  border-radius: 2px;
  opacity: 0.5;
}
.solutionPage #manufacturing .lottieStage .scene .caption {
  position: absolute;
  transform: translate(-50%, 1em);
  text-align: center;
  font-size: 30px;
  line-height: 1.5;
  width: 12em;
}
.solutionPage #manufacturing .lottieStage + p {
  max-width: var(--bodyMax);
  margin: var(--contGap) auto 0;
  display: block;
}
.solutionPage #fields {
  border-radius: var(--rad5);
  padding: var(--contGap) 0 0;
  --gb-from: rgb(47 63 124 / 80%);
  --gb-to: rgb(173 185 229 / 70%);
  backdrop-filter: blur(5em);
  -webkit-backdrop-filter: blur(5em);
}
.solutionPage #fields .inner {
  --padBottom: var(--contGap);
}
.solutionPage #fields .grid {
  --gridCol: 1fr 1fr;
  --gridGap: var(--contGap);
  margin-top: var(--contGap);
}
@media (max-width: 1100px) {
  .solutionPage #fields .grid {
    --gridCol: 1fr;
  }
}
.solutionPage #fields .fieldsCard .fieldsFig {
  clip-path: inset(0 round var(--rad0));
  aspect-ratio: 4/3;
}
.solutionPage #fields .fieldsCard .fieldsFig figure {
  width: 100%;
  height: 100%;
}
.solutionPage #fields .fieldsCard .fieldsFig figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.solutionPage #fields .fieldsCard h3 {
  font-size: var(--h3);
  padding: 1em 0;
}
.solutionPage #fields .fieldsTags {
  gap: 0.5em;
  flex-wrap: wrap;
}
.solutionPage #fields .fieldsTags li {
  padding: 0.5em 1em;
  border: 1px solid;
  border-radius: var(--rad0);
}
.solutionPage #fields .note {
  display: block;
  padding: var(--pad) 0 0;
}

.philosophyPage {
  --bodyMax: 44em;
}
.philosophyPage #philosophy {
  --nexSectOffset: 0;
}
.philosophyPage #philosophy .cardList {
  gap: var(--pad);
}
.philosophyPage #philosophy .cardList .card {
  --cardPad: 1em;
  --cardRad: var(--rad3);
  --gridCol: repeat(2, 1fr);
  --gridGap: clamp(2rem, 4vw, 5rem);
  flex-direction: row;
  isolation: isolate;
  border-radius: var(--rad3);
  --gb-from: rgba(157, 177, 255, 1);
  --gb-mid: rgba(129, 139, 178, .2);
  --gb-to: rgba(73, 110, 255, 1);
  --gb-width: 1.5px;
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card {
    flex-direction: column;
    --gridCol: 1fr;
  }
}
.philosophyPage #philosophy .cardList .card .body {
  display: grid;
  place-items: center flex-start;
}
.philosophyPage #philosophy .cardList .card .body .flexBox {
  gap: clamp(2rem, 5vw, 7.5rem);
  padding: var(--pad);
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card .body .flexBox {
    gap: var(--pad);
    justify-content: center;
  }
}
.philosophyPage #philosophy .cardList .card .body .flexBox .chapter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5em;
  flex-shrink: 0;
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card .body .flexBox .chapter {
    flex-direction: row;
    align-items: center;
  }
}
.philosophyPage #philosophy .cardList .card .body .flexBox .chapter em {
  font-family: "DM Sans", sans-serif;
  line-height: 0.8;
  letter-spacing: 0;
  font-size: var(--chapSize);
  color: var(--sub);
}
.philosophyPage #philosophy .cardList .card .body .flexBox .chapter .label {
  --labelGap: 1em;
  margin: 0;
  color: var(--sub);
}
.philosophyPage #philosophy .cardList .card .body .flexBox .chapter .label::before {
  content: "";
  display: block;
  width: 1px;
  height: 2.5em;
  background: var(--sub);
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card .body .flexBox .chapter .label {
    writing-mode: inherit;
  }
}
.philosophyPage #philosophy .cardList .card .body .flexBox dl {
  gap: 1.5em;
  flex: 1;
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card .body .flexBox dl {
    align-items: center;
    text-align: center;
    flex: none;
    width: 100%;
  }
}
.philosophyPage #philosophy .cardList .card .body .flexBox dl dt {
  font-style: normal;
}
.philosophyPage #philosophy .cardList .card .body .flexBox dl dd {
  font-size: var(--h3);
}
.philosophyPage #philosophy .cardList .card figure {
  clip-path: inset(0 round calc(var(--cardRad) - var(--cardPad) * .5));
  align-self: stretch;
}
@media (max-width: 1100px) {
  .philosophyPage #philosophy .cardList .card figure {
    flex: 0 0 auto;
    order: -1;
    aspect-ratio: 1;
  }
}
.philosophyPage #philosophy .cardList .card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.philosophyPage #message .hgroup h2 {
  font-size: var(--sloganSize);
}
.philosophyPage #message .sepWrap {
  --gridCol: repeat(2, 1fr);
  --figOrder: 0;
  align-items: start;
}
@media (max-width: 1100px) {
  .philosophyPage #message .sepWrap {
    --gridCol: 1fr;
    --gridGap: var(--pad);
  }
}
.philosophyPage #message .sepWrap .figWrap {
  --figSize: min(55vh, 100%);
  --topY: calc((var(--fitH) - var(--figSize)) * .5 - var(--headerH));
}
.philosophyPage #message .sepWrap .figWrap figure {
  width: var(--figSize);
  height: var(--figSize);
  margin-inline: auto;
}
@media (max-width: 1100px) {
  .philosophyPage #message .sepWrap .figWrap {
    position: relative;
    --topY: auto;
  }
  .philosophyPage #message .sepWrap .figWrap figure {
    width: 100%;
    height: auto;
  }
}
.philosophyPage #message .sepWrap .figWrap figure {
  clip-path: inset(0 round var(--rad0));
  aspect-ratio: 4/5;
}
.philosophyPage #message .sepWrap .contWrap {
  display: flex;
  flex-direction: column;
  gap: calc(var(--pad) * 2.25);
}
.philosophyPage #message .sepWrap .contWrap h3 {
  font-size: var(--h1);
}
.philosophyPage #message .sepWrap .contWrap div h4 {
  font-size: var(--h3);
}
.philosophyPage #message .sepWrap .contWrap div p {
  line-height: 2;
  margin: 1em 0;
}
.philosophyPage #message .sepWrap .contWrap div span {
  display: block;
  font-size: var(--small);
  margin-top: 4em;
  width: 100%;
  text-align: right;
}

.strategyPage {
  --bodyMax: 50em;
  --contMax: 32em;
}
.strategyPage #market hgroup {
  --gridGap: var(--contGapHalf);
}
.strategyPage #market .grid {
  --gridCol: repeat(3, 1fr);
  --gridGap: calc(var(--pad) * .5);
  margin-top: 0;
}
@media (max-width: 1100px) {
  .strategyPage #market .grid {
    --gridCol: 1fr;
  }
}
.strategyPage #market .grid .card {
  --cardPad: calc(var(--pad) * 2) var(--pad);
  --cardGap: var(--pad);
  --cardRad: var(--rad1);
  text-align: center;
  align-items: center;
  gap: 0.5em;
}
.strategyPage #market .grid .card span {
  color: var(--sub);
  border: 1px solid rgba(157, 177, 255, 0.35);
  border-radius: var(--rad1);
  padding: 0.5em 1em;
  display: inline-block;
  font-size: var(--h6);
  margin-bottom: 1em;
}
.strategyPage #market .grid .card span em {
  font-size: var(--small);
}
.strategyPage #market .grid .card p {
  display: flex;
  align-items: center;
  line-height: 1;
  font-size: var(--h4);
  gap: 0.25em;
}
.strategyPage #market .grid .card p strong {
  font-size: 3.5em;
}
.strategyPage #market .grid .card p em {
  max-width: 3em;
}
.strategyPage #market .grid .card small {
  font-size: var(--h5);
}
.strategyPage #market .grid .card i {
  display: block;
  width: 100%;
  text-align: center;
}
.strategyPage #market .grid .card i:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: currentColor;
  opacity: 0.2;
  margin: 1em 0 1em;
}
.strategyPage #control .sepWrap .contWrap {
  display: flex;
  flex-direction: column;
  gap: 1em;
  justify-content: center;
}
.strategyPage #control .sepWrap .contWrap .kicker {
  font-size: var(--h5);
}
.strategyPage #control .sepWrap .contWrap h2 > em:first-child {
  font-size: var(--h5);
}
.strategyPage #control .sepWrap .contWrap p {
  margin-top: var(--contGapHalf);
}
.strategyPage #control .sepWrap .figWrap .growth-chart {
  width: 100%;
  height: 100%;
  min-height: 22em;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}
.strategyPage #control .sepWrap .figWrap .gc-bars {
  display: flex;
  align-items: flex-end;
  gap: 0.3em;
  flex: 1;
}
.strategyPage #control .sepWrap .figWrap .gc-bar {
  flex: 1;
  height: 0;
  border-radius: 0.25em 0.25em 0 0;
  background: linear-gradient(to top, var(--sub2), var(--sub));
  transition: height 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.strategyPage #control .sepWrap .figWrap .gc-bar--last {
  background: linear-gradient(to top, #496eff, #c5d3ff);
  box-shadow: 0 0 1em rgba(157, 177, 255, 0.4), 0 0 2.5em rgba(73, 110, 255, 0.2);
}
.strategyPage #control .sepWrap .figWrap .gc-years {
  display: flex;
  justify-content: space-between;
  font-size: var(--micro);
  opacity: 0.55;
  padding-top: 0.5em;
  border-top: 1px solid var(--wh02);
}
.strategyPage #approach .sepWrap {
  --figOrder: 0;
  --gridCol: 1.75fr 1fr;
  place-items: flex-start;
}
@media (max-width: 1100px) {
  .strategyPage #approach .sepWrap {
    --gridCol: 1fr;
  }
}
.strategyPage #approach .sepWrap .figWrap figure {
  clip-path: inset(0 round var(--rad0));
  aspect-ratio: 4/3;
}
.strategyPage #approach .sepWrap .figWrap figure img {
  width: 100%;
  height: 120%;
  object-fit: cover;
}
.strategyPage #approach .sepWrap .contWrap {
  display: flex;
  flex-direction: column;
  gap: calc(var(--pad) * 2.5);
  justify-content: center;
  padding-top: 1em;
}
.strategyPage #approach .sepWrap .contWrap div {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}
.strategyPage #approach .sepWrap .contWrap div strong {
  color: inherit;
  font-size: var(--h3);
  display: block;
  line-height: 1.5;
}
.strategyPage #approach .grid {
  --gridCol: repeat(2, 1fr);
  margin-top: var(--contGap);
}
.strategyPage #approach .grid .card {
  --cardPad: calc(var(--pad) * 2) var(--pad) calc(var(--pad) * 2.5);
  --cardGap: calc(var(--pad) * 1.5);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strategyPage #approach .grid .card small {
  font-size: var(--small);
  font-style: normal;
  margin-bottom: 2em;
}
.strategyPage #approach .grid .card p {
  font-size: var(--h4);
  line-height: 1.75;
}
@media (max-width: 1100px) {
  .strategyPage #approach .grid {
    --gridCol: 1fr;
  }
}
.strategyPage #framework {
  --gridGap: 0;
  --padBottom: var(--sectGap);
}
@media (min-width: 1100px) {
  .strategyPage #framework hgroup h2.normal {
    max-width: 55%;
  }
}
.strategyPage #framework .sepWrap {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 1100px) {
  .strategyPage #framework .sepWrap {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (min-width: 1100px) {
  .strategyPage #framework .sepWrap {
    margin-top: calc(0% - var(--pad) * 4);
  }
}
.strategyPage #framework .sepWrap .contWrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--contGapHalf);
}
.strategyPage #framework .sepWrap .contWrap h3 {
  font-size: var(--h2);
  line-height: 1.5;
}
.strategyPage #framework .sepWrap .figWrap {
  width: 55%;
  flex: none;
  position: relative;
  aspect-ratio: 1;
}
@media (max-width: 1100px) {
  .strategyPage #framework .sepWrap .figWrap {
    width: 100%;
    margin: 0 auto;
  }
}
.strategyPage #framework .sepWrap .figWrap .glow {
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(73, 110, 255, 0.5), transparent, rgba(73, 110, 255, 0.5)), linear-gradient(45deg, rgba(0, 25, 125, 0.5), transparent, rgba(0, 52, 255, 0.5));
  filter: blur(1em);
  mix-blend-mode: plus-lighter;
  z-index: 0;
  pointer-events: none;
}
.strategyPage #framework .sepWrap .figWrap .svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
}
.strategyPage #framework .sepWrap .figWrap .fwLabel {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  font-size: var(--h4);
  line-height: 1;
}
.strategyPage #framework .sepWrap .figWrap .fwLabel--1 {
  left: 2%;
  top: 50%;
  transform: translateY(-50%);
}
.strategyPage #framework .sepWrap .figWrap .fwLabel--2 {
  right: 12%;
  top: 18%;
}
.strategyPage #framework .sepWrap .figWrap .fwLabel--3 {
  left: 50%;
  bottom: 3%;
  transform: translateX(-50%);
}

.companyPage {
  --labelColW: auto;
  --memberGap: calc(var(--pad) * 1);
  --leadFigSize: 12em;
  --heroMax: 35em;
  --coMax: 15em;
}
@media (max-width: 1100px) {
  .companyPage {
    --leadFigSize: 100%;
  }
}
.companyPage .section {
  --gridCol: var(--labelColW) 1fr;
  align-items: flex-start;
}
@media (max-width: 1100px) {
  .companyPage .section {
    --gridCol: 1em 1fr;
    --gridGap: 1.5em;
  }
}
.companyPage .hero h1 {
  font-size: var(--sloganSize);
}
.companyPage .hero hgroup .heroLead {
  margin-top: 1.5em;
  max-width: var(--heroMax);
  line-height: 1.8;
  --view-opacity: .75;
}
.companyPage #profile .coInfo {
  width: 100%;
}
.companyPage #profile .coInfo dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.companyPage #profile .coInfo dl:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.companyPage #profile .coInfo dl dt,
.companyPage #profile .coInfo dl dd {
  padding: 2em;
}
.companyPage #profile .coInfo dl dt {
  width: var(--coMax);
  font-size: var(--small);
  opacity: 0.6;
}
.companyPage #profile .coInfo dl dd {
  flex: 1;
}
@media (max-width: 1100px) {
  .companyPage #profile .coInfo dl dt, .companyPage #profile .coInfo dl dd {
    width: 100%;
    flex: auto;
  }
  .companyPage #profile .coInfo dl dt {
    padding: 1.25em 0 0;
  }
  .companyPage #profile .coInfo dl dd {
    padding: 0.25em 0 1.25em;
  }
}
.companyPage #org-chart {
  overflow: hidden;
}
.companyPage #org-chart .figWrap {
  overflow: hidden;
}
.companyPage #org-chart .figWrap .tree {
  --treeGap: calc(var(--pad) * 2);
  --treeDir: center;
  --parentW: 30%;
  --hGap: var(--pad);
  --lw: 2px;
  --line: var(--wh02);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
@media (max-width: 1100px) {
  .companyPage #org-chart .figWrap .tree {
    --treeDir: flex-start;
    --parentW: 100%;
    overflow: scroll hidden;
    align-items: flex-start;
  }
}
.companyPage #org-chart .figWrap .parent {
  display: flex;
  justify-content: var(--treeDir);
  width: 100%;
}
.companyPage #org-chart .figWrap .parent .item {
  width: var(--parentW);
  min-width: 14em;
}
.companyPage #org-chart .figWrap .child {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: var(--treeDir);
  gap: var(--hGap);
  padding-top: var(--treeGap);
}
.companyPage #org-chart .figWrap .child:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--lw);
  height: calc(var(--treeGap) * .5);
  background: var(--line);
}
.companyPage #org-chart .figWrap .child .item {
  flex: 1 1 0;
  max-width: 24em;
  position: relative;
}
.companyPage #org-chart .figWrap .child .item:before, .companyPage #org-chart .figWrap .child .item:after {
  content: "";
  position: absolute;
  top: calc(var(--treeGap) * -.5);
  background: var(--line);
}
.companyPage #org-chart .figWrap .child .item:before {
  left: 50%;
  transform: translateX(-50%);
  width: var(--lw);
  height: calc(var(--treeGap) * .5);
}
.companyPage #org-chart .figWrap .child .item:after {
  left: calc(var(--hGap) * -.5);
  right: calc(var(--hGap) * -.5);
  height: var(--lw);
}
@media (max-width: 1100px) {
  .companyPage #org-chart .figWrap .child .item {
    flex: 0 0 auto;
    min-width: 14em;
  }
}
.companyPage #org-chart .figWrap .child .item:first-child::after {
  left: 50%;
}
.companyPage #org-chart .figWrap .child .item:last-child::after {
  right: 50%;
}
.companyPage #org-chart .figWrap .child .item:only-child::after {
  content: none;
}
.companyPage #org-chart .figWrap .card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--typo);
  height: 100%;
}
.companyPage #org-chart .figWrap .card .body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
  width: 100%;
  transition: opacity 0.6s var(--springGlide), transform 0.6s var(--springGlide);
}
.companyPage #org-chart .figWrap .card .body .logo {
  width: 100%;
  height: 2em;
  background: none;
  mask: none;
  -webkit-mask: none;
  color: var(--typo);
}
.companyPage #org-chart .figWrap .card .body .logo path, .companyPage #org-chart .figWrap .card .body .logo polygon, .companyPage #org-chart .figWrap .card .body .logo rect {
  fill: currentColor;
}
.companyPage #org-chart .figWrap .card .body dl {
  text-align: center;
}
.companyPage #org-chart .figWrap .card .body dl dt {
  font-size: var(--h3);
  line-height: 1.5;
  color: var(--sub);
  opacity: 1;
}
.companyPage #org-chart .figWrap .card .body dl dd {
  font-size: var(--small);
}
.companyPage #org-chart .figWrap .card .body ul {
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  gap: 0.5em;
  line-height: 1;
}
.companyPage #management .memberWrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--memberGap);
}
.companyPage #management .memberRow {
  width: 100%;
  gap: var(--memberGap);
  --mainCol: repeat(2, 1fr);
  --subCol: repeat(3, 1fr);
}
@media (max-width: 1536px) {
  .companyPage #management .memberRow {
    --subCol: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  .companyPage #management .memberRow {
    --mainCol: 1fr;
    --subCol: 1fr;
  }
}
.companyPage #management .memberRow--lead {
  --gridCol: var(--mainCol);
}
.companyPage #management .memberRow--staff {
  --gridCol: var(--subCol);
}
.companyPage #management .card {
  --cardRad: var(--rad3);
}
.companyPage #management .card > .flexBox {
  align-items: center;
  gap: calc(var(--pad) * .8);
  flex-wrap: nowrap;
}
@media (max-width: 1100px) {
  .companyPage #management .card > .flexBox {
    flex-direction: column;
    align-items: flex-start;
  }
}
.companyPage #management .card figure {
  width: var(--leadFigSize);
  aspect-ratio: 1;
  clip-path: inset(0 round calc(var(--cardRad) - var(--cardPad) * .5));
  flex-shrink: 0;
}
.companyPage #management .card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.companyPage #management .card hgroup {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
.companyPage #management .card hgroup h3 {
  font-family: "DM Sans", sans-serif;
  line-height: 1;
  letter-spacing: -0.03em;
  font-size: var(--h4);
}
.companyPage #management .card hgroup p {
  font-size: var(--h5);
}
.companyPage #management .card hgroup small {
  font-size: var(--small);
  color: var(--sub);
  line-height: 1.5;
  margin-top: 0.5em;
}
.companyPage #management .card > p {
  font-size: var(--small);
  opacity: 0.7;
  margin-top: 3em;
}
.companyPage #partners .contWrap {
  width: 100%;
}
.companyPage #partners ul {
  --gap: calc(var(--pad) * 1);
  justify-content: flex-start;
  width: 100%;
  gap: var(--gap);
}
.companyPage #partners ul li {
  position: relative;
  width: calc(33.333% - var(--gap) * (2 / 3));
  overflow: hidden;
  border-radius: var(--rad1);
}
@media (max-width: 1100px) {
  .companyPage #partners ul li {
    width: 100%;
  }
}
.companyPage #partners ul li .card {
  --cardRad: 0;
  --cardPad: 1em;
  display: grid;
  place-items: center;
  transition: all 0.4s ease-in-out;
}
.companyPage #partners ul li .card:after {
  content: none;
}
.companyPage #partners ul li .card .logo {
  width: 100%;
  height: 6em;
  --logoColor: var(--typo);
  transition: 0.4s all ease-in-out;
}
.companyPage #partners ul li strong {
  display: grid;
  position: absolute;
  inset: 0;
  place-items: center;
  background: var(--bk08);
  opacity: 0;
  color: var(--typo);
  transition: all 0.4s ease-in-out;
  pointer-events: none;
  scale: 120%;
}
.companyPage #partners ul li:hover .card .logo {
  scale: 120%;
  filter: blur(1em);
  opacity: 0.3;
}
.companyPage #partners ul li:hover strong {
  opacity: 1;
  scale: 100%;
}

.formsWrap {
  --formMax: 54em;
  --sectsAlign: center;
  --inputPad: 1.5em;
  --confPad: var(--pad);
  --confDtW: 10em;
  --confDdW: calc(100% - var(--confDtW));
  --telSize: 2em;
  --labelW: 15em;
  --labelPad: 1.5em 0 0;
  --controlsW: auto;
  --formPad: 1em 0;
  --tplPrime: var(--theme);
  --tplSecond: var(--sub2);
  --tplSub: var(--sub);
}
@media (max-width: 1100px) {
  .formsWrap {
    --inputPad: 1em;
    --labelW: 100%;
    --labelPad: 0;
    --controlsW: 100%;
    --formPad: 0 0 3em;
    --confDtW: 100%;
    --confDdW: 100%;
  }
}
.formsWrap .snow-monkey-form .smf-form {
  max-width: var(--formMax);
  margin: 0 auto;
}
.formsWrap .snow-monkey-form .smf-form .smf-system-error-content {
  text-align: center;
}
.formsWrap .snow-monkey-form .smf-action {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 1em;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control {
  display: block;
}
@media (min-width: 1100px) {
  .formsWrap .snow-monkey-form .smf-action .smf-button-control {
    min-width: 10em;
  }
}
@media (max-width: 1100px) {
  .formsWrap .snow-monkey-form .smf-action .smf-button-control {
    min-width: calc(50% - .5em);
  }
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control + .smf-button-control {
  margin: 0;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control {
  --arrow: .75em;
  --paddingPort: calc(var(--arrow) * 1.5);
  --paddingLand: calc(var(--arrow) * 2);
  --arrowPsos: var(--arrow);
  --display: inline-block;
  --borderWid: 2px;
  --btnMin: 15em;
  font-size: 1em;
  border: none;
  margin: 0;
  text-align: center;
  line-height: 1.5;
  position: relative;
  display: var(--display);
  z-index: 1;
  cursor: pointer;
  padding: var(--paddingPort) var(--paddingLand);
  transition: all 1.2s var(--springGlide);
  border-radius: 5em;
  gap: var(--padding);
  background: var(--tplSub);
  color: var(--typo);
  min-width: var(--btnMin);
  box-shadow: 0 0 1em transparent inset, 0 0 3em transparent inset;
  background-attachment: inherit;
  --maskSize: 1em;
  --maskRepeat: no-repeat;
  --maskPosition: left;
  --maskColor: currentColor;
  --maskWidth: 1em;
  --ratio: 1;
  --maskImage: url("../images/iconArrow.svg");
  align-items: center;
  justify-content: space-between;
  border: 1px solid transparent;
  overflow: hidden;
  --maskColor: var(--btnGrad);
  background: var(--btnGrad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:after {
  content: "";
  display: inline-block;
  width: var(--maskWidth);
  mask-repeat: var(--maskRepeat);
  mask-position: var(--maskPosition);
  mask-size: var(--maskSize);
  -webkit-mask-repeat: var(--maskRepeat);
  -webkit-mask-position: var(--maskPosition);
  -webkit-mask-size: var(--maskSize);
  aspect-ratio: var(--ratio);
  mask-image: var(--maskImage);
  -webkit-mask-image: var(--maskImage);
  background: var(--maskColor);
  background: currentColor;
  pointer-events: none;
  vertical-align: middle;
  margin-left: 1em;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  box-sizing: border-box;
  border-radius: inherit;
  padding: var(--borderWid);
  background: var(--btnGrad);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
  transition: padding 0.55s var(--springGlide);
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control p {
  background: var(--btnGrad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control::after {
  background: var(--maskColor);
}
@media (min-width: 1100px) {
  .formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover {
    -webkit-text-fill-color: var(--body);
    color: var(--body);
    --maskColor: var(--body);
  }
  .formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover p {
    -webkit-text-fill-color: var(--body);
    color: var(--body);
  }
  .formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover::before {
    padding: 4em;
  }
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item {
  margin: 0 auto;
  text-align: left;
  padding: var(--formPad);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--label {
  width: var(--labelW);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: var(--labelPad);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--label .smf-item__label {
  display: inline-block;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--label .smf-item__description {
  background-color: var(--tplSecond);
  color: var(--theme);
  display: block;
  margin: 0 0 0 1em;
  padding: 0.2em 1em;
  font-size: 0.6em;
  border-radius: var(--rad0);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls {
  flex: 1;
  width: var(--controlsW);
  text-align: left;
  position: relative;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls input, .formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea {
  font-size: 1em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls input::placeholder, .formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea::placeholder {
  color: var(--wh02);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls input.hasDatepicker, .formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea.hasDatepicker {
  width: auto;
  min-width: 6em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls input:not([type=checkbox]),
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea {
  width: 100%;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls input:not([type=checkbox]),
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls select,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea {
  text-align: left;
  border-radius: 0.5em;
  padding: var(--inputPad);
  border: 2px solid;
  color: var(--tplSub);
  background: var(--wh01);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls select {
  height: 2.5em;
  flex: 1;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label {
  --btnWidth: 2em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control {
  display: flex;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control {
  position: relative;
  display: inline-block;
  line-height: 1.75;
  cursor: pointer;
  padding: 0;
  width: var(--btnWidth);
  height: var(--btnWidth);
  transition: var(--tr04);
  border-radius: 50%;
  border: 2px solid;
  margin: 0 0.5em 0 0;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control:checked,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control:checked {
  color: var(--sub2);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__control:checked:before,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__control:checked:before {
  background: none;
  content: "";
  position: absolute;
  top: 33%;
  left: 25%;
  margin: auto;
  width: 1em;
  height: 0.5em;
  border-style: none;
  border-width: 0;
  border-left: 2px solid;
  border-bottom: 2px solid;
  border-color: currentColor;
  rotate: -45deg;
  transform: none;
  border-radius: 0;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-radio-buttons-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-radio-button-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-radio-button-control .smf-checkbox-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-radio-button-control__label,
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-checkboxes-control__control .smf-label label .smf-checkbox-control .smf-checkbox-control__label {
  display: block;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has(.smf-file-control) .smf-item__col--controls {
  margin-top: calc(var(--pad) * .5);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has(.smf-file-control) .smf-item__col--controls .smf-item__controls {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: calc(var(--pad) * .5) var(--pad);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has(.smf-file-control) .smf-item__col--controls .smf-item__controls .smf-file-control .smf-file-control__label {
  border: none;
  border-radius: 3em;
  padding: 0.5em 1em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has(.smf-file-control) .smf-item__col--controls .smf-item__controls .smf-file-control .smf-file-control__filename {
  font-size: 0.7em;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has(.smf-file-control) .smf-item__col--controls .smf-item__controls .smf-file-control p {
  width: 100%;
  font-size: 0.7em;
  opacity: 0.5;
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item p {
  font-size: 0.75em;
}
.formsWrap .snow-monkey-form .smf-error-messages {
  color: var(--typo);
  background: #a00000;
  border-radius: 3em;
  display: inline-flex;
  padding: 0.2em 0.5em;
  line-height: 2;
  font-size: 1em !important;
  margin-top: 1em;
  align-items: center;
}
.formsWrap .snow-monkey-form .smf-error-messages:before {
  content: "!";
  margin-right: 0.5em;
  display: grid;
  border: 1px solid;
  width: 1.5em;
  height: 1.5em;
  line-height: 1;
  place-items: center;
  border-radius: 50%;
}
.formsWrap .snow-monkey-form[data-screen=confirm] {
  --labelPad: 0;
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form {
  padding: var(--confPad);
  border-radius: var(--rad3);
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item.smf-item {
  padding: 1em;
  display: flex;
  flex-wrap: wrap;
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--label {
  width: var(--confDtW);
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--label .smf-item__description {
  display: none;
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls {
  width: var(--confDdW);
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item.smf-item:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: currentColor;
  opacity: 0.2;
  margin: 0 0 0;
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-action:before {
  content: "入力内容に間違いがなければ「送信」をクリックしてください。";
  display: block;
  width: 100%;
  margin-bottom: 1em;
}
.formsWrap .snow-monkey-form[data-screen=complete] .smf-complete-content {
  text-align: center;
}

.contactPage {
  --tplPrime: var(--typo);
  --tplSecond: red;
  --tplSub: var(--sub);
  --tplPad: calc(var(--pad) * 2);
  --tplBg: var(--typo);
  --featSectGap: calc(var(--pad) * 2.5);
}
.contactPage .formsWrap .inner {
  --padTop: 0;
  --padBottom: 0;
}

.ghostBox {
  --listRad: var(--rad3);
  border: 1px solid var(--wh03);
  border-radius: var(--listRad);
  position: relative;
  overflow: hidden;
}

.careerPage {
  --switchPad: .5em;
  --switchW: 20em;
  --padding: .5em;
  --gridGap: calc(var(--pad) * .5);
  --gridCol: var(--switchW) 1fr;
  --swListPad: 2em;
  --swListRad: var(--rad1);
}
@media (min-width: 1100px) {
  .careerPage {
    --width: 12em;
  }
}
@media (max-width: 1100px) {
  .careerPage {
    --width: 15em;
    --swListPad: 1em;
    --swListRad: var(--rad0);
  }
  .careerPage .pageSlug + h1 {
    margin: 1em 0;
  }
}
.careerPage section {
  align-items: flex-start;
}
@media (max-width: 1100px) {
  .careerPage section {
    flex-direction: column;
  }
}
.careerPage section + section:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: currentColor;
  opacity: 0.2;
  margin: calc(var(--pad) * 1) 0;
}
@media (min-width: 1100px) {
  .careerPage section h3 {
    width: var(--width);
    position: sticky;
    top: calc(var(--navH) + var(--switchPad) * 2);
    line-height: 1.5;
    font-size: 1em;
    transition: top 0.4s ease-in-out;
  }
}
.careerPage section .dlWrap {
  flex: 1;
}
@media (max-width: 1100px) {
  .careerPage section .dlWrap {
    margin-top: calc(var(--pad) * 1.5);
  }
}
.careerPage .itemList {
  place-items: flex-start;
}
@media (max-width: 1100px) {
  .careerPage .itemList {
    --gridCol: 1fr;
  }
}
.careerPage .itemList .switch {
  gap: calc(var(--pad) * .25);
  z-index: 1;
  flex-wrap: nowrap;
  padding: var(--switchPad);
  border-radius: var(--rad1);
  background: var(--bk03);
  box-shadow: 0 0 1em var(--bk01);
  backdrop-filter: blur(2em);
  -webkit-backdrop-filter: blur(2em);
  transition: all 0.4s ease-in-out;
  overflow-x: auto;
  width: 100%;
  --topY: calc(var(--headerH) + 1em);
  --listSize: .8em;
}
@media (max-width: 1100px) {
  .careerPage .itemList .switch {
    flex-direction: row;
    --topY: calc(var(--headerH) + .25em);
  }
}
.careerPage .itemList .switch li {
  cursor: pointer;
  padding: var(--swListPad);
  border-radius: var(--swListRad);
  overflow: hidden;
  position: relative;
  line-height: 1;
  border: 1px solid;
  font-size: var(--listSize);
  flex-shrink: 0;
  transition: all 0.4s ease-in-out;
}
.careerPage .itemList .switch li:hover {
  background: var(--wh01);
}
.careerPage .itemList .switch li:not(.active) {
  opacity: 0.3;
}
.careerPage .itemList .switch li.active {
  opacity: 1;
}
.careerPage .itemList .requirements {
  gap: calc(var(--pad) * 2);
  backdrop-filter: blur(2em);
  -webkit-backdrop-filter: blur(2em);
}
.careerPage .itemList .listItem {
  display: none;
  opacity: 0;
  padding: var(--padding) var(--padding) calc(var(--pad) * 3);
  background: var(--bk03);
  box-shadow: 0 0 1em var(--bk01);
  scroll-margin-top: calc(var(--headerH) + 1em);
}
@media (max-width: 1100px) {
  .careerPage .itemList .listItem section + section {
    margin-top: calc(var(--pad) * 3);
  }
}
.careerPage .itemList .listItem.active {
  display: block;
  opacity: 1;
}
.careerPage .itemList .listItem section {
  padding: 0 calc(var(--pad) * 1.5);
}
.careerPage .itemList .listItem .definitionWrap {
  width: 100%;
}
.careerPage .itemList .listItem .definitionWrap:not(:first-of-type):before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: currentColor;
  opacity: 0.2;
  margin: calc(var(--pad) * 1) 0;
}
@media (max-width: 1100px) {
  .careerPage .itemList .listItem .definitionWrap .statute {
    flex-direction: column;
  }
}
.careerPage .itemList .listItem .definitionWrap .statute p {
  display: block;
}
.careerPage .itemList .listItem .definitionWrap .statute dt {
  flex: 1;
  font-size: 1em;
  flex-direction: column;
}
.careerPage .itemList .listItem .definitionWrap .statute dd {
  flex: 4;
  margin: 0;
  flex-direction: column;
}
.careerPage .card {
  width: 100%;
  padding: calc(var(--pad) * 1.5);
  border-radius: calc(var(--listRad) - var(--padding));
  margin-bottom: calc(var(--pad) * 1.5);
  --gb-from: rgb(47 63 124 / 80%);
  --gb-to: rgb(173 185 229 / 70%);
}
.careerPage .card.job dd {
  font-size: var(--h3);
}
@media (max-width: 1100px) {
  .careerPage .card:has(dl) dl {
    flex-direction: column;
  }
}
.careerPage .card:has(dl) dl dd {
  font-size: 1em;
}
.careerPage .card:has(dl) dl dd.term p + p {
  margin-top: 0.5em;
}
.careerPage .detail {
  --padTop: 0;
  --padBottom: calc(var(--pad) * 7);
}
.careerPage .form {
  --padTop: calc(var(--pad) * 2);
  background: var(--bk03);
}
.careerPage #closing {
  margin-top: calc(var(--pad) * 2);
}

.newsPage {
  --sideW: 14em;
  --gridCol: var(--sideW) 1fr;
  --gridGap: calc(var(--pad) * 1.5);
  --formMax: 54em;
}
.newsPage .hero hgroup h1 {
  font-size: var(--sloganSize);
  letter-spacing: -0.03em;
}
.newsPage .hero hgroup h1 strong {
  color: var(--sub);
}
.newsPage .newsBody {
  --padTop: 0;
  --padBottom: 0;
}
.newsPage .cols {
  align-items: start;
}
@media (max-width: 1100px) {
  .newsPage .cols {
    --gridCol: 1fr;
  }
}
.newsPage .tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.3em;
}
.newsPage .tag {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--mini);
  border-radius: var(--rad0);
  line-height: 1;
  border: 1px solid var(--sub);
  color: var(--sub);
}
.newsPage .tag i {
  display: block;
  padding: 0.4em 0.75em;
  font-style: normal;
}
.newsPage .arrow {
  --arrowWid: .65em;
  --borderWid: 1px;
  display: flex;
  align-items: center;
  position: relative;
  height: 2em;
  width: calc(var(--arrowWid) + 1em);
  flex-shrink: 0;
  color: currentColor;
}
.newsPage .arrow:before {
  content: "";
  display: block;
  width: var(--arrowWid);
  height: var(--arrowWid);
  border-top: var(--borderWid) solid;
  border-left: var(--borderWid) solid;
  transform: rotate(135deg) translate(0, -50%);
  transform-origin: center top;
  position: absolute;
  top: 50%;
  right: 0;
}
.newsPage .sideCol {
  align-self: start;
  position: sticky;
  top: calc(var(--navH) * 2);
}
.newsPage .sideCol .cat h2 {
  font-size: var(--small);
  opacity: 0.5;
  margin: 0 0 1em;
}
.newsPage .sideCol .cat ul {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  padding: 0;
  margin: 0;
  list-style: none;
}
.newsPage .sideCol .cat li a {
  display: block;
  padding: 0.5em 0 0.5em 1.5em;
  color: currentColor;
  text-decoration: none;
  position: relative;
  transition: color 0.4s ease-in-out;
}
.newsPage .sideCol .cat li a:before {
  content: "";
  display: block;
  width: 0.5em;
  height: 1px;
  background: currentColor;
  position: absolute;
  left: 0;
  top: 50%;
  transition: width 0.3s ease-in-out;
}
@media (min-width: 1100px) {
  .newsPage .sideCol .cat li a:hover {
    color: var(--sub);
  }
  .newsPage .sideCol .cat li a:hover:before {
    width: 1em;
  }
}
.newsPage .sideCol .cat li.current a {
  color: var(--sub);
}
.newsPage .sideCol .cat li.current a:before {
  width: 1em;
}
@media (max-width: 1100px) {
  .newsPage .sideCol {
    position: static;
    order: 2;
    margin-top: calc(var(--pad) * 2);
  }
}
.newsPage .mainCol {
  min-width: 0;
}
.newsPage .wrapper {
  background: var(--bk03);
  border-radius: var(--rad3);
  padding: calc(var(--pad) * 1.5) calc(var(--pad) * 1.5) calc(var(--pad) * 2.5);
  position: relative;
  overflow: hidden;
  width: 100%;
  backdrop-filter: blur(2em);
  -webkit-backdrop-filter: blur(2em);
}
.newsPage .wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--gb-width, 1.4px);
  pointer-events: none;
  background: radial-gradient(circle 160px at var(--gb-mx, 50%) var(--gb-my, 50%), rgb(255 255 255/var(--gb-glow, 0)) 0%, rgb(157 177 255/calc(var(--gb-glow, 0) * .55)) 35%, transparent 70%), linear-gradient(var(--gb-angle, 135deg), var(--gb-from, #9db1ff), var(--gb-mid, rgba(129, 139, 178, 0.2)), var(--gb-to, #496eff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
}
@media (max-width: 1100px) {
  .newsPage .wrapper {
    padding: var(--pad);
  }
}
.newsPage .sectCap {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75em;
  padding-bottom: calc(var(--pad) * 1);
  margin-bottom: calc(var(--pad) * 1.5);
  border-bottom: 1px solid var(--wh01);
}
.newsPage .sectCap h1 {
  width: 100%;
  font-size: var(--h3);
  line-height: 1.5;
  margin: 0.5em 0 0;
}
.newsPage .sectCap time {
  font-family: "DM Sans", sans-serif;
  line-height: 1;
  letter-spacing: -0.03em;
  font-size: var(--small);
  opacity: 0.5;
}
.newsPage figure.featImg {
  margin: 0 0 calc(var(--pad) * 2);
  clip-path: inset(0 round var(--rad0));
}
.newsPage figure.featImg img {
  width: 100%;
  height: auto;
  display: block;
}
.newsPage .contWrap.column {
  gap: 1.5em;
  line-height: 2;
  margin: 0 auto;
  max-width: var(--formMax);
}
.newsPage .contWrap.column h2, .newsPage .contWrap.column h3, .newsPage .contWrap.column h4 {
  margin: 1.5em 0 0.5em;
  font-size: var(--h5);
}
.newsPage .contWrap.column p {
  margin: 0;
}
.newsPage .contWrap.column a {
  color: var(--sub);
  text-decoration: underline;
  word-break: break-all;
}
.newsPage .contWrap.column img {
  max-width: 100%;
  height: auto;
}
.newsLists {
  display: flex;
  flex-direction: column;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.newsLists .newsElm {
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.newsLists .newsElm:not(:last-child) a {
  box-shadow: 0 1px 0 0 var(--wh01);
}
.newsLists .newsElm a {
  width: 100%;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: all 0.4s ease-in-out;
  color: currentColor;
  text-decoration: none;
  padding: calc(var(--pad) * 1);
}
@media (min-width: 1100px) {
  .newsLists .newsElm a:hover {
    background: var(--wh01);
    border-radius: var(--rad0);
    box-shadow: 0 1px 0 0 transparent;
  }
}
@media (max-width: 1100px) {
  .newsLists .newsElm a {
    align-items: flex-start;
    gap: 0.5em;
  }
}
.newsLists .newsElm a .elmInner {
  flex: 1;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
}
@media (max-width: 1100px) {
  .newsLists .newsElm a .elmInner {
    flex-wrap: wrap;
  }
}
.newsLists .newsElm a .elmInner .entryMeta {
  align-items: center;
  justify-content: flex-start;
}
.newsLists .newsElm a .elmInner .entryMeta .tag {
  width: 7em;
  white-space: nowrap;
  overflow: hidden;
}
.newsLists .newsElm a .elmInner time {
  font-family: "DM Sans", sans-serif;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--sub);
  flex-shrink: 0;
}
@media (max-width: 1100px) {
  .newsLists .newsElm a .elmInner time {
    width: 100%;
  }
}
.newsLists .newsElm a .elmInner p {
  flex: 1;
  margin: 0;
  align-items: center;
  gap: 0 1em;
}
@media (min-width: 1100px) {
  .newsLists .newsElm a .elmInner p {
    padding-right: 1.5em;
  }
}
@media (max-width: 1100px) {
  .newsLists .newsElm a .elmInner p {
    width: 100%;
  }
}
@media (max-width: 1100px) {
  .newsLists .newsElm a .arrow {
    align-self: center;
  }
}

.privacyPage {
  --heroMax: 40em;
}
.privacyPage .hero hgroup .heroLead {
  margin-top: 1.5em;
  max-width: var(--heroMax);
  line-height: 1.8;
  --view-opacity: .75;
}
.privacyPage .statutes .definitionWrap .statute {
  flex-direction: column;
  gap: 0.75em;
}
.privacyPage .statutes .definitionWrap .statute dt {
  font-size: var(--h4);
}
.privacyPage .statutes .definitionWrap .statute dd {
  padding-left: 0;
  opacity: 0.75;
}
.privacyPage .statutes .definitionWrap .statute dd ol,
.privacyPage .statutes .definitionWrap .statute dd ul {
  margin: 1em 0;
  padding-left: 1.5em;
}
.privacyPage .statutes .definitionWrap .statute dd ol {
  counter-reset: count3;
  list-style-position: outside;
  padding-left: 2em;
  gap: 0.5em;
}
.privacyPage .statutes .definitionWrap .statute dd ol li:before {
  counter-increment: count3;
  content: counter(count3, decimal) ".";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
  font-weight: var(--bold);
}
.privacyPage .statutes .definitionWrap .statute dd ol + p {
  margin-top: calc(var(--pad) * 1);
}
.privacyPage .statutes .definitionWrap .statute dd p + ol {
  margin-top: calc(var(--pad) * .5);
}
.privacyPage .statutes .definitionWrap .statute dd p {
  margin: 0 0 1em;
}
.privacyPage .statutes .definitionWrap .statute dd p:last-child {
  margin-bottom: 0;
}
.privacyPage .statutes .definitionWrap .statute dd ul {
  list-style: disc;
}
.privacyPage .statutes .definitionWrap .statute dd ul li {
  margin: 0 0 0.4em;
}

/*# sourceMappingURL=pages.css.map */
