/*--------------------------------------------------------------
Theme Name: Noir Original
File Name: style-news.css
Description: Styles for news and features post  and its archive
--------------------------------------------------------------*/
/*----------------
News Archive" archive-news.php
----------------*/
body.archive {
    background-color: #EFEFEF !important/* お好きな色 */
}
.news-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 6%;
}

.news-archive-outer-wrapper{
    padding-top:200px;
    margin-bottom:10vw;
}

@media screen and (max-width: 768px) {
    .news-archive-outer-wrapper{
        padding-top:100px;
        margin-bottom:10vw;
    }
}

/* fv*/


.news-fv-title img{
    width:200px;
}

.news-fv-title h2{
    font-size:12px;
    margin-top:1rem;
    font-weight:normal;
}

@media screen and (max-width: 768px) {
    .news-fv-title img{
        width:45vw;
    }
}

/* news-archive-list */
.news-archive-list-wrapper{
    display:flex;
    margin:auto;
}

.news-archive-item{
    background: #FFFFFF;
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 2fr 6fr 1fr ;    
    /*align-items: center;*/
    margin-bottom:2rem;
    padding: 1rem;
    border-radius: 8px;
    align-items: stretch; /* デフォルトの高さを調整 */
   
}

.news-archive-container{
    /*max-width:1000px;*/
    min-height: 400px;
    margin:auto; 
    text-align:center;
    padding:0 0 5% 5%;
}

@media screen and (max-width: 768px){/* 768px以下 */
    .news-archive-list-wrapper{
        margin-bottom:10vw;
        display:flex;
        flex-direction: column;
        /*width:96vw;*/
        margin:auto;
    }

    .news-archive-item{
        background: #FFFFFF;
        display: grid;
        gap: 1rem;
        grid-template-columns: 1fr ;    
        justify-items: center;
        margin-bottom:3rem;
        padding: 1rem;
        border-radius: 8px;
        align-items: stretch; /* デフォルトの高さを調整 */
       
    }

    .news-archive-container{
        max-width:1000px;
        min-height: 400px;
        margin: 0; /* margin をリセット */
        text-align:center;
        padding:0 5%;
    }

}

/* thumbnail */


.news-archive-item .thumbnail {
    width: 100%; 
    aspect-ratio: 3 / 2; /* 比率19:6 */
    overflow: hidden; /* ボックス外要素を隠す */
    position: relative; 
}

.news-archive-item .thumbnail a {
    display: block; 
    width: 100%;
    height: 100%;
}

.news-archive-item .thumbnail img {
    width: 100%; 
    height: 100%;
    object-fit: cover; /* 画像比率保ちボックスに収める */
    object-position: center; 
}


@media screen and (max-width: 768px){/* 768px以下 */
    .news-archive-item .thumbnail{
        width: 92%;  
        margin:auto;
        height: auto;  /* 高さを自動調整 */
    }
}

/* post date and categories */
.news-archive-item .date-category{
    display: flex;
    margin:1rem 0 2rem;
    align-items:start;
}

.news-archive-item .date{
    font-size:14px;
}

.news-archive-item .date-category .categories{
    width:fit-content;
    font-size:10px;
    border:0.5px solid #707070 ;
    border-radius: 20px;
    padding:0rem 1rem;
    margin-left:1.5rem;
}
.news-archive-item .date-category .categories .category{
    line-height:1;
    color:#3E3A3A;
}

.news-archive-item a{
    color:#3E3A3A; /* リスト内のリンクタグ共通*/
}

@media screen and (max-width: 768px){/* 768px以下 */
    .date-category-title-wrapper{
        width:92%;
    }
    .news-archive-item .date-category{
        display: flex;
        margin:0rem 0 3rem;
        align-items:start;
        justify-content: space-between; 
    }

    
}

/* arrow */
.news-archive-item .arrow {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background-color: #888888;
    border-radius: 50%;
    position: relative;
    height: 32px;
    width: 32px;
    align-self: end; /* 下揃えにする */
    justify-self: end; /* 右揃えにする */
    margin-right:0.5rem;
}

.news-archive-item .arrow::before {
    content: '';
    width: 8px;
    height: 8px;
    display: block;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    top: 50%; /* 中央揃え */
    left: 45%; /* 中央揃え */
    transform: translate(-50%, -50%) rotate(45deg); /* 中央揃えと回転を統合 */
}

/* pagenation design */
.pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* 各ボタンの間隔 */
}

.pagination .nav-links a,
.pagination .nav-links .current {
    display: inline-block;
    padding: 2px 8px 1px;
    text-decoration: none;
    border-radius: 4px; /* ボタンの角を丸くする */
    font-size: 14px;
    color: #555; /* テキストの色 */
    background-color: #f0f0f0; /* 背景色 */
    transition: all 0.3s ease;
}

.pagination .nav-links a:hover {
    background-color: #ddd; /* ホバー時の背景色 */
    color: #000; /* ホバー時の文字色 */
}

.pagination .nav-links .current {
    background-color: #3E3A3A; /* 現在のページの背景色を黒に */
    color: #fff; /* 現在のページの文字色を白に */
    font-weight: bold;
    border-radius: 50%;
}

.pagination .nav-links a:first-child {
    margin-right: 12px; /* 左矢印に余白を設定 */
}

.pagination .nav-links a:last-child {
    margin-left: 12px; /* 右矢印に余白を設定 */
}

