.Guides {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    padding: 0 var(--columnPaddingNormal);
    pointer-events: none;
}

@media (max-width:1111px){
    .Guides {
        max-width: var(--windowWidth);
    }
}

.Guides__container {
    display: grid;
    grid: 1fr/repeat(var(--columnCountMax),1fr);
    position: relative;
    max-width: var(--layoutWidth);
    height: 100%;
    margin: 0 auto;
}

.Guides__guide {
    width: 1px;
    background: linear-gradient(180deg,var(--guideDashedColor),var(--guideDashedColor) 50%,transparent 0,transparent);
    background-size: 1px 8px;
}

.Guides__guide:first-of-type,
.Guides__guide:last-of-type {
    background: var(--guideSolidColor);
}

.Guides__guide:last-of-type {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
}

@media (max-width:599px){
    .Guides__guide:nth-of-type(3n) {
        display: none;
    }
}

@media (max-width:899px){
    .Guides__guide:nth-of-type(2n) {
        display: none;
    }
}

.CtaButton {
    display: inline-block;
    padding: 6px 0 6px;
    border-radius: 16.5px;
    font: var(--ctaFont);
    color: var(--buttonColor);
    transition: 150ms cubic-bezier(0.215,0.61,0.355,1);
    outline: 0;
}

html[lang^=ja] .CtaButton {
    font-weight: 600;
    font-variation-settings: "wght" 425;
}

.CtaButton.variant--Button {
    padding-left: 16px;
    padding-right: 16px;
    background-color: #635bff;
    color: #ffffff;
    white-space: nowrap;
    transition-property: background-color,opacity;
}

.CtaButton.variant--Button.CtaButton--arrow {
    padding-right: 12px;
}

.CtaButton2.variant--Button.CtaButton--arrow {
    margin-right: 12px;
}

@media (pointer:fine){
    .CtaButton.variant--Button:hover {
        background-color: var(--buttonHoverColor,var(--buttonColor));
        opacity: var(--buttonHoverOpacity,1);
    }
}

@media (pointer:coarse){
    .CtaButton.variant--Button:active {
        background-color: var(--buttonHoverColor,var(--buttonColor));
        opacity: var(--buttonHoverOpacity,1);
    }
}

.HoverArrow {
    --arrowSpacing: 5px;
    --arrowHoverTransition: 150ms cubic-bezier(0.215, 0.61, 0.355, 1);
    --arrowHoverOffset: translateX(3px);
    --arrowTipTransform: none;
    --arrowLineOpacity: 0;
    position: relative;
    top: 1px;
    margin-left: var(--arrowSpacing);
    stroke-width: 2px;
    fill: none;
    stroke: currentColor;
}

.HoverArrow__linePath {
    opacity: var(--arrowLineOpacity);
    transition: opacity var(--hoverTransition,var(--arrowHoverTransition));
}

.HoverArrow__tipPath {
    transform: var(--arrowTipTransform);
    transition: transform var(--hoverTransition,var(--arrowHoverTransition));
}

@media (pointer:fine){
    a:hover .HoverArrow__linePath,
    button:hover .HoverArrow__linePath {
        --arrowLineOpacity: 1;
    }

    a:hover .HoverArrow__tipPath,
    button:hover .HoverArrow__tipPath {
        --arrowTipTransform: var(--arrowHoverOffset);
    }
}

@media (pointer:coarse){
    a:active .HoverArrow__linePath,
    button:active .HoverArrow__linePath {
        --arrowLineOpacity: 1;
    }

    a:active .HoverArrow__tipPath,
    button:active .HoverArrow__tipPath {
        --arrowTipTransform: var(--arrowHoverOffset);
    }
}

:where(.BasicIcon) {
    --basicIconColor: #0a2540;
    display: block;
}

.Card {
    --cardBleedRightNormal: var(--columnWidth);
    --cardBleedBottomNormal: 16px;
    --cardShadow: none;
    --cardShadowMargin: 0;
    --cardMinHeight: 72px;
    position: relative;
    min-width: 100px;
    min-height: var(--cardMinHeight);
    max-width: var(--cardMaxWidth,none);
    margin-right: calc(var(--cardBleedRight,0)*-1);
    margin-bottom: calc(var(--cardBleedBottom,0)*-1);
    border-radius: var(--cardBorderRadius);
    background: var(--cardBackground);
    box-shadow: var(--cardShadow);
    overflow: hidden;
}

