section {
    position: relative;
    min-height: 80vh;
    font-size: clamp(1.4rem, 1.3296rem + 0.2254vw, 1.6rem);
}

.wrapper h2 {
    font-size: clamp(1.8rem, 1.464rem + 1.28vw, 3rem);
    font-weight: 600;
    text-align: center;
    padding-bottom: 1rem;
    color: #333;
}

.btn_alfa:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
}

.wrapper {
    width: 80%;
    max-width: 1040px;
    margin: 10rem auto;
    font-size: clamp(1.4rem, 1.2846rem + 0.4295vw, 1.8rem);
    color: #333;
    line-height: 1.5;
}


.wrapper li {
    position: relative;
    display: grid;
    grid-template: minmax(4rem, auto) 4rem auto / 46% auto;
    column-gap: 4rem;
    border-top: dotted #999797 2px;

    padding: 3rem 4rem;
}

.wrapper a:last-of-type li {
    border-bottom: dotted #999797 2px;
}

.wrapper ul li:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
    background-color: rgb(255, 249, 241);
}

.thumb {
    grid-column: 1 /2;
    grid-row: 1 /4;


}

.thumb img {
    width: 100%;

}

.title {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    font-size: clamp(1.8rem, 1.6268rem + 0.6443vw, 2.2rem);
    font-weight: 600;
    color: #1897CB;
}

.date {
    grid-column: 2 /3;
    grid-row: 2 /3;
    font-size: 1.4rem;
    font-weight: 600;
}

.contents {
    grid-column: 2 /3;
    grid-row: 3 /4;
    font-size: 1.6rem;
    text-align: justify;
    text-wrap: pretty;
    word-break: auto-phrase;
    overflow-wrap: break-word;
}

.wrapper ul a,
.wrapper ul a:visited {
    text-decoration: none;
    color: #333;
}

/* ===============================================
 --- 500px以下 --- 
=============================================== */
@media screen and (max-width: 500px) {
    .wrapper {
        width: 90%;
        margin:4rem auto;
        max-width:none;
    }

    .wrapper li {
        position: relative;
        display: grid;
        grid-template: auto auto auto auto / auto;
        column-gap: 4rem;
        border-top: dotted #999797 2px;
        padding: 3rem 4rem;
        column-gap: 0;
        row-gap: 1rem;
    }
    .contents {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    font-size: 1.6rem;
    text-align: justify;
    text-wrap: pretty;
   word-break:normal;
    overflow-wrap: break-word;
}
.wrapper li{
    padding:3rem 2rem;
}
    .thumb{
        grid-column: 1 /2;
        grid-row: 1 /2;
    }
    .title{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .date{
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }
    .contents{
        grid-column: 1 / 2;
        grid-row: 4 / 5;
    }

}