/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

.month-block {
    border: 1px solid #ddd;
    margin-bottom: 20px;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.month-title {
    margin: 0;
    padding: 12px 16px;
    background: #f5f5f5;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
}

.month-title:hover {
    background: #e9e9e9;
}

.month-content {
    padding: 15px;
    background: #fff;
}

.past-month .month-title {
    background: #fafafa;
    color: #777;
}

.past-month .month-title:hover {
    background: #f0f0f0;
}

.branch-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
}

.branch-table th,
.branch-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}

.branch-table th {
    background: #f0f0f0;
    font-weight: bold;
}

.branch-table tr:nth-child(even) {
    background: #fafafa;
}

.branch-table a {
    color: #0073aa;
    text-decoration: none;
}

.branch-table a:hover {
    text-decoration: underline;
}

.calendar-wrapper {
    margin: 40px 0;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 6px;
    background: #fff;
}

.notice-list {
    margin-top: 20px;
}

.notice-item {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.notice-item a {
    font-size: 18px;
    color: #0073aa;
    text-decoration: none;
}

.notice-item a:hover {
    text-decoration: underline;
}

/* トップページのレイアウトを縦並びに強制 */
.page-template-page-top .entry-content {
    display: block !important;
}

.page-template-page-top .schedule-wrapper,
.page-template-page-top .calendar-wrapper,
.page-template-page-top .notice-list {
    width: 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 40px;
}

.calendar-wrapper iframe {
    float: none !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
}

.calendar-wrapper {
    float: none !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
}

/* タイトルと表を縦並びに強制 */
.entry-content {
    display: block !important;
}

/* タイトルの余白調整 */
.entry-content h2 {
    margin-bottom: 14px !important;
    display: block !important;
}

/* スケジュール表のコンパクト化 */
.branch-schedule-table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed; /* 列幅を均等にする */
    font-size: 13px;     /* 文字を少し小さく */
}

.branch-schedule-table th,
.branch-schedule-table td {
    border: 1px solid #ccc;
    padding: 4px 6px;    /* 余白を小さく */
    text-align: center;
    white-space: nowrap; /* 改行させない */
}

/* 月の列だけ少し太字 */
.branch-schedule-table td:first-child {
    font-weight: bold;
    background: #fafafa;
}

/* 年間行事3列を薄い青で強調 */
.branch-schedule-table th:nth-last-child(-n+3),
.branch-schedule-table td:nth-last-child(-n+3) {
    background: #f0f8ff;
}

/* タイトルを1行で独立させる */
h2 {
    display: block;
    margin-bottom: 16px !important;
}

/* タイトルと表を強制的に縦並びにする */
h2,
.branch-schedule-table {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}
h2 {
    margin-bottom: 16px !important;
}


/* ============================
   分会スケジュール 最終CSS
   ============================ */

/* タイトルを独立させる */
.entry-content h2 {
    display: block !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    clear: both !important;
}

/* タイトルと表などを個別に縦並びに強制 */
.entry-content > h2,
.entry-content > .branch-schedule-table,
.entry-content > .schedule-wrapper {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

/* スケジュール表の基本デザイン */
.branch-schedule-table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    font-size: 13px;
}

/* セルのデザイン */
.branch-schedule-table th,
.branch-schedule-table td {
    border: 1px solid #ccc;
    padding: 4px 6px;
    text-align: center;
}

/* 月の列だけ強調 */
.branch-schedule-table td:first-child {
    font-weight: bold;
    background: #fafafa;
}

/* 年間行事3列を薄い青で強調 */
.branch-schedule-table th:nth-last-child(-n+3),
.branch-schedule-table td:nth-last-child(-n+3) {
    background: #f0f8ff;
}

.schedule-wrapper {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

/* ▼ 過去月の行（表示時） */
.past-row {
    background-color: #f0f0f0 !important;
}



/* ▼ 過去月が非表示のときは display:none が JS で適用されるので問題なし */

/* ▼ 列タイトル（北海道・岩手・福島…）の背景色 */
.branch-schedule-table thead th {
    background-color: #e8f0ff !important;  /* 淡いブルー */
    color: #000 !important;                /* 文字色（黒） */
    font-weight: bold !important;
    text-align: center;
}

/* ▼ 左端の「月」列だけ色を変える */
.branch-schedule-table td:first-child,
.branch-schedule-table th:first-child {
    background-color: #f7f7f7 !important;  /* 薄いグレー */
    font-weight: bold !important;
}

/* ▼ スケジュール表のスマホ最適化 */
@media screen and (max-width: 768px) {

    /* 表全体を横スクロール可能にする */
    .branch-schedule-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .branch-schedule-table {
        width: 1200px; /* スマホでも崩れない固定幅 */
        font-size: 13px;
    }

    /* ヘッダーの文字を小さくして読みやすく */
    .branch-schedule-table thead th {
        padding: 6px 4px;
        font-size: 12px;
        white-space: nowrap;
    }

    /* 月の列（左端）を固定表示にする */
    .branch-schedule-table td:first-child,
    .branch-schedule-table th:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
        background-color: #f7f7f7 !important;
    }

    /* スマホで行間を詰める */
    .branch-schedule-table td {
        padding: 6px 4px;
        line-height: 1.3;
    }
}


/* お知らせ一覧表示用  */
.notice-list-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.notice-list {
    list-style: none;
    padding: 0;
}

.notice-item {
    padding: 12px 0;
    border-bottom: 1px solid #ddd;
}

.notice-title {
    font-size: 18px;
    font-weight: bold;
}

.notice-meta {
    font-size: 14px;
    color: #666;
    margin-top: 4px;
}