@media (min-width:600px){
    .Card {
        max-width: var(--cardMaxWidthTablet,var(--cardMaxWidth));
    }
}

@-webkit-keyframes phone-tap{
    0% {
        transform: perspective(500px) translateY(12px) rotateX(0);
    }

    50% {
        transform: perspective(500px) translateY(12px) rotateX(48deg) scale(.9);
    }

    to {
        transform: perspective(500px) translateY(12px) rotateX(0);
    }
}

@keyframes phone-tap{
    0% {
        transform: perspective(500px) translateY(12px) rotateX(0);
    }

    50% {
        transform: perspective(500px) translateY(12px) rotateX(48deg) scale(.9);
    }

    to {
        transform: perspective(500px) translateY(12px) rotateX(0);
    }
}

@-webkit-keyframes border-rest{
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    to {
        transform: scale(1);
    }
}

@keyframes border-rest{
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    to {
        transform: scale(1);
    }
}

@-webkit-keyframes phone-shimmer{
    0% {
        transform: skewY(40deg) translateY(-66px);
    }

    50% {
        transform: skewY(40deg) translateY(10px);
    }

    to {
        transform: skewY(40deg) translateY(-66px);
    }
}

@keyframes phone-shimmer{
    0% {
        transform: skewY(40deg) translateY(-66px);
    }

    50% {
        transform: skewY(40deg) translateY(10px);
    }

    to {
        transform: skewY(40deg) translateY(-66px);
    }
}

.DomGraphic {
    --maxWidth: 100%;
    --willChange: initial;
    position: relative;
    width: 100%;
    max-width: var(--maxWidth);
}

@media (max-width:600px){
    .DomGraphic {
        max-width: var(--maxWidthPhone,var(--maxWidth));
    }
}

@media (min-width:600px) and (max-width:899px){
    .DomGraphic {
        max-width: var(--maxWidthTablet,var(--maxWidth));
    }
}

@media (min-width:900px){
    .DomGraphic {
        max-width: var(--maxWidthDesktop,var(--maxWidth));
    }
}

.DomGraphic__heightContainer {
    height: 0;
    width: 100%;
    max-width: var(--maxWidth);
    padding-bottom: var(--aspectRatio);
}

.DomGraphic__scaleContainer {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: top left;
    will-change: var(--willChange);
}

.Stripe {
    --stripeInset: 0px;
    --stripeWidth: var(--gutterWidth);
    --stripeMinWidth: 80px;
    --stripeHeight: 40px;
    --stripeIntersectionTop: calc(var(--stripeSetHeight) - var(--stripeHeight));
    --stripeIntersectionInset: 0px;
    --stripeIntersectionWidth: var(--gutterWidth);
    --stripeIntersectionBackground: var(--blendIntersection);
    --stripeMaxInset: calc(var(--layoutWidth)/2);
    --stripeStartMax: calc(var(--layoutWidth) + var(--gutterWidth));
    --stripeStart: calc(var(--stripeStartMax) - var(--stripeInset) + var(--stripeBorderOffset));
    --stripeBorderOffset: 0px;
    right: var(--stripeStart);
    width: calc(var(--stripeWidth) + var(--stripeInset) - var(--stripeBorderOffset)*2);
    position: absolute;
    height: var(--stripeHeight);
    background: var(--stripeColor);
    overflow: hidden;
}

.Stripe:nth-of-type(2) {
    top: var(--stripeIntersectionTop);
}

.Stripe:nth-of-type(2).Stripe--accentNone {
    --stripeColor: var(--blendForeground);
}

.Stripe:nth-of-type(2).Stripe--variantOutline {
    top: calc(var(--stripeIntersectionTop) - 1px);
    z-index: -1;
}

.Stripe:nth-of-type(3) {
    --stripeColor: transparent;
}

