@charset "utf-8";

/* --------------------------------------------

flow

---------------------------------------------- */

.flow {
    width: 680px;
    margin: 120px auto;
}

.flow h2 {
    margin: 60px 0;
    text-align: center;
    font-weight: bold;
    font-size: 36px;
    font-size: 3.6rem;
}

.flow dl {
    position: relative;
    margin: 40px 0;
}

.flow dl dt {
    position: relative;
    margin-bottom: 20px;
    font-size: 36px;
    font-size: 3.6rem;
}

.flow dl dt span {
    position: absolute;
    top: -32px;
    left: -88px;
    font-style: italic;
    font-size: 64px;
    font-size: 6.4rem;
    font-weight: bold;
    color: #FFC800;
}

.flow dl dd {
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
}

.flow dl::after {
    display: block;
    content: "▼";
    margin-top: 20px;
    text-align: center;
    color: #FFC800;
    font-size: 20px;
    font-size: 2rem;
}

.flow dl:last-child:after {
    display: none;
}


@media only screen and (max-width:640px) {
    .flow {
        width: 94%;
        margin: 120px 3%;
    }

    .flow h2 {
        font-size: 32px;
        font-size: 3.2rem;
    }

    .flow dl {
        position: relative;
        width: 520px;
        margin: 32px 0 32px auto;
    }

    .flow dl dt {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .flow dl dt span {
        top: -22px;
        font-size: 36px;
        font-size: 3.6rem;
    }

    .flow dl::after {
        position: relative;
        left: -40px;
        margin-top: 28px;
    }

}


/* --------------------------------------------

price

---------------------------------------------- */


.price {
    width: 960px;
    margin: 120px auto;
}

.price h2 {
    margin: 60px 0;
    text-align: center;
    font-weight: bold;
    font-size: 36px;
    font-size: 3.6rem;
}

.price__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.price__box {
    position: relative;
    width: 50%;
    padding: 40px 80px;
}

.price__box::before {
    position: absolute;
    display: block;
    content: "";
    bottom: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    background-color: #FFC800;
}

.price__box:last-child:before {
    display: none;
}

.price__box:nth-child(odd):after {
    position: absolute;
    display: block;
    content: "";
    bottom: 10%;
    right: 0;
    width: 1px;
    height: 80%;
    background-color: #FFC800;
}

.price__box dl {
    margin-bottom: 20px;
}

.price__box dt {
    font-size: 18px;
    font-size: 1.8rem;
}

.price__box dd {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: end;
}

.price__box dd small {
    font-size: 0.7em;
}

.price__caution {
    margin-top: 40px;
    font-size: 12px;
    font-size: 1.2rem;
}

@media only screen and (max-width:640px) {
    .price {
        width: 94%;
    }

    .price h2 {
        margin: 60px 0;
        text-align: center;
        font-weight: bold;
        font-size: 36px;
        font-size: 3.6rem;
    }

    .price__wrap {
        display: block;
    }

    .price__box {
        width: 100%;
        padding: 40px 0;
        border-top: solid 1px #FFC800;
        border-bottom: solid 1px #FFC800;
    }

    .price__box::before {
        display: none;
    }

    .price__box:nth-child(odd):after {
        display: none;
    }

    .price__box dl {
        margin-bottom: 20px;
    }

    .price__box dd {
        font-size: 22px;
        font-size: 2.2rem;
    }

    .price__caution {
        margin-top: 40px;
        font-size: 12px;
        font-size: 1.2rem;
    }
}