@charset "UTF-8";
@layer base, components, pages;
@media (max-width: 1100px) {
  p br {
    display: none;
  }
}

h2.sans,
em.sans {
  font-size: var(--chapSize);
  font-weight: var(--black);
  line-height: 1;
}

.symbol {
  --topY: 0;
  --maskSize: 120%;
  --maskRepeat: no-repeat;
  --maskPosition: center;
  --maskColor: currentColor;
  --maskWidth: 100%;
  --ratio: 200/234;
  --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.03;
  height: 100vh;
  transition: var(--maskTr);
}
@media (max-width: 1100px) {
  .symbol {
    display: none;
  }
}

.stick {
  --topY: calc(var(--floatingPos) + var(--btnMenu) + 1rem);
  position: sticky;
  top: var(--topY);
}

.sepWrap {
  --figW: 50%;
  --figH: 100%;
  --figRad: var(--rad1);
  --figMinus: 0;
  --wrapGap: calc(var(--pad) * 3);
  --wrapAlign: center;
  --contGap: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: var(--wrapAlign);
  gap: var(--wrapGap);
}
@media (max-width: 1536px) {
  .sepWrap {
    --wrapGap: calc(var(--pad) * 2);
  }
}
@media (max-width: 1100px) {
  .sepWrap {
    --contGap: 1em;
    --figW: calc(100% + var(--padLeft) + var(--padRight));
    --figH: auto;
    --figRad: 0;
    --figMinus: calc(0% - var(--padLeft));
    --wrapGap: var(--pad);
    --wrapAlign: flex-start;
  }
}
.sepWrap .figWrap {
  width: var(--figW);
  height: var(--figH);
  margin-left: var(--figMinus);
  margin-right: var(--figMinus);
}
.sepWrap .figWrap figure {
  width: 100%;
  height: 100%;
}
.sepWrap .figWrap figure img {
  width: 100%;
}
.sepWrap .figWrap figure:not(:has(img + img)) {
  text-align: center;
  clip-path: inset(0 round var(--figRad));
}
.sepWrap .figWrap figure:not(:has(img + img)) img {
  height: 100%;
  object-fit: cover;
}
.sepWrap .figWrap figure:has(img + img) img {
  object-fit: contain;
  border-radius: var(--figRad);
}
.sepWrap .contWrap {
  flex: 1;
  align-items: flex-start;
  gap: var(--contGap);
}

.thumb {
  --thumbW: 2em;
  --thumbMode: vertical-rl;
  font-family: "Figtree", sans-serif;
  line-height: 0.8;
  letter-spacing: -0.03em;
  width: var(--thumbW);
  font-size: 0.875em;
  font-weight: var(--semi);
  writing-mode: var(--thumbMode);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em;
  letter-spacing: 0.02em;
}
.thumb span {
  font-size: 1.25em;
}
.thumb:after {
  content: "";
  display: block;
  width: 1px;
  flex: 1;
}

.count {
  counter-reset: features;
}
.count .thumb span {
  display: block;
}
.count .thumb span:before {
  counter-increment: features;
  content: counter(features, decimal-leading-zero);
  display: block;
}

.shadow {
  --shadowX: 0;
  --shadowY: 0;
  --shadowLength: 2em;
  --shadowColor: var(--bk01);
  box-shadow: var(--shadowX) var(--shadowY) var(--shadowLength) var(--shadowColor);
}
@media (max-width: 1100px) {
  .shadow {
    --shadowColor: none;
  }
}

.roundText {
  position: absolute;
  top: var(--roundMarkY);
  left: var(--roundMarkX);
  place-self: var(--roundPlace);
  translate: var(--roundTranslate);
  z-index: 1;
  width: var(--roundMarkW);
}
.roundText .animateWrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.roundText .typo {
  --maskSize: contain;
  --maskRepeat: no-repeat;
  --maskPosition: center;
  --maskColor: currentColor;
  --maskWidth: 100%;
  --ratio: 1;
  --maskImage: url("../images/round_logo.svg");
  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);
  animation: rotate 20s linear infinite;
}
.roundText .mark {
  --maskSize: contain;
  --maskRepeat: no-repeat;
  --maskPosition: center;
  --maskColor: currentColor;
  --maskWidth: 35%;
  --ratio: 200/233.79;
  --maskImage: url("../images/mark.svg");
  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);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}

.bubble {
  --bubbleW: 100%;
  --listSize: var(--h4);
  --listAlign: center;
  --iconPos: calc(100% - .75em);
  --maskSize: cover;
  --maskRepeat: no-repeat;
  --maskPosition: left;
  --maskColor: var(--typo);
  --maskWidth: 2em;
  --ratio: 500/234;
  --maskImage: url("../images/notice.svg");
  --align: inherit;
  margin-top: calc(var(--pad) * 2);
}
.bubble li {
  width: var(--bubbleW);
  padding: 1em;
  margin: 0 0 1em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: var(--listAlign);
  position: relative;
  border-radius: 3em;
  background-color: var(--typo);
  font-size: var(--listSize);
  font-weight: var(--bold);
}
.bubble li:after {
  content: "";
  display: block;
  vertical-align: var(--align);
  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);
  margin-right: var(--marginLeft);
  flex-shrink: 0;
  position: absolute;
  bottom: var(--iconPos);
  left: var(--iconPos);
  rotate: 60deg;
}

body.home {
  --ctaDelay: 1.8s;
}
body.home:not(.loaded) .frontPage {
  --heroClip: inset(0 0 0 0 round 0);
  --heroFigClip: inset(0 100% 0 0 round 0);
  --heroFigScale: .9;
  --sloganOp: 0;
  --sloganX: translate(-200%, 0);
}
body.home.isHero .pcNav > ul:hover {
  background-color: var(--wh01);
  box-shadow: 0 0 3em var(--bk02);
}
body.home.isHero .frontPage .symbol {
  --maskTr: all .8s cubic-bezier(0.69, 0.34, 0.2, 0.76);
  opacity: 0;
}
body.home.isHero .siteFrame .btnMenu,
body.home.isHero .ctaWrap a {
  background: var(--theme);
  color: var(--typo);
}
body.loaded .aboutPage .hero hgroup * {
  animation: var(--hgroupAnimation);
}
body.loaded .aboutPage .hero figure.fig1 div {
  animation: var(--slideInLeft);
}
body.loaded .aboutPage .hero figure.fig2 div {
  animation: var(--slideInRight);
}
body.isHero .aboutPage .hero figure svg {
  animation: var(--rubber);
}
body.isFeat .aboutPage .features .shadow:before {
  opacity: 1;
}
body:has(.casestudyPage) .overlay figure {
  position: relative;
}
body:has(.casestudyPage) .overlay figure:before, body:has(.casestudyPage) .overlay figure:after {
  content: var(--baContent);
  line-height: 1;
  padding: 0.25em 0.5em;
  border-radius: var(--rad0);
  position: absolute;
  top: 1em;
  left: var(--baX);
  background-color: var(--baColor);
  z-index: 1;
  font-size: var(--h3);
}
body:has(.casestudyPage) .overlay figure:before {
  --baContent: "Before";
  --baX: 1em;
  --baColor: black;
}
body:has(.casestudyPage) .overlay figure:after {
  --baContent: "After";
  --baX: calc(50% + 1em);
  --baColor: var(--theme);
}