.Copy {
    --paddingLeft: var(--columnPaddingNormal);
    --paddingRight: var(--columnPaddingMedium);
    --headerPaddingLeft: var(--paddingLeft);
    --headerPaddingRight: var(--paddingRight);
    --headerMaxWidth: var(--copyMaxWidth);
    --bodyPaddingLeft: var(--paddingLeft);
    --bodyPaddingRight: var(--paddingRight);
    --bodyMaxWidth: var(--copyMaxWidth);
    --footerPaddingLeft: var(--paddingLeft);
    --footerPaddingRight: var(--paddingLeft);
    --footerRowGap: var(--rowGapMedium);
    --ctaSpacing: 16px;
    --footerGap: "";
    scroll-margin-top: var(--fixedNavScrollMargin);
}

.Copy.variant--Section {
    --titleFontSize: 34px;
    --titleLineHeight: 1.294117647;
    --titleLetterSpacing: -0.1px;
}

.Copy.variant--Section,
.Copy.variant--Subsection {
    --paddingRight: var(--columnPaddingXLarge);
    --rowGap: var(--rowGapMedium);
    --titleWeight: var(--fontWeightBold);
    --paragraphGap: 20px;
}

.Copy.variant--Subsection {
    --titleFontSize: 24px;
    --titleLineHeight: 1.333333333;
    --titleLetterSpacing: 0.1px;
}

.Copy.variant--Footer {
    --paddingRight: var(--columnPaddingXLarge);
    --rowGap: var(--rowGapMedium);
    --paragraphGap: 20px;
}

.Copy.variant--Footer {
    --titleFontSize: 24px;
    --titleLineHeight: 1.333333333;
    --titleWeight: var(--fontWeightBold);
    --titleLetterSpacing: 0.1px;
}

@media (min-width:600px){
    .Copy.variant--Subsection {
        --titleFontSize: 26px;
        --titleLineHeight: 1.384615385;
        --titleLetterSpacing: 0;
    }
}

@media (min-width:1112px){
    .Copy.variant--Section {
        --titleFontSize: 38px;
        --titleLineHeight: 1.263157895;
        --titleLetterSpacing: -0.2px;
    }
}

.Copy {
    --titleFont: var(--titleWeight) var(--titleFontSize)/var(--titleLineHeight) var(--fontFamily);
    --captionFont: var(--fontWeightBold) var(--captionFontSize, 18px)/var(--captionLineHeight, 1.555555556) var(--fontFamily);
    --bodyFont: var(--fontWeightNormal) var(--bodyFontSize, 18px)/var(--bodyLineHeight, 1.555555556) var(--fontFamily);
    letter-spacing: .2px;
}

.Copy,
.Copy__header {
    display: grid;
    row-gap: var(--rowGap);
}

.Copy__header {
    position: relative;
    padding: 0 var(--headerPaddingRight) 0 var(--headerPaddingLeft);
    max-width: var(--headerMaxWidth);
}

.Copy__title {
    position: relative;
    font: var(--titleFont);
    color: var(--titleColor);
    letter-spacing: var(--titleLetterSpacing,inherit);
    font-size: 2rem;
    font-weight: 900;
}

html[lang^=ja] .Copy__title {
    font-weight: 600;
    font-variation-settings: "wght" var(--titleWeight);
}

.Copy__title:before {
    display: var(--titleAnchorDisplay,block);
    position: absolute;
    top: calc(.5px + var(--titleLineHeight)*var(--titleFontSize)/ 2 - var(--titleFontSize)/ 2);
    left: calc(var(--headerPaddingLeft)*-1);
    width: 1px;
    height: var(--titleFontSize);
    background-color: var(--titleBorderColor,transparent);
    content: "";
}

.Copy__body {
    padding: 0 var(--bodyPaddingRight) 0 var(--bodyPaddingLeft);
    max-width: var(--bodyMaxWidth);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
}

.Copy__body p+p {
    margin-top: var(--paragraphGap);
}

.Copy__footer {
    display: grid;
    grid-auto-columns: minmax(0,1fr);
    row-gap: var(--footerRowGap);
    margin-top: calc(var(--footerGap,var(--rowGap)) - var(--rowGap));
    padding: 0 var(--footerPaddingRight) 0 var(--footerPaddingLeft);
}

.Copy__footer>.CtaButton {
    justify-self: flex-start;
}

