body{
    background-color: #fff;
}

/*---------------------*/

h2.column_head{
    display: flex;
    align-items: center;
    margin-bottom:20px;
    font-size:35px;
    font-weight: 600;
    white-space: nowrap;
    height: 50px;
    width: 40%;
    color: #575457;
  background: linear-gradient(transparent 75%, #f5f5f6 75%);
}

h2.column_head svg{
    width: 40px;
}

.column_post{
    width: calc(50% - 16px);
    position: relative;
    margin: 8px;
}
.column_post.large{
    width: calc(100% - 16px);
}

.column_post.small{
    width: calc(33.3% - 16px);
}

.column_bg{
    position: relative;
    background: no-repeat center center;
    background-size: cover;
    padding-top: 50%;
    background-color: #eee;
}

.column_body{
    padding: 0 5px 10px 5px;
}

.column_post.small .column_bg{
    padding-top: 60%;
}

.column_post:hover{
    opacity: 0.8;
    transition: 0.2s;
}

.mask{
    position: absolute;
    background-color:rgba(0,0,0,0.5);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.column_title{
    position: absolute;
    font-size: 25px;
    font-weight: 600;
    bottom: 50px;
    left: 20px;
    color: #fff;
    width: calc(100% - 40px);
}

.column_sub{
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: #fff;
    width: calc(100% - 40px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.column_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}

.topic_title{
    font-size: 18px;
    font-weight: 600;
}

.column_post.small .topic_title{
    font-size: 16px;
}

.column_text{
    font-size: 14px;
}
.column_post.small .column_text{
    font-size: 12px;
}


/*-------------上段------------------*/

h2.column_head2{
    display: flex;
    align-items: center;
    margin-bottom:20px;
    font-size:25px;
    font-weight: 600;
    white-space: nowrap;
    height: 50px;
    width: 100%;
    color: #575457;
    border-bottom: 5px solid #ff9999;
}

h2.column_head2.large {
    font-size:35px;
    padding-bottom: 10px;
}

h2.column_head2 svg{
    width: 25px;
    margin-right: 10px
}
h2.column_head2.large svg{
    width: 40px;
    margin-right: 15px
}


ul.column_category{
    box-sizing: border-box;
    width: 100%;
    /* background-color: #eaeaea; */
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    /* justify-content: space-between; */
    margin-bottom: 30px;
}

li.category_list{
    border-radius: 50px;
    text-align: center;
    background-color: #ff9999;
    /* width: 15%; */
    margin: 8px;
    /* margin-bottom: 20px; */
}

li.empty_list{
    width: 15%;
    margin-right: 2%;

}

li.category_list:hover{
    background-color: #ff8888;
    color: #fff;
    transition: 0.2s;
}

li.category_list a{
    width: 100%;
    height: 100%;
    display: block;
    padding: 2px 20px;
    font-size: 20px;
    min-width: 150px;
    color: #fff;
}

li.category_list a:hover{
    color: #fff;
    transition: 0.2s

}

.discription {
    padding: 10px;
}

/*-----------------リスト-------------*/

.column_page{
    width: 29%;
    margin-bottom: 30px;
}

.column_page img{
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.column_page:hover{
    opacity: 0.7;
    transition: 0.7s;

}

.column_more{
    background-color: #eaeaea;
    width: 100%;
    text-align: center;
    border-radius: 10px;
    border: 2px solid #eaeaea;
    transition: 0.2s;
}

.column_more a{
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px;
    font-weight: 600;
    transition: 0.2s;
}

.column_more:hover{
    background-color: #fff;
    border: 2px solid #ff9999;
    transition: 0.2s;
}

.column_more a:hover{
    color: #ff9999;
    transition: 0.2s;
}

.margin-top{
    margin-top: 5%;
}

.bold{
font-weight: 600;}

.btn{
    height:auto;
    position: relative;
    border-radius: 10px;
    text-align: center;
    box-sizing: border-box;
    padding: 20px;
    font-size: 20px;
}

.back-pink{
    background-color: #ff9999;
}

.btn.back-pink:hover{
    background-color: #FFABAB;
    opacity: 1;
}

.white{
    color: #fff;
}