/* ========================================
NEWS HERO
======================================== */

.news-hero{

    position:relative;

    height:60vh;

    min-height:500px;

    display:flex;

    align-items:center;
}

.news-hero-video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;
}

.news-hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.55),
        rgba(0,0,0,.2)
    );
}

.news-hero-content{

    position:relative;

    z-index:2;

    color:#fff;
}

.news-hero-en{

    display:block;

    letter-spacing:.3em;

    margin-bottom:20px;
}

.news-hero h1{

    font-family:'Shippori Mincho',serif;

    font-size:60px;

    margin-bottom:20px;
}
.loading{

    text-align:center;

    color:#999;

    padding:60px 20px;

}
/* ========================================
NEWS LIST
======================================== */

.news-list-section{

    padding:100px 0;

    background:#FDF8F4;

}

.news-list{

    display:grid;

    gap:28px;

}

.news-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    padding:35px 40px;

    background:#fff;

    border-radius:26px;

    text-decoration:none;

    color:inherit;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    border:1px solid rgba(0,0,0,.03);

}

.news-item:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.news-left{

    display:flex;

    align-items:flex-start;

    gap:35px;

    flex:1;

}

.news-date{

    min-width:120px;

    text-align:center;

}

.news-date-day{

    display:block;

    font-size:34px;

    font-family:'Shippori Mincho',serif;

    color:#D5A28A;

    line-height:1;

}

.news-date-ym{

    display:block;

    margin-top:8px;

    color:#999;

    font-size:13px;

}

.news-body{

    flex:1;

}

.news-category{

    display:inline-block;

    padding:6px 14px;

    border-radius:999px;

    background:#F5E8E0;

    color:#B8846A;

    font-size:12px;

    margin-bottom:15px;

}

.news-title{

    font-family:'Shippori Mincho',serif;

    font-size:24px;

    color:#4A433F;

    line-height:1.8;

    margin-bottom:12px;

}

.news-excerpt{

    color:#777;

    line-height:2;

}

.news-arrow{

    font-size:26px;

    color:#D5A28A;

    transition:.3s;

}

.news-item:hover .news-arrow{

    transform:translateX(8px);

}

.news-loading{

    text-align:center;

    padding:80px;

    color:#999;

}

/* ========================================
OLD NEWS
======================================== */

.old-news{

    padding:100px 0;

    background:#fff;

    text-align:center;

}

.old-news h2{

    font-family:'Shippori Mincho',serif;

    font-size:38px;

    color:#4A433F;

    margin-bottom:20px;

}

.old-news p{

    color:#666;

    line-height:2;

    margin-bottom:45px;

}

.old-news-btns{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

}

/* ========================================
SP
======================================== */

@media(max-width:768px){

.news-item{

    display:block;

    padding:25px;

}

.news-left{

    display:block;

}

.news-date{

    text-align:left;

    margin-bottom:18px;

}

.news-date-day{

    font-size:28px;

}

.news-title{

    font-size:20px;

}

.news-arrow{

    display:none;

}

.old-news{

    padding:70px 0;

}

.old-news h2{

    font-size:30px;

}

.old-news-btns{

    flex-direction:column;

    gap:15px;

}

}
/* ========================================
Pagination
======================================== */

#pagination{

    margin-top:70px;

}

.pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    flex-wrap:wrap;

}

.pagination a{

    width:46px;

    height:46px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    background:#fff;

    color:#666;

    border-radius:50%;

    font-weight:600;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.pagination a:hover{

    background:#D5A28A;

    color:#fff;

    transform:translateY(-3px);

}

.pagination a.active{

    background:#D5A28A;

    color:#fff;

    pointer-events:none;

}

.pagination .page-btn{

    width:auto;

    min-width:90px;

    padding:0 24px;

    border-radius:999px;

    font-size:14px;

}

.pagination .page-btn:hover{

    background:#C58F74;

}

/* ========================================
SmartPhone
======================================== */

@media(max-width:768px){

    #pagination{

        margin-top:50px;

    }

    .pagination{

        gap:8px;

    }

    .pagination a{

        width:40px;

        height:40px;

        font-size:14px;

    }

    .pagination .page-btn{

        min-width:70px;

        padding:0 18px;

        font-size:13px;

    }

}