:root {
    --c-TresNavy: hsl(216 100% 22%);
    --c-TresBlue: hsl(206 100% 32.4%);
    --c-TresLightBlue: hsl(210 76.9% 74.5%);
    --c-TresTypeGray: hsl(15 4.7% 16.9%);
    --c-agent: hsl(50 25% 47.1%);
    --c-sell: var(--c-TresBlue);
    --c-leasing: hsl(0 0% 46.7%);
    --c-consulting: var(--c-TresBlue);
    --c-planting: var(--c-TresBlue);
    --c-TresNavy45: hsla(216 100% 22% / 0.45);
    --c-TresBlue45: hsla(206 100% 32.4% / 0.45);
    --c-grad_3: hsl(209 72.1% 57.8%);
    --c-grad_3_45: hsla(209 72.1% 57.8% / 0.45);
    --c-error: hsl(0 100% 45.1%);
    --c-Black: hsl(0 0% 0%);
    --c-black: hsl(0 0% 20%);
    --c-White: hsl(0 0% 100%);
    --c-white: hsl(0 0% 100%);
    --c-text: hsl(0 0% 20%);
    --c-grayEB: hsl(0 0% 92.2%);
    --c-dummy: hsl(0 0% 85%);
    --c-pink: hsl(300 100% 50%);
    --fvRightW: 72px;
    --easeOutQuad: cubic-bezier(0.5, 1, 0.89, 1);
    --easeOutCubic: cubic-bezier(0.33, 1, 0.68, 1);
    --easeOutQuart: cubic-bezier(0.25, 1, 0.5, 1);
    --easeOutQuint: cubic-bezier(0.22, 1, 0.36, 1);
    --easeOutExpo: cubic-bezier(0.16, 1, 0.3, 1);
    --easeInOutQuad: cubic-bezier(0.45, 0, 0.55, 1);
    --easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1);
    --easeInOutQuart: cubic-bezier(0.76, 0, 0.24, 1);
    --easeInOutQuint: cubic-bezier(0.83, 0, 0.17, 1);
    --easeInOutExpo: cubic-bezier(0.87, 0, 0.13, 1);
    --easeInQuad: cubic-bezier(0.11, 0, 0.5, 0);
    --easeInCubic: cubic-bezier(0.32, 0, 0.67, 0);
    --easeInQuart: cubic-bezier(0.5, 0, 0.75, 0);
    --easeInQuint: cubic-bezier(0.64, 0, 0.78, 0);
    --easeInExpo: cubic-bezier(0.7, 0, 0.84, 0);
}

:root {
    --illust4Delay: 0.5s;
}

