/* キャンセルポリシー全体を囲むボックス */
.cancel-policy-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
}

/* キャンセルポリシー内の標準テキスト */
.cancel-policy-text {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
    color: #334155;
}

/* 余白調整用クラス（margin-bottom: 10px） */
.cancel-policy-text.mb-10 {
    margin-bottom: 10px;
}

/* 最後のテキスト（余白なし） */
.cancel-policy-text.last-text {
    margin-bottom: 0;
}

/* 連絡先エリアを囲む白ボックス */
.cancel-contact-box {
    background: #ffffff;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid #cbd5e1;
    margin-bottom: 15px;
}

/* 連絡先エリア内のテキスト */
.cancel-contact-text {
    margin: 0 0 10px 0;
    font-size: 14px;
    color: #334155;
}

/* 連絡先エリア内の最後のテキスト */
.cancel-contact-text:last-child {
    margin-bottom: 0;
}

/* 各クリニックのタイトルカラー */
.contact-title-yaesu {
    color: #0284c7;
}

.contact-title-tsukuba {
    color: #ea580c;
}

/* 電話番号のリンクスタイル */
.contact-phone-link {
    color: #2563eb;
    font-weight: bold;
    text-decoration: none;
}

/* 注意書き（休診など）のスタイル */
.contact-note {
    font-size: 12px;
    color: #e74c3c;
}



/* キャンセル規定の同意を促す警告ボックス */
.cancel-warning-box {
    background: #fff8f8;
    border: 1px solid #ffcdd2;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
    text-align: center;
}

/* 警告ボックス内のタイトル（赤文字） */
.cancel-warning-title {
    font-size: 13px;
    color: #d32f2f;
    font-weight: bold;
    margin: 0 0 5px 0;
}

/* 警告ボックス内の説明テキスト */
.cancel-warning-text {
    font-size: 13px;
    color: #333;
    margin: 0;
    line-height: 1.5;
}


/* --- 外来・検査用 追加クラス --- */

/* 料金案内のヘッダー部分（点線の下線） */
.cancel-fee-header {
    border-bottom: 1px dashed #cbd5e1;
    padding-bottom: 8px;
    margin-bottom: 12px;
}

/* 料金詳細の各行（少し右にずらして見やすくするインデント） */
.cancel-fee-row {
    padding-left: 10px;
}

/* 料金詳細の補足テキスト（グレーで少し小さく） */
.fee-note {
    font-size: 12px;
    color: #64748b;
}

/* 注釈用のテキスト（標準より少し小さく） */
.cancel-note-text {
    font-size: 13px;
}


/* --- インデント（ぶら下がり）用 追加クラス --- */

/* 注釈行のコンテナ（Flexboxで横並びに） */

.cancel-note-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    font-size: 14px; /* ← 13px から 14px に変更して周囲と合わせました */
    color: #334155;
    line-height: 1.6;
}

/* （注1）などのマーク部分の幅を固定 */
.cancel-note-mark {
    flex-shrink: 0;
    width: 3.8em; /* 念のため少しだけ幅を広げました */
    white-space: nowrap; /* ★追加：これで「1）」が下へ落ちるのを強制ブロックします */
}

/* ★新規追加：枠なしのシンプルな連絡先エリア（インデントは維持） */
.simple-contact-area {
    margin-left: 3.8em; /* .cancel-note-mark の幅と同じ値を指定して縦のラインを揃える */
    margin-top: 15px;
}

/* 注釈のテキスト部分 */
.cancel-note-text-content {
    flex-grow: 1;
}

/* 下の連絡先ボックスを注釈テキストの開始位置（黄色い線）に合わせる */
.cancel-contact-box.indented-box {
    margin-left: 3.5em; /* .cancel-note-mark の幅と同じ値を指定 */
    margin-top: 15px;
}

/* ====================================================
   キャンセル連絡先案内用（完全競合防止版）
   ==================================================== */
.ai-cancel-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 15px 0 25px 0 !important;
    font-size: 14px !important;
    max-width: 100% !important;
    position: relative !important;
    clear: both !important;
    align-items: stretch !important;
}

.ai-cancel-card {
    flex: 1 1 260px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    position: static !important; /* 宙浮きを完全に防止 */
    height: auto !important;
    margin: 0 !important;
    display: block !important;
    z-index: 1 !important;
}

/* 八重洲用カラー */
.ai-cancel-card-y { background: #f8fafc !important; }
.ai-cancel-card-y .ai-cancel-header { background: #2f6fc2 !important; }

/* つくば用カラー */
.ai-cancel-card-t { background: #fdfaf7 !important; }
.ai-cancel-card-t .ai-cancel-header { background: #ea580c !important; }

.ai-cancel-header {
    color: #fff !important;
    padding: 6px 12px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

.ai-cancel-body { padding: 12px !important; text-align: left !important; }
.ai-cancel-body p { margin: 0 0 8px 0 !important; line-height: 1.4 !important; }
.ai-cancel-body p:last-child { margin-bottom: 0 !important; word-break: break-all !important; }

.ai-cancel-label { font-size: 11px !important; color: #64748b !important; display: block !important; margin-bottom: 2px !important; }
.ai-cancel-tel { color: #1e40af !important; font-weight: bold !important; text-decoration: none !important; font-size: 15px !important; }
.ai-cancel-tel-note { font-size: 11px !important; color: #64748b !important; }
.ai-cancel-email { color: #2563eb !important; text-decoration: underline !important; }