.Copy__ctaContainer {
    display: flex;
    align-items: center;
}

@media (max-width:899px){
    .Copy__ctaContainer {
        flex-wrap: wrap;
    }
}

.Copy__ctaContainer>.CtaButton:first-of-type,
.Copy__ctaContainer>.CtaButton:last-of-type {
    margin-bottom: 16px;
}

.Copy__ctaContainer>.CtaButton:first-of-type:last-of-type {
    margin-bottom: 0;
}

.Copy__ctaContainer>.CtaButton:not(:first-of-type) {
    margin-left: var(--ctaSpacing);
}

.Section {
    --sectionAngleSin: var(--angleNormalSin);
    --sectionAngle: 0;
    --sectionPaddingNormalMax: 128;
    --sectionPaddingSmallMax: 110;
    --sectionPaddingXSmallMax: 72;
    --sectionPaddingMin: 72;
    --sectionPaddingMax: var(--sectionPaddingNormalMax);
    --sectionPaddingTopMax: var(--sectionPaddingMax);
    --sectionPaddingBottomMax: var(--sectionPaddingMax);
    --sectionMarginBottom: 0;
    --sectionAngleHeight: calc(var(--windowWidth)*var(--sectionAngleSin));
    --sectionAnglePaddingBaseMin: 100;
    --sectionAnglePaddingBaseMax: var(--sectionPaddingMax);
    --sectionAnglePaddingTopBaseMax: var(--sectionAnglePaddingBaseMax);
    --sectionAnglePaddingBottomBaseMax: var(--sectionAnglePaddingBaseMax);
    --sectionAngleMaxHeight: none;
    --sectionOverflow: hidden;
    --sectionTransformOrigin: 100% 0;
    --sectionBackgroundOverflow: visible;
    position: relative;
    z-index: 1;
    margin-bottom: var(--sectionMarginBottom);
    color: var(--textColor);
    scroll-margin-top: calc(var(--fixedNavHeight) + var(--fixedNavSpacing) - var(--sectionPaddingTop));
}

.Section {
    --sectionAnglePaddingTopBase: calc(var(--sectionAnglePaddingBaseMin)*1px + (var(--sectionAnglePaddingTopBaseMax) - var(--sectionAnglePaddingBaseMin))*(var(--windowWidth)/737 - 0.50882px));
    --sectionAnglePaddingBottomBase: calc(var(--sectionAnglePaddingBaseMin)*1px + (var(--sectionAnglePaddingBottomBaseMax) - var(--sectionAnglePaddingBaseMin))*(var(--windowWidth)/737 - 0.50882px));
    --sectionPaddingTopGutterWidth: var(--gutterWidth);
    --sectionAnglePaddingTop: calc(var(--sectionAngleHeight) - var(--sectionAngleSin)*var(--sectionPaddingTopGutterWidth) + var(--sectionAnglePaddingTopBase));
    --sectionAnglePaddingBottom: calc(var(--sectionAngleHeight) - var(--sectionAngleSin)*var(--gutterWidth) + var(--sectionAnglePaddingBottomBase));
    --sectionPaddingTop: calc(var(--sectionPaddingMin)*1px + (var(--sectionPaddingTopMax) - var(--sectionPaddingMin))*(var(--windowWidth)/737 - 0.50882px));
    --sectionPaddingBottom: calc(var(--sectionPaddingMin)*1px + (var(--sectionPaddingBottomMax) - var(--sectionPaddingMin))*(var(--windowWidth)/737 - 0.50882px));
    font-family: var(--fontFamily);
    margin-bottom: 150px;
}

@media (max-width:375px){
    .Section {
        --sectionAnglePaddingTopBase: calc(var(--sectionAnglePaddingBaseMin)*1px);
        --sectionAnglePaddingBottomBase: calc(var(--sectionAnglePaddingBaseMin)*1px);
        --sectionPaddingTop: calc(var(--sectionPaddingMin)*1px);
        --sectionPaddingBottom: calc(var(--sectionPaddingMin)*1px);
    }
}

