a.media-article{
    display: grid;
    grid-template-areas: "mv date"
                         "mv title"
                         "mv keywords";
    grid-template-columns:1fr 1fr;
    text-decoration: none;
    color: #000;
    margin-bottom: 2em;
    background-color: #fff;
}
.article-contents-keywords{
    display: flex;
    flex-wrap: wrap;
    margin: -20px 0 20px;
    padding: 0 30px;
    grid-area: keywords;
}
.article-contents-keywords > li{
    margin-right: 0.5em;
    height: calc(1em + 18px);
}
.article-mv{
    height:auto;
    object-fit: cover;
    grid-area: mv;
}
.article-contents-time{
    font-family: Montserrat;
    line-height: 1;
    display: flex;
    align-items: center;
    grid-area: date;
}
.article-contents-categories{
    display: flex;
    align-items: center;
    height: 30px;
}
.article-contents-categories > li{
    font-size: 16px;
    height:30px;
    padding: 0 1em;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.article-contents-categories > li[data-category='sougi']{
    background-color:#1C7D82;
}
.article-contents-categories > li[data-category='grave']{
    background-color:#d25f39;
}
.article-contents-categories > li[data-category='memorialservice']{
    background-color:#51578c;
}
.article-contents-categories > li[data-category='endoflifeplanning']{
    background-color:#b32637;
}
.article-contents-categories > li[data-category='process']{
    background-color:#69ade4;
}
.article-contents-categories > li[data-category='ihin']{
    background-color:#B5AD43;
}
.article-contents-categories > li[data-category='connection']{
    background-color:#DE659D;
}
.article-contents-categories > li[data-category='insurerance']{
    background-color:#6EAC48;
}
.article-contents-categories > li[data-category='griefcare']{
    background-color:#466EBC;
}
.article-contents-categories > li[data-category='uncategorized']{
    background-color:#CACACA;
}
.article-contents-categories > li[data-category='ending-note']{
    background-color:#257810;
}
.article-contents-category-time{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px 0;
}
.article-contents-title{
    font-size: 20px;
    font-weight: bold;
    text-decoration: underline;
    margin:10px auto 25px;
    grid-area:title;
    padding: 0 30px;
    margin-left: 0;
}
.keyword-anchor-list{
    display: flex;
    margin: -10px 20px 0;
    flex-wrap: wrap;
}
.keyword-tag{
    font-size: 16px;
    border: 1px solid #CACACA;
    padding: 8px;
    border-radius: 4px;
    line-height: 1;
    margin-right: 10px;
    margin-top: 10px;
    color: #303030;
}
.keyword-tag a {
    color: #303030;
}
.contents-title{
    justify-content: space-between;
}
@media (max-width:768px) {
    a.media-article{
        grid-template-areas: "mv date"
                             "mv keywords"
                             "title title";
    }
    .article-contents{
        display: flex;
        flex-direction: column;
    }
    .article-contents-title{
        order:3;
    }
    .article-contents-keywords{
        order:2;
        margin-top:0;
    }
    .keyword-tag{
        font-size: 14px;
        padding: 4px;
        margin-top:5px;
    }
    .article-contents-keywords > li{
        height: calc(1em + 10px);
    }
    .article-contents-category-time{
        padding:3% 6% 0;
    }
    .article-contents-keywords{
        padding:0 6%;
    }
    .article-contents-title{
        padding: 0 3%;
        margin-bottom: 15px;
    }
}
@media (max-width:550px) {
    .article-contents-title{
        font-size: 18px;
    }
}