/*!
 * ミライズ 追従CTA（コラム記事用）
 * 2026-07-30 作成
 * 既存デザイン（緑 #2D6A4F × 白）に合わせた自己完結スタイル。
 * 記事本文のレイアウトには一切干渉しない（fixed配置のみ）。
 */

.mrz-float {
  position: fixed;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, transform .25s ease;
  font-family: 'Noto Sans JP', sans-serif;
}
.mrz-float.is-visible { opacity: 1; visibility: visible; }

/* ===== PC：右下のカード（訪問者の約90%がデスクトップのため主役） ===== */
@media (min-width: 861px) {
  .mrz-float {
    right: 24px;
    bottom: 24px;
    width: 292px;
    background: #fff;
    border: 1px solid #D8F3DC;
    border-radius: 12px;
    box-shadow: 0 6px 28px rgba(15, 26, 46, .14);
    padding: 18px 20px 16px;
    transform: translateY(8px);
  }
  .mrz-float.is-visible { transform: translateY(0); }
  .mrz-float-title {
    font-size: 14px; font-weight: 700; color: #0F1A2E;
    line-height: 1.6; margin: 0 0 6px; padding-right: 18px;
  }
  .mrz-float-note {
    font-size: 12px; color: #6B7B8D; line-height: 1.7; margin: 0 0 12px;
  }
  .mrz-float-actions { display: flex; flex-direction: column; gap: 8px; }
  .mrz-float-btn {
    display: block; text-align: center; text-decoration: none;
    font-size: 13.5px; font-weight: 700; padding: 11px 14px; border-radius: 8px;
    transition: background .2s, color .2s;
  }
  .mrz-float-btn-primary { background: #2D6A4F; color: #fff; }
  .mrz-float-btn-primary:hover { background: #40916C; }
  .mrz-float-btn-ghost { background: #fff; color: #2D6A4F; border: 1.5px solid #2D6A4F; }
  .mrz-float-btn-ghost:hover { background: #F0FAF3; }
}

/* ===== SP：画面下部の細いバー（高さ56px以内） ===== */
@media (max-width: 860px) {
  .mrz-float {
    left: 0; right: 0; bottom: 0;
    background: #fff;
    border-top: 1px solid #D8F3DC;
    box-shadow: 0 -2px 16px rgba(15, 26, 46, .12);
    padding: 8px 44px 8px 12px;
    transform: translateY(100%);
  }
  .mrz-float.is-visible { transform: translateY(0); }
  .mrz-float-title { display: none; }
  .mrz-float-note {
    font-size: 11px; color: #6B7B8D; margin: 0 0 4px; line-height: 1.4;
  }
  .mrz-float-actions { display: flex; gap: 8px; }
  .mrz-float-btn {
    flex: 1; text-align: center; text-decoration: none;
    font-size: 13px; font-weight: 700; padding: 9px 8px; border-radius: 6px;
    white-space: nowrap;
  }
  .mrz-float-btn-primary { background: #2D6A4F; color: #fff; }
  .mrz-float-btn-ghost { background: #fff; color: #2D6A4F; border: 1.5px solid #2D6A4F; }
}

/* ===== 閉じるボタン（共通） ===== */
.mrz-float-close {
  position: absolute; top: 6px; right: 8px;
  width: 28px; height: 28px; line-height: 1;
  background: none; border: 0; cursor: pointer;
  color: #6B7B8D; font-size: 18px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.mrz-float-close:hover { background: #F0FAF3; color: #0F1A2E; }
.mrz-float-close:focus-visible,
.mrz-float-btn:focus-visible {
  outline: 2px solid #2D6A4F; outline-offset: 2px;
}

/* 印刷時と、動きを減らす設定のとき */
@media print { .mrz-float { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  .mrz-float { transition: opacity .01ms; transform: none !important; }
}
