@charset "utf-8";

/* 共通 */
body {
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.5rem;
    /* background: linear-gradient(90deg, rgb(161, 214, 205), rgb(233, 239, 246)); */
}

@media screen and (min-width: 767px) {
    body {
        font-size: 17px;
        letter-spacing: 0.04em;
    }
}

.main-title{
    margin-bottom: 20px;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

h1,
h2,
h3,
h4 {
    text-align: center;
    
}

h4 {
    margin-top: 20px;
}

main{
    padding-top: 110px;
    padding-bottom: 50px;
}

/* ページ内の見出し */
.all-topic h2 {
    font-size: 30px;
   
}

.all-topic img {
    display: block;
    margin: 0 auto 6px;
    width: 90%;
}
/* トピック */
.content-box {
    text-align: center;
    margin-bottom: 40px;
    font-size: 12px;
}

@media screen and (min-width: 767px) {
    .topics {
        display: flex;
        justify-content: center;
    }

    .all-topic img {
        max-width: 400px;
        object-fit: cover;
        max-height: 450px;
    }
}

/* ニュース */
.news {
    /* border: 1px solid; */
    font-size: 15px;
    margin-bottom: 50px;
}


.news dl {
    border: 1px solid #ccc;
    position: relative;
    padding: 10px 0;
    margin: 0 5%;
}
dt {
    margin-bottom: 5px;
}
dd {
    margin-left: 2%;
    margin-right: 2%;
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}
dd:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}


.genre-pickup,
.genre-event,
.genre-news {
    font-size: 14px;
    color: #fff;
    padding: 0 10px;
    margin-left: 3%;
}

.genre-pickup {
    background-color: rgb(253, 56, 49);
}
.genre-event {
    background-color: rgb(73, 183, 42);
}
.genre-news {
    background-color: rgb(52, 133, 199);
}
.date{position: absolute;
    left: 140px;
    font-size: 13px;
   
}

@media screen and (min-width: 767px) {
    .news {
        font-size: 17px;
        line-height: 1.7rem;
        max-width: 700px;
        margin: 0 auto 70px;
    }
    
    dd {
        margin-left: 2%;
        text-align: left;
    }
}


