body {
    background: #fff;
    color: #4b4b4b;
    display: flex;
    flex-direction: column;
    font-family: Noto Sans JP, sans-serif;
    font-weight: 500;
    line-height: 1.4;
    min-height: 100vh
}

body.is-fixed {
    overflow: hidden
}

main {
    flex: 1
}

.flow {
    background: #edfcff
}

.flow__inner {
    padding-bottom: 6.9444444444vw;
    padding-top: 6.9444444444vw
}

@media (min-width:52.1875em) {
    .flow__inner {
        padding-bottom: 5.2083333333vw;
        padding-top: 5.2083333333vw
    }
}

.flow__inner .flow__title {
    margin-bottom: 17.3611111111vw;
    text-align: center
}

@media (min-width:52.1875em) {
    .flow__inner .flow__title {
        margin-bottom: 3.8020833333vw;
        text-align-last: left
    }
}

.flow__inner .flow__title .flow-title__en {
    margin-bottom: 0
}

@media (min-width:52.1875em) {
    .flow__inner .flow__title .flow-title__en {
        margin-bottom: .6770833333vw
    }
}

.flow__inner .flow__title .flow-title__ja {
    border: none;
    padding-left: 0
}

@media (min-width:52.1875em) {
    .flow__inner .flow__title .flow-title__ja {
        border-left: .5208333333vw solid #3f80d9;
        padding-left: 1.5625vw
    }
}

.flow__inner .flow__cont .flow__img img {
    height: auto;
    width: 100%
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items {
        display: flex
    }
}

