:root {
    --bg: #faf4ea;
    --surface: #fff;
    --primary: #ed7a0c;
    --primary-dark: #c35b09;
    --gray: #555;
    --text: #2d2d2d;
    --border: #e6d3b4;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
    color: var(--text);
    background: var(--bg);
}
.common-page_wrap * {
    font-family: "Noto Sans JP", "Lato",sans-serif;
}

.common-page_wrap {
    padding: 50px 0;
    background: #fff;
}

.wrap {
    width: 890px;
    max-width: 100%;
    margin: 0 auto;
}

.page_chukai_cont {
    background: #fff;
}

/* ページタイトル */
h1.page_h1 {
    font-weight: 700;
    font-size: 22px;
    border-left: 4px solid var(--primary);
    padding-left: 10px;
    margin-bottom: 40px;
    height: auto;
    text-shadow: none;
    color: var(--text);
}

/* セクション見出し */
.page_h3 {
    font-weight: 700;
    font-size: 18px;
    margin: 40px 0 12px;
    padding-bottom: 0.4em;
    border-bottom: 4px solid #f7b52a;
    display: flex;
    align-items: center;
    gap: 1em;
    color: var(--text);
    background: none;
}

/* ========== セクション ========== */
.genjou-section {
    margin-bottom: 60px;
}

.genjou-section-head p {
    margin: 0 0 24px;
    color: var(--gray);
    font-size: 0.97rem;
    line-height: 1.85;
}

/* ========== 負担区分テーブル ========== */
.genjou-burden-table-wrap {
    margin-top: 24px;
    overflow-x: auto;
}

.genjou-burden-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    min-width: 600px;
}

.genjou-burden-table th,
.genjou-burden-table td {
    padding: 14px 16px;
    border: 1px solid var(--border);
    vertical-align: top;
    font-size: 0.93rem;
    line-height: 1.7;
}

.genjou-burden-table thead th {
    background: #fff5e8;
    color: var(--primary-dark);
    font-weight: 700;
    text-align: center;
    font-size: 0.95rem;
}

.genjou-burden-table .col-category {
    width: 28%;
}

.genjou-burden-table .col-content {
    width: 72%;
}

.burden-label {
    font-weight: 700;
    font-size: 0.91rem;
    line-height: 1.6;
    background: #fff9f2;
    color: var(--primary-dark);
    vertical-align: top;
    border-left: 4px solid var(--primary);
    padding: 16px 18px;
}

/* カテゴリ番号リスト */
.genjou-category-list {
    margin: 0;
    padding: 0 0 0 1.5em;
    list-style: none;
    counter-reset: cat-counter;
}

.genjou-category-list li {
    counter-increment: cat-counter;
    margin-bottom: 10px;
    font-weight: 700;
    color: var(--primary-dark);
    position: relative;
    text-indent: -0.73em;
    padding-left: 0.73em;
}

.genjou-category-list li::before {
    content: "①②③④⑤⑥⑦⑧⑨";
    /* 各番号は JS ではなく直接指定 */
    content: counter(cat-counter, cjk-decimal);
    display: inline-block;
    margin-right: 6px;
    font-weight: 700;
}

/* ①②③④ を直接文字で表現 */
.genjou-category-list li:nth-child(1)::before { content: "①"; }
.genjou-category-list li:nth-child(2)::before { content: "②"; }
.genjou-category-list li:nth-child(3)::before { content: "③"; }
.genjou-category-list li:nth-child(4)::before { content: "④"; }

/* リスト */
.genjou-list {
    margin: 0;
    padding: 0 0 0 1.3em;
    list-style: disc;
    color: var(--text);
}

.genjou-list li {
    margin-bottom: 6px;
    list-style-type: unset;
}

.genjou-list li:last-child {
    margin-bottom: 0;
}

/* ========== 注意書き ========== */
.genjou-notes {
    margin-top: 20px;
    padding: 16px 20px;
    background: #fffdf7;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.genjou-notes p {
    margin: 0 0 4px;
    font-size: 0.87rem;
    color: var(--gray);
    line-height: 1.7;
}

.genjou-notes p:last-child {
    margin-bottom: 0;
}

.genjou-notes-examples {
    margin: 8px 0 0 1.4em;
    padding: 0;
    list-style: disc;
    font-size: 0.87rem;
    color: var(--gray);
    line-height: 1.7;
}

.genjou-notes-examples li {
    margin-bottom: 2px;
}

/* ========== 単価表 ========== */
.genjou-price-table-wrap {
    margin-top: 24px;
    overflow-x: auto;
}

.genjou-price-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    min-width: 500px;
}

.genjou-price-table th,
.genjou-price-table td {
    padding: 10px 14px;
    border: 1px solid var(--border);
    font-size: 0.91rem;
    vertical-align: middle;
}

.genjou-price-table thead th {
    background: #fff5e8;
    color: var(--primary-dark);
    font-weight: 700;
    text-align: center;
}

.genjou-price-table .col-area {
    width: 14%;
}

.genjou-price-table .col-item {
    width: 50%;
}

.genjou-price-table .col-unit {
    width: 12%;
    text-align: center;
}

.genjou-price-table .col-price {
    width: 24%;
    text-align: center;
}