main .fv {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 839px) {
    main .fv {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }
}
main .fv .bg_blend {
    -webkit-transition: background-color 1s;
    transition: background-color 1s;
    width: 500px;
    height: 110px;
    background-color: var(--c-TresNavy);
    position: absolute;
    right: 0;
    bottom: 100px;
}
@media screen and (max-width: 839px) {
    main .fv .bg_blend {
        width: 12vw;
        height: 112px;
        bottom: calc(6vw + 20px);
    }
}
main .fv .photo {
    width: calc(100vw - var(--fvRightW));
    height: 100vh;
    height: 100svh;
    position: relative;
}
@media screen and (max-width: 839px) {
    main .fv .photo {
        width: 100%;
        height: 100%;
    }
}
main .fv .photo .container {
    position: absolute;
    left: 0;
    right: 0;
    top: 40px;
    bottom: 40px;
}
@media screen and (max-width: 1139px) {
    main .fv .photo .container {
        top: 30px;
        bottom: 30px;
    }
}
@media screen and (max-width: 839px) {
    main .fv .photo .container {
        top: calc(60px + 6vw);
        bottom: 6vw;
        right: 6vw;
    }
}
main .fv .photo .container img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 30%;
       object-position: 50% 30%;
}
@media screen and (max-width: 839px) {
    main .fv .photo .container img.img_pc {
        display: none;
    }
}
main .fv .photo .container img.img_mb {
    display: none;
}
@media screen and (max-width: 839px) {
    main .fv .photo .container img.img_mb {
        display: block;
    }
}
main .fv .copyright {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
@media screen and (max-width: 839px) {
    main .fv .copyright {
        display: none;
    }
}
main .fv .copyright .text {
    -ms-grid-column-align: center;
        justify-self: center;
    font-size: 11px;
    line-height: 1em;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: var(--c-white);
    text-align: center;
    -webkit-writing-mode: sideways-lr;
        -ms-writing-mode: sideways-lr;
            writing-mode: sideways-lr;
}
main .fv .copyright .text span {
    font-weight: 500;
}
main .fv .page_title {
    padding: 20px 130px 46px 20px;
    position: absolute;
    right: 0;
    bottom: 100px;
}
@media screen and (max-width: 839px) {
    main .fv .page_title {
        padding: 20px 12vw 20px 20px;
        bottom: calc(40px + 6vw);
    }
}
main .fv .page_title .bg_shape {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    mix-blend-mode: multiply;
    overflow: hidden;
}
main .fv .page_title .bg_shape img {
    rotate: -45deg;
}
main .fv .page_title .bg_shape svg {
    stroke: var(--c-TresNavy);
    rotate: -45deg;
}
main .fv .page_title .bg_shape {
    position: absolute;
    inset: 0;
}
main .fv .page_title h1 {
    font-family: "Red Hat Display", sans-serif;
    font-size: 44px;
    line-height: 1em;
    letter-spacing: 0.14em;
    font-weight: 700;
    color: var(--c-white);
    position: relative;
}
main .fv .page_title h1 span {
    font-weight: 700;
}
@media screen and (max-width: 1139px) {
    main .fv .page_title h1 {
        font-size: 38px;
    }
}
@media screen and (max-width: 639px) {
    main .fv .page_title h1 {
        font-size: 32px;
    }
}
main .fv.bgBlueHide .bg_blend {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
    background-color: transparent;
}
main .fv.fadeElem .photo {
    opacity: 0;
}
main .fv.fadeElem .photo .container {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
main .fv.fadeElem .photo .container img {
    scale: 1.1;
}
main .fv.fadeElem .copyright {
    opacity: 0;
}
main .fv.fadeElem .page_title .bg_shape {
    opacity: 0;
    clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
main .fv.fadeElem .page_title h1 {
    opacity: 0;
    translate: 0 15px;
}
main .fv.fadeIn .photo {
    -webkit-transition: opacity 1s 0.05s;
    transition: opacity 1s 0.05s;
    opacity: 1;
}
main .fv.fadeIn .photo .container {
    -webkit-transition: clip-path 1s var(--easeOutQuart);
    transition: clip-path 1s var(--easeOutQuart);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
main .fv.fadeIn .photo .container img {
    -webkit-transition: scale 1s 0.05s;
    transition: scale 1s 0.05s;
    scale: 1;
}
main .fv.fadeIn .copyright {
    -webkit-transition: opacity 0.6s 0.4s;
    transition: opacity 0.6s 0.4s;
    opacity: 1;
}
main .fv.fadeIn .page_title .bg_shape {
    -webkit-transition: opacity 1s 0.4s, clip-path 1s var(--easeOutQuart) 0.4s;
    transition: opacity 1s 0.4s, clip-path 1s var(--easeOutQuart) 0.4s;
    opacity: 1;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
main .fv.fadeIn .page_title h1 {
    -webkit-transition: opacity 0.6s 1s, translate 0.6s var(--easeOutQuart) 1s;
    transition: opacity 0.6s 1s, translate 0.6s var(--easeOutQuart) 1s;
    opacity: 1;
    translate: 0 0;
}
main .intro {
    padding-top: 150px;
    margin-inline: auto;
    width: 1000px;
    position: relative;
}
@media screen and (max-width: 1139px) {
    main .intro {
        padding-top: 115px;
        width: 88vw;
    }
}
@media screen and (max-width: 639px) {
    main .intro {
        padding-top: 80px;
    }
}
main .intro .head h3 {
    margin-block: calc((1em - 1lh) / 2);
    margin-right: -0.05em;
    font-size: 34px;
    line-height: 1.65em;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--c-TresBlue);
    text-align: center;
}
main .intro .head h3 span {
    font-weight: 700;
}
@media screen and (max-width: 1139px) {
    main .intro .head h3 {
        font-size: 29px;
        line-height: 1.6em;
    }
}
@media screen and (max-width: 639px) {
    main .intro .head h3 {
        font-size: 24px;
        line-height: 1.55em;
    }
}
main .intro .head h3 span.en {
    font-weight: 500;
}
main .intro .head h3 span.en span {
    font-weight: 500;
}
main .intro .comment {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 1.1em;
    padding-top: 40px;
    font-size: 14px;
}
@media screen and (max-width: 1139px) {
    main .intro .comment {
        row-gap: 1.05em;
        padding-top: 35px;
        font-size: 13.5px;
    }
}
@media screen and (max-width: 639px) {
    main .intro .comment {
        row-gap: 1em;
        padding-top: 30px;
        margin-inline: auto;
        width: 380px;
        font-size: 13px;
    }
}
@media screen and (max-width: 439px) {
    main .intro .comment {
        width: 260px;
    }
}
main .intro .comment .grid {
    margin-block: calc((1em - 1lh) / 2);
    margin-right: -0.08em;
    font-size: 14px;
    line-height: 2.1em;
    letter-spacing: 0.08em;
    font-weight: 400;
    text-align: center;
}
main .intro .comment .grid span {
    font-weight: 400;
}
@media screen and (max-width: 1139px) {
    main .intro .comment .grid {
        font-size: 13.5px;
        line-height: 2.05em;
    }
}
@media screen and (max-width: 639px) {
    main .intro .comment .grid {
        font-size: 13px;
        line-height: 2em;
        text-align: justify;
    }
}
@media screen and (max-width: 639px) {
    main .intro .comment .grid span.b {
        display: inline;
    }
}
main .intro .illust {
    margin-top: 80px;
    margin-inline: auto;
    width: 910px;
    height: 910px;
    position: relative;
}
@media screen and (max-width: 1139px) {
    main .intro .illust {
        width: 88vw;
        height: 88vw;
    }
}
@media screen and (max-width: 639px) {
    main .intro .illust {
        display: none;
        width: 88vw;
        height: 88vw;
    }
}
main .intro .illust .circle {
    width: 580px;
    height: 580px;
    border-radius: 50%;
    border: 1px solid var(--c-black);
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 1139px) {
    main .intro .illust .circle {
        display: none;
    }
}
main .intro .illust .illust_logo {
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% calc(-50% - 5px);
}
@media screen and (max-width: 1139px) {
    main .intro .illust .illust_logo {
        display: none;
    }
}
main .intro .illust .illust_ul {
    position: absolute;
    inset: 0;
}
@media screen and (max-width: 1139px) {
    main .intro .illust .illust_ul {
        display: none;
    }
}
main .intro .illust .illust_ul > li {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-flex-line-pack: center;
        align-content: center;
    width: 330px;
    height: 330px;
    color: var(--c-white);
    position: absolute;
}
main .intro .illust .illust_ul > li .bg {
    border-radius: 50%;
    position: absolute;
    inset: 0;
}
main .intro .illust .illust_ul > li .bg::before {
    content: "";
    display: inline-block;
    border-radius: inherit;
    border: 1px solid var(--c-TresBlue);
    background-color: var(--c-grayEB);
    position: absolute;
    inset: -4px;
}
main .intro .illust .illust_ul > li .bg::after {
    content: "";
    display: inline-block;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--c-TresBlue45) 0%, var(--c-TresBlue) 70%);
    position: absolute;
    inset: 0;
}
main .intro .illust .illust_ul > li .number {
    -ms-grid-column-align: center;
        justify-self: center;
    margin-right: -0.1em;
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.1em;
    font-weight: 500;
    position: relative;
}
main .intro .illust .illust_ul > li .number span {
    font-weight: 500;
}
main .intro .illust .illust_ul > li .title {
    -ms-grid-column-align: center;
        justify-self: center;
    margin-right: -0.08em;
    padding-top: 30px;
    font-size: 20px;
    line-height: 1em;
    letter-spacing: 0.08em;
    font-weight: 700;
    position: relative;
}
main .intro .illust .illust_ul > li .title span {
    font-weight: 700;
}
main .intro .illust .illust_ul > li .content {
    -ms-grid-column-align: center;
        justify-self: center;
    margin-top: 25px;
    margin-bottom: 10px;
    position: relative;
}
main .intro .illust .illust_ul > li .content .content_ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
main .intro .illust .illust_ul > li .content .content_ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 15px;
    padding-top: 16px;
    width: 230px;
    position: relative;
}
@media screen and (max-width: 1139px) {
    main .intro .illust .illust_ul > li .content .content_ul li {
        width: 200px;
    }
}
main .intro .illust .illust_ul > li .content .content_ul li::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, var(--c-white), var(--c-white) 1px, transparent 1px, transparent 3px);
    background-size: 3px 1px;
    background-position: left top;
    background-repeat: repeat-x;
    position: absolute;
    left: 0;
    top: 0;
}
main .intro .illust .illust_ul > li .content .content_ul li .text {
    margin-block: calc((1em - 1lh) / 2);
    margin-right: -0.08em;
    font-size: 15px;
    line-height: 1.65em;
    letter-spacing: 0.08em;
    font-weight: 400;
    text-align: center;
    position: relative;
}
main .intro .illust .illust_ul > li .content .content_ul li .text span {
    font-weight: 400;
}
main .intro .illust .illust_ul > li .content .content_ul li .text span.bracket {
    font-size: 13px;
}
main .intro .illust .illust_ul > li .content .content_ul li .text_2 {
    margin-left: 15px;
    padding-left: 15px;
    position: relative;
}
main .intro .illust .illust_ul > li .content .content_ul li .text_2::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 16px;
    background-image: linear-gradient(to bottom, var(--c-white), var(--c-white) 1px, transparent 1px, transparent 3px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}