.frontPage {
  --chapSize: 5vw;
  --numSize: 4em;
  --heroH: var(--fitH);
  --heroClip: inset(var(--trim) var(--trim) var(--trim) var(--trim) round var(--rad1));
  --heroAnimation: clip-path var(--sloganDulation) var(--springLazy) calc(var(--heroDelay) * 1.2);
  --trim: calc(var(--framePad) * .2);
  --sloganSize: 11.5vw;
  --sloganJpSize: .3em;
  --sloganH1Size: .1em;
  --sloganJpOrder: -1;
  --sloganH1Order: 0;
  --sloganPos: absolute;
  --sloganH: 100%;
  --sloganPad: calc(var(--framePad) * 1) var(--sloganPadX) 0;
  --sloganPadX: var(--floatingPos);
  --sloganGap: 0;
  --sloganColor: var(--theme);
  --sloganOverflow: nowrap;
  --sloganAnimation: tracking var(--sloganDulation) var(--sloganDelay) var(--springGlide) both;
  --sloganDir: column;
  --sloganOp: 1;
  --sloganDulation: .6s;
  --sloganDelay: 1.2s;
  --sloganX: translate(0, 0);
  --sloganSkew: skew(-30deg, 0) scale(1.1, 1);
  --sloganEmX: .5em;
  --sloganJpX: .25em;
  --sloganH1X: 1em;
  --sloganBg: none;
  --heroFigPos: relative;
  --heroFigW: calc(100% - var(--trim) * .5);
  --heroFigH: 100%;
  --heroFigScale: 1;
  --heroFigRatio: inherit;
  --heroDelay: 1.2s;
  --heroClipMinus: calc(0% - var(--logoW) * 1.25);
  --heroFigClip: inset(0 0 0 0 round 0);
  --heroBgDelay: .6s;
  --heroGradStart: black;
  --heroGradEnd: var(--sunny);
  --ovPadTop: calc(var(--fitH) * .1);
  --ovPadBottom: calc(var(--fitH) * .2);
  --ovSectGap: calc(var(--pad) * 6);
  --ovContGap: calc(var(--pad) * 2.5);
  --ovContW: calc(100% - var(--ovFigW) - var(--ovSectGap));
  --ovContPadTop: calc(var(--chapSize) + var(--fitH) * .1);
  --ovContPadBottom: 0;
  --ovContSize: var(--h5);
  --ovBottomPad: calc(var(--pad) * 3);
  --ovH2Pos: absolute;
  --ovH2Y: 0;
  --ovH2X: 0;
  --ovFigPos: sticky;
  --ovFigW: calc(var(--fitH) * .55);
  --ovFigY: calc(var(--fitH) * .5 - var(--ovFigW) * .5);
  --ovFigX: 0;
  --ovFigPad: 2em;
  --ovFigWrapY: calc(0% - var(--fitH));
  --ovFigShadow: none;
  --featSectBottom: calc(var(--fitH) * .2);
  --featSectGap: calc(var(--pad) * 3.5);
  --featSectAlign: center;
  --featContGap: 1em;
  --featListAlign: flex-start;
  --featListRight: 0;
  --featListW: 100%;
  --featItemCount: 3;
  --featFlow: hidden;
  --featJump: 1.3em;
  --prgRatio: 4/3;
  --prgGap: calc(var(--pad) * 5);
  --caseDir: row-reverse;
  --caseFigW: 50%;
  --caseFigX: var(--innNarrow);
  --caseH2Y: .5em;
  --caseFigMinus: 0;
  --caseFigSkew: skew(-26deg, 5deg);
  --casePadTop: var(--padTop);
  --roundMarkW: 18vw;
  --roundMarkY: calc(var(--padTop) - var(--pad));
  --roundMarkX: calc(var(--innNarrow) - var(--pad));
  --locBgW: calc(100% - var(--floatingPos) * 3);
  --locBgX: calc((100% - var(--locBgW)) * .5);
  --locBgRad: var(--fitH);
  --partnerGap: calc(var(--pad) * 1);
  --partnerAlign: center;
  --partnerPadBottom: var(--innCramped);
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1536px) {
  .frontPage {
    --featSectGap: calc(var(--pad) * 1.5);
    --caseFigW: 55%;
    --innNarrow: calc(var(--innPad) * 2);
  }
}
@media (max-width: 1100px) {
  .frontPage {
    --innNarrow: var(--innPad);
    --chapSize: 15vw;
    --heroH: auto;
    --sloganSize: 20vw;
    --sloganJpSize: .35em;
    --sloganH1Size: .17em;
    --sloganJpOrder: inherit;
    --sloganH1Order: inherit;
    --sloganPos: relative;
    --sloganH: auto;
    --sloganPad: calc(var(--framePad) * 3) var(--innPad) calc(var(--framePad) * 3);
    --sloganPadX: 0;
    --sloganGap: .2em;
    --sloganColor: var(--typo);
    --sloganDelay: 1s;
    --sloganSkew: skew(-15deg, 0) scale(1.1, 1);
    --sloganEmX: .25em;
    --sloganJpX: .25em;
    --sloganH1X: .75em;
    --sloganOverflow: pre-wrap;
    --sloganAnimation: rollin .8s var(--sloganDelay) var(--springGlide) forwards;
    --sloganDir: column-reverse;
    --sloganBg: var(--bk01);
    --trim: var(--framePad);
    --heroFigPos: initial;
    --heroFigW: 100%;
    --heroFigH: var(--fitH);
    --heroFigRatio: 1;
    --ovPadTop: calc(var(--pad) * 3);
    --ovPadBottom: calc(var(--pad) * 10);
    --ovSectGap: calc(var(--pad) * 6);
    --ovContGap: calc(var(--pad) * 2.5);
    --ovContW: 100%;
    --ovContPadTop: 0;
    --ovContPadBottom: 0;
    --ovContSize: 1em;
    --ovBottomPad: 0;
    --ovH2Pos: inherit;
    --ovH2Y: 0;
    --ovH2X: 0;
    --ovFigPos: inherit;
    --ovFigW: 100%;
    --ovFigY: auto;
    --ovFigX: auto;
    --ovFigPad: 2em;
    --ovFigWrapY: auto;
    --ovFigShadow: 0 0 3em var(--bk01);
    --featSectRight: 0;
    --featSectAlign: flex-start;
    --featListW: calc(600% - var(--featSectGap) * 6);
    --featItemCount: 6;
    --featFlow: auto;
    --featListRight: var(--innPad);
    --featJump: 1.5em;
    --prgGap: calc(var(--pad) * 2);
    --casePadTop: calc(var(--pad) * 4);
    --caseFigW: calc(100% + var(--padLeft) + var(--padRight));
    --caseH2Y: 0;
    --caseFigMinus: calc(0% - var(--caseFigX));
    --roundMarkW: 40vw;
    --roundMarkX: var(--innNarrow);
    --locMarkW: 40vw;
    --locBgW: calc(100% - var(--floatingPos) * 2);
    --locBgRad: var(--rad3);
    --partnerAlign: left;
    --partnerPadBottom: calc(var(--fitH) * .25);
  }
  .frontPage section h3 br {
    display: none;
  }
}
.frontPage .hero {
  position: relative;
  z-index: 1;
  width: 100%;
  height: var(--heroH);
  clip-path: var(--heroClip);
  transition: var(--heroAnimation);
  overflow-x: clip;
}
.frontPage .hero figure {
  width: 100%;
  height: var(--heroFigH);
  aspect-ratio: var(--heroFigRatio);
  clip-path: var(--heroFigClip);
  position: var(--heroFigPos);
  transition: all 0.3s var(--smash) 0.4s;
}
.frontPage .hero figure:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/noise.png), linear-gradient(-120deg, var(--heroGradStart), var(--heroGradEnd));
  background-repeat: repeat;
  background-attachment: fixed;
  z-index: 1;
  mix-blend-mode: lighten;
  transition: opacity 0.4s linear var(--heroBgDelay);
  opacity: var(--sloganOp);
}
.frontPage .hero figure .vidWrap {
  width: var(--heroFigW);
  height: 100%;
  transition: all 0.3s var(--smash) 0.4s;
}
.frontPage .hero figure .vidWrap img, .frontPage .hero figure .vidWrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
.frontPage .hero header {
  position: var(--sloganPos);
  top: 0;
  left: 0;
  width: 100%;
  height: var(--sloganH);
  display: grid;
  place-items: flex-end flex-start;
  font-size: var(--sloganSize);
  padding: var(--sloganPad);
  transition: opacity 0.1s linear;
  z-index: 2;
  background: var(--sloganBg);
}
.frontPage .hero header div {
  display: flex;
  flex-direction: var(--sloganDir);
  gap: var(--sloganGap);
}
.frontPage .hero header div em,
.frontPage .hero header div strong,
.frontPage .hero header div h1 {
  animation: var(--sloganAnimation);
  transform-origin: left;
  opacity: 0;
  color: transparent;
  background-clip: text;
  background-color: var(--sloganColor);
  background-image: url(../images/noise.png);
  background-repeat: repeat;
  background-attachment: fixed;
}
.frontPage .hero header div em {
  font-size: 1em;
  font-weight: var(--black);
  white-space: var(--sloganOverflow);
  text-overflow: ellipsis;
  margin-left: calc(0% - var(--sloganPadX) - 0.05em);
  line-height: 0.8;
  padding-bottom: 0.1em;
}
.frontPage .hero header div strong {
  font-size: var(--sloganJpSize);
  letter-spacing: 0.05em;
  line-height: 1.25;
  order: var(--sloganJpOrder);
}
.frontPage .hero header div h1 {
  font-size: var(--sloganH1Size);
  order: var(--sloganH1Order);
}
.frontPage .hero header div h1 span:before, .frontPage .hero header div h1 span:after {
  content: '"';
}
.frontPage .overview {
  --padTop: var(--ovPadTop);
  --padBottom: var(--ovPadBottom);
  gap: var(--ovSectGap);
  align-items: center;
  position: relative;
  z-index: 0;
}
.frontPage .overview .pin {
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ovContGap);
  position: relative;
}
.frontPage .overview .pin h2 {
  width: var(--ovContW);
  position: var(--ovH2Pos);
  top: var(--ovH2Y);
  right: var(--ovH2X);
}
.frontPage .overview .pin .contWrap {
  width: var(--ovContW);
  gap: var(--pad);
  margin-top: var(--ovContPadTop);
}
.frontPage .overview .pin .contWrap h3 {
  font-size: var(--h2);
}
.frontPage .overview .pin .contWrap h3 span {
  font-size: 2em;
  display: block;
  line-height: 1.5;
}
.frontPage .overview .pin .contWrap p {
  font-size: var(--ovContSize);
}
.frontPage .overview .pin .figWrap {
  --maskSize: contain;
  --maskRepeat: no-repeat;
  --maskPosition: 0;
  --maskColor: currentColor;
  position: var(--ovFigPos);
  width: var(--ovFigW);
  top: var(--ovFigY);
  left: var(--ovFigX);
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  margin-top: var(--ovFigWrapY);
}
.frontPage .overview .pin .figWrap figure {
  width: 100%;
  padding: var(--ovFigPad);
  border-radius: 50%;
  box-shadow: var(--ovFigShadow);
  position: relative;
}
.frontPage .overview .pin .figWrap span,
.frontPage .overview .pin .figWrap div {
  content: "";
  display: 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);
  flex-shrink: 0;
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.frontPage .overview .pin .figWrap span {
  bottom: var(--imgY);
  right: var(--imgX);
}
.frontPage .overview .pin .figWrap div {
  top: var(--imgY);
  left: var(--imgX);
}
.frontPage .overview .pin.ov1 .figWrap {
  margin-bottom: var(--ovFigWrapY);
}
.frontPage .overview .pin.ov1 .figWrap figure img, .frontPage .overview .pin.ov1 .figWrap div, .frontPage .overview .pin.ov1 .figWrap span {
  filter: brightness(1.5) blur(0.5em);
  scale: 0.9;
  transition: all 0.4s var(--springGlide);
}
.frontPage .overview .pin.ov1 .figWrap span {
  --maskWidth: 25%;
  --ratio: 90/79;
  --maskImage: url("../images/textBefore.svg");
  --imgY: 20%;
  --imgX: 20%;
}
.frontPage .overview .pin.ov1 .figWrap div {
  --maskWidth: 75%;
  --ratio: 284/341;
  --maskImage: url("../images/vectorBefore.svg");
  --imgY: 8%;
  --imgX: -2%;
}
.frontPage .overview .pin.ov2 {
  --ovContPadTop: 0;
}
.frontPage .overview .pin.ov2 .contWrap {
  margin-bottom: var(--ovContPadBottom);
}
.frontPage .overview .pin.ov2 .figWrap figure img, .frontPage .overview .pin.ov2 .figWrap div, .frontPage .overview .pin.ov2 .figWrap span {
  filter: brightness(1.5) blur(0.5em);
  transform: translate(-50%, 50%);
  transition: all 0.2s var(--smash);
}
.frontPage .overview .pin.ov2 .figWrap span {
  --maskWidth: 25%;
  --ratio: 90/77;
  --maskImage: url("../images/textAfter.svg");
  --imgY: 20%;
  --imgX: 20%;
}
.frontPage .overview .pin.ov2 .figWrap div {
  --maskWidth: 75%;
  --ratio: 282/385;
  --maskImage: url("../images/vectorAfter.svg");
  --imgY: -3%;
  --imgX: 3%;
}
.frontPage .overview .pin.inView.ov1 .figWrap {
  opacity: 1;
}
.frontPage .overview .pin.inView.ov1 .figWrap figure img, .frontPage .overview .pin.inView.ov1 .figWrap div, .frontPage .overview .pin.inView.ov1 .figWrap span {
  opacity: 1;
  filter: brightness(1) blur(0);
  scale: 1;
}
.frontPage .overview .pin.inView.ov2 .figWrap {
  opacity: 1;
}
.frontPage .overview .pin.inView.ov2 .figWrap figure img, .frontPage .overview .pin.inView.ov2 .figWrap div, .frontPage .overview .pin.inView.ov2 .figWrap span {
  opacity: 1;
  filter: brightness(1) blur(0);
  transform: translate(0, 0);
}
.frontPage .overview .pin.inView:not(.back).ov1 .figWrap span {
  transition-delay: 0.8s;
}
.frontPage .overview .pin.inView:not(.back).ov1 .figWrap div {
  transition-delay: 0.2s;
}
.frontPage .overview .pin.inView:not(.back).ov2 .figWrap span {
  transition-delay: 0.6s;
}
.frontPage .overview .pin.inView:not(.back).ov2 .figWrap div {
  transition-delay: 0.3s;
}
.frontPage .features {
  --padTop: 0;
  --padBottom: var(--featSectBottom);
  overflow: hidden;
  align-items: var(--featSectAlign);
}
.frontPage .features .listWrap {
  --itemGap: .5em;
  align-items: var(--featListAlign);
  overflow-x: var(--featFlow);
  overflow-y: hidden;
  margin-top: var(--featSectGap);
  padding-right: var(--featListRight);
}
.frontPage .features .listWrap .itemList {
  gap: var(--featSectGap);
  width: var(--featListW);
}
.frontPage .features .listWrap .itemList .item {
  width: calc(100% / var(--featItemCount) - var(--featSectGap) * (1 - 1 / var(--featItemCount)));
  display: flex;
  gap: var(--itemGap);
}
.frontPage .features .listWrap .itemList .item > div {
  flex: 1;
}
.frontPage .features .listWrap .itemList .item a {
  width: 100%;
  aspect-ratio: 1;
  clip-path: inset(0 round var(--rad1));
  display: block;
}
.frontPage .features .listWrap .itemList .item a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease-in-out;
}
.frontPage .features .listWrap .itemList .item a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: url(../images/noise.png), linear-gradient(135deg, black, var(--theme));
  background-repeat: repeat;
  background-attachment: fixed;
  mix-blend-mode: screen;
  transition: all 0.4s ease-in-out;
  opacity: 0;
}
.frontPage .features .listWrap .itemList .item a:hover img {
  scale: 1.1;
  rotate: -5deg;
}
.frontPage .features .listWrap .itemList .item a:hover:before {
  opacity: 1;
}
.frontPage .features .listWrap .itemList .item .contWrap {
  position: relative;
  gap: var(--featContGap);
  margin-top: var(--itemGap);
}
.frontPage .features .listWrap .itemList .item .contWrap h3 {
  font-size: var(--h5);
  line-height: 1.75;
}
.frontPage .features .listWrap .itemList .item .contWrap h3 b {
  --bigText: var(--featJump);
}
.frontPage .features .btn {
  margin-top: var(--featSectGap);
}
.frontPage .program,
.frontPage .case,
.frontPage .location {
  --figMinus: var(--caseFigMinus);
}
.frontPage .program .contWrap h2,
.frontPage .case .contWrap h2,
.frontPage .location .contWrap h2 {
  margin-bottom: var(--caseH2Y);
}
.frontPage .program {
  --padRight: var(--caseFigX);
  --figW: var(--caseFigW);
  --wrapGap: var(--prgGap);
}
.frontPage .program .figWrap figure {
  aspect-ratio: var(--prgRatio);
  clip-path: none;
}
.frontPage .program .figWrap figure img {
  height: 100%;
  box-shadow: 5vh 5vh 5vh 0 var(--bk05);
  border-radius: var(--rad1);
}
.frontPage .case {
  overflow-x: clip;
  flex-direction: var(--caseDir);
  --padLeft: var(--caseFigX);
  --padTop: var(--casePadTop);
  --figW: var(--caseFigW);
  --wrapAlign: flex-start;
}
.frontPage .case .figWrap {
  transform: var(--caseFigSkew);
}
.frontPage .case .figWrap figure {
  align-items: flex-start;
  justify-content: space-between;
  clip-path: none;
}
.frontPage .case .figWrap figure div {
  --imgW: 70%;
  width: var(--imgW);
}
.frontPage .case .figWrap figure div:not(:first-child) {
  margin-top: calc(0% - var(--imgW) * 0.2);
}
.frontPage .case .figWrap figure div:nth-child(even) {
  margin-left: auto;
}
.frontPage .case .figWrap figure img {
  border-radius: var(--rad1);
  box-shadow: 5vh 5vh 5vh 0 var(--bk05);
}
.frontPage .location {
  position: relative;
  mix-blend-mode: color-dodge;
}
.frontPage .location .maskWrap {
  --figW: var(--caseFigW);
  overflow: hidden;
  position: relative;
  border-radius: var(--locBgRad);
}
.frontPage .location .maskWrap:before {
  content: "";
  display: block;
  width: var(--locBgW);
  height: 100%;
  background-color: var(--typo);
  border-radius: var(--locBgRad);
  position: absolute;
  top: 0;
  left: var(--locBgX);
  flex-shrink: 0;
  z-index: -1;
}
.frontPage .location .maskWrap .figWrap {
  position: relative;
  z-index: 0;
}
.frontPage .location .maskWrap .figWrap svg {
  width: 100%;
  height: auto;
}
.frontPage .location .maskWrap .figWrap svg path {
  fill: var(--theme);
}
.frontPage .location .maskWrap .contWrap {
  color: currentColor;
  position: relative;
  z-index: 1;
}
.frontPage .location .maskWrap .contWrap .btn:not(:hover) {
  background-color: var(--theme);
  color: var(--typo);
}
.frontPage .partner {
  --padBottom: var(--partnerPadBottom);
  gap: var(--partnerGap);
  align-items: center;
  text-align: var(--partnerAlign);
}
.frontPage .gallery {
  overflow-x: clip;
}
.frontPage .gallery .swiper-wrapper {
  width: 100%;
  transition-timing-function: linear;
}
.frontPage .gallery .swiper-wrapper .swiper-slide div {
  height: 100%;
}
.frontPage .gallery .swiper-wrapper .swiper-slide img {
  object-fit: cover;
  max-width: inherit;
  height: 100%;
  width: 100%;
  box-shadow: 5vh 5vh 5vh 0 var(--bk05);
  border-radius: var(--rad3);
}
.frontPage .gallery .swiper-wrapper .swiper-slide:is([data-swiper-slide-index$="1"],
[data-swiper-slide-index$="3"],
[data-swiper-slide-index$="5"],
[data-swiper-slide-index$="7"],
[data-swiper-slide-index$="9"]) {
  scale: 1.2;
}