/* エリアラベル */
.genjou-price-table .area-label {
    background: #fff9f2;
    font-weight: 700;
    color: var(--primary-dark);
    text-align: center;
    font-size: 0.88rem;
    line-height: 1.5;
    vertical-align: middle;
}

/* 行の縞模様 */
.genjou-price-table tbody tr:nth-child(even) {
    background: #fffdf7;
}

/* tbody 全セルをいったん中央揃えにして、品名列だけ左揃えに上書き */
.genjou-price-table tbody td {
    text-align: center;
}

/* 品名列：rowspan行では nth-child(2)、通常行では nth-child(1) */
.genjou-price-table tbody tr:has(.area-label) td:nth-child(2),
.genjou-price-table tbody td:nth-child(1):not(.area-label) {
    text-align: left;
}

/* 単価列：太字 */
.genjou-price-table tbody td:last-child {
    font-weight: 600;
    color: var(--text);
}

/* ========== お問い合わせ ========== */
.genjou-contact-methods {
    padding-top: 20px;
    border-top: 2px solid var(--border);
}

.genjou-contact-box {
    background: #fff8f0;
    border: 2px solid #f7d8a8;
    border-radius: 14px;
    padding: 22px 28px;
    margin-bottom: 32px;
    text-align: center;
}

.genjou-contact-box-title {
    margin: 0 0 6px;
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--primary-dark);
}

.genjou-contact-box-sub {
    margin: 0;
    font-size: 0.92rem;
    color: var(--gray);
    line-height: 1.7;
}

.genjou-contact-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto auto;
    margin-top: 18px;
}

.genjou-contact-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    padding: 0 24px;
    background: transparent;
    border: none;
    border-right: 1px solid #d4b896;
    text-align: center;
    align-items: center;
    justify-items: center;
}

.genjou-contact-item:last-child {
    border-right: none;
}

.genjou-contact-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 8px;
}

.genjou-contact-number {
    margin: 0 0 8px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #f17105;
}

.genjou-contact-note {
    margin: 0;
    font-size: 0.88rem;
    color: var(--gray);
    line-height: 1.6;
}

.genjou-contact-button {
    display: inline-block;
    margin: 8px 0 10px;
    padding: 11px 26px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.92rem;
    transition: opacity 0.3s;
    white-space: nowrap;
}

.genjou-contact-button:hover {
    opacity: 0.85;
}

.genjou-contact-button--line {
    background: #00b900;
}

/* ========== レスポンシブ ========== */
@media (max-width: 760px) {
    .wrap {
        padding: 0 16px;
    }

    /* ---- 負担区分表：縦並び ---- */
    .genjou-burden-table-wrap {
        overflow-x: visible;
    }

    .genjou-burden-table {
        min-width: unset;
    }

    .genjou-burden-table thead {
        display: none;
    }

    .genjou-burden-table,
    .genjou-burden-table tbody,
    .genjou-burden-table tr {
        display: block;
        width: 100%;
    }

    .genjou-burden-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .genjou-burden-table .burden-label {
        border: 1px solid var(--border);
        border-left: 4px solid var(--primary);
        border-bottom: none;
        font-size: 0.9rem;
        padding: 12px 16px;
    }

    .genjou-burden-table td:last-child {
        border: 1px solid var(--border);
        border-top: 2px solid #f7b52a;
        padding: 14px 16px;
    }

    /* ---- 単価表：横スクロールなし ---- */
    .genjou-price-table-wrap {
        overflow-x: visible;
    }

    .genjou-price-table {
        min-width: unset;
        table-layout: fixed;
    }

    .genjou-price-table .col-area {
        width: 20%;
    }

    .genjou-price-table .col-item {
        width: auto;
    }

    .genjou-price-table .col-unit {
        width: 16%;
    }

    .genjou-price-table .col-price {
        width: 22%;
    }

    .genjou-price-table th,
    .genjou-price-table td {
        padding: 8px 6px;
        font-size: 0.8rem;
        word-break: break-all;
    }

    /* ---- お問い合わせ：2列 ---- */
    .genjou-contact-row {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
        gap: 24px;
    }

    .genjou-contact-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        grid-template-rows: none;
        grid-row: auto;
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding-bottom: 20px;
    }

    .genjou-contact-item:nth-child(2n) {
        border-right: none;
    }

    .genjou-contact-item:last-child,
    .genjou-contact-item:nth-last-child(2) {
        border-bottom: none;
    }
}

@media (max-width: 480px) {
    /* ---- 単価表：さらに小さい画面 ---- */
    .genjou-price-table .col-area {
        width: 18%;
    }

    .genjou-price-table .col-unit {
        width: 14%;
    }

    .genjou-price-table .col-price {
        width: 22%;
    }

    .genjou-price-table th,
    .genjou-price-table td {
        padding: 6px 4px;
        font-size: 0.72rem;
    }

    /* ---- 負担区分表 ---- */
    .genjou-burden-table th,
    .genjou-burden-table td {
        font-size: 0.8rem;
    }

    /* ---- お問い合わせ：1列 ---- */
    .genjou-contact-row {
        grid-template-columns: 1fr;
    }

    .genjou-contact-number {
        font-size: 1.3rem;
    }

    .genjou-contact-item:nth-last-child(2) {
        border-bottom: 1px solid var(--border);
    }
}
