@charset "utf-8";

.about-heading{
    width:90%;
    margin:0 auto;
}

body.post-type-archive-column main{
    background-image:url(../img/news-back.jpg);
    background-size:cover;
    background-repeat: no-repeat;
}

.column-index{
    padding:100px 0;
}

@media screen and (max-width:767px){
    .column-index{
        padding:70px 0;
    }
    
}

@media screen and (max-width:480px){
    .column-index{
        padding:50px 0;
    }
}

.column-index.toppage .about-heading{
    color:#fff;
    text-align: center;
}

.column-index.toppage .about-heading::after{
    border-bottom:1px solid #fff;
}

.column-index-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
}

.single-column .page-head img,
.post-type-archive-column .page-head img{
    object-position:center 60%;
}

@media screen and (max-width:767px){
    .single-column .page-head img,
    .single-news .page-head img{
    object-position:55% center;
}
}

.column-wrap{
    display:flex;
    gap:50px 3.5%;
    width:100%;
    flex-wrap: wrap;
    margin-top:50px;
}

.column-wrap a{
    display:block;
    width:31%;
}

@media screen and (max-width:767px){
    .column-wrap{
        gap:30px 5%;
    }
    
    .column-wrap a{
        width:47.5%;
    }
}

@media screen and (max-width:480px){
    .column-wrap{
        display:block;
        margin-top:30px;
    }

    .column-wrap a{
        width:100%;;
    }
}

.a-column{
    width:100%;
    color:#fff;
    position:relative;
}

.a-column-img{
    width:100%;

}

.a-column-img img{
    width:100%;
    height:17.86vw;
    max-height:217px;
    object-fit: cover;
}

@media screen and (max-width:767px){
    .a-column-img img{
        width:100%;
        height:27vw;
    }
}

@media screen and (max-width:480px){

    .a-column-img{
        width:100%;
        height:58.3vw;
    }

    .a-column-img img{
        width:100%;
        height:58.3vw;
        max-height:600px;
    }

    .column + .column{
        margin-top:30px;
    }
}

.a-column-right{
    width:100%;
}


p.a-column-date,
p.a-column-title{
    font-size:16px;
    color:#fff;
}

.post-type-archive-column p.a-column-date,
.post-type-archive-column p.a-column-title{
    color:#001E00;
}

@media screen and (max-width:480px){
    .a-column-right{
        margin-top:10px;
    }
    
}

.btn-more{
    margin-top:50px;
}

.column-index .btn-more a{
    border:1px solid #fff;
    color:#fff;
}

.column-index .btn-more a span::after{
    background-color:#fff;
}

.column-index .btn-more a span::before{
    background-color:#fff;
}


    /* 記事ページ */

    body.single-column main{
        background-image:url(../img/news-back.jpg);
        background-attachment: fixed;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .post-page{
        max-width:1080px;
        width:90%;
        margin:0 auto;
    }

    .post-area{
        max-width:880px;
        width:100%;
        margin:0 auto;
        color:#001E00;
        margin-top:80px;
        padding-bottom:150px;
    }

    .single-column-date{
        font-size:16px;
        font-weight:700;
    }

    .single-column-title{
        font-size:30px;
        line-height:1.4;
        text-align: justify;
    }

    @media screen and (max-width:480px){
        .post-area{
            margin-top:50px;
            padding-bottom:100px;
        }
    
        .single-column-date{
            font-size:16px;
        }
    
        .single-column-title{
            font-size:24px;
        }
    }


    .single-post-head{
        padding-bottom:30px;
        border-bottom: 1px solid #001E00;
    }

    .single-post-content{
        padding:30px 0;
        line-height:2;
        font-size:16px;
        text-align: justify;
    }

    .single-post-content p{
        margin:30px 0;
    }

    .single-post-content p:first-child{
        margin-top:0;
    }

    .single-post-content img{
        width:100%;
        display:block;
        margin:50px 0;
    }

    @media screen and (max-width:480px){
        .single-post-head{
            padding-bottom:20px;
        }
    
        .single-post-content{
            padding:20px 0;
            line-height:1.8;
        }
    
        .single-post-content p{
            margin:30px 0;
            margin-top:20px;
        }

        .single-post-content img{
            margin:30px 0;
        }
    }


    /* 目次スタイル */


    .toc{
        background-color:#fff;
        border-top:10px solid #001F00;
        padding:30px;
        margin:80px auto;
        margin-bottom:50px;
    }

    .toc ul{
        line-height:2.2;
    }

    .toc .other-page{
        margin:10px 0;
        font-weight:600;
    }

    .other-page .other-page{
        margin:0;
        font-weight:400;
    }

    .toc-title{
        position:relative;
        font-weight: 700;
        padding-left: 30px;   
        font-size:24px;
        font-weight:700;  
        line-height:1;
    }

    .toc-title::after{
        content:"";
        width: 24px;;
        height: 24px;;
        background-image: url(../img/mokuzi.png);
        background-repeat: no-repeat;
        background-size: contain;
        position:absolute;
        left:0;
        top:60%;
        transform: translateY(-50%);
    }

    .toc-list ul{
        margin-left:20px;
    }

    .toc .contentstable-number{
        margin-right:10px;
    }


    body.single-column h2{
        background-color:#fff;
        border-left:5px solid #001F00;
        padding-left:20px;
        font-size:25px;
        font-weight:600;
        margin:30px 0;
    }

    body.single-column h3{
        border-bottom:1px solid rgba(64,64,64,0.5);
        font-size: 20px;
        letter-spacing:0.04em;
        line-height:2.25;
    }

    @media screen and (max-width:480px){
        .toc{
            padding:20px;
            margin:50px auto;
            margin-bottom:30px;
        }

        .toc .other-page{
            margin:7px 0;
        }

        .toc ul{
            line-height:2;
        }

        .toc-title{
            padding-left: 25px; 
            font-size:18px;
        }
    
        .toc-title::after{
            content:"";
            width: 22px;;
            height: 22px;
        }
    
        .toc-list ul{
            margin-left:15px;
        }
    
        .toc .contentstable-number{
            margin-right:7px;
        }
    
    
        body.single-column h2{
            padding:5px 0;
            padding-left:15px;
            font-size:18px;
            margin:20px 0;
        }
    
        body.single-column h3{
            font-size: 16px;
        }
    }

    body{
        min-height:100vh;
        padding-bottom:95px;
        position:relative;
    }

    footer{
        position:absolute;
        bottom:0;
        left:0;
        display:block;
        width:100%;
        z-index:80;
    }

    @media screen and (max-width:480px){
        body{
            padding-bottom:19.16vw;
        }
    
    }

    @media screen and (max-width:767px){
        .nav{
            overflow: auto;
        }
    }