.front-page .page-hero{
  position: relative;
  overflow: hidden;
}

.front-page .page-hero > img{
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

/* 左下 */
.front-page .page-hero::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  z-index:2;
  pointer-events:none;

  /* 1200px時の完成サイズ */
  --w-base: 520px;
  --h-base: 400px;

  /* ✅ ここが重要：数値スケール（1200px以上は1） */
  --scale: min(0.7, calc(100vw / 1200px));

  width:  max(calc(var(--w-base) * 0.5), calc(var(--w-base) * var(--scale)));
  height: max(calc(var(--h-base) * 0.5), calc(var(--h-base) * var(--scale)));

  background: url("https://towada-chuo-hospital.matsu-com2.com/wp-content/themes/tch/assets/img/left_down_bg.png")
    no-repeat left bottom / contain;
}

/* 右上 */
.front-page .page-hero::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  z-index:2;
  pointer-events:none;

  --w-base: 560px;
  --h-base: 360px;

  --scale: min(1, calc(100vw / 1200px));

  width:  max(calc(var(--w-base) * 0.5), calc(var(--w-base) * var(--scale)));
  height: max(calc(var(--h-base) * 0.5), calc(var(--h-base) * var(--scale)));

  background: url("https://towada-chuo-hospital.matsu-com2.com/wp-content/themes/tch/assets/img/right_up_bg.png")
    no-repeat right top / contain;
}

/* =========================================================
 * 重要なお知らせ（front page）
 * - 帯：赤
 * - 本文エリア：白背景 + 赤文字
 * - 複数件対応
 * - ツールチップ（ホバーで詳細）
 * ======================================================= */

:root{
  --imp-red: #e34a3f;      /* 帯の赤 */
  --imp-red-deep: #b63b33; /* 一覧ボタンの濃い赤 */
  --imp-tooltip-bg: #222;  /* ツールチップ背景 */
  --imp-radius: 6px;
}

/* 帯 */
.important-notice{
  position: relative;
  z-index: 20; /* 固定ヘッダー等に負けない保険 */
  background: var(--imp-red);
}

/* 1100px枠（common.css の container があるなら不要でもOK） */
.important-notice__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 16px;

  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}

/* 左：ラベル */
.important-notice__label{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #fff;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
}

.important-notice__icon{
  font-size: 14px;
  line-height: 1;
}

/* 中央：白ボックス */
.important-notice__panel{
  position: relative;
  overflow: visible; /* ツールチップを見切らない */

  background: #fff;
  border-radius: var(--imp-radius);
  padding: 6px 10px;
  min-height: 34px;

  display: flex;
  align-items: center;
}

/* リスト（複数件） */
.important-notice__list{
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;

  display: grid;
  gap: 6px;
}

/* 1件（ここをツールチップの基準にする） */
.important-notice__item{
  position: relative;
  z-index: 0;
  margin: 0;
}

/* ホバーされた行を最前面へ */
.important-notice__item:hover,
.important-notice__item:focus-within{
  z-index: 50;
}

/* 1件リンク */
.important-notice__itemlink{
  display: flex;
  align-items: flex-start;
  gap: 12px;

  text-decoration: none;
  color: var(--imp-red);
  line-height: 1.6;
}

/* 日付 */
.important-notice__date{
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  padding-top: 2px;
}

/* タイトル（短文想定） */
.important-notice__text{
  font-size: 14px;
  word-break: break-word;
}

/* hover */
.important-notice__itemlink:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 0.92;
}

/* 右：一覧ボタン */
.important-notice__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 6px 16px;
  border-radius: var(--imp-radius);
  background: var(--imp-red-deep);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.important-notice__link:hover{
  opacity: 0.9;
}

/* =========================================================
 * ツールチップ（詳細）
 * - hover対象：日付も含めて「リンク全体」
 * - 位置の基準：li（.important-notice__item）
 *   → 複数件でもズレにくい
 * ======================================================= */

/* li に data-tooltip を持たせる方式が最も安定
   （a に data-tooltip を付けている場合でも、下のCSSは動きますが、
    できれば li に data-tooltip を移すとさらに安定します）
*/

/* ツールチップ表示（li hover で出す） */
.important-notice__item:hover::after,
.important-notice__item:focus-within::after{
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 200;

  width: min(560px, 86vw);
  padding: 10px 12px;
  border-radius: 10px;

  background: var(--imp-tooltip-bg);
  color: #fff;
  font-size: 13px;
  line-height: 1.6;

  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  white-space: normal;

  pointer-events: none; /* これが無いと「上でホバーが切れてズレる」ことがある */
}

/* 三角 */
.important-notice__item:hover::before,
.important-notice__item:focus-within::before{
  content: "";
  position: absolute;
  left: 18px;
  top: calc(100% + 2px);
  z-index: 201;

  border: 7px solid transparent;
  border-bottom-color: var(--imp-tooltip-bg);

  pointer-events: none;
}

/* キーボードフォーカスの見え方 */
.important-notice__itemlink:focus-visible{
  outline: 2px solid rgba(255,255,255,.85);
  outline-offset: 2px;
}

/* =========================================================
 * レスポンシブ
 * ======================================================= */
@media (max-width: 768px){
  .important-notice__inner{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .important-notice__itemlink{
    flex-direction: column;
    gap: 2px;
  }

  .important-notice__link{
    justify-self: start;
  }

  /* スマホでは hover 前提が弱いので、ツールチップは出さない運用も可 */
  /* .important-notice__item:hover::after,
     .important-notice__item:hover::before{ display:none; } */
}