main .intro .illust .illust_ul > li .content .content_ul li:nth-of-type(1) {
    margin-top: 0;
    padding-top: 0;
}
main .intro .illust .illust_ul > li .content .content_ul li:nth-of-type(1)::before {
    display: none;
}
main .intro .illust .illust_ul > li:nth-of-type(1) {
    left: 50%;
    top: 0;
    translate: -50% 0;
}
main .intro .illust .illust_ul > li:nth-of-type(1) .bg::before {
    border: 1px solid var(--c-TresNavy);
}
main .intro .illust .illust_ul > li:nth-of-type(1) .bg::after {
    background: linear-gradient(135deg, var(--c-TresNavy45) 0%, var(--c-TresNavy) 70%);
}
main .intro .illust .illust_ul > li:nth-of-type(2) {
    left: 0;
    top: 50%;
    translate: 0 -50%;
}
main .intro .illust .illust_ul > li:nth-of-type(3) {
    left: 50%;
    bottom: 0;
    translate: -50% 0;
}
main .intro .illust .illust_ul > li:nth-of-type(4) {
    right: 0;
    top: 50%;
    translate: 0 -50%;
}
main .intro .illust .illust_ul > li:nth-of-type(4) .bg {
    -webkit-transition-delay: var(--illust4Delay);
            transition-delay: var(--illust4Delay);
}
main .intro .illust .illust_ul > li:nth-of-type(4) .number {
    -webkit-transition-delay: var(--illust4Delay);
            transition-delay: var(--illust4Delay);
}
main .intro .illust .illust_ul > li:nth-of-type(4) .title {
    -webkit-transition-delay: var(--illust4Delay);
            transition-delay: var(--illust4Delay);
}
main .intro .illust .illust_ul > li:nth-of-type(4) .content {
    -webkit-transition-delay: var(--illust4Delay);
            transition-delay: var(--illust4Delay);
}
main .intro .illust .illust_tl {
    display: none;
}
@media screen and (max-width: 1139px) {
    main .intro .illust .illust_tl {
        display: block;
    }
}
main .intro .illust .illust_tl img {
    width: 100%;
    height: auto;
}
main .intro .illust_mb {
    display: none;
}
@media screen and (max-width: 639px) {
    main .intro .illust_mb {
        display: block;
        margin-inline: auto;
        margin-top: 40px;
        width: 88vw;
        position: relative;
    }
}
main .intro .illust_mb .thumb img {
    width: 100%;
    height: auto;
}
main .intro .illust_mb .btn {
    opacity: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
}
main .intro .illust_mb .btn::before {
    content: "";
    display: inline-block;
    background-color: var(--c-white);
    border-radius: inherit;
    position: absolute;
    inset: 0;
}
main .intro .illust_mb .btn .icon {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    width: 20px;
    height: 20px;
    position: relative;
}
main .intro .illust_mb .btn .icon > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
}
main .intro .illust_mb .btn .icon::before, main .intro .illust_mb .btn .icon::after {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: center;
        justify-self: center;
    -ms-grid-row-align: center;
        align-self: center;
    content: "";
    display: inline-block;
    background-color: var(--c-TresNavy);
}
main .intro .illust_mb .btn .icon::before {
    width: 20px;
    height: 1.5px;
}
main .intro .illust_mb .btn .icon::after {
    width: 1.5px;
    height: 20px;
}
main .intro .illust_mb .btn.fadeIn {
    -webkit-transition: opacity 0.3s 0.3s;
    transition: opacity 0.3s 0.3s;
    opacity: 1;
    -webkit-animation: fadeInPop_1 0.3s var(--easeOutCubic) 0.3s both, fadeInPop_2 0.2s var(--easeInCubic) 0.6s forwards, fadeOut 0.8s var(--easeOutCubic) 1.8s forwards;
            animation: fadeInPop_1 0.3s var(--easeOutCubic) 0.3s both, fadeInPop_2 0.2s var(--easeInCubic) 0.6s forwards, fadeOut 0.8s var(--easeOutCubic) 1.8s forwards;
}
main .service_content {
    margin-top: 110px;
    margin-inline: auto;
    width: 1000px;
    position: relative;
}
@media screen and (max-width: 1139px) {
    main .service_content {
        margin-top: 80px;
        width: 88vw;
    }
}
@media screen and (max-width: 839px) {
    main .service_content {
        margin-top: 150px;
    }
}
main .service_content .service_ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 180px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul {
        row-gap: 135px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul {
        row-gap: 90px;
    }
}
main .service_content .service_ul li {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 60px auto;
    grid-template-columns: 1fr auto;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li {
        -webkit-column-gap: 45px;
           -moz-column-gap: 45px;
                column-gap: 45px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }
}
main .service_content .service_ul li .number {
    -ms-grid-column-align: end;
        justify-self: end;
    -ms-grid-column: 2;
    grid-column: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .number {
        grid-column: auto;
        -ms-grid-row: 2;
        grid-row: 2;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: -25px;
    }
}
main .service_content .service_ul li .number .title {
    font-family: "Red Hat Display", sans-serif;
    font-size: 20px;
    line-height: 1em;
    letter-spacing: 0.14em;
    font-weight: 700;
    color: var(--c-TresNavy);
}
main .service_content .service_ul li .number .title span {
    font-weight: 700;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .number .title {
        font-size: 16.5px;
    }
}
@media screen and (max-width: 639px) {
    main .service_content .service_ul li .number .title {
        font-size: 13px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .number .num {
        margin-top: 12px;
    }
}
main .service_content .service_ul li .number .num svg {
    fill: none;
    stroke: var(--c-TresNavy);
    stroke-width: 0.5;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .number .num svg {
        stroke-width: 1;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .number .num svg {
        stroke-width: 1.5;
        width: auto;
    }
}
main .service_content .service_ul li .number.fadeElem .title {
    opacity: 0;
    translate: -20px 0;
}
main .service_content .service_ul li .number.fadeElem .num {
    opacity: 0;
    translate: 0 30px;
}
main .service_content .service_ul li .number.fadeIn .title {
    -webkit-transition: opacity 0.8s 0.5s, translate 0.8s var(--easeOutQuart) 0.5s;
    transition: opacity 0.8s 0.5s, translate 0.8s var(--easeOutQuart) 0.5s;
    opacity: 1;
    translate: 0 0;
}
main .service_content .service_ul li .number.fadeIn .num {
    -webkit-transition: opacity 1s, translate 1s var(--easeOutQuart);
    transition: opacity 1s, translate 1s var(--easeOutQuart);
    opacity: 1;
    translate: 0 0;
}
main .service_content .service_ul li .photo_wrap {
    -ms-grid-row-align: end;
        align-self: end;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    position: relative;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .photo_wrap {
        -ms-grid-column-align: start;
            justify-self: start;
        grid-column: auto;
        -ms-grid-row: 1;
        grid-row: 1;
        margin: 0 -6vw;
    }
}
main .service_content .service_ul li .photo_wrap .bg_shape {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    mix-blend-mode: multiply;
    overflow: hidden;
}
main .service_content .service_ul li .photo_wrap .bg_shape img {
    rotate: -45deg;
}
main .service_content .service_ul li .photo_wrap .bg_shape svg {
    stroke: var(--c-TresNavy);
    rotate: -45deg;
}
main .service_content .service_ul li .photo_wrap .photo {
    width: 492px;
    height: 352px;
    position: relative;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .photo_wrap .photo {
        width: 40vw;
        height: 28.6178861789vw;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .photo_wrap .photo {
        width: 69vw;
        height: 49.3658536585vw;
    }
}
main .service_content .service_ul li .photo_wrap .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
main .service_content .service_ul li .container {
    -ms-grid-column: 2;
    grid-column: 2;
    margin-top: 50px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .container {
        grid-column: auto;
        margin-top: -24px;
    }
}
main .service_content .service_ul li .container .head {
    padding-bottom: 16px;
    position: relative;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .container .head {
        padding-bottom: 20px;
    }
}
main .service_content .service_ul li .container .head h3 {
    font-size: 34px;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: var(--c-TresBlue);
    position: relative;
}
main .service_content .service_ul li .container .head h3 span {
    font-weight: 600;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .container .head h3 {
        font-size: 29px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .container .head h3 {
        font-size: 24px;
    }
}
main .service_content .service_ul li .container .head::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: var(--c-TresNavy);
    position: absolute;
    left: 0;
    bottom: 0;
}
main .service_content .service_ul li .container .head.fadeElem::after {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
main .service_content .service_ul li .container .head.fadeIn::after {
    -webkit-transition: clip-path 1s var(--easeOutQuart);
    transition: clip-path 1s var(--easeOutQuart);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
main .service_content .service_ul li .container .body {
    padding-top: 35px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .container .body {
        padding-top: 32px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .container .body {
        padding-top: 30px;
    }
}
main .service_content .service_ul li .container .body p {
    margin-block: calc((1em - 1lh) / 2);
    font-size: 16px;
    line-height: 2.1em;
    letter-spacing: 0em;
    font-weight: 400;
    text-align: justify;
}
main .service_content .service_ul li .container .body p span {
    font-weight: 400;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li .container .body p {
        font-size: 15.5px;
        line-height: 2.05em;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li .container .body p {
        font-size: 15px;
        line-height: 2em;
    }
}
main .service_content .service_ul li:nth-of-type(even) .number {
    -ms-grid-column: 1;
    grid-column: 1;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(even) .number {
        grid-column: auto;
        -ms-grid-column-align: start;
            justify-self: start;
    }
}
main .service_content .service_ul li:nth-of-type(even) .photo_wrap {
    -ms-grid-column: 2;
    grid-column: 2;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(even) .photo_wrap {
        grid-column: auto;
        -ms-grid-column-align: end;
            justify-self: end;
    }
}
main .service_content .service_ul li:nth-of-type(even) .container {
    -ms-grid-column: 1;
    grid-column: 1;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(even) .container {
        grid-column: auto;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(even) .container .head h3 {
        text-align: right;
    }
}
main .service_content .service_ul li:nth-of-type(1) .number .title {
    margin: 40px -0.4em 0 0;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(1) .number .title {
        margin: 0;
    }
}
main .service_content .service_ul li:nth-of-type(1) .number .num svg {
    stroke-miterlimit: 81.217;
    height: 171.38px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(1) .number .num svg {
        height: 119.966px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(1) .number .num svg {
        height: 68.552px;
    }
}
main .service_content .service_ul li:nth-of-type(1) .photo_wrap .bg_shape {
    width: 240px;
    height: 240px;
    position: absolute;
    left: -120px;
    bottom: -120px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(1) .photo_wrap .bg_shape {
        width: 30vw;
        height: 30vw;
        left: auto;
        bottom: auto;
        top: -8vw;
        right: -8vw;
    }
}
main .service_content .service_ul li:nth-of-type(1) .container {
    margin-top: 10px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(1) .container {
        margin-top: -24px;
    }
}
main .service_content .service_ul li:nth-of-type(2) {
    margin-top: 50px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(2) {
        margin-top: 40px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(2) {
        margin-top: 30px;
    }
}
main .service_content .service_ul li:nth-of-type(2) .number .title {
    margin: 0 -0.4em 0 0;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(2) .number .title {
        margin: 0;
    }
}
main .service_content .service_ul li:nth-of-type(2) .number .num svg {
    stroke-miterlimit: 65.818;
    height: 172.82px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(2) .number .num svg {
        height: 120.974px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(2) .number .num svg {
        height: 69.128px;
    }
}
main .service_content .service_ul li:nth-of-type(2) .photo_wrap .bg_shape {
    width: 420px;
    height: 260px;
    position: absolute;
    right: -220px;
    top: -100px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(2) .photo_wrap .bg_shape {
        width: 30vw;
        height: 30vw;
        bottom: auto;
        top: -8vw;
        left: -8vw;
    }
}
main .service_content .service_ul li:nth-of-type(3) .number .title {
    margin: -5px -0.6em 0 0;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(3) .number .title {
        margin: 0;
    }
}
main .service_content .service_ul li:nth-of-type(3) .number .num svg {
    stroke-miterlimit: 64.974;
    height: 174.74px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(3) .number .num svg {
        height: 122.318px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(3) .number .num svg {
        height: 69.896px;
    }
}
main .service_content .service_ul li:nth-of-type(3) .photo_wrap .bg_shape {
    width: 340px;
    height: 260px;
    position: absolute;
    left: -220px;
    bottom: -120px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(3) .photo_wrap .bg_shape {
        width: 30vw;
        height: 30vw;
        left: auto;
        bottom: auto;
        top: -8vw;
        right: -8vw;
    }
}
main .service_content .service_ul li:nth-of-type(4) {
    margin-top: 50px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(4) {
        margin-top: 40px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(4) {
        margin-top: 30px;
    }
}
main .service_content .service_ul li:nth-of-type(4) .number .title {
    margin: -5px 0.5em 0 0;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(4) .number .title {
        margin: 0;
    }
}
main .service_content .service_ul li:nth-of-type(4) .number .num svg {
    stroke-miterlimit: 65.818;
    height: 171.38px;
}
@media screen and (max-width: 1139px) {
    main .service_content .service_ul li:nth-of-type(4) .number .num svg {
        height: 119.966px;
    }
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(4) .number .num svg {
        height: 68.552px;
    }
}
main .service_content .service_ul li:nth-of-type(4) .photo_wrap .bg_shape {
    width: 320px;
    height: 240px;
    position: absolute;
    right: -120px;
    top: -100px;
}
@media screen and (max-width: 839px) {
    main .service_content .service_ul li:nth-of-type(4) .photo_wrap .bg_shape {
        width: 30vw;
        height: 30vw;
        bottom: auto;
        top: -8vw;
        left: -8vw;
    }
}
main .modal {
    -webkit-transition: left 0s 0.5s, right 0s 0.5s;
    transition: left 0s 0.5s, right 0s 0.5s;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-flex-line-pack: center;
        align-content: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: -200vw;
    right: 300vw;
    z-index: 301;
}
main .modal .modal_bg {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    opacity: 0;
    position: absolute;
    inset: 0;
}
main .modal .modal_bg::before {
    content: "";
    display: inline-block;
    background-color: var(--c-Black);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -1px;
}
main .modal .modal_container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 6vw 1fr 6vw;
    grid-template-columns: 6vw 1fr 6vw;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow: scroll;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: none;
    position: relative;
}
main .modal .modal_container::before, main .modal .modal_container::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: calc(100% + 1px);
}
main .modal .modal_container .modal_container_bg_close {
    position: absolute;
    inset: 0;
}
main .modal .modal_container .base {
    margin: 60px 0 6vw;
    padding: 6vw;
    height: calc(100vh - 60px - 6vw);
    height: calc(100dvh - 60px - 6vw);
    position: relative;
}
main .modal .modal_container .base::before {
    -webkit-transition: opacity 0.5s, translate 0s 0.5s;
    transition: opacity 0.5s, translate 0s 0.5s;
    opacity: 0;
    translate: 0 20px;
    content: "";
    display: inline-block;
    background-color: var(--c-white);
    position: absolute;
    inset: 0;
}
main .modal .modal_container .base .strengths_illust {
    -webkit-transition: opacity 0.5s, translate 0s 0.5s;
    transition: opacity 0.5s, translate 0s 0.5s;
    opacity: 0;
    translate: 0 20px;
    height: 100%;
    position: relative;
}
main .modal .modal_container .base .strengths_illust img {
    width: auto;
    height: 100%;
}
main .modal .modal_container .close {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    opacity: 0;
    width: 40px;
    height: 40px;
    position: fixed;
    top: 10px;
    right: 15px;
    cursor: pointer;
    pointer-events: none;
}
main .modal .modal_container .close::before, main .modal .modal_container .close::after {
    content: "";
    display: inline-block;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
    width: 24px;
    height: 1px;
    background-color: var(--c-white);
    position: absolute;
    top: 50%;
    left: 50%;
}
main .modal .modal_container .close::before {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
            transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
main .modal .modal_container .close::after {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
            transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
main .modal.active {
    -webkit-transition: left 0s 0s, right 0s 0s;
    transition: left 0s 0s, right 0s 0s;
    left: 0;
    right: 0;
}
main .modal.active .modal_bg {
    -webkit-transition: opacity 0.4s 0s;
    transition: opacity 0.4s 0s;
    opacity: 0.9;
}
main .modal.active .modal_container .base::before {
    -webkit-transition: opacity 0.4s, translate 0.5s var(--easeOutQuart);
    transition: opacity 0.4s, translate 0.5s var(--easeOutQuart);
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
    opacity: 1;
    translate: 0 0;
}
main .modal.active .modal_container .base .strengths_illust {
    -webkit-transition: opacity 0.4s, translate 0.5s var(--easeOutQuart);
    transition: opacity 0.4s, translate 0.5s var(--easeOutQuart);
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
    opacity: 1;
    translate: 0 0;
}
main .modal.active .modal_container .close {
    -webkit-transition: opacity 0.4s 0.5s;
    transition: opacity 0.4s 0.5s;
    opacity: 1;
    pointer-events: auto;
}

@-webkit-keyframes fadeInPop_1 {
    0% {
        scale: 0.5;
    }
    100% {
        scale: 1.08;
    }
}

@keyframes fadeInPop_1 {
    0% {
        scale: 0.5;
    }
    100% {
        scale: 1.08;
    }
}
@-webkit-keyframes fadeInPop_2 {
    0% {
        scale: 1.08;
    }
    100% {
        scale: 1;
    }
}
@keyframes fadeInPop_2 {
    0% {
        scale: 1.08;
    }
    100% {
        scale: 1;
    }
}
@-webkit-keyframes fadeOut {
    0% {
        translate: -50% -50%;
        opacity: 1;
    }
    100% {
        translate: -50% calc(-50% + 15px);
        opacity: 0;
    }
}
@keyframes fadeOut {
    0% {
        translate: -50% -50%;
        opacity: 1;
    }
    100% {
        translate: -50% calc(-50% + 15px);
        opacity: 0;
    }
}
/*# sourceMappingURL=style.css.map */