.pagination .nav-links a:first-child,  /* PREV */
.pagination .nav-links a:last-child { /* NEXT */
    letter-spacing: 2px; /* レタースペースを広げる */
    padding: 8px 12px;
    background-color: #f0f0f0;
    border-radius: 4px;
    text-decoration: none;
    color: #555;
    transition: all 0.3s ease;
}

.pagination .nav-links a:first-child:hover,  /* PREV */
.pagination .nav-links a:last-child:hover { /* NEXT */
    background-color: #ddd; /* ホバー時の背景色 */
    color: #000; /* ホバー時の文字色 */
}

/* post title */
.news-archive h3{
    text-align:left;
    font-size:14px;
    font-weight:normal;
    margin-top:-2rem;
}

.news-title:hover {
    color: #484848;
}

@media screen and (min-width: 750px) {
    .news-archive-item {
        gap: 2.5rem;
        align-items: center;
    }
}

/*----------------
News Post: Single-news.php
----------------*/

body.single-news {
    background-color: #EFEFEF /* お好きな色 */;
    height:100vh;
}

.news-outer-wrapper{
    padding-top:200px;  
}


/* fv */

.news-fv-title{
    margin-bottom:10%; 
}

.news-fv-title p{
    font-size:12px;
    margin-top:1rem;
}

/* news content design */

.news-content{
    max-width:calc(1000px);
    margin:auto;
    padding:0 5%;
}

.custom-news-post-content{
    text-align: left;
}
.custom-news-post-content .post-title{
    font-size:25px;
    font-weight:bold;
	
}
.custom-news-post-content .post-title a{
	color: initial;
}
.custom-news-post-content .post-title-container{
    width:100%;
    border-bottom:0.5px solid #3E3A3A ;
}

.custom-news-post-content .date-tag{
    display: flex;
    margin:1rem 0 2rem;
    align-items: center;
}

.custom-news-post-content .date-tag .post-meta{
    font-size:14px;
}
.custom-news-post-content .date-tag .post-categories{
    width:fit-content;
    font-size:14px;
    border:1px solid #707070 ;
    border-radius: 20px;
    padding:0.3rem 1rem;
    margin-left:1.5rem;
}
.custom-news-post-content .date-tag .post-categories li{
    line-height:1;
}

.custom-news-post-content .date-tag .post-categories a{
    color:#3E3A3A;
}

.custom-news-post-content .post-thumbnail{
    width:80%;
    margin:auto;
    margin-bottom:5vw;
}

.custom-news-post-content .post-content{
    width:100%;
    margin-bottom:10vw;
}
@media screen and (max-width: 750px) {
	.custom-news-post-content .post-title-container{
	margin-bottom: 40px;
    }
}

/* back-to list */
.back-to-news-list{
    display: flex;
    justify-content:center;
    align-items: center;
    text-align: center;
    color:#3E3A3A;
    margin-bottom:10vw;
}
.back-to-news-list:hover{
    opacity: 0.7;
}


/*----------------
template-parts/filter-buttons
----------------*/

.news-filter-buttons{
    display:flex;
    flex-direction: column; /* 縦方向 */
    row-gap: 1rem;
    position:fixed;
    
}

.news-filter-buttons a{
    color:#3E3A3A;
    border:1px solid #3E3A3A;
    border-radius: 12px;
    text-align: center;
    width:185px;
    font-size:16px;
    padding:0.2rem;
}
.news-archive-container {
    margin-left: 185px; /* position:fixに対応*/
}


.news-filter-buttons .filter-button.active {
    background-color: #D6D6D6; /* フィルターボタンの背景色 */
    
    border-color: #3E3A3A; /* ボーダーのカラー */
}


/* フッター下部までPC時のフィルターボタンが下がらないように*/
.news-filter-buttons {
    position: sticky; /* 固定する */
    top: 0; /* スクロール時に画面上部からの距離 */
}

.news-archive-container {
    margin-left: 0px; /* サイドバー分の余白 */
}

footer {
    position: relative;
    z-index: 1; 
}

.filter-button {
    position: relative; /* 矢印を相対的に配置するために必要 */
    display: inline-block;
    padding-right: 20px; /* ボタン内の余白 */
    font-size: 16px;
    text-decoration: none;
    color: #000;
}

.text-arrow {
    position: absolute; /* 絶対位置で配置 */
    right: 1rem; /* ボタンの右端から1REMの位置 */
    top: 36%; /* ボタンの垂直中央に配置 */
    transform: translateY(-50%); /* 垂直中央揃え */
    width: 10px;
    height: 10px;
    border-left: 1px solid #000; /* 矢印の縦部分 */
    border-bottom: 1px solid #000; /* 矢印の横部分 */
    transform: rotate(225deg); /* 45度回転してくの字に */
}

@media screen and (max-width: 768px){/* 768px以下 */
    .news-filter-buttons {
        position: static; /* スマホ時に固定を解除 */
    }
    .news-archive-container {
        margin-left: 0px; /* position:fixに対応*/
        padding:0;
    }

    .news-filter-buttons a{ 
        width:150px;
        font-size:16px;
        padding:0.2rem;
    }

    .news-filter-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding-bottom: 2rem;
        max-width: calc(1rem + 300px);
        margin: 0 auto;
        gap: 1rem;
    }
}

@media screen and (max-width: 400px){
        .news-filter-buttons a{ 
            width:140px;
            font-size:14px;
            padding:0.2rem;
        }
}

