.copy-text {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    user-select: none;
}

.copy-icon {
    font-size: 14px;
    opacity: 0.7;
}

.copy-text:active .copy-icon {
    opacity: 1;
}

/* summary の見た目（スマホ・PC 共通） */
.schedule-title-summary {
    background: #CCCC99;
    padding: 8px;
    font-weight: bold;
    font-size: 15px;
    cursor: pointer;
    display: block;
}

/* デフォルトの三角を消す */
.schedule-title-summary::-webkit-details-marker {
    display: none;
}

/* 自作の三角アイコン */
.schedule-title-summary::before {
    content: "▶ ";
}
details[open] .schedule-title-summary::before {
    content: "▼ ";
}



/* ============================
   PC（600px以上）
   ============================ */
@media screen and (min-width: 600px) {

    /* PCでは中央寄せ */
    .schedule-wrap {
        text-align: center;
        width: 100%;
    }

    /* 1行目は画面幅100%でOK */
    .schedule-header {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    /* 2行目も中央寄せ、横スクロールなし */
    .scroll-row {
        overflow-x: visible;
    }

    .schedule-body {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ============================
   スマホ（599px以下）
   ============================ */
@media screen and (max-width: 599px) {

    /* スマホでは左寄せ */
    .schedule-wrap {
        text-align: left;
        width: 100%;
    }

    /* 1行目は画面幅100% */
    .schedule-header {
        width: 100%;
    }

    /* 2行目だけ横スクロール */
    .scroll-row {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    /* 中のテーブルは内容に合わせて横に広がる */
    .schedule-body {
        width: max-content;
        min-width: 100%;
        margin: 0;
    }
}