.subPage {
  --chapSize: 5em;
  --sloganSize: 6vw;
  --heroTop: calc(var(--floatingPos) + var(--btnMenu) + var(--pad) * 4);
  --heroAlign: center;
  --heroH2Size: calc(var(--h2) * 1.28);
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1100px) {
  .subPage {
    overflow-x: clip;
  }
  .subPage .hero h2 br {
    display: none;
  }
}
@media (max-width: 1100px) {
  .subPage {
    overflow: hidden;
    --chapSize: 14vw;
    --sloganSize: 16vw;
    --heroAlign: left;
  }
}
.subPage article {
  width: 100%;
  position: relative;
}
.subPage .hero {
  --padTop: var(--heroTop);
  --heroGap: calc(var(--pad) * 1);
  align-items: center;
  text-align: var(--heroAlign);
}
.subPage .hero h1 {
  margin-top: var(--heroGap);
}
.subPage .hero em.sans {
  font-size: var(--sloganSize);
  font-weight: var(--black);
  line-height: 1;
}
.subPage .hero hgroup {
  margin-top: calc(var(--heroGap) * 1);
  display: grid;
  gap: calc(var(--heroGap) * 0.5);
}
.subPage .hero hgroup h2 {
  font-size: var(--heroH2Size);
  margin-top: calc(var(--heroGap) * 0.5);
}

