@charset "utf-8";
/* CSS Document */

/* 2段組のコンテナ */
        .subject-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 20px; /* グリッドアイテム間の隙間 */
        }

        /* 各教科のボックス */
        .subject-box {
            width: calc(50% - 10px); /* 2列表示にするための幅計算 */
            margin-bottom: 20px;
            padding: 15px;
            box-sizing: border-box;
            background-color: white;
            border: 1px solid #eee;
            border-radius: 5px;
        }

        /* 教科のタイトルと説明部分 */
        .subject-header {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
            padding-bottom: 5px;
            border-bottom: 2px solid; /* 色は各教科で指定 */
        }

        .subject-label {
            font-size: 18px;
            font-weight: bold;
            padding: 3px 10px;
            margin-right: 15px;
            border-radius: 4px;
            color: white;
            white-space: nowrap;
        }

        .subject-title {
            font-size: 17px;
            font-weight: bold;
        }

        /* 説明文のスタイル */
        .subject-content p {
            font-size: 14px;
            margin: 0;
            line-height: 1.8;
            padding: 5px 0 0 0;
        }

        /* 教科ごとの色設定 */
        
        /* 算数: #2E9DD6 (青系) */
        .math .subject-header { border-bottom-color: #2E9DD6; }
        .math .subject-label { background-color: #2E9DD6; }
        .math .subject-content {
            /* リンク/強調文字の色が青系なのでテキスト内強調を #2E9DD6 に設定 */
        }

        /* 理科: #80AE61 (緑系) */
        .science .subject-header { border-bottom-color: #80AE61; }
        .science .subject-label { background-color: #80AE61; }
        .science .subject-content .highlight-green {
            color: #80AE61; /* 画像のテキスト強調色を再現 */
            font-weight: bold;
        }

        /* 国語: #E19C61 (オレンジ系) */
        .japanese .subject-header { border-bottom-color: #E19C61; }
        .japanese .subject-label { background-color: #E19C61; }
        .japanese .subject-content .highlight-orange {
            color: #E19C61; /* 画像のテキスト強調色を再現 */
            font-weight: bold;
        }

        /* 社会: #A892BE (紫系) */
        .social .subject-header { border-bottom-color: #A892BE; }
        .social .subject-label { background-color: #A892BE; }
        .social .subject-content .highlight-purple {
            color: #A892BE; /* 画像のテキスト強調色を再現 */
            font-weight: bold;
        }
        
        /* テキスト内のリンク/強調文字の再現（算数） */
        .math .highlight-blue {
            color: #2E9DD6;
            font-weight: bold;
        }
        
        /* レスポンシブ対応 (モバイル向け) */
        @media (max-width: 768px) {
            .subject-box {
                width: 100%;
            }
        }

/* セクションコンテナ (study-block に変更) */
        .study-block {
            margin-bottom: 30px;
            padding: 20px;
            background-color: white;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
        }

        /* セクションタイトル（[前期]、[後期]） */
        .block-title { /* section-title から block-title に変更 */
            font-size: 16px;
            font-weight: bold;
            color: #337ab7; /* 青 */
            margin-bottom: 10px;
            padding-bottom: 5px;
            border-bottom: 2px solid #337ab7; 
            display: inline-block; 
        }
        
        /* テキストコンテンツ */
        .block-content { /* section-content から block-content に変更 */
            font-size: 15px;
            color: #555;
        }

        .block-content strong {
            font-weight: bold;
            color: #333; 
        }
        
        /* 特定の強調箇所（鍵括弧の表現） */
        .emphasis {
            font-weight: bold;
            color: #d9534f; /* 赤 */
        }

.integrated-section {
            margin-bottom: 30px;
            padding: 20px;
            box-sizing: border-box;
            background-color: white;
            border: 1px solid #eee;
            border-radius: 5px;
        }

        /* タイトルとラベルのヘッダー部分 */
        .section-header {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
            padding-bottom: 5px;
            border-bottom: 2px solid; /* 色は各セクションで指定 */
        }

        .section-label {
            font-size: 16px;
            font-weight: bold;
            padding: 4px 12px;
            margin-right: 15px;
            border-radius: 4px;
            color: white;
            white-space: nowrap;
        }

        .integrated-title { /* section-title から integrated-title に変更 */
            font-size: 16px;
            font-weight: bold;
        }

        /* 説明文のスタイル */
        .section-content p {
            font-size: 14px;
            margin: 0;
            line-height: 1.8;
            padding: 5px 0 0 0;
            color: #555;
        }

        /* --- 理系総合 (青系: #2E9DD6) --- */
        .science-integrated .section-header { border-bottom-color: #2E9DD6; }
        .science-integrated .section-label { background-color: #2E9DD6; }
        .science-integrated .highlight {
            color: #2E9DD6;
            font-weight: bold;
        }

        /* --- 文系総合 (オレンジ系: #E19C61) --- */
        .liberal-arts-integrated .section-header { border-bottom-color: #E19C61; }
        .liberal-arts-integrated .section-label { background-color: #E19C61; }
        .liberal-arts-integrated .highlight {
            color: #E19C61;
            font-weight: bold;
        }







