.main-content .top-info {
    margin-top: 140px;
    margin-bottom: 50px;
}

.main-content h1.page-title {
    font-size: 50px;
    letter-spacing: .1em;
    margin-bottom: 50px;
}

.main-content .page-content p {
    font-size: 25px;
    line-height: 1.7em;
    font-family: "Noto Serif JP", serif;
    font-weight: 200;
    font-style: normal;
}

.main-content .page-content a {
    text-decoration: underline 1px black solid;
}
.main-content button.archive {
    height: 50px;
    width: 600px;
    max-width: 100%;
    border: 1px solid black;
    background-color: transparent;
    margin-bottom: 40px;
}


.main-content .contact-link {
    font-size: 25px;
}

article .article-in {
    padding-bottom: 10px;
    margin-bottom: 50px;
    border-bottom: 1px solid black;
}

article .article-img {
    width: 100%;
    padding-top: 100%;
    background-color: gainsboro;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    margin-bottom: 10px;

    border-radius: 50% 50% 50% 25%;
}

.article-list h4.article-date {
    font-size: 14px;
    margin-bottom: 10px;
}

.article-list h2.article-title {
    font-size: 20px;
    letter-spacing: .1rem;
    margin-bottom: 10px;
}

.article-list h3.article-author {
    font-size: 15px;
    letter-spacing: .1rem;
    margin-bottom: 20px;
}

.article-list .article-content p {
    font-size: 14px;
    margin-bottom: 10px;
}

@media(min-width: 768px) {
    article .article-in {
        padding-right: 20px;
        padding-left: 20px;

        border: none;
    }
}

@media(min-width: 1200px) {
    article .article-in {
        padding-right: 30px;
        padding-left: 30px;

        border: none;
    }
}

@media(max-width:768px

    /* >=md */
) {
    .main-content h1.page-title {
        font-size: 30px;
    }

    .main-content .page-content p {
        font-size: 18px;
    }

    .main-content .contact-link {
        font-size: 18px;
    }
}