/* 1. Hide unnecessary elements */
header,
footer,
nav,
.menu-toggle,
.hero-sub,
.section-title,
.btn,
#printBtn,
.according-caption,
.features-section,
#header-placeholder,
#footer-placeholder,
.service-item,
.print-non {
    display: none !important;
}

body {
    background: #fff !important;
    color: #000 !important;
    font-size: 10pt;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.section {
    padding: 0 !important;
    margin: 0 !important;
}

.container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 2. Accordion Print Styles - Table Layout */
/* --- 大枠の設定 --- */
details.category-accordion {
    /* 丸角なし、余白なし */
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    page-break-inside: avoid;

    /* 枠線：上下左右すべてに線を引く */
    border: 1px solid #000 !important;

    /* 【重要】隣のdetailsと線が重なるように、マイナスマージンで1px食い込ませる */
    /* これにより、border-bottom: none を書かなくても線が太くなりません */
    margin-top: -1px !important;

    /* 背景色 */
    background: #fff !important;
}

/* 最初の要素だけは食い込ませない（重なる相手が上にいないため） */
details.category-accordion:first-of-type {
    margin-top: 0 !important;
}

/* --- 見出し（summary）の設定 --- */
details.category-accordion summary {
    background-color: #fff !important;
    color: #000 !important;
    padding: 8px 10px !important;

    /* 見出しと中身（テーブル）の境界線 */
    border-bottom: 1px solid #000 !important;

    list-style: none !important;
    position: relative;
    /* 念のため */
}

/* 不要なアイコン類削除 */
details.category-accordion summary::after,
details.category-accordion summary::-webkit-details-marker {
    display: none !important;
    content: none !important;
}


/* --- 中身のテーブル設定（ここが修正のキモです） --- */

.accordion-content {
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
}

.item-table {
    width: 100% !important;
    border-collapse: collapse !important;
    /* 線の隙間をなくす */
    border: none !important;
    /* テーブル自体の外枠はdetailsに任せるのでナシ */
    margin: 0 !important;
}

/* セルの線設定：基本ルール */
.item-table th,
.item-table td {
    /* まず全方向に線を引くのではなく、「左」と「上」だけ引くアプローチにする */
    border-top: 1px solid #000 !important;
    border-left: 1px solid #000 !important;
    border-right: none !important;
    /* 右は大枠の線 or 次のセルの左線がある */
    border-bottom: none !important;
    /* 下は大枠の線 or 次の行の上線がある */

    padding: 5px !important;
    font-size: 9pt !important;
    color: #000 !important;
}

/* 【例外処理1】一番左の列：左線を消す（detailsの大枠左線と被るため） */
.item-table tr th:first-child,
.item-table tr td:first-child {
    border-left: none !important;
}

/* 【例外処理2】一番上の行：上線を消す（summaryの下線と被るため） */
.item-table tr:first-child th,
.item-table tr:first-child td {
    border-top: none !important;
}

/* 見出しセルの背景 */
.item-table th {
    background-color: #f9f9f9 !important;
    width: 25% !important;
}