/* =======================================================
   おすすめ情報・店舗イベント (TOPページ完全クローン対応・安全装置)
======================================================= */
.p-query-news-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 850px !important;
}

.p-query-news-list .wp-block-post {
    padding: clamp(15px, 2vw, 25px) 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.p-query-news-list .wp-block-post:first-child {
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.p-query-news-list .wp-block-group.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: clamp(15px, 3vw, 30px) !important;
    flex-wrap: nowrap !important;
}

.p-query-news-list .wp-block-post-date,
.p-query-news-list .taxonomy-category {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.p-query-news-list .wp-block-post-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex-grow: 1 !important;
    margin: 0 !important;
}

.p-query-news-list .wp-block-post-title a {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media screen and (max-width: 768px) {
    .p-query-news-list .wp-block-group.is-layout-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .p-query-news-list .wp-block-post-title {
        white-space: normal !important;
        overflow: visible !important;
    }
}

/* =======================================================
   ページネーション (画像の完全再現)
======================================================= */
.c-event-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 60px !important; 
    width: 100% !important;
}

.c-event-pagination .page-numbers {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 45px !important;
    height: 45px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 1.05rem !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    border: 1px solid #d4d4d4 !important; 
    border-radius: 4px !important; 
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.c-event-pagination .page-numbers:hover {
    border-color: #1a1a1a !important;
    color: #1a1a1a !important;
}

.c-event-pagination .page-numbers.current {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #1a1a1a !important;
}

.c-event-pagination .next,
.c-event-pagination .prev {
    width: auto !important;
    padding: 0 15px !important;
}

/* =======================================================
   ★追加：営業カレンダーセクション (和モダン高級感デザイン)
======================================================= */
/* セクション全体（少し落ち着いた淡いベージュ背景で区切りをつける） */
.p-business-calendar-section {
    padding: clamp(60px, 10vw, 100px) 5% !important;
    background-color: #fcfbf9 !important; /* 和紙のようなごく淡い色 */
    width: 100% !important;
    box-sizing: border-box !important;
}

.p-business-calendar-section .c-container {
    max-width: 900px !important;
    margin: 0 auto !important;
}

/* 見出し */
.c-calendar-title {
    text-align: center !important;
    margin-bottom: clamp(40px, 6vw, 60px) !important;
}

.c-calendar-title .en {
    display: block !important;
    font-family: 'Frank Ruhl Libre', "Noto Serif JP", serif !important;
    font-size: 0.85rem !important;
    color: #c1a15f !important; /* なにわの湯のアクセントゴールド */
    letter-spacing: 0.15em !important;
    margin-bottom: 8px !important;
}

.c-calendar-title .ja {
    display: block !important;
    font-family: "Noto Serif JP", serif !important;
    font-size: clamp(1.5rem, 2vw, 2rem) !important;
    color: #111111 !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
}

/* カレンダーを囲む上品な白枠 */
.c-calendar-wrapper {
    background-color: #ffffff !important;
    padding: clamp(20px, 5vw, 50px) !important;
    border: 1px solid #e8e4db !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
    border-radius: 2px !important;
}

/* カレンダー本体（table）への汎用的な装飾 */
.c-calendar-wrapper table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: "Noto Serif JP", serif !important;
}

.c-calendar-wrapper th,
.c-calendar-wrapper td {
    border: 1px solid #f0ece1 !important; /* 非常に細く淡い罫線 */
    padding: 15px 10px !important;
    text-align: center !important;
}

.c-calendar-wrapper th {
    background-color: #faf9f5 !important;
    color: #555555 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
}

.c-calendar-wrapper td {
    color: #333333 !important;
    font-size: 1rem !important;
    transition: background-color 0.3s ease !important;
}

/* 曜日の色分け（日曜:深緋色、土曜:落ち着いた青） */
.c-calendar-wrapper th:first-child, .c-calendar-wrapper td:first-child,
.c-calendar-wrapper .sunday {
    color: #B92D33 !important; 
}

.c-calendar-wrapper th:last-child, .c-calendar-wrapper td:last-child,
.c-calendar-wrapper .saturday {
    color: #4a6b8c !important; 
}

.page-hero{
    position:relative;
}

.page-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            rgba(255,255,255,.45),
            rgba(255,255,255,.45)
        );
}