.flow__inner .flow__cont .flow__items .flow__item {
    flex: 1;
    position: relative;
    z-index: 1
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item {
        padding-top: 4.6875vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item:first-child {
    z-index: 4
}

.flow__inner .flow__cont .flow__items .flow__item:first-child .flow-item__inner {
    background: #63b460;
    padding-top: 10vw
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item:first-child .flow-item__inner {
        padding-top: 5.6770833333vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item:first-child .flow-item__inner .flow-item__img {
    top: -13.8888888889vw
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item:first-child .flow-item__inner .flow-item__img {
        top: 0
    }
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(2) {
    z-index: 3
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(2) .flow-item__inner {
    background: #96de90
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(3) {
    z-index: 2
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(3) .flow-item__inner {
    background: #77bfab
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(4) {
    z-index: 1
}

.flow__inner .flow__cont .flow__items .flow__item:nth-child(4) .flow-item__inner {
    background: #30b691
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item:not(:first-child) .flow-item__inner {
        padding-left: 2.8645833333vw
    }

    .flow__inner .flow__cont .flow__items .flow__item:last-child .flow-item__inner {
        padding-right: .5208333333vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item:last-child .flow-item__inner:after {
    display: none
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 31.9444444444vw 2.9166666667vw 5.1388888889vw;
    position: relative
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item .flow-item__inner {
        height: 100%;
        padding: 5.6770833333vw 0 1.3020833333vw 1.0416666667vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__inner:after {
    background: inherit;
    bottom: 0;
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    content: "";
    height: 4.7222222222vw;
    left: 0;
    position: absolute;
    transform: translateY(97%);
    width: 100%
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item .flow-item__inner:after {
        bottom: auto;
        clip-path: polygon(100% 50%, 0 0, 0 100%);
        height: 100%;
        left: auto;
        right: 0;
        top: 0;
        transform: translateX(100%);
        width: 2.2395833333vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__img {
    left: 50%;
    position: absolute;
    top: 6.9444444444vw;
    transform: translateX(-50%);
    width: 25vw
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item .flow-item__img {
        left: calc(50% + 1.04167vw);
        top: 0;
        transform: translate(-50%, -50%);
        width: 9.375vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__img img {
    height: auto;
    width: 100%
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__title {
    color: #fff;
    font-size: 4.1666666667vw;
    font-weight: 700;
    line-height: 2.3333333333;
    text-align: center
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item .flow-item__title {
        font-size: 1.5625vw;
        margin-bottom: .3125vw
    }
}

.flow__inner .flow__cont .flow__items .flow__item .flow-item__text {
    color: #fff;
    font-size: 3.75vw;
    font-weight: 700;
    line-height: 1.4814814815
}

@media (min-width:52.1875em) {
    .flow__inner .flow__cont .flow__items .flow__item .flow-item__text {
        font-size: 1.0416666667vw;
        line-height: 2;
        max-width: 18.6458333333vw
    }
}

.step {
    background: #edfcff;
    margin-bottom: 6.9444444444vw
}

@media (min-width:52.1875em) {
    .step {
        margin-bottom: 3.125vw
    }
}

.step__inner {
    padding-bottom: 9.5833333333vw
}

@media (min-width:52.1875em) {
    .step__inner {
        padding-bottom: 6.6666666667vw
    }
}

.step__inner .step__title {
    margin-bottom: 6.5277777778vw
}

@media (min-width:52.1875em) {
    .step__inner .step__title {
        margin-bottom: 3.6458333333vw
    }
}

.step__inner .step__cont .step__img {
    margin-bottom: 5.6944444444vw
}

@media (min-width:52.1875em) {
    .step__inner .step__cont .step__img {
        margin-bottom: 2.6041666667vw
    }
}

.step__inner .step__cont .step__img img {
    height: auto;
    width: 100%
}

.step__inner .step__cont .step__btn {
    margin: 0 auto
}

.product {
    margin-bottom: 6.9444444444vw;
    margin-top: 6.9444444444vw
}

@media (min-width:52.1875em) {
    .product {
        margin-bottom: 5.2083333333vw;
        margin-top: 5.2083333333vw
    }
}

.product .product__inner .product__head {
    display: flex;
    flex-direction: column;
    gap: 3.8888888889vw;
    margin-bottom: 3.4722222222vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__head {
        align-items: flex-end;
        flex-direction: row;
        gap: 0;
        justify-content: space-between;
        margin-bottom: 3.6979166667vw
    }
}

.product .product__inner .product__dl {
    width: 100%
}

@media (min-width:52.1875em) {
    .product .product__inner .product__dl {
        width: fit-content
    }
}

.product .product__inner .product__dl a {
    font-size: 3.4722222222vw;
    justify-content: center
}

@media (min-width:52.1875em) {
    .product .product__inner .product__dl a {
        font-size: 1.0416666667vw
    }
}

.product .product__inner .product__cont .product__items {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 6.25vw;
    margin-bottom: 4.5833333333vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__items {
        gap: 2.6041666667vw 2.3958333333vw;
        margin-bottom: 5.2083333333vw
    }
}

.product .product__inner .product__cont .product__items .product__item {
    width: 100%
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__items .product__item {
        min-height: 40.9895833333vw;
        width: calc(25% - 1.79688vw)
    }

    .product .product__inner .product__cont .product__items .product__dl {
        margin-top: 9.6354166667vw
    }
}

.product .product__inner .product__cont .product__footer {
    background: #e3f3fa;
    display: flex;
    flex-direction: column;
    gap: 2.7777777778vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer {
        flex-direction: row;
        gap: 2.6041666667vw;
        padding-bottom: 3.5416666667vw;
        padding-top: 3.125vw
    }
}

.product .product__inner .product__cont .product__footer .product__img {
    width: 100%
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__img {
        flex-shrink: 0;
        width: 27.5vw
    }
}

.product .product__inner .product__cont .product__footer .product__img img {
    height: auto;
    width: 100%
}

.product .product__inner .product__cont .product__footer .product__textarea {
    /* padding-bottom: 2.7777777778vw; */
    padding: 0 4vw 10vw 4vw;
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea {
        padding-bottom: 0
    }
}

.product .product__inner .product__cont .product__footer .product__textarea .product-footer__title {
    margin-bottom: 5.5555555556vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea .product-footer__title {
        margin-bottom: 2.0833333333vw
    }
}

.product .product__inner .product__cont .product__footer .product__textarea .product-footer__text {
    font-size: 3.75vw;
    line-height: 2;
    margin-bottom: 3.75vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea .product-footer__text {
        font-size: 1.3020833333vw;
        margin-bottom: 1.5625vw
    }
}

.product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item {
    align-items: flex-start;
    display: flex;
    font-size: 3.75vw;
    gap: 1.3888888889vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item {
        font-size: 1.25vw;
        gap: .2604166667vw
    }
}

.product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item:not(:last-child) {
    margin-bottom: 1.9444444444vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item:not(:last-child) {
        margin-bottom: .5208333333vw
    }
}

.product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item img {
    height: auto;
    width: 5.4166666667vw
}

@media (min-width:52.1875em) {
    .product .product__inner .product__cont .product__footer .product__textarea .product-footer__list .product-footer__item img {
        width: 2.03125vw
    }
}

.faq {
    margin-bottom: 6.9444444444vw
}

@media (min-width:52.1875em) {
    .faq {
        margin-bottom: 5.2083333333vw
    }
}

.faq__inner .faq__title {
    margin-bottom: 7.7777777778vw
}

@media (min-width:52.1875em) {
    .faq__inner .faq__title {
        margin-bottom: 5vw
    }
}