/* レスポンシブデザイン */
@media (max-width: 768px) {
    /* ヘッダー */
    header {
        padding: 1.5rem 1rem;
        min-height: 200px;
        height: auto;
    }

    header h1 {
        font-size: 2.2rem;
        margin: 1rem 0;
    }

    /* LINEコンテナの調整 */
    .line-container {
        margin-top: 0.5rem;
    }

    .line-catch {
        font-size: 1rem !important;
        padding: 0.3rem 0.8rem !important;
    }

    .line-button {
        padding: 0.8rem 1.5rem;
        font-size: 1rem;
    }

    /* ヘッダーコンテンツの調整 */
    .header-content {
        gap: 1rem;
    }

    /* コンテンツ */
    .content {
        padding: 2rem 1rem;
        margin-bottom: 2rem;
        border-radius: 20px;
    }

    /* ニュースアイテム */
    .news-item {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem;
    }
    
    .news-image {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }

    /* カリキュラム */
    .curriculum-item {
        padding: 1.2rem;
    }

    .curriculum-item h3 {
        font-size: 1.2rem;
    }

    /* ボタン */
    .button-container {
        grid-template-columns: 1fr;
    }

    /* フッター */
    footer p {
        font-size: 1rem;
    }

    /* 管理者パネル */
    .admin-panel {
        padding: 1rem;
    }

    /* チャットボット */
    .chat-window,
    .chat-toggle,
    #chatbot-container {
        display: none !important;
    }

    /* イベントカレンダーの調整 */
    .seminar-image {
        width: 100%;
        margin: 0;
    }

    .seminar-image img {
        width: 100%;
        border-radius: 8px;
    }

    /* 見出しサイズの調整 */
    .content h2 {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }

    /* 新着情報の調整 */
    .news-date {
        font-size: 0.9rem;
    }

    .news-title {
        font-size: 1.1rem;
    }

    .news-description {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    header {
        min-height: 180px;
        padding: 1rem;
    }

    header h1 {
        font-size: 2rem;
    }

    .line-catch {
        font-size: 0.9rem !important;
    }

    .content {
        padding: 1rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.4rem;
    }

    h4 {
        font-size: 1.2rem;
    }

    .content h2 {
        font-size: 1.5rem;
    }

    .news-date {
        font-size: 0.9rem;
    }

    .news-title {
        font-size: 1.1rem;
    }

    .news-description {
        font-size: 0.9rem;
    }
}

/* さらに小さい画面用の調整 */
@media screen and (max-width: 480px) {
    .content h2 {
        font-size: 1.5rem;
    }

    .news-date {
        font-size: 0.9rem;
    }

    .news-title {
        font-size: 1.1rem;
    }

    .news-description {
        font-size: 0.9rem;
    }
} 