/* ========================================
   Text Styles
   - Common text styles across pages
   ======================================== */

/* ドキュメントテキスト（document-text） */
.document-text {
    margin-bottom: 1rem;
    color: #4a5568;
    line-height: 2.0;
    font-size: 0.875rem; /* デスクトップ: 約14px */
}

@media (max-width: 768px) {
    .document-text {
        font-size: 0.8rem; /* モバイル: 約12.8px */
    }
}

/* リストアイテムのテキスト */
section li {
    margin-bottom: 0.8rem;
    color: #4a5568;
    line-height: 2.0;
    font-size: 0.875rem; /* デスクトップ: 約14px */
}

@media (max-width: 768px) {
    section li {
        font-size: 0.8rem; /* モバイル: 約12.8px */
    }
}

/* メタ情報（document-meta） */
.document-meta {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 2px solid rgba(102, 126, 234, 0.2);
    text-align: center;
    color: #4a5568;
    line-height: 1.8;
    font-size: 0.933rem; /* デスクトップ: 約14.93px */
}

.document-meta strong {
    display: block;
    font-size: 0.933rem; /* デスクトップ: 約14.93px */
    margin-bottom: 0.5rem;
    color: #1e3a8a;
}

.document-meta p {
    margin: 0.25rem 0;
    color: #4a5568;
    font-size: 0.933rem; /* デスクトップ: 約14.93px */
}

@media (max-width: 768px) {
    .document-meta {
        font-size: 0.875rem; /* モバイル: 約14px */
    }
    
    .document-meta strong {
        font-size: 0.875rem; /* モバイル: 約14px */
    }
    
    .document-meta p {
        font-size: 0.875rem; /* モバイル: 約14px */
    }
}

/* ページ情報説明（page-information-description） */
.page-information-description {
    color: #718096;
    margin: 0;
}

/* お知らせ日付（announcement-date） */
.announcement-date {
    color: #3b82f6;
    font-size: 0.933rem; /* デスクトップ */
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
}

.announcement-date i {
    font-size: 0.875rem;
}

@media (max-width: 768px) {
    .announcement-date {
        font-size: 0.875rem; /* モバイル */
    }
}

/* お知らせコンテンツ（announcement-content） */
.announcement-content {
    color: #4a5568;
    font-size: 0.933rem; /* デスクトップ */
    line-height: 2.0;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

@media (max-width: 768px) {
    .announcement-content {
        font-size: 0.875rem; /* モバイル */
    }
}

/* DB読み込みエラー表示 */
.db-load-error {
    color: #999;
    cursor: default;
    pointer-events: none;
}

/* 共通：テキスト系リンク（マニュアルリンクなど） */
.manual-link-container {
    text-align: center;
    margin: 1rem 0 2rem;
}

.manual-link {
    color: #3b82f6;
    text-decoration: none;
    font-size: 0.95rem;
}

.manual-link:hover {
    color: #2563eb;
    text-decoration: underline;
}

