@font-face {
        font-family: sofia;
        src: url(/font/SofiaProMedium.woff2) format("woff2");
        font-weight: 500;
        font-style: normal;
        font-display: swap
    }

    @font-face {
        font-family: sofia;
        src: url(/font/SofiaProRegular.woff2) format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap
    }

    html {
        -webkit-text-size-adjust: none;
        -webkit-font-smoothing: antialiased
    }

    body {
        padding: 0;
        border: 0;
        font: inherit
    }

    a, body, div, form, h1, h2, h3, header, html, img, label, li, nav, p, span, table, ul {
        margin: 0
    }

    a, button, div, footer, form, h1, h2, h3, header, html, img, input, label, li, nav, p, select, span, table, textarea, ul {
        padding: 0;
        border: 0;
        font: inherit;
        font-family: inherit;
        font-size: 100%
    }

    button, input, select, textarea {
        margin: 0;
        display: block;
        box-sizing: border-box;
        border-radius: 0;
        outline: 0;
        background: 0 0;
        color: inherit
    }

    li, ul {
        list-style: none
    }

    button:focus, input:focus, textarea:focus {
        outline: 0
    }

    button:hover, input[type=submit]:hover {
        cursor: pointer
    }

    input::-ms-clear {
        display: none
    }

    textarea {
        overflow: auto
    }

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

    a, img, picture, svg, video {
        display: block
    }

    img, video {
        width: 100%;
        height: auto
    }

    #intro-img img, iframe, svg {
        width: 100%;
        height: 100%
    }

    #intro-img img, iframe {
        position: absolute;
        top: 0;
        left: 0
    }

    #svg {
        position: absolute;
        width: 0;
        height: 0
    }

    html {
        cursor: default;
        -webkit-tap-highlight-color: transparent
    }

    body {
        font-family: sofia;
        font-size: 16px;
        font-weight: 500
    }

    * {
        scrollbar-color: rgba(0, 0, 0, .45) rgba(0, 0, 0, .08);
        scrollbar-width: thin
    }

    ::-webkit-scrollbar {
        width: 10px;
        height: 10px
    }

    ::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, .08)
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .45);
        border-radius: 999px;
        border: 2px solid rgba(255, 255, 255, .6)
    }

    .card {
        position: relative
    }

    .card-shadow {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 64px;
        right: 64px;
        border-radius: 45px;
        box-shadow: 0 27px 104px 0 #0000001f
    }

    .card-content {
        position: relative;
        width: 100%;
        height: 100%;
        -webkit-clip-path: inset(0 64px round 45px);
        clip-path: inset(0 64px round 45px);
        will-change: clip-path;
        background-color: #fff
    }

    .card-content-phone-shim {
        height: calc(41.80556vw - 50vh)
    }

    .card-content-phone-sticky {
        position: -webkit-sticky;
        position: sticky;
        z-index: 2;
        top: 0;
        width: 100vw;
        height: 100vh
    }

    .card-content-phone {
        position: relative;
        top: 50%;
        width: 100vw;
        transform: translateY(-50%);
        overflow-x: hidden
    }

    .shim-not-null .card-content-phone {
        height: 83.61111vw
    }

    .shim-null .card-content-phone {
        height: 100vh
    }

    .card-content-phone > img, .card-content-screen {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%)
    }

    .card-content-phone > img {
        z-index: 1;
        width: auto;
        height: 100%
    }

    .card-content-screen {
        z-index: 2;
        overflow: hidden
    }

    .card-content-list-sticky li, .card-content-screen > img, .card-content-screen > video {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%
    }

    .program-carousel {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #fff
    }

    .program-carousel img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        opacity: 0;
        transition: opacity .6s ease
    }

    .program-carousel img.is-active {
        opacity: 1
    }

    .shim-not-null .card-content-screen {
        height: 39.8825vw;
        width: 18.80175vw;
        border-radius: 2.08333vw
    }

    .shim-null .card-content-screen {
        height: 47.7vh;
        width: 22.48714vh;
        border-radius: 2.8vh
    }

    .card-content-list {
        position: relative;
        left: calc(64px + 2.5vw);
        width: 23.61111vw;
        height: 500vh
    }

    .card-content-list-sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        width: 100%;
        height: 100vh
    }

    .card-content-list-sticky li {
        display: flex;
        align-items: center
    }

    .card-content-list-sticky-copy {
        will-change: transform, opacity
    }

    .card-content-list-sticky-copy p {
        font-size: 2.43056vw;
        line-height: 118%;
        letter-spacing: -.0475em;
        color: #000
    }

    #nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 4
    }

    #nav-logo, #nav-logo div {
        position: absolute;
        top: 38px;
        left: 40px;
        height: 24px;
        width: 145.14286px
    }

    #nav-logo div {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        will-change: opacity;
        transition: opacity .2s cubic-bezier(.215, .61, .355, 1)
    }

    #nav-logo div:last-child {
        opacity: 0
    }

    #nav-logo.fx div:first-child {
        opacity: 0
    }

    #nav-logo.fx div:last-child {
        opacity: 1
    }

    #nav-logo.hide div:first-child, #nav-logo.hide div:last-child {
        opacity: 0
    }

    #nav-logo div:first-child svg {
        fill: #000
    }

    #nav-logo div:last-child svg {
        fill: #fff
    }

    #nav .soon {
        position: absolute;
        top: 24px;
        right: 32px
    }

    .p {
        padding-top: 11.11111vw;
        padding-left: 11.11111vw;
        padding-right: 10.83333vw
    }

    .p p {
        font-size: 5.90278vw;
        line-height: 6.80556vw;
        letter-spacing: -.0475em;
        background-size: 100%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent
    }

    #hero .p {
        padding-bottom: 17.36111vw
    }

    #hero .p p {
        background-image: linear-gradient(166.14deg, #53aaff 1.38%, #3577bf 38.84%, #000 74.76%)
    }

    #program .p p {
        background-image: linear-gradient(123.97deg, #4fd8ab 10.62%, #5ea1e7 43.12%, #8375d0 89.61%)
    }

    #care .p p {
        background-image: linear-gradient(93.37deg, #9685ff -1.4%, #d1b2ca 34.29%, #b5ade1 85.34%)
    }

    #shop .p p {
        background-image: linear-gradient(123.97deg, #7fbfbc 10.62%, #556b71 49.7%, #000 89.61%)
    }

    /*.section {*/
    /*    padding-top: 7.36111vw*/
    /*}*/

    .section-rectangle {
        margin: auto;
        width: 25.83333vw;
        height: 25.83333vw;
        border-radius: 20%;
        box-shadow: 0 8px 127px 0 rgba(0, 0, 0, .11);
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #fff
    }

    .section-rectangle svg {
        width: 9.30556vw;
        height: 10.13889vw
    }

    .section h2 {
        padding-top: 6.25vw;
        text-align: center;
        font-size: 15.27778vw;
        line-height: 15.27778vw;
        letter-spacing: -.0575em
    }

    .separator {
        position: relative;
        height: 56px;
        background: rgba(0, 0, 0, .06)
    }

    .separator::after, .separator::before {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 24px;
        background: #fff
    }

    .separator::before {
        top: 0;
        border-radius: 0 0 24px 24px
    }

    .separator::after {
        bottom: 0;
        border-radius: 24px 24px 0 0
    }

    .soon {
        display: table;
        padding: 16px 22px;
        background: #fff;
        box-shadow: 0 8px 30px 0 rgba(0, 0, 0, .06);
        border-radius: 52px
    }

    .soon-icon {
        float: left;
        padding-right: 7px;
        height: 20px;
        width: 17px
    }

    .android .soon-icon:nth-child(2), .ios .soon-icon:nth-child(1) {
        display: none
    }

    .soon-txt {
        float: left;
        margin-top: 2px;
        height: 20px;
        line-height: 20px;
        font-size: 14px;
        letter-spacing: -.0175em
    }

    #hero {
        position: relative;
        padding-top: 100px
    }

    #hero .card-content {
        background-size: contain;
        background-position: bottom center;
        background-repeat: no-repeat;
        background-image: url(/media/hero/01.jpg)
    }

    #hero-card-content-gradient {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        opacity: .75;
        will-change: opacity;
        overflow: hidden
    }

    #hero-card-content-gradient::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        transform: translate(-50%, -50%);
        background-image: radial-gradient(at 70% 35%, rgba(248, 186, 252, .75) 0, rgba(248, 186, 252, 0) 18%), radial-gradient(at 40% 75%, rgba(224, 87, 160, .5) 0, rgba(224, 87, 160, 0) 28%), radial-gradient(at 34% 25%, rgba(248, 186, 252, .75) 0, rgba(248, 186, 252, 0) 22%), radial-gradient(at 60% 64%, rgba(248, 186, 252, .75) 0, rgba(248, 186, 252, 0) 36%), radial-gradient(at 46% 53%, rgba(168, 86, 245, .75) 0, rgba(248, 186, 252, 0) 53%);
        background-size: 85% 85%;
        background-position: 50% 50%;
        background-repeat: no-repeat
    }

    #hero h1, #hero-txt {
        position: relative;
        letter-spacing: -.0575em
    }

    #hero h1 {
        z-index: 4;
        padding-top: 8.33333vw;
        font-size: 5.625vw;
        line-height: 104%;
        text-align: center;
        color: #5d48db
    }

    .shim-not-null #hero h1 {
        margin-bottom: -12.5vw
    }

    .shim-null #hero h1 {
        margin-bottom: -10vh
    }

    #hero-txt {
        z-index: 1;
        padding-top: 15vh;
        padding-bottom: 80vh;
        width: 100%;
        font-size: 19.44444vw;
        line-height: 19.44444vw;
        overflow: hidden
    }

    #hero-txt div {
        background-size: 100%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent
    }

    #hero-txt div:nth-child(1) {
        margin-left: -1.38889vw;
        background-image: linear-gradient(166.14deg, #c0e3d8 0, #bae1dc 100%)
    }

    #hero-txt div:nth-child(2) {
        margin-right: -.69444vw;
        text-align: right;
        padding-top: 45vh;
        background-image: linear-gradient(166.14deg, #e8f4f7 0, #afcdde 100%)
    }

    #hero-txt div:nth-child(3) {
        text-align: center;
        padding-top: 45vh;
        background-image: linear-gradient(166.14deg, #6ab4a5 0, #86b7d4 100%)
    }

    #intro {
        margin-top: 17.36111vw;
        width: 100%;
        overflow: hidden
    }

    #intro-list {
        position: relative;
        font-size: 9.79167vw;
        line-height: 110%;
        letter-spacing: -.0575em;
        color: #f0f0f0;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #intro-list li:first-child {
        position: absolute;
        top: 0;
        left: -1.04167vw
    }

    #intro-list li:last-child {
        position: absolute;
        top: 0;
        right: -.55556vw
    }

    #intro-img {
        position: relative;
        margin-top: 2.77778vw;
        height: 0;
        padding-top: 22.29167%
    }

    #intro p {
        margin-left: auto;
        margin-right: auto;
        margin-top: 6.25vw;
        font-size: 5.90278vw;
        line-height: 6.80556vw;
        width: 50vw
    }

    #program .card {
        margin-top: 13.88889vw
    }

    #program-card-content-percent-w {
        padding-top: 11.80556vw
    }

    #program-card-content-percent {
        position: relative;
        margin-left: auto;
        margin-right: auto;
        width: 14.23611vw;
        height: 14.23611vw
    }

    #program-card-content-percent-symbol {
        position: absolute;
        right: 2.70833vw;
        top: 5vw;
        font-size: 2.56944vw
    }

    #program-card-content-percent-number {
        margin-left: -1.04167vw;
        padding-top: .41667vw;
        font-size: 5.83333vw;
        line-height: 14.23611vw;
        letter-spacing: -.0575em;
        text-align: center
    }

    #program-card-content-percent-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        fill: none;
        stroke-linecap: round;
        stroke-width: 16px
    }

    #program-card-content-percent-line {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: rotate(-90deg)
    }

    #program-card-content-percent-line-circle {
        fill: none;
        stroke-linecap: round;
        stroke-width: 16px;
        opacity: 0
    }

    #program-card-content-intro {
        position: relative;
        padding-top: 2.77778vw;
        margin: auto;
        width: 33.19444vw;
        text-align: center;
        font-size: 3.05556vw;
        line-height: 3.61111vw;
        letter-spacing: -.0475em;
        color: rgba(0, 0, 0, .82)
    }

    #program-card-content-intro span {
        background-size: 100%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-image: linear-gradient(243.63deg, #3fd194 16.96%, #2fa59e 60.78%)
    }

    #program-card-content-grid {
        position: relative;
        overflow-x: hidden
    }

    .shim-not-null #program-card-content-grid {
        margin-top: -12.5vw;
        height: 167.22222vw;
        margin-bottom: -53.61111vw
    }

    .shim-null #program-card-content-grid {
        margin-top: -20.83333vw;
        height: 200vh;
        margin-bottom: -100vh
    }

    #program-card-content-grid img {
        position: absolute;
        left: 50%;
        width: auto;
        height: 100%;
        transform: translateX(-50%)
    }

    #care {
        margin-top: 17.36111vw;
        background-color: #000;
        color: #fff
    }

    #care .card-shadow {
        display: none
    }

    #care .card-content {
        -webkit-clip-path: none;
        clip-path: none;
        background-color: #000
    }

    #care-card-0, #care-card-1 {
        position: relative;
        border-radius: 45px
    }

    #care-card-0 {
        margin-top: 13.88889vw;
        padding-top: 16.66667vw;
        margin-left: 64px;
        margin-right: 64px;
        box-shadow: 0 27px 104px 0 #0000001f;
        overflow: hidden;
        background-size: cover;
        background-position: top center;
        background-repeat: no-repeat;
        background-image: url(/media/care/00.jpg)
    }

    #care-card-0 p, #care-card-1 p, #intro p {
        letter-spacing: -.0475em;
        text-align: center
    }

    #care-card-0 p {
        position: relative;
        margin: auto;
        width: 53.47222vw;
        font-size: 3.05556vw;
        line-height: 3.61111vw
    }

    #care-card-0-phone {
        position: relative;
        margin-left: -64px;
        width: 100vw
    }

    .shim-not-null #care-card-0-phone {
        margin-top: -8.36111vw;
        height: 83.61111vw
    }

    .shim-null #care-card-0-phone {
        margin-top: -20.90278vw;
        height: 100vh
    }

    #care-card-0-phone img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: auto;
        height: 100%;
        transform: translate(-50%, -50%)
    }

    #care-card-1 {
        display: block;
        position: relative;
        margin-top: 32px;
        margin-left: 64px;
        margin-right: 64px;
        background-image: linear-gradient(90deg, #352f33 0, #292526 100%)
    }

    #care-card-1 p {
        padding-top: 25vw;
        padding-bottom: 6.25vw;
        margin-left: auto;
        margin-right: auto;
        font-size: 2.70833vw;
        line-height: 118%
    }

    #care-card-1-icon {
        position: absolute;
        top: 11.11111vw;
        left: 0;
        width: 100%;
        height: 8.05556vw
    }

    #care-card-1-icon div {
        position: absolute;
        line-height: 115%;
        letter-spacing: -.0125em;
        top: 0;
        box-sizing: border-box;
        padding-top: 4.93056vw;
        width: 8.05556vw;
        height: 8.05556vw;
        background-color: #fff;
        border-radius: 100%;
        font-size: 1.38889vw;
        color: #000;
        text-align: center
    }

    #care-card-1-icon div:nth-child(2), #care-card-1-icon div:nth-child(3) {
        left: calc(50% - 9.93056vw);
        box-shadow: 0 9px 46px 0 rgba(0, 0, 0, .25)
    }

    #care-card-1-icon div:nth-child(2) {
        left: calc(50% - 4.02778vw)
    }

    #care-card-1-icon div:nth-child(1) {
        left: calc(50% + 1.875vw)
    }

    #care-card-1-icon svg {
        position: absolute;
        top: 1.66667vw;
        left: calc(50% - 1.11111vw);
        width: 2.22222vw;
        height: 2.5vw
    }

    #care-card-1 p {
        width: 29.02778vw
    }

    #care-card-2 {
        position: relative;
        margin-top: 32px;
        margin-left: 64px;
        margin-right: 64px;
        border-radius: 45px;
        background-image: linear-gradient(90deg, #312c30 0, #352f33 50%, #292526 100%);
        height: calc(100vw * .75);
        min-height: 75vh;
        clip-path: inset(0 round 45px)
    }

    .wrapper-half-speed {
        position: absolute;
        width: 200%;
        height: calc(200% + 400vh);
        top: -100vh;
        transform: scale(.5) translate(-50%, -50%)
    }

    .item {
        position: sticky;
        top: 0;
        height: calc((100vh - 100vw) * 1.333)
    }

    .clip {
        position: absolute;
        width: 100%;
        top: 100vh;
        height: calc((100vw - (4.167vw * 2)) * 2 * (1664 / 1440) + 100%);
        overflow: hidden
    }

    .clip img {
        width: auto;
        position: absolute;
        top: 0;
        left: 50%;
        height: 100%;
        transform: translateX(-50%)
    }

    #shop {
        margin-top: -1px;
        background-color: #000;
        color: #fff
    }

    #shop .card {
        margin-top: 13.88889vw;
        background-color: #fff
    }

    #faq h2, #shop-card-bg {
        position: absolute;
        left: 0
    }

    #shop-card-bg {
        top: -1px;
        width: 100%;
        height: calc(100% + 2px);
        background-color: #000
    }

    #shop .p {
        margin-top: -1px;
        margin-bottom: 11.11111vw;
        background-color: #fff
    }

    #shop .card-content {
        background-image: linear-gradient(0deg, rgba(245, 240, 242, 0) 50%, rgba(180, 205, 196, .7) 100%)
    }

    #shop-card-content-grid {
        position: relative;
        width: 100vw;
        overflow-x: hidden
    }

    .shim-not-null #shop-card-content-grid {
        top: -23.41111vw;
        height: 209.02778vw;
        margin-bottom: -107.02222vw
    }

    .shim-null #shop-card-content-grid {
        top: -28vh;
        height: 250vh;
        margin-bottom: -128vh
    }

    #shop-card-content-grid img {
        position: absolute;
        left: 50%;
        width: auto;
        height: 100%;
        transform: translateX(-50%)
    }

    #shop-card-content-list {
        padding-bottom: 100vh
    }

    #shop-card-content-list li {
        height: 100vh;
        display: flex;
        align-items: center
    }

    #shop-card-content-list div {
        margin-left: calc(64px + 2.5vw);
        width: 23.61111vw
    }

    #shop-card-content-list p {
        margin-top: 1.59722vw;
        font-size: 2.43056vw;
        line-height: 118%;
        letter-spacing: -.0475em
    }

    #video, #video-center-logo-square {
        display: flex;
        align-items: center;
        justify-content: center
    }

    #video {
        position: relative;
        margin-top: 19.79167vw;
        margin-bottom: 14.72222vw;
        margin-left: 64px;
        margin-right: 64px;
        height: 65vw;
        border-radius: 45px;
        box-shadow: 0 27px 104px 0 #0000001f;
        background-size: cover;
        background-image: url(/media/video/00.jpg)
    }

    #video-center-logo-square {
        margin-left: auto;
        margin-right: auto;
        height: 6.04167vw;
        width: 6.04167vw;
        border-radius: 1.52778vw;
        background: #fff;
        box-shadow: 0 4px 15px 0 rgba(0, 0, 0, .1)
    }

    #video-center-logo-square svg {
        margin-left: .13889vw;
        margin-bottom: .06944vw;
        width: 2.04167vw;
        height: 2.47917vw
    }

    #video-center-logo {
        margin-top: 1.66667vw;
        margin-left: auto;
        margin-right: auto;
        width: 17.63889vw;
        height: 2.91667vw;
        fill: #fff
    }

    #video .soon {
        position: absolute;
        bottom: 3.33333vw
    }

    #faq {
        position: relative;
        margin: 0 64px 10.41667vw;
        padding-top: 6.94444vw;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none
    }

    #faq h2 {
        top: 9.02778vw;
        font-size: 2.22222vw;
        line-height: 2.77778vw
    }

    #faq ul {
        padding-left: calc(54.16667vw - 128px);
        width: 45.83333vw
    }

    .faq-li {
        padding-top: 2.22222vw;
        padding-bottom: 2.22222vw;
        border-bottom: 1.34px solid #e0e0e0;
        cursor: pointer
    }

    .faq-list-title {
        position: relative;
        font-size: 1.25vw;
        line-height: 1.66667vw;
        pointer-events: none
    }

    .faq-list-arrow {
        position: absolute;
        top: 0;
        right: 0;
        width: 1.66667vw;
        height: 1.66667vw;
        transition: transform .6s cubic-bezier(.19, 1, .22, 1)
    }

    .faq-li.on .faq-list-arrow {
        transform: rotate(180deg)
    }

    .faq-list-p {
        padding-right: 5vw;
        padding-top: 1.11111vw;
        font-size: 1.25vw;
        font-weight: 400;
        line-height: 2.08333vw;
        color: rgba(0, 0, 0, .44);
        pointer-events: none;
        display: none
    }

    .faq-list-p a {
        display: inline-block;
        text-decoration: underline;
        pointer-events: all
    }

    .faq-li.on .faq-list-p {
        display: block
    }

    footer {
        margin: 100px 0 0;
        padding-bottom: 64px;
        padding-left: 64px;
        padding-right: 64px;
        background: #000;
        color: #fff
    }

    #footer-top {
        padding-top: 60px;
        display: flex;
        justify-content: space-between
    }

    #footer-top-logo {
        margin-top: 13px;
        width: 152px;
        height: 25.13386px
    }

    #footer-top-logo svg {
        fill: #fff
    }

    #footer-top-list {
        width: 240px;
        font-size: 24px;
        line-height: 60px;
        font-weight: 400
    }

    #footer-top-list li {
        position: relative;
        height: 60px;
        border-top: 1.34px solid #fff
    }

    #footer-top-list li:last-child {
        border-bottom: 1.34px solid #fff
    }

    #footer-top-list li svg {
        position: absolute;
        top: 0;
        right: 1px;
        width: 16px;
        height: 60px;
        fill: #fff
    }

    #footer-center {
        padding-top: 210px;
        color: #fff;
        display: flex
    }

    #footer-center li {
        margin-right: 20px;
        font-size: 18px;
        font-weight: 400;
        line-height: 50px
    }

    #footer-bottom {
        display: flex;
        justify-content: space-between
    }

    #footer-bottom > div {
        height: 78px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        line-height: 115%;
        font-weight: 400;
        opacity: .34
    }

    #footer-bottom img {
        height: 78px;
        width: auto
    }

    @media (max-width: 750px) {
        .card-shadow {
            left: 24px;
            right: 24px;
            border-radius: 16px;
            box-shadow: 0 22px 32px 0 #0000012f
        }

        .card-content {
            -webkit-clip-path: inset(0 16px round 24px);
            clip-path: inset(0 16px round 24px)
        }

        #program .card-content-phone-sticky, #shop .card-content-phone-sticky {
            top: 18%
        }

        .card-content-list {
            position: relative;
            left: 0;
            margin-left: auto;
            margin-right: auto;
            width: 69.23077vw;
            height: 500vh;
            text-align: center
        }

        .card-content-list-sticky li {
            display: block
        }

        #program .card-content-list-sticky-copy {
            margin-top: 40%
        }

        #shop .card-content-list-sticky-copy {
            margin-top: 50%
        }

        .card-content-list-sticky-copy p, .p p {
            font-size: 5.12821vw;
            line-height: 118%
        }

        #nav-logo {
            top: 26px;
            left: 6.15385vw;
            height: 18px;
            width: 108.85714px
        }

        #nav .soon {
            top: 12px;
            right: 16px
        }

        .p, .section h2 {
            padding-top: 10.25641vw
        }

        .p {
            padding-left: 6.15385vw;
            padding-right: 5.12821vw
        }

        .p p {
            font-size: 8.20513vw
        }

        #hero .p {
            padding-bottom: 30.76923vw
        }

        .section {
            padding-top: 41.02564vw
        }

        .section-rectangle {
            width: 47.69231vw;
            height: 47.69231vw;
            box-shadow: 0 4px 61px 0 rgba(0, 0, 0, .11)
        }

        .section-rectangle svg {
            width: 17.17949vw;
            height: 18.71795vw
        }

        .section h2 {
            font-size: 23.07692vw;
            line-height: 23.07692vw
        }

        .soon {
            padding: 12px 18px;
            border-radius: 40px;
            box-shadow: 0 3px 14px 0 rgba(0, 0, 0, .06)
        }

        .soon-icon {
            height: 18px;
            width: 15.3px
        }

        .soon-txt {
            height: 18px;
            line-height: 18px
        }

        #hero {
            padding-top: 68px
        }

        #hero-card-content-gradient::after {
            background-size: 200% 100%
        }

        #hero h1 {
            padding-top: 30.76923vw;
            font-size: 12.30769vw;
            line-height: 104%;
            letter-spacing: -.0375em
        }

        #hero-txt {
            font-size: 30.76923vw;
            line-height: 30.76923vw
        }

        #hero-txt div:nth-child(1) {
            margin-left: 0;
            text-align: center
        }

        #hero-txt div:nth-child(2) {
            margin-right: 0;
            text-align: center
        }

        #hero-txt div:nth-child(3) {
            text-align: center
        }

        #intro {
            margin-top: 30.76923vw
        }

        #intro p {
            margin-top: 15.38462vw;
            font-size: 12.30769vw;
            line-height: 104%;
            width: 87.17949vw
        }

        #program .card {
            margin-top: 20.51282vw
        }

        #program-card-content-percent-w {
            padding-top: 17.94872vw
        }

        #program-card-content-percent {
            width: 31.53846vw;
            height: 31.53846vw
        }

        #program-card-content-percent-symbol {
            right: 6vw;
            top: 11.07692vw;
            font-size: 5.69231vw
        }

        #program-card-content-percent-number {
            margin-left: -2.30769vw;
            padding-top: .92308vw;
            font-size: 12.92308vw;
            line-height: 31.53846vw
        }

        #program-card-content-intro {
            padding-top: 6.15385vw;
            width: 85.79487vw;
            font-size: 7.89744vw;
            line-height: 9.33333vw
        }

        #care-card-0 {
            margin-left: 16px;
            margin-right: 16px;
            border-radius: 24px
        }

        #care-card-0 p {
            width: 78.46154vw;
            font-size: 8.20513vw;
            line-height: 118%
        }

        #care-card-0-phone {
            margin-left: -16px
        }

        .shim-not-null #care-card-0-phone {
            height: calc(83.61111vw - 26.75556px)
        }

        .shim-null #care-card-0-phone {
            height: 100vh
        }

        #care-card-1 p {
            font-size: 6.15385vw;
            padding-bottom: 18.46154vw
        }

        #care-card-1-icon {
            top: 22.5641vw;
            height: 20.82051vw
        }

        #care-card-1-icon div {
            padding-top: 12.74359vw;
            width: 20.82051vw;
            height: 20.82051vw;
            font-size: 3.58974vw
        }

        #care-card-1-icon div:nth-child(2), #care-card-1-icon div:nth-child(3) {
            left: calc(50% - 25.66667vw);
            box-shadow: 0 9px 46px 0 rgba(0, 0, 0, .25)
        }

        #care-card-1-icon div:nth-child(2) {
            left: calc(50% - 10.41026vw)
        }

        #care-card-1-icon div:nth-child(1) {
            left: calc(50% + 4.84615vw)
        }

        #care-card-1-icon svg {
            top: 4.30769vw;
            left: calc(50% - 2.87179vw);
            width: 5.74359vw;
            height: 6.46154vw
        }

        #care-card-1 p {
            padding-top: 55.38462vw;
            width: 66.15385vw
        }

        #care-card-1, #care-card-2, #video {
            margin-left: 16px;
            margin-right: 16px;
            border-radius: 24px
        }

        #care-card-1, #care-card-2 {
            margin-top: 16px;
            clip-path: inset(0 round 16px)
        }

        #shop .p {
            margin-bottom: 20.51282vw
        }

        #video {
            height: 135.50136vw;
            box-shadow: 0 13px 22px 0 #0000001f
        }

        #video-center-logo-square {
            height: 11.15385vw;
            width: 11.15385vw;
            border-radius: 2.82051vw
        }

        #video-center-logo-square svg {
            margin-left: .25641vw;
            margin-bottom: .12821vw;
            width: 3.76923vw;
            height: 4.57692vw
        }

        #video-center-logo {
            margin-top: 3.07692vw;
            width: 32.5641vw;
            height: 5.38462vw
        }

        #video .soon {
            bottom: 16px
        }

        #faq {
            margin: 0 6.15385vw 20.51282vw;
            padding-top: 20.51282vw
        }

        #faq h2 {
            position: relative;
            top: 0;
            left: 0;
            font-size: 6.66667vw;
            line-height: 8.71795vw
        }

        #faq ul {
            margin-top: 15.38462vw;
            padding-left: 0;
            width: 100%
        }

        .faq-li {
            padding-top: 8.20513vw;
            padding-bottom: 8.20513vw
        }

        .faq-list-title {
            padding-right: 8.71795vw;
            font-size: 4.61538vw;
            line-height: 6.15385vw
        }

        .faq-list-arrow {
            width: 6.15385vw;
            height: 6.15385vw
        }

        .faq-list-p {
            padding-top: 6.15385vw;
            font-size: 4.61538vw;
            line-height: 7.69231vw
        }

        footer {
            padding-bottom: 40px;
            padding-left: 6.15385vw;
            padding-right: 6.15385vw
        }

        #footer-top {
            padding-top: 80px;
            display: block
        }

        #footer-top-logo {
            margin-top: 0
        }

        #footer-top-list {
            width: 100%;
            margin-top: 56px
        }

        #footer-center {
            padding-top: 290px
        }

        #footer-center li {
            margin-right: 40px;
            font-size: 14px
        }

        #footer-bottom {
            display: block
        }

        #footer-bottom > div {
            padding-top: 6px;
            display: block;
            height: auto;
            font-size: 14px
        }

        #footer-bottom img {
            padding-top: 24px;
            height: 78px;
            width: auto
        }
    }