@media (min-width:1112px){
    .Section {
        --sectionAnglePaddingTopBase: calc(var(--sectionAnglePaddingTopBaseMax)*1px);
        --sectionAnglePaddingBottomBase: calc(var(--sectionAnglePaddingBottomBaseMax)*1px);
        --sectionPaddingTop: calc(var(--sectionPaddingTopMax)*1px);
        --sectionPaddingBottom: calc(var(--sectionPaddingBottomMax)*1px);
    }
}

.Section__background {
    position: relative;
    height: 100%;
    max-height: var(--sectionAngleMaxHeight);
    width: 100%;
    top: 0;
    left: 0;
    transform-origin: var(--sectionTransformOrigin);
    transform: skewY(var(--sectionAngle));
    background: var(--backgroundColor);
    overflow: hidden;
}

.Section__masked {
    overflow: var(--sectionOverflow);
}

.Section__container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    min-height: var(--sectionMinHeight);
}

.Section__layoutContainer {
    width: 100%;
    max-width: var(--layoutWidth);
    margin: 0 var(--columnPaddingNormal);
}

.Section__layout {
    padding: 258px 0 128px;
}

.Section--angleTop {
    --sectionPaddingTop: var(--sectionAnglePaddingTop);
    --sectionAngle: var(--angleNormal);
}

.Section__backgroundMask {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow-y: hidden;
}

.RowLayout {
    --rowLayoutGapXSmall: 16px;
    --rowLayoutGapSmall: 24px;
    --rowLayoutGapNormal: 32px;
    --rowLayoutGapMedium: var(--rowLayoutGapNormal);
    --rowLayoutGapLarge: var(--rowLayoutGapNormal);
    --rowLayoutGapXLarge: var(--rowLayoutGapNormal);
    --rowLayoutGap: var(--rowLayoutGapLarge);
    display: grid;
    grid: auto/minmax(0,1fr);
    row-gap: var(--rowLayoutGap);
    align-items: flex-start;
}

@media (min-width:600px){
    .RowLayout {
        --rowLayoutGapMedium: 48px;
        --rowLayoutGapLarge: var(--rowLayoutGapMedium);
        --rowLayoutGapXLarge: var(--rowLayoutGapMedium);
    }
}

@media (min-width:900px){
    .RowLayout {
        --rowLayoutGapLarge: 64px;
        --rowLayoutGapXLarge: 96px;
    }
}

figure,
h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
}

.UseCasesHighlight {
    position: relative;
    display: flex;
    align-items: flex-start;
}

.UseCasesHighlight__graphic {
    min-width: var(--columnWidth);
    flex-shrink: 0;
    align-self: stretch;
}

@media (min-width: 900px){
    .UseCasesHighlight__graphic .GuideGraphic {
        margin-bottom: calc(var(--sectionPaddingBottom)*-1 - 48px);
    }
}

.GuideGraphic {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 135.58052%;
}

.GuideGraphic .DomGraphic {
    max-width: none!important;
}

.GuideGraphic:hover .GuideGraphic__guidesCard.GuidesCard {
    transform: translateY(-8px);
}

.GuideGraphic:hover .GuideGraphic__page--back {
    transform: translate(-40px,-20px);
}

.GuideGraphic__page {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    box-shadow: 0 13px 27px -5px rgba(50,50,93,0.25),0 8px 16px -8px rgba(0,0,0,0.3);
    border-radius: 4px;
    overflow: hidden;
}

.GuideGraphic__page--back {
    background-color: #fff;
    transform: translate(-40px,-24px);
}

@media (prefers-reduced-motion:no-preference) {
    .GuideGraphic__page--back {
        transition: transform .3s;
    }
}

.GuideGraphic__title {
    position: absolute;
    color: #fff;
    top: 20px;
    left: 25px;
    right: 25px;
    font: var(--fontWeightBold) 20px/26px var(--fontFamily);
}

.para_seccion-pu {
    width: 100%;
    position: relative;
    transform: skewY(-6deg);

    /* transform-origin: 0 */
    display: flex;
    justify-content: space-between;
    bottom: -133px;
    z-index: 2;
}

.rim3 {
    height: 40px;
    width: 75%;
    background-color: #80e9ff;
    mix-blend-mode: color-burn;
    position: relative;
    left: 50px;
    bottom: -20px;
}


