/* ================================
  料金表ページ専用スタイル（.page-price-table）
================================ */

.page-price-table .sub-section-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-top: 2rem;
    margin-bottom: 1rem;
    border-left: 5px solid #f15a24;
    padding-left: 0.75rem;
    color: #005bac;
}

/* 備品表：ラッパー */
.page-price-table .equipment-table-wrapper {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

/* 各テーブルボックス */
.page-price-table .equipment-box {
    flex: 1 1 100%;
    max-width: 100%;
}

@media screen and (min-width: 768px) {
    .page-price-table .equipment-box {
        flex: 1 1 calc(50% - 1rem);
        /* 2列レイアウト */
        max-width: calc(50% - 1rem);
    }
}

/* テーブル共通 */
.page-price-table .c-table,
.page-price-table .c-equip-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.page-price-table .c-table th,
.page-price-table .c-table td,
.page-price-table .c-equip-table th,
.page-price-table .c-equip-table td {
    border: 1px solid #ccc;
    padding: 0.8rem;
    text-align: center;
    word-break: break-word;
}


.c-note {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #eee;
    border-radius: .5rem;
}

.c-note__heading {
    font-size: 1rem;
    margin: 0 0 .5rem;
}

.c-note__body {
    font-size: .95rem;
    line-height: 1.8;
}

/* 利用区分セル 
.page-price-table .c-table td.usage-heading {
    font-weight: 700;
    background: #f0f8ff;
    border-left: 5px solid #f15a24;
    padding-left: 0.75rem;
}
 利用区分セル */

/* PC表示 */
@media screen and (min-width: 769px) {
    .page-price-table .pc-only {
        display: table-cell;
    }
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
    .page-price-table .pc-only {
        display: none !important;
    }

    .page-price-table th[rowspan] {
        display: none !important;
    }

    /* テーブル全体をブロック表示に */
    .page-price-table .c-table,
    .page-price-table .c-table thead,
    .page-price-table .c-table tbody,
    .page-price-table .c-table tr,
    .page-price-table .c-table th,
    .page-price-table .c-table td,
    .page-price-table .c-equip-table,
    .page-price-table .c-equip-table thead,
    .page-price-table .c-equip-table tbody,
    .page-price-table .c-equip-table tr,
    .page-price-table .c-equip-table th,
    .page-price-table .c-equip-table td {
        display: block;
        width: 100%;
    }

    /* theadは非表示 */
    .page-price-table .c-table thead,
    .page-price-table .c-equip-table thead {
        display: none;
    }

    /* trカード風 */
    .page-price-table .c-table tr,
    .page-price-table .c-equip-table tr {
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 6px;
        margin-bottom: 1.5rem;
        padding: 1rem;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        position: relative;
    }

    /* 利用区分名を行の上に表示 */
    .page-price-table .c-table tr::before {
        content: attr(data-usage);
        display: block;
        font-weight: 700;
        background: #005bac;
        color: #fff;
        font-weight: 700;
        padding: 0.75rem 1rem;
        border-left: 5px solid #f15a24;
        border-radius: 4px 4px 0 0;
        margin-bottom: 0.75rem;
        font-size: 1rem;
    }

    /* tdはラベル付きフレックス */
    .page-price-table .c-table td,
    .page-price-table .c-equip-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-left: 1rem;
        border: none;
        border-bottom: 1px solid #eee;
        font-size: 0.95rem;
        flex-wrap: nowrap;
    }

    .page-price-table .c-table td::before,
    .page-price-table .c-equip-table td::before {
        content: attr(data-label);
        font-weight: bold;
        color: #333;
        flex: 0 0 45%;
        margin: 0;
        display: block;
    }

    /* 「種別」カラムのラベルは非表示 */
    .page-price-table .c-table td[data-label="種別"]::before {
        background-color: #005bac;
        display: inline-block;
        /* 非表示解除 */
        font-weight: bold;
        color: #ddd;
        /* 薄い色で目立ちすぎないように */
        width: 45%;
        flex: 0 0 45%;
        margin: 0;
    }

    /* 種別セルの文字色と背景（カード内） */
    .page-price-table .c-table td[data-label="種別"] {
        background-color: #005bac;
        /* ネイビー背景 */
        color: #fff;
        /* 白文字 */
        font-weight: 600;
        padding: 0.5rem 1rem;
        border-radius: 4px;
        margin-bottom: 0.5rem;
        display: inline-block;
    }

    /* rowspanセルの特殊処理 */
    .page-price-table .c-table td[rowspan] {
        text-align: left !important;
        display: block;
        font-weight: bold;
        padding-left: 1rem;
        border-top: 1px solid #ccc;
        border-bottom: none;
    }

    /* 利用区分用の見出しセルは非表示 */
    .page-price-table .c-table td.usage-heading {
        display: none;
    }
}



/* ホバー時の強調 */
.page-price-table .c-table tbody tr:hover {
    background-color: #ffeaa7;
}

/* PC表示時 セル色分け */
.page-price-table .c-table tr[data-usage="楽屋なし"] {
    background-color: #f9f9f9;
    /* 薄いグレー */
}

.page-price-table .c-table tr[data-usage="楽屋１室あり"] {
    background-color: #fffaf0;
    /* 薄いクリームイエロー */
}

.page-price-table .c-table tr[data-usage="楽屋２室あり"] {
    background-color: #e0f7fa;
    /* 薄いシアン（水色） */
}

.page-price-table .c-table tr[data-usage="楽屋３室あり"] {
    background-color: #e8f5e9;
    /* 薄いライトグリーン */
}



/* list-style表示用 */
.fee-notes {
    background-color: aliceblue;
    padding: 2rem;
}

.page-price-table .fee-notes ul,
.page-price-table .fee-notes ol {
    list-style: initial;
    /* または disc や decimal に指定 */
    margin-left: 1.5em;
    /* 適度に左マージンをつける */
    padding-left: 1em;
    /* ブラウザ標準のパディングを追加 */
}

.page-price-table .fee-notes ul {
    list-style-type: disc;
    /* 黒丸 */
}

.page-price-table .fee-notes ol {
    list-style-type: decimal;
    /* 数字 */
}


/* 背景色あり行（クラス bg が付く行） */
.page-price-table .c-table tbody tr.bg {
    background-color: #f0f8ff;
    /* 例：薄い水色 */
}

/* ホバー時の強調は残す */
.page-price-table .c-table tbody tr.bg:hover {
    background-color: #d0e7ff;
    /* もう少し濃い青（例） */
}