.main-box {
    width: 100%;
    background-color: white;
    margin: 0 auto;
}

.contents {
    width: 70%;
    margin: 0 auto;
    font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
}


.title {
    margin: 0 auto;
    text-align: center;
    
}

.title img {
    width: 100%;
}

.section {
    width: 90%;
    margin: 5% auto;
}

.headline {
    border-bottom: 3px solid rgb(5, 132, 182);
    width: 210px;
    padding: 1%;
    margin-bottom: 3%;
}

.headline h2 {
    font-size: 28px;
    display: block;
}


.text {
    width: 90%;
    margin: 0 auto;
}

.text p {
    width: 100%;
    line-height: 1.8;
    font-size: 20px;
}


.sign-box {
    width: 100%;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    text-align: right;
}


.shamei {
    width: 100%;
}



.sign {
    display: flex;
    justify-content: flex-end;
}

.sign-img {
    width: 40%;
}

.shamei h3 {
    padding: 0;
    line-height: 1.8;
    font-size: 45px;
    font-weight: 100;
}

.logo-img {
    width: 40%;
    margin: 0 auto;
}

.flex {
    width: 100%;
    display: flex;
    align-items: center;
}

.flex p {
    width: 60%;
    padding: 3%;
}

@media (max-width: 1500px) {

    .text p {
        font-size: 18px;
    }

    .flex p {
        font-size: 18px;
    }

    .shamei h3 {
        font-size: 25px;
    }
}


@media (max-width: 620px) {
    .contents {
        width: 100%;
        margin: 0 auto;
    }

    .section {
        margin: 30px auto;
    }

    .headline {
        margin: 0 auto;
        text-align: center;
    }

    .headline h2 {
        font-size: 24px;
    }

    .text {
        margin: 30px auto;
    }

    .text p {
        font-size: 16px;
    }

    .sign-box {
        width: 100%;
    }

    .shamei h3 {
        font-size: 18px;
    }

    .flex {
        flex-direction: column;
        margin: 0 auto;
    }

    .logo-img {
        width: 70%;
        margin: 30px auto;
    }

    .flex p {
        width: 100%;
    }
}