.aboutPage {
  --fig1H: calc(var(--fitH) * .55);
  --fig1Y: calc(var(--floatingPos) + var(--btnMenu) * 1.5);
  --fig1X: -3vh;
  --fig2H: calc(var(--fitH) * .5);
  --fig2Y: calc(var(--heroTop) + 30vh);
  --fig2X: -18vh;
  --roundMarkW: 20vh;
  --roundMarkY: inherit;
  --roundMarkX: inherit;
  --roundPlace: flex-start;
  --roundTranslate: calc(0% - var(--roundMarkW)) calc(0% - var(--featSectGap) * 2 - var(--roundMarkW) * .5);
  --hgroupAnimation: var(--tracking);
  --featThumbMode: vertical-rl;
  --featThumbY: calc((var(--h3) * var(--lineHeight)) * .25);
  --featSectTop: 0;
  --featSectBottom: calc(var(--fitH) * .2);
  --featSectGap: calc(var(--pad) * 2.5);
  --featSectPad: calc(var(--featSectGap) * 2) var(--featSectGap);
  --sectsAlign: center;
  --featContGap: 1em;
  --featItemDir: row;
  --featItemAlign: center;
  --featListMax: 54em;
  --featItemGap: calc(var(--pad) * 2);
  --featFigW: 40%;
  --figOrder: 3;
  --sectsFigPad: calc(var(--pad) * 2) 0;
  --sectsFigBg: none;
  --sectsContGap: calc(var(--pad) * .5);
  --sectsContMax: 35em;
  --sectsCapAlign: center;
  --sectsTextAlign: center;
  --sectFigFlex: 1;
  --sectFigW: auto;
  --needTagGap: 1em;
  --reasonCircleFlex: 2;
  --reasonByFlex: 1;
  --reasonSize: 1em;
}
@media (max-width: 1100px) {
  .aboutPage {
    --heroTop: calc(var(--floatingPos) + var(--btnMenu) + var(--pad) * 10);
    --fig1H: calc(var(--fitH) * .6);
    --fig1Y: 100%;
    --fig1X: -5vw;
    --fig2H: calc(var(--fitH) * .5);
    --fig2Y: -2vh;
    --fig2X: -18vw;
    --heroAlign: center;
    --sectsAlign: center;
    --sectFigFlex: none;
    --sectFigW: 100%;
    --roundMarkW: 45vw;
    --roundPlace: center;
    --roundTranslate: 0 calc(0% - var(--roundMarkW) - var(--padTop) * .5);
    --hgroupAnimation: var(--pop);
    --featThumbMode: inherit;
    --featThumbY: 0;
    --featSectTop: calc(var(--roundMarkW) + var(--fig1H) * .5);
    --featSectBottom: var(--padBottom);
    --featSectPad: 0;
    --featSectGap: calc(var(--pad) * 4);
    --featListMax: inherit;
    --featItemGap: calc(var(--pad) * 1);
    --featFigW: 100%;
    --figOrder: 2;
    --featItemDivDir: column-reverse;
    --featItemAlign: flex-start;
    --sectsFigPad: calc(var(--pad) * 2) calc(var(--pad) * 1);
    --sectsCapAlign: center;
    --sectsTextAlign: left;
    --needTagGap: .1em;
    --reasonCircleFlex: 3;
    --reasonByFlex: 1;
    --reasonSize: 2vw;
  }
  .aboutPage h2, .aboutPage h3, .aboutPage h4, .aboutPage h5 {
    line-height: 1.5;
  }
}
.aboutPage .hero {
  position: relative;
  z-index: 0;
  --padBottom: 0;
}
.aboutPage .hero figure {
  position: absolute;
  width: auto;
  z-index: -1;
}
.aboutPage .hero figure div {
  width: auto;
  height: 100%;
  opacity: 0;
}
.aboutPage .hero figure.fig1 {
  height: var(--fig1H);
  top: var(--fig1Y);
  left: var(--fig1X);
}
.aboutPage .hero figure.fig2 {
  height: var(--fig2H);
  top: var(--fig2Y);
  right: var(--fig2X);
}
.aboutPage .hero figure svg {
  width: auto;
  height: 100%;
}
.aboutPage .features {
  --padTop: var(--featSectTop);
  --padBottom: var(--featSectBottom);
  margin-top: var(--featSectGap);
}
.aboutPage .features .shadow {
  position: relative;
  width: 100%;
  align-items: var(--sectsAlign);
  padding: var(--featSectPad);
  border-radius: var(--rad3);
}
.aboutPage .features .shadow:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(0.2em);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: var(--rad3);
  opacity: 0;
  transition: var(--tr04);
}
.aboutPage .features .shadow .listWrap {
  max-width: var(--featListMax);
}
.aboutPage .features .shadow .listWrap .itemList {
  margin-top: var(--featSectGap);
  gap: var(--featSectGap);
}
.aboutPage .features .shadow .listWrap .itemList .thumb {
  margin-top: var(--featThumbY);
}
.aboutPage .features .shadow .listWrap .itemList .thumb:after {
  content: "";
  width: 1px;
  flex: 1;
  background: currentColor;
}
.aboutPage .features .shadow .listWrap .itemList .item {
  width: 100%;
  display: flex;
  flex-direction: var(--featItemDir);
  gap: var(--featItemGap);
}
.aboutPage .features .shadow .listWrap .itemList .item > div {
  flex: 1;
  gap: var(--featItemGap);
  align-items: var(--featItemAlign);
  flex-direction: var(--featItemDivDir);
}
.aboutPage .features .shadow .listWrap .itemList .item figure {
  width: var(--featFigW);
  aspect-ratio: 1;
  display: block;
  order: var(--figOrder);
}
.aboutPage .features .shadow .listWrap .itemList .item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--rad1);
}
.aboutPage .features .shadow .listWrap .itemList .item .contWrap {
  flex: 1;
  position: relative;
  gap: var(--featContGap);
}
.aboutPage .cramped {
  align-items: var(--sectsAlign);
}
.aboutPage .cramped h2 {
  text-align: var(--sectsCapAlign);
}
.aboutPage .cramped .figWrap {
  width: 100%;
  margin: var(--sectsFigPad);
  background: var(--sectsFigBg);
  justify-content: center;
  align-items: center;
  border-radius: var(--rad3);
}
.aboutPage .cramped .figWrap figure {
  flex: var(--sectFigFlex);
  width: var(--sectFigW);
}
.aboutPage .cramped .figWrap figure svg,
.aboutPage .cramped .figWrap figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aboutPage .cramped .contWrap {
  max-width: var(--sectsContMax);
  gap: var(--sectsContGap);
}
.aboutPage .cramped .contWrap + .contWrap {
  margin-top: calc(var(--sectsContGap) * 4);
}
.aboutPage .needs .contWrap {
  text-align: var(--sectsTextAlign);
}
.aboutPage .needs .tagCloud {
  justify-content: var(--featItemAlign);
  margin-top: calc(var(--sectsContGap) * 4);
  font-weight: var(--bold);
  --tagGap: var(--needTagGap);
}
.aboutPage .reason .figWrap:not(:has(span)) {
  background-color: var(--typo);
  background-image: url(../images/noise.png);
  background-repeat: repeat;
  background-attachment: fixed;
  padding: var(--sectsFigPad);
}
.aboutPage .reason .figWrap:not(:has(span)) figure {
  max-width: 36em;
}
.aboutPage .reason .figWrap:has(span) {
  --length: 50%;
  --stroke: 3px;
  font-size: var(--reasonSize);
}
.aboutPage .reason .figWrap:has(span) figure {
  flex: var(--reasonCircleFlex);
  aspect-ratio: 1;
  width: 100%;
  border-radius: 50%;
  border: var(--stroke) solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aboutPage .reason .figWrap:has(span) figure img {
  max-width: 12em;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.aboutPage .reason .figWrap:has(span) span {
  flex: var(--reasonByFlex);
  position: relative;
}
.aboutPage .reason .figWrap:has(span) span:before, .aboutPage .reason .figWrap:has(span) span:after {
  content: "";
  display: block;
  width: var(--length);
  height: var(--stroke);
  background: currentColor;
  position: absolute;
  top: calc(100% - var(--length));
  left: calc(50% - var(--length) * 0.5);
  transform-origin: center;
}
.aboutPage .reason .figWrap:has(span) span:before {
  rotate: 45deg;
}
.aboutPage .reason .figWrap:has(span) span:after {
  rotate: -45deg;
}
.aboutPage .reason .shadow {
  --shadowLength: 1em;
  --shadowColor: var(--bk02);
  margin-top: var(--sectsContGap);
  padding: var(--pad);
  border-radius: var(--rad1);
}
.aboutPage .reason .shadow ul {
  flex: 1;
}
.aboutPage .reason .shadow ul li {
  display: flex;
  align-items: center;
  padding: 0.25em 1em;
  gap: 0.5em;
  font-weight: var(--bold);
}
.aboutPage .reason .shadow ul li:before {
  content: "";
  display: block;
  width: 1em;
  height: 2px;
  background: currentColor;
}
.aboutPage .reason .shadow ul li:not(.on) {
  opacity: 0.3;
}

.programPage {
  --cardListGap: calc(var(--pad) * 1);
  --cardItemPad: calc(var(--pad) * 1.5);
  --cardItemGap: calc(var(--pad) * .75);
  --cardItemHalf: calc(var(--pad) * .5);
  --cardItemCount: 2;
  --cardFontSize: .9em;
  --cardFigW: 25%;
  --cardTitleDir: row;
  --cardDlAlign: center;
  --cardDlPad: 0;
  --cardDlGap: var(--cardItemHalf);
}
@media (max-width: 1100px) {
  .programPage {
    --cardListGap: calc(var(--pad) * 1);
    --cardItemPad: calc(var(--pad) * 2) calc(var(--pad) * 2) calc(var(--pad) * 2) calc(var(--pad) * 1);
    --cardItemGap: calc(var(--pad) * .5);
    --cardItemHalf: calc(var(--pad) * .5);
    --cardItemCount: 1;
    --cardFontSize: 1em;
    --cardFigW: 50%;
    --cardTitleDir: column;
    --cardDlAlign: flex-start;
    --cardDlPad: var(--cardListGap);
    --cardDlGap: 0;
  }
}
.programPage .itemWrap {
  --padTop: 0;
}
.programPage .itemWrap .itemList {
  gap: var(--cardListGap);
}
.programPage .itemWrap .itemList .item {
  display: flex;
  background-color: var(--typo);
  color: var(--theme);
  padding: var(--cardItemPad);
  border-radius: var(--rad1);
  gap: var(--cardItemGap);
}
.programPage .itemWrap .itemList .item.half {
  width: calc(100% / var(--cardItemCount) - var(--cardListGap) * (1 - 1 / var(--cardItemCount)));
}
.programPage .itemWrap .itemList .item:not(.half) {
  width: 100%;
}
.programPage .itemWrap .itemList .item > div {
  flex: 1;
  gap: var(--cardItemGap);
  justify-content: flex-start;
}
.programPage .itemWrap .itemList .item > div > dl {
  flex-direction: var(--cardTitleDir);
  align-items: flex-start;
}
.programPage .itemWrap .itemList .item > div > dl dt {
  background: var(--theme);
  color: var(--typo);
  font-size: var(--h5);
}
.programPage .itemWrap .itemList .item > div > dl dd {
  gap: var(--cardItemHalf);
}
.programPage .itemWrap .itemList .item dl {
  gap: var(--cardDlGap);
  font-weight: var(--bold);
  width: 100%;
}
.programPage .itemWrap .itemList .item dl dt {
  padding: 0.5em 1em;
  border-radius: var(--rad0);
  line-height: 1;
}
.programPage .itemWrap .itemList .item dl dd {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: var(--h4);
  gap: 0.25em;
}
.programPage .itemWrap .itemList .item dl dd span {
  display: flex;
  align-items: baseline;
  gap: 0 0.1em;
}
.programPage .itemWrap .itemList .item dl dd span small {
  font-size: 0.7em;
}
.programPage .itemWrap .itemList .item dl dd span small + small {
  font-size: 0.6em;
}
.programPage .itemWrap .itemList .item .contWrap {
  gap: var(--cardItemHalf);
}
.programPage .itemWrap .itemList .item .contWrap p {
  font-size: var(--cardFontSize);
}
.programPage .itemWrap .itemList .item .contWrap dl {
  align-items: var(--cardDlAlign);
  flex-direction: var(--cardTitleDir);
}
.programPage .itemWrap .itemList .item .contWrap dl dt {
  border: 1px solid;
  font-size: var(--cardFontSize);
}
.programPage .itemWrap .itemList .item .contWrap dl dd {
  flex-direction: var(--cardTitleDir);
  gap: var(--cardDlGap);
}
@media (min-width: 1100px) {
  .programPage .itemWrap .itemList .item .contWrap dl dd span + span:before {
    content: "";
    width: 1px;
    display: block;
    background: var(--theme);
    opacity: 1;
    margin: 0 var(--cardItemHalf) 0 var(--cardItemHalf);
    align-self: stretch;
  }
}
.programPage .itemWrap .itemList .item .contWrap dl + dl {
  margin-top: var(--cardDlPad);
}
.programPage .itemWrap .itemList .item .contWrap + dl:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: currentColor;
  opacity: 0.2;
  margin: 0 0 var(--cardItemHalf);
}
.programPage .itemWrap .itemList .item .fillList li {
  font-size: var(--cardFontSize);
  font-weight: var(--bold);
}
.programPage .itemWrap .itemList .item .figWrap {
  justify-content: center;
  background: var(--ice);
  padding: var(--cardItemPad);
  border-radius: var(--rad1);
}
.programPage .itemWrap .itemList .item .figWrap figure {
  max-width: var(--cardFigW);
}
.programPage .itemWrap .itemList .item .figWrap figure img {
  max-width: 12em;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.casestudyPage {
  --cardListGap: calc(var(--pad) * 2);
  --cardItemPad: calc(var(--pad) * .5);
  --cardItemCount: 2;
  --cardFontSize: .9em;
}
@media (max-width: 1100px) {
  .casestudyPage {
    --cardItemCount: 1;
  }
}
.casestudyPage .itemWrap {
  --padTop: 0;
}
.casestudyPage .itemWrap .itemList {
  gap: var(--cardListGap);
}
.casestudyPage .itemWrap .itemList .item {
  width: calc(100% / var(--cardItemCount) - var(--cardListGap) * (1 - 1 / var(--cardItemCount)));
  display: flex;
  gap: var(--cardItemPad);
}
.casestudyPage .itemWrap .itemList .item .thumb {
  --thumbW: 1em;
}
.casestudyPage .itemWrap .itemList .item figure {
  flex: 1;
  aspect-ratio: 520/329;
  border-radius: var(--rad1);
  overflow: hidden;
  display: block;
  cursor: zoom-in;
  background-color: transparent;
  background-image: url(../images/noise.png);
  background-repeat: repeat;
  background-attachment: fixed;
  transition: background-color 0.4s ease-in-out;
  border: 0.33em solid black;
  position: relative;
  z-index: 0;
}
.casestudyPage .itemWrap .itemList .item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease-in-out;
  mix-blend-mode: screen;
}
.casestudyPage .itemWrap .itemList .item figure:before, .casestudyPage .itemWrap .itemList .item figure:after {
  content: var(--baContent);
  line-height: 1;
  padding: 0.25em 0.5em;
  border-radius: var(--rad0);
  position: absolute;
  top: 1em;
  left: var(--baX);
  background-color: var(--baColor);
  z-index: 1;
  font-size: 0.8em;
}
.casestudyPage .itemWrap .itemList .item figure:before {
  --baContent: "Before";
  --baX: 1em;
  --baColor: black;
}
.casestudyPage .itemWrap .itemList .item figure:after {
  --baContent: "After";
  --baX: calc(50% + 1em);
  --baColor: var(--theme);
}
.casestudyPage .itemWrap .itemList .item figure:hover {
  background-color: var(--theme);
}
.casestudyPage .itemWrap .itemList .item figure:hover img {
  scale: 1.2;
  rotate: -5deg;
}
.casestudyPage .itemWrap .itemList .item figure + .thumb {
  justify-content: flex-end;
  align-self: flex-end;
  position: relative;
}
.casestudyPage .itemWrap .itemList .item figure + .thumb:after {
  position: absolute;
  top: 0.5em;
  right: 100%;
  width: calc(var(--cardItemPad) * 2.5);
  height: 1px;
  background: currentColor;
}

.locationPage {
  --itemSize: .9em;
  --itemPad: 1.5em;
  --h3W: 10em;
  --shopW: auto;
  --shopFlex: 1;
  --dlW: calc(var(--h3W) + var(--itemPad) + 100%);
  --dlH: calc(2em + var(--itemPad) * 2 + 3px);
  --dlY: calc(0% - var(--itemPad));
  --dtSize: 1em;
  --dtW: 30%;
  --iconRatio: 1;
  --pW: auto;
  --ulW: 5em;
  --ulGap: 0;
  --liFlex: none;
  --itemListPad: calc(var(--pad) * 2.5);
}
@media (max-width: 1100px) {
  .locationPage {
    --itemSize: 1em;
    --itemPad: 1em;
    --dtSize: 1.2em;
    --h3W: 100%;
    --dtW: 100%;
    --iconRatio: inherit;
    --ulW: 100%;
    --ulGap: .5em;
    --liFlex: 1;
  }
}
.locationPage .itemWrap {
  --padTop: 0;
}
.locationPage .itemWrap .itemList {
  position: relative;
  width: 100%;
  padding: var(--itemListPad);
  border-radius: var(--rad3);
  color: var(--theme);
}
.locationPage .itemWrap .itemList:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(0.2em);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: var(--rad3);
  transition: var(--tr04);
  background-color: var(--typo);
}
.locationPage .itemWrap .itemList .item {
  font-size: var(--itemSize);
  position: relative;
}
.locationPage .itemWrap .itemList .item:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: var(--theme);
  opacity: 0.2;
  margin: var(--itemPad) 0 var(--itemPad);
}
.locationPage .itemWrap .itemList .item h3 {
  width: var(--h3W);
  font-size: var(--dtSize);
}
.locationPage .itemWrap .itemList .item .shop {
  flex: var(--shopFlex);
  width: var(--shopW);
}
.locationPage .itemWrap .itemList .item .shop dl {
  position: relative;
  z-index: 0;
}
.locationPage .itemWrap .itemList .item .shop dl:not(:last-child):after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: var(--theme);
  opacity: 0.2;
  margin: var(--itemPad) 0 var(--itemPad);
}
.locationPage .itemWrap .itemList .item .shop dl:before {
  content: "";
  display: block;
  width: var(--dlW);
  height: var(--dlH);
  background-color: black;
  mix-blend-mode: screen;
  position: absolute;
  top: var(--dlY);
  right: 0;
  z-index: -1;
  opacity: 0;
  transition: var(--tr04);
}
@media (min-width: 1100px) {
  .locationPage .itemWrap .itemList .item .shop dl:hover:before {
    opacity: 0.1;
    border-radius: var(--rad1);
  }
}
.locationPage .itemWrap .itemList .item .shop dl dt {
  width: var(--dtW);
  font-size: var(--dtSize);
  font-weight: var(--bold);
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(p) {
  flex: var(--shopFlex);
  width: var(--pW);
  gap: 0 0.5em;
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) {
  width: var(--ulW);
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul {
  align-items: center;
  gap: var(--ulGap);
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li {
  flex: var(--liFlex);
  aspect-ratio: var(--iconRatio);
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li a {
  --marginLeft: 0;
  width: 100%;
  height: 100%;
  transition: var(--tr04);
  display: grid !important;
  place-items: center;
  padding: 0.5em;
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li a:before {
  font-size: 1em;
}
.locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li a[target=_blank] {
  font-size: 1.2em;
  --maskImage: url("../images/iconGlobe.svg");
}
@media (max-width: 1100px) {
  .locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li a {
    background: var(--theme);
    color: var(--typo);
    border-radius: 3em;
  }
}
@media (min-width: 1100px) {
  .locationPage .itemWrap .itemList .item .shop dl dd:has(ul) ul li a:hover {
    background: var(--typo);
    color: var(--theme);
    border-radius: 50%;
  }
}

.partnershipPage {
  --msgFigW: 55vh;
  --msgRatio: 1;
  --msgH2Size: 4em;
  --msgH2Y: calc(var(--pad) * 2);
  --msgH3Size: var(--h2);
  --msgContPad: calc(var(--pad) * 3);
  --msgFigMinus:0;
  --featSectBottom: calc(var(--fitH) * .2);
  --featSectRight: var(--innNarrow);
  --featSectGap: calc(var(--pad) * 2.5);
  --sectsAlign: center;
  --featContGap: 1em;
  --featItemAlign: center;
  --featListMax: 54em;
  --featItemGap: calc(var(--pad) * 2);
  --featFigW: 40%;
  --figOrder: 3;
  --tplPrime: var(--typo);
  --tplSecond: var(--theme);
  --tplSub: var(--sub);
  --tplPad: calc(var(--pad) * 2);
  --tplBg: var(--typo);
}
@media (max-width: 1100px) {
  .partnershipPage {
    --msgFigW: calc(100% + var(--padLeft) + var(--padRight));
    --msgContPad: calc(var(--pad) * 1);
    --msgH2Y: calc(var(--pad) * 1);
    --featSectGap: calc(var(--pad) * 1);
  }
}
@media (max-width: 1100px) {
  .partnershipPage h3 br, .partnershipPage h4 br {
    display: none;
  }
}
.partnershipPage .message {
  --wrapAlign: flex-start;
  --figW: var(--msgFigW);
  --padTop: 0;
}
.partnershipPage .message .figWrap {
  --topY: calc((var(--fitH) - var(--msgFigW)) * .5);
}
.partnershipPage .message .figWrap figure {
  aspect-ratio: var(--msgRatio);
}
.partnershipPage .message .figWrap figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.partnershipPage .message .contWrap {
  padding-top: var(--msgContPad);
}
.partnershipPage .message .contWrap h2 {
  font-size: var(--msgH2Size);
  font-weight: var(--semi);
}
.partnershipPage .message .contWrap h3 {
  font-size: var(--msgH3Size);
  margin-top: var(--msgH2Y);
}
.partnershipPage .message .contWrap .profile {
  margin-top: var(--msgH2Y);
}
.partnershipPage .message .contWrap .profile h4 {
  font-size: var(--h3);
  align-items: baseline;
  gap: 0 0.5em;
}
.partnershipPage .message .contWrap .profile h4 span {
  font-size: 0.8em;
}
.partnershipPage .message .contWrap .profile h4 + span {
  font-size: 0.75em;
  margin-top: 0.5em;
}
.partnershipPage .message .contWrap .profile p {
  font-size: 0.9em;
  display: block;
}
.partnershipPage .message .contWrap .profile p:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: currentColor;
  opacity: 0.2;
  margin: 1em 0 1em;
}
.partnershipPage .features {
  --padTop: 0;
  --padBottom: var(--featSectBottom);
  --padRight: var(--featSectRight);
  margin-top: var(--featSectGap);
}
.partnershipPage .features .shadow {
  position: relative;
  width: 100%;
  align-items: var(--sectsAlign);
  padding: calc(var(--featSectGap) * 2) var(--featSectGap);
  border-radius: var(--rad3);
}
.partnershipPage .features .shadow:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(0.2em);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: var(--rad3);
  opacity: 0;
  transition: var(--tr04);
}
.partnershipPage .features .shadow .listWrap {
  max-width: var(--featListMax);
}
.partnershipPage .features .shadow .listWrap .itemList {
  margin-top: var(--featSectGap);
  gap: var(--featSectGap);
}
.partnershipPage .features .shadow .listWrap .itemList .thumb {
  margin-top: calc(var(--h3) * var(--lineHeight) * 0.25);
}
.partnershipPage .features .shadow .listWrap .itemList .thumb:after {
  content: "";
  width: 1px;
  flex: 1;
  background: currentColor;
}
.partnershipPage .features .shadow .listWrap .itemList .item {
  width: 100%;
  display: flex;
  gap: var(--featItemGap);
}
.partnershipPage .features .shadow .listWrap .itemList .item > div {
  flex: 1;
  gap: var(--featItemGap);
  align-items: var(--featItemAlign);
}
.partnershipPage .features .shadow .listWrap .itemList .item .contWrap {
  flex: 1;
  position: relative;
  gap: var(--featContGap);
}
.partnershipPage .formsWrap .cap {
  align-items: var(--sectsAlign);
}
.partnershipPage .formsWrap .cap p {
  text-align: var(--sectsAlign);
  margin-top: var(--featSectGap);
}

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

.privacyPage {
  --maxWid: 40em;
  --dlMax: 60em;
  --dlGap: calc(var(--pad) * 1.5);
}
@media (max-width: 1100px) {
  .privacyPage {
    --heroAlign: center;
  }
}
.privacyPage .inner.narrow {
  --padTop: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--dlGap);
}
.privacyPage .definitionWrap {
  width: 100%;
  max-width: var(--dlMax);
}
.privacyPage .definitionWrap:not(:has(dt)) {
  align-items: flex-end;
  width: 100%;
  margin-top: calc(var(--pad) * 1.5);
}

.formsWrap {
  --formMax: 54em;
  --sectsAlign: center;
  --inputPad: 1.5em;
  --confPad: var(--pad);
  --confDtW: 10em;
  --confDdW: calc(100% - var(--confDtW));
  --telSize: 2em;
  --tplRad: var(--rad3);
  --labelW: 15em;
  --labelPad: 1.5em 0 0;
  --controlsW: auto;
  --formDir: row;
  --formPad: 1em 0;
  --formGap: 2em;
}
@media (max-width: 1100px) {
  .formsWrap {
    --inputPad: 1em;
    --labelW: 100%;
    --labelPad: 0;
    --controlsW: 100%;
    --formDir: column;
    --formPad: 0 0 3em;
    --formGap: .5em;
  }
}
.formsWrap .tel {
  margin-bottom: var(--pad);
  gap: 1em;
}
.formsWrap .tel:before, .formsWrap .tel:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: currentColor;
  opacity: 1;
  margin: 1em 0 1em;
}
.formsWrap .tel dt {
  font-size: var(--h5);
  font-weight: var(--bold);
}
.formsWrap .tel dd a {
  font-size: var(--telSize);
  font-weight: var(--semi);
}
.formsWrap .tel dd small {
  display: block;
}
.formsWrap .inner {
  align-items: var(--sectsAlign);
}
.formsWrap .snow-monkey-form {
  width: 100%;
  margin: 0 auto;
  padding: var(--tplPad);
  background-color: var(--tplBg);
  color: var(--tplSecond);
  border-radius: var(--tplRad);
}
.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% - 0.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 {
  color: var(--tplPrime);
  background: var(--tplSecond);
  border: none;
  border-radius: var(--rad3);
  width: 100%;
  transition: var(--tr04);
  padding: 1.25em 3em;
  font-size: 1em;
}
.formsWrap .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover {
  background: var(--tplSub);
}
.formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item {
  margin: 0 auto;
  text-align: left;
  padding: var(--formPad);
  display: flex;
  flex-direction: var(--formDir);
  gap: var(--formGap);
  align-items: flex-start;
}
.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;
  font-weight: var(--bold);
}
.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(--tplPrime);
  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:-webkit-autofill, .formsWrap .snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--tplSecond) inset;
}
.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(--bk02);
}
.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 var(--tplPrime);
}
.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 {
  color: var(--tplPrime);
  position: relative;
  display: inline-block;
  line-height: 1.75;
  cursor: pointer;
  padding: 0;
  letter-spacing: normal;
  width: var(--btnWidth);
  height: var(--btnWidth);
  transition: var(--tr04);
  border-radius: 50%;
  border: 1px solid currentColor;
  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 {
  background: var(--tplSecond);
  color: var(--tplPrime);
}
.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) * 0.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) * 0.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;
  background: var(--tplPrime);
  color: var(--tplSecond);
  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(--tplSecond);
  background: var(--tplSub);
  display: inline-block;
  padding: 0.2em 0.5em;
  line-height: 2;
  font-size: 0.6rem !important;
  margin-top: 0.5em;
}
.formsWrap .snow-monkey-form .smf-error-messages:before {
  content: "!";
  margin-right: 0.5em;
  display: inline-block;
  border: 1px solid var(--tplSecond);
  width: 1.5em;
  line-height: 1.5;
  text-align: center;
  border-radius: 50%;
  flex-shrink: 0;
}
.formsWrap .snow-monkey-form[data-screen=confirm] .smf-form {
  padding: var(--confPad);
  background-color: var(--tplSecond);
  color: var(--tplPrime);
  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;
}

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