.arrow {
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-top: 25px solid black;
    margin: 30px auto;
}

.echo-about {
    background-image: url("../img/uchieco/about-bg-top.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #F3FBFB;
}

.echo-about h2 {
    font-size: 4.0rem;
    text-align: center;
}

.echo-about img.about-sub-ttl {
    width: 30%;
    margin: 50px auto 30px;
}

@media screen and (max-width: 600px) {
    .echo-about h2 {
        font-size: 3.0rem;
    }

    .echo-about img.about-sub-ttl {
        width: 60%;
    }
}

.echo-about2 {
    background-image: url("../img/uchieco/about-bg-bottom.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #F3FBFB;
    background-position: left bottom;
}

.echo-about2 h2 {
    font-size: 3.2rem;
    text-align: center;
    color: var(--blue);
    margin-bottom: 50px;
}

.echo-about2-box {
    background-color: white;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 30px 50px;
    gap: 40px;
}

.echo-about2-box .about-step {
    width: 5%;
}

.echo-about2-box .about-step-text {
    width: 70%;
    font-size: 2.0rem;
    font-weight: bold;
}

.echo-about2-box .about-step-text2 {
    width: 50%;
    font-size: 2.0rem;
    font-weight: bold;
}

.echo-about2-box .about-step-text h3,
.echo-about2-box .about-step-text2 h3 {
    font-size: 2.4rem;
    color: var(--blue);
    margin-bottom: 20px;
}

.echo-about2-box .about-step-text-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

.echo-about2-box .about-step-text-inner a {
    width: 30%;
}

.echo-about2-box .about-step-img {
    width: 25%;
}

.echo-about2-box .about-step-img2 {
    width: 45%;
}

.echo-about-arrow {
    border-top: 25px solid var(--blue);
}

@media screen and (max-width: 600px) {
    .echo-about2-box {
        flex-direction: column;
        position: relative;
    }

    .echo-about2-box .about-step {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 7%;
    }

    .echo-about2-box .about-step-text,
    .echo-about2-box .about-step-text2 {
        width: 95%;
    }

    .echo-about2-box .about-step-text-inner {
        flex-direction: column;
    }

    .echo-about2-box .about-step-text-inner a {
        width: 90%;
    }

    .echo-about2-box .about-step-img,
    .echo-about2-box .about-step-img2 {
        width: 80%;
    }
}

.known {
    background-image: url("../img/uchieco/known-bg.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #FFFECC;
    background-position: left bottom -2px;
    border-bottom: 2px solid var(--blue);
}

.known h2 {
    font-size: 4.0rem;
    text-align: center;
    margin-bottom: 50px;
}

.known-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 120px;
}

.known-box .known-box-description {
    background-color: white;
    border-radius: 20px;
    width: 30%;
    box-sizing: border-box;
    padding: 30px 20px;
}

.known-box .known-text {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.known-box .known-text span {
    line-height: 2.2;
}

.known-box .known-text span.emphasis {
    font-size: 3.2rem;
    background-color: #FFF800;
    line-height: 1.3;
}

.known-box .known-img {
    width: 100%;
    margin: 20px auto 0;
}

.known-box .known-img2 {
    width: 60%;
    margin: 20px auto 0;
}

.known-box .known-box-dot {
    width: 5%;
    background: radial-gradient(var(--blue) 30%, transparent 30%) center/ 11px 11px;
    content: '';
    height: 10px;
}

.known-box .known-box-dot hr {
    padding: 0;
    border: 0;
    outline: 0;
}

@media screen and (max-width: 600px) {
    .known {
        background-size: 150%;
        background-position: left 50% bottom -2px;
        border-bottom: 1px solid var(--blue);
    }

    .known h2 {
        font-size: 3.0rem;
    }

    .known-box {
        flex-direction: column;
        margin-bottom: 40px;
    }

    .known-box .known-box-description {
        width: 90%;
    }

    .known-box .known-box-dot {
        width: 5px;
        height: 35px;
    }
}

.how-to h2 {
    font-size: 4.0rem;
    text-align: center;
    margin-bottom: 50px;
}

.how-to h2 span {
    color: #72B32C;
}

.how-to-box {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #F1F7EA;
    border-radius: 20px;
    padding: 40px 50px;
    gap: 40px;
}

.how-to-box .how-to-img {
    width: 22%;
    position: relative;
}

.how-to-box .how-to-img img.with-small {
    width: 50%;
    margin: 0 auto;
}

.how-to-box .how-to-img img.how-to-img-sub {
    position: absolute;
    top: -30px;
    right: -90px;
    width: 50%;
}

.how-to-box .how-to-step {
    width: 10%;
    color: #29A252;
    font-size: 2.4rem;
    font-weight: bold;
}

.how-to-box .how-to-step span {
    font-size: 4.0rem;
}

.how-to-box .how-to-text {
    width: 73%;
    font-size: 2.8rem;
    font-weight: bold;
}

.how-to-box .how-to-text .how-to-text-cation {
    color: #E74400;
    font-size: 1.6rem;
}

.how-to-box .how-to-text .how-to-text-note {
    font-size: 2.0rem;
    margin-top: 20px;
}

.how-to-box .how-to-text .how-to-text-note span {
    text-decoration: underline;
}

.how-to-arrow {
    border-top: 25px solid #29A252;
}

@media screen and (max-width: 600px) {
    .how-to h2 {
        font-size: 2.8rem;
    }

    .how-to-box {
        flex-direction: column;
        padding: 40px 10px;
        gap: 30px;
    }

    .how-to-box .how-to-img {
        width: 80%;
        order: 3;
    }

    .how-to-box .how-to-img img.with-middle {
        width: 70%;
    }

    .how-to-box .how-to-img img.how-to-img-sub {
        position: absolute;
        top: -15px;
        right: -20px;
        width: 40%;
    }

    .how-to-box .how-to-step {
        order: 1;
        width: 100%;
        text-align: center;
    }

    .how-to-box .how-to-text {
        order: 2;
        width: 100%;
        text-align: center;
        font-size: 2.0rem;
    }

    .how-to-box .how-to-text .how-to-text-note {
        font-size: 1.8rem;
        margin-top: 20px;
    }
}