/* ============================================
   レスポンシブ CSS
   ============================================ */

/* ヘッダー：ハンバーガーメニュー表示切り替え */
@media all and (max-width: 692px) {
    button.menu {
        display: block;
    }

    #header-right {
        display: none;
    }
}

@media all and (max-width: 296px) {
    #header-left {
        display: none;
    }
}

/* ============================================
   本日の営業時間・チケット情報・プログラム
   ============================================ */
@media all and (max-width: 560px) {
    #subheading-wrapper {
        padding: 0;
    }

    .subheading {
        padding: 12px 0;
        width: 100%;
        border-bottom: 1px solid #ccc;
    }

    .subheading dt {
        font-size: 14px;
        padding-bottom: 8px;
    }

    .subheading dd {
        font-size: 18px;
    }
}

/* ============================================
   おすすめ情報
   ============================================ */
@media all and (max-width: 560px) {
    .recommendation {
        padding-top: 18px;
        padding-bottom: 18px;
        margin-bottom: 0;
    }
}

/* ============================================
   ニュース
   ============================================ */
@media all and (max-width: 900px) {
    #news-wrapper {
        border: none;
        background: none;
        margin: 0;
        left: 0;
        padding: 0;
        padding-left: 0;
        width: 100%;
    }

    #news {
        position: static;
        transform: none;
        font-size: 24px;
        margin: 10px 0 16px;
        padding: 0;
        width: auto;
        text-align: left;
        padding-left: 20px;
    }

    #news-txt dt {
        float: none;
        clear: none;
        padding-top: 16px;
        padding-left: 20px;
    }

    #news-txt dt:first-child {
        padding-top: 0;
    }

    #news-txt dd {
        padding-bottom: 0;
        margin-right: 0;
        padding-left: 20px;
        margin-left: 0;
        text-align: left;
        width: 100%;
    }

    #news-seemore {
        font-size: 16px;
        margin-right: 30px;
        float: right;
        clear: both;
        font-weight: bold;
        text-decoration: underline;
        padding-right: 0;
    }
}

/* ============================================
   モデルコース
   ============================================ */
@media all and (max-width: 640px) {
    .model {
        display: block;
    }

    .model img {
        width: 75%;
        margin: 0 auto;
    }

    .model-big {
        font-size: 33px;
        padding-left: 10px;
        padding-top: 20px;
        float: left;
    }

    .model-big span {
        font-size: 40px;
    }

    .model-course {
        font-size: 33px;
        padding-right: 30px;
        text-align: right;
        float: right;
    }

    .model-small {
        font-size: 16px;
        clear: both;
        line-height: 32px;
    }

    .model-seemore {
        font-size: 20px;
    }

    .model-big-reverse {
        font-size: 33px;
        padding-left: 30px;
        padding-top: 20px;
    }

    .model-big-reverse span {
        font-size: 40px;
    }

    .model-big-course-reverse {
        font-size: 33px;
        padding-left: 30px;
    }

    .model-small-reverse {
        font-size: 16px;
        margin-right: 0;
        line-height: 32px;
    }
}

/* ============================================
   イベント・ショップセクション（トップページ）
   ============================================ */
@media all and (max-width: 640px) {
    .shop-cards {
        grid-template-columns: 1fr;
    }

    .shop-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .event-btn-wrapper .btn {
        font-size: 18px;
        padding: 24px 20px;
    }
}

/* ============================================
   施設案内
   ============================================ */
@media all and (max-width: 560px) {
    .floar:last-child {
        margin-top: 30px;
    }

    .floar-title {
        font-size: 8vw;
    }
}

/* ============================================
   アクセス
   ============================================ */
@media all and (max-width: 800px) {
    .access-txt {
        width: 100%;
        margin: 20px 16px;
    }
}

/* ============================================
   フッター
   ============================================ */
@media all and (max-width: 560px) {
    footer {
        width: 100%;
    }

    #footer-left {
        float: none;
        width: 100%;
        padding-left: 30px;
        padding-bottom: 20px;
    }

    #footer-right {
        float: none;
        width: 100%;
        padding-left: 30px;
        padding-right: 0;
    }

    #footer-bottom ul {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    #footer-bottom li {
        margin: 0;
    }
}
