@charset "utf-8";

#news.single {
    .contents {
        & > p {
            margin-bottom: 3em;
        }
        h2 {
            display: block;
            font-size: 2.4rem;
            line-height: 1.5;
            margin-bottom: 1.5em;
            font-weight: 500;
            text-align: left;
        }
        h3 {
            font-size: 2.0rem;
            line-height: 1.5;
            margin-bottom: 1em;
            font-weight: 500;
        }
        h4 {
            font-size: 1.8rem;
            line-height: 1.5;
            margin-bottom: 0.8em;
            font-weight: 500;
        }
        ul {
            font-size: 1.6rem;
            padding-left: 1.5em;
            &:not(:last-child) {
                margin-bottom: 2em;
            }
            li {
                list-style: disc;
                line-height: 1.8;
                &:not(:last-child) {
                    margin-bottom: 0.5em;
                }
            }
        }
        ol {
            font-size: 1.6rem;
            padding-left: 1.5em;
            &:not(:last-child) {
                margin-bottom: 2em;
            }
            li {
                list-style: decimal;
                line-height: 1.8;
                &:not(:last-child) {
                    margin-bottom: 0.5em;
                }
            }
            p {
                line-height: 1.8;
                font-weight: 400;
            }
        }
        img {
            max-width: 100%;
            height: auto;
            margin-bottom: 2em;
        }
        a {
            text-decoration: underline;
            &:hover {
                opacity: 0.7;
            }
            /* .btn.more は underline・hover を上書きして独自スタイルを適用 */
            &.btn.more {
                text-decoration: none;
                display: grid;
                align-items: center;
                grid-template-columns: auto auto;
                justify-content: right;
                grid-column-gap: 1em;
                font-size: 1.8rem;
                font-weight: 500;
                margin-top: 30px;
                position: relative;
                &:hover {
                    opacity: 0.7;
                }
                &::after {
                    content: "";
                    width: 7.5em;
                    height: 2px;
                    background-color: #F388A6;
                    position: absolute;
                    right: 0;
                    bottom: -7px;
                }
                img {
                    width: 20px;
                    margin-bottom: 0;
                }
            }
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 2em;
            font-size: 1.6rem;
            th, td {
                border: 1px solid #cccccc;
                padding: 0.8em 1em;
                line-height: 1.8;
            }
            th {
                background: #f5f5f5;
                font-weight: 500;
            }
        }
    }
}

/* ========================================
   カテゴリー・一覧ページ
======================================== */
#news.list {
    .contents_inner {
        .news {
            dl {
                display: grid;
                grid-template-columns: 1fr auto;
                grid-template-rows: auto auto;
                align-items: center;
                padding: 1.5em 0;
                border-bottom: 1px solid #cccccc;
                &:first-child {
                    border-top: 1px solid #cccccc;
                }
                dt {
                    grid-column: 1 / 2;
                    grid-row: 1 / 2;
                    font-size: 1.6rem;
                    line-height: 1.8;
                    a {
                        text-decoration: none;
                        font-size: 1.8rem;
                        &:hover {
                            opacity: 0.7;
                        }
                    }
                }
                dd {
                    &.cat {
                        grid-column: 2 / 3;
                        grid-row: 1 / 3;
                        padding-left: 1.5em;
                        a {
                            display: inline-block;
                            font-size: 1.3rem;
                            background-color: #F388A6;
                            color: #fff;
                            padding: 0.2em 0.8em;
                            border-radius: 4px;
                            text-decoration: none;
                            &:hover {
                                opacity: 0.7;
                            }
                        }
                        .important {
                            display: inline-block;
                            font-size: 1.3rem;
                            color: #cc0000;
                            font-weight: 500;
                            margin-left: 0.5em;
                        }
                    }
                    &.date {
                        grid-column: 1 / 2;
                        grid-row: 2 / 3;
                        font-size: 1.3rem;
                        color: #888888;
                        margin-top: 0.3em;
                    }
                }
            }
        }
        /* ページネーション */
        .pagenavi {
            margin-top: 3em;
            .page-numbers {
                display: flex;
                gap: 0.5em;
                list-style: none;
                justify-content: center;
                li {
                    a, span {
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        width: 2.5em;
                        height: 2.5em;
                        border: 1px solid #cccccc;
                        border-radius: 4px;
                        font-size: 1.4rem;
                        text-decoration: none;
                        &:hover {
                            background-color: #F388A6;
                            color: #fff;
                            border-color: #F388A6;
                        }
                    }
                    span.current {
                        background-color: #F388A6;
                        color: #fff;
                        border-color: #F388A6;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 768px) {
    #news.list {
        .contents_inner {
            .news {
                dl {
                    grid-template-columns: 1fr;
                    grid-template-rows: auto auto auto;
                    dt {
                        grid-column: 1 / 2;
                        grid-row: 1 / 2;
                        font-size: 1.5rem;
                    }
                    dd {
                        &.cat {
                            grid-column: 1 / 2;
                            grid-row: 3 / 4;
                            padding-left: 0;
                            margin-top: 0.5em;
                        }
                        &.date {
                            grid-row: 2 / 3;
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 768px) {
    #news.single {
        .contents {
            & > p {
                margin-bottom: 2em;
            }
            h2 {
                font-size: 2.0rem;
                margin-bottom: 1em;
            }
            h3 {
                font-size: 1.8rem;
                margin-bottom: 0.8em;
            }
            h4 {
                font-size: 1.6rem;
                margin-bottom: 0.6em;
            }
            ul {
                font-size: 1.4rem;
                &:not(:last-child) {
                    margin-bottom: 1.5em;
                }
            }
            ol {
                font-size: 1.4rem;
                &:not(:last-child) {
                    margin-bottom: 1.5em;
                }
            }
            table {
                font-size: 1.4rem;
                th, td {
                    padding: 0.6em 0.8em;
                }
            }
        }
    }
}