/* hina-television v7.272.0 アプリ内メッセージ */
.hia-root, .hia-inbox{
  --hia-ink:#163449; --hia-sub:#4a6a80; --hia-blue:#4BAED8; --hia-deep:#0a78ac; --hia-bg:#fff; --hia-line:rgba(75,174,216,.35);
  --hia-font:"Hiragino Sans","BIZ UDPGothic","Noto Sans JP",Meiryo,system-ui,sans-serif;
  font-family:var(--hia-font); color:var(--hia-ink); letter-spacing:.01em;
}
.hia-root{ position:fixed; left:0; right:0; z-index:99985; pointer-events:none; }
.hia-root *{ box-sizing:border-box; }

/* ── 共通部品 ── */
.hia-badge{
  display:inline-block; font-size:11px; font-weight:700; line-height:1; padding:4px 8px; border-radius:999px;
  background:#e6f4fb; color:var(--hia-deep); vertical-align:middle;
}
.hia-k-info .hia-badge{ background:#fff3d6; color:#8a5a00; }
.hia-x{
  position:absolute; top:8px; right:8px; width:32px; height:32px; border:0; border-radius:50%;
  background:rgba(255,255,255,.9); color:var(--hia-sub); font-size:20px; line-height:32px; text-align:center;
  cursor:pointer; padding:0; box-shadow:0 1px 3px rgba(10,60,90,.15);
}
.hia-x:hover{ color:var(--hia-ink); }
.hia-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px;
  border-radius:12px; font-size:15px; font-weight:700; text-decoration:none; cursor:pointer; border:0;
  font-family:inherit;
}
.hia-btn-primary{ background:var(--hia-deep); color:#fff !important; }
.hia-btn-primary:hover{ background:#086590; }
.hia-btn-ghost{ background:transparent; color:var(--hia-sub); }
.hia-btn-ghost:hover{ color:var(--hia-ink); }

/* ── カード（modal / sheet） ── */
.hia-card{
  position:relative; pointer-events:auto; width:100%; max-width:440px; margin:0 auto;
  background:var(--hia-bg); border:1px solid var(--hia-line); border-radius:18px; overflow:hidden;
  box-shadow:0 14px 40px rgba(10,60,90,.22), 0 2px 6px rgba(10,60,90,.10);
}
.hia-img{ display:block; width:100%; max-height:240px; object-fit:cover; background:#eef6fb; }
.hia-main{ padding:16px 18px 12px; }
.hia-title{ margin:8px 0 4px; font-size:18px; font-weight:800; line-height:1.4; padding-right:28px; }
.hia-ic{ margin-right:6px; }
.hia-body{ margin:6px 0 0; font-size:14.5px; line-height:1.7; color:var(--hia-sub); }
.hia-acts{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; margin-top:14px; }
.hia-acts .hia-btn-primary{ flex:1 1 auto; }

/* sheet：下からせり上がる（ボトムバーの上に乗る） */
.hia-f-sheet{ bottom:0; padding:0 10px calc(env(safe-area-inset-bottom,0px) + var(--hia-bottom,0px) + 12px); }
.hia-f-sheet .hia-card{ opacity:0; transform:translateY(40px); transition:opacity .24s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.hia-f-sheet.is-in .hia-card{ opacity:1; transform:none; }

/* modal：中央 */
.hia-f-modal{ top:0; bottom:0; display:flex; align-items:center; padding:16px; }
.hia-backdrop{ position:absolute; inset:0; background:rgba(8,32,48,.45); pointer-events:auto; opacity:0; transition:opacity .24s ease; }
.hia-f-modal .hia-card{ opacity:0; transform:scale(.94); transition:opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1); }
.hia-f-modal.is-in .hia-backdrop{ opacity:1; }
.hia-f-modal.is-in .hia-card{ opacity:1; transform:none; }

/* banner：上の帯（画面内通知 .hnb-band と同じ意匠） */
.hia-f-banner{ top:0; padding:calc(env(safe-area-inset-top,0px) + 10px) 10px 0; display:flex; justify-content:center; }
body.admin-bar .hia-f-banner{ padding-top:calc(env(safe-area-inset-top,0px) + 42px); }
.hia-band{
  position:relative; pointer-events:auto; display:flex; align-items:center; gap:12px;
  width:100%; max-width:560px; padding:11px 44px 11px 14px;
  background:#fff; color:var(--hia-ink); text-decoration:none; cursor:pointer;
  border:1px solid var(--hia-line); border-left:5px solid var(--hia-blue); border-radius:14px;
  box-shadow:0 8px 24px rgba(10,60,90,.16), 0 1px 3px rgba(10,60,90,.10);
  font-size:15px; line-height:1.35;
  opacity:0; transform:translateY(-16px); transition:opacity .22s ease, transform .26s cubic-bezier(.2,.8,.2,1);
}
.hia-k-info .hia-band{ border-left-color:#f0b429; }
.hia-f-banner.is-in .hia-band{ opacity:1; transform:none; }
.hia-band-ic{ font-size:22px; flex:0 0 auto; }
.hia-band-tx{ flex:1 1 auto; min-width:0; font-weight:700; }
.hia-band .hia-x{ top:50%; margin-top:-16px; box-shadow:none; background:transparent; }

@media (min-width:783px){
  .hia-f-sheet{ left:auto; right:16px; bottom:16px; width:420px; padding:0; }
}
@media (prefers-reduced-motion:reduce){
  .hia-card, .hia-band, .hia-backdrop{ transition:none !important; }
}

/* ── お知らせ一覧 [hintv_inapp_inbox] ── */
.hia-inbox{ display:flex; flex-direction:column; gap:12px; }
.hia-inbox-empty{ padding:24px; text-align:center; color:var(--hia-sub); background:#f2f8fc; border-radius:14px; }
.hia-inbox-item{
  display:flex; gap:14px; padding:14px; background:#fff; border:1px solid var(--hia-line); border-radius:14px;
  border-left:5px solid var(--hia-blue);
}
.hia-inbox-item.hia-k-info{ border-left-color:#f0b429; }
.hia-inbox-img{ width:120px; height:80px; object-fit:cover; border-radius:10px; flex:0 0 auto; background:#eef6fb; }
.hia-inbox-main{ flex:1 1 auto; min-width:0; }
.hia-inbox-meta{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--hia-sub); }
.hia-inbox-title{ margin:6px 0 2px; font-size:16px; font-weight:800; line-height:1.45; color:var(--hia-ink); }
.hia-inbox-body{ margin:4px 0 10px; font-size:14px; line-height:1.7; color:var(--hia-sub); }
.hia-inbox .hia-btn{ min-height:38px; padding:8px 14px; font-size:14px; }
@media (max-width:599px){
  .hia-inbox-item{ flex-direction:column; }
  .hia-inbox-img{ width:100%; height:auto; aspect-ratio:16/9; }
}

/* ── v7.273.0 🔔ベル [hintv_bell] ── */
.hia-bell{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; min-height:40px; padding:6px; margin:0; border:0; border-radius:50%;
  background:transparent; cursor:pointer; line-height:0; vertical-align:middle;
  -webkit-tap-highlight-color:transparent;
}
.hia-bell:hover{ background:rgba(75,174,216,.12); }
.hia-bell:focus-visible{ outline:2px solid #0a78ac; outline-offset:2px; }
.hia-bell.has-unread svg{ animation:hia-ring 1.2s ease 1; transform-origin:50% 10%; }
.hia-bell-n{
  position:absolute; top:2px; right:0; min-width:18px; height:18px; padding:0 5px; box-sizing:border-box;
  border-radius:9px; background:#e5484d; color:#fff; border:2px solid #fff;
  font:700 11px/14px "Hiragino Sans","BIZ UDPGothic","Noto Sans JP",Meiryo,system-ui,sans-serif; text-align:center;
}
.hia-bell-n[hidden]{ display:none; }
@keyframes hia-ring{ 0%,100%{transform:rotate(0)} 15%{transform:rotate(14deg)} 30%{transform:rotate(-12deg)} 45%{transform:rotate(8deg)} 60%{transform:rotate(-5deg)} 75%{transform:rotate(2deg)} }
@media (prefers-reduced-motion:reduce){ .hia-bell.has-unread svg{ animation:none; } }

.hia-bp{
  --hia-ink:#163449; --hia-sub:#4a6a80; --hia-blue:#4BAED8; --hia-deep:#0a78ac; --hia-line:rgba(75,174,216,.35);
  position:fixed; z-index:99986; display:flex; flex-direction:column; box-sizing:border-box;
  background:#fff; color:var(--hia-ink); border:1px solid var(--hia-line); border-radius:16px; overflow:hidden;
  box-shadow:0 14px 40px rgba(10,60,90,.22), 0 2px 6px rgba(10,60,90,.10);
  font-family:"Hiragino Sans","BIZ UDPGothic","Noto Sans JP",Meiryo,system-ui,sans-serif; letter-spacing:.01em;
  opacity:0; transform:translateY(-6px); transition:opacity .18s ease, transform .2s ease;
}
.hia-bp.is-in{ opacity:1; transform:none; }
.hia-bp *{ box-sizing:border-box; }
.hia-bp-head{ display:flex; align-items:center; justify-content:space-between; padding:12px 12px 10px 16px; border-bottom:1px solid #e3eff6; }
.hia-bp-h{ font-size:16px; font-weight:800; }
.hia-bp-x{ width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:var(--hia-sub); font-size:20px; line-height:32px; cursor:pointer; padding:0; }
.hia-bp-x:hover{ background:#eef6fb; color:var(--hia-ink); }
.hia-bp-list{ list-style:none; margin:0; padding:0; overflow-y:auto; -webkit-overflow-scrolling:touch; flex:1 1 auto; }
.hia-bp-item{ border-bottom:1px solid #eef4f8; margin:0; }
.hia-bp-item:last-child{ border-bottom:0; }
.hia-bp-row{ display:flex; gap:10px; padding:12px 14px; color:inherit !important; text-decoration:none !important; cursor:pointer; }
.hia-bp-row:hover{ background:#f6fbfe; }
.hia-bp-item.is-unread .hia-bp-row{ background:#eef8fd; }
.hia-bp-item.is-focus .hia-bp-row{ box-shadow:inset 4px 0 0 var(--hia-deep); }
.hia-bp-ic{ flex:0 0 auto; width:28px; font-size:20px; line-height:28px; text-align:center; }
.hia-bp-main{ flex:1 1 auto; min-width:0; }
.hia-bp-meta{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--hia-sub); }
.hia-bp-new{ font-size:10px; font-weight:800; color:#e5484d; letter-spacing:.04em; }
.hia-bp-title{ margin-top:4px; font-size:14.5px; font-weight:700; line-height:1.45; }
.hia-bp-body{
  margin-top:3px; font-size:13px; line-height:1.6; color:var(--hia-sub);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.hia-bp-item.is-open .hia-bp-body{ display:block; -webkit-line-clamp:unset; }
.hia-bp-cta{ display:inline-block; margin-top:6px; font-size:13px; font-weight:700; color:var(--hia-deep); }
.hia-bp-img{ flex:0 0 auto; width:64px; height:64px; object-fit:cover; border-radius:10px; background:#eef6fb; align-self:flex-start; }
.hia-bp-empty{ padding:32px 16px; text-align:center; font-size:14px; color:var(--hia-sub); }
.hia-bp-foot{ display:block; padding:12px 16px; border-top:1px solid #e3eff6; font-size:13.5px; font-weight:700; color:var(--hia-deep) !important; text-decoration:none !important; text-align:center; }
.hia-bp-foot:hover{ background:#f6fbfe; }
.hia-bp .hia-badge{ font-size:10.5px; padding:3px 7px; background:#e6f4fb; color:var(--hia-deep); border-radius:999px; font-weight:700; }
.hia-bp .hia-k-info .hia-badge{ background:#fff3d6; color:#8a5a00; }

/* v7.273.1: 「通知の設定」で着地した場所を一瞬光らせる */
.hia-focus-flash{ animation:hia-focus 2.4s ease 1; border-radius:14px; }
@keyframes hia-focus{
  0%{ box-shadow:0 0 0 0 rgba(10,120,172,0); }
  15%{ box-shadow:0 0 0 4px rgba(10,120,172,.55), 0 0 0 10px rgba(75,174,216,.18); }
  70%{ box-shadow:0 0 0 4px rgba(10,120,172,.35), 0 0 0 10px rgba(75,174,216,.10); }
  100%{ box-shadow:0 0 0 0 rgba(10,120,172,0); }
}
@media (prefers-reduced-motion:reduce){ .hia-focus-flash{ animation:none; outline:3px solid #0a78ac; outline-offset:4px; } }

/* v7.274.0: ベルのタブ・削除・通知履歴 */
.hia-bp-head{ gap:6px; }
.hia-bp-h{ flex:1 1 auto; }
.hia-bp-clear{
  border:0; background:transparent; color:var(--hia-sub); font:700 12.5px/1 inherit; font-family:inherit;
  padding:8px 10px; border-radius:999px; cursor:pointer;
}
.hia-bp-clear:hover{ background:#fdecec; color:#c0392b; }
.hia-bp-clear:disabled{ opacity:.35; cursor:default; background:transparent; color:var(--hia-sub); }
.hia-bp-tabs{ display:flex; gap:6px; padding:8px 12px; border-bottom:1px solid #e3eff6; }
.hia-bp-tab{
  flex:0 0 auto; border:1px solid #cfe6f2; background:#fff; color:var(--hia-sub);
  font:700 12.5px/1 inherit; font-family:inherit; padding:7px 12px; border-radius:999px; cursor:pointer;
}
.hia-bp-tab.is-on{ background:var(--hia-deep); border-color:var(--hia-deep); color:#fff; }
.hia-bp-scroll{ flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.hia-bp-scroll .hia-bp-list{ overflow:visible; }
.hia-bp-item{ position:relative; }
.hia-bp-row{ padding-right:40px; }
.hia-bp-del{
  position:absolute; top:8px; right:8px; width:28px; height:28px; padding:0; border:0; border-radius:50%;
  background:transparent; color:#9fb3c2; font-size:17px; line-height:28px; cursor:pointer;
}
.hia-bp-del:hover{ background:#fdecec; color:#c0392b; }
.hia-bp .hia-badge.hia-badge-band{ background:#e9f7ee; color:#1d7a46; }
.hia-bp-band .hia-bp-title{ font-weight:600; }
.hia-bp-band.hia-bk-streak .hia-badge-band{ background:#fff0e3; color:#b4570b; }

/* v7.277.0: 未読を赤で知らせる／既読ボタン */
.hia-bell.has-unread{ color:#e5484d !important; }           /* ヘッダーの文字色指定（style="color:…"）より優先 */
.hia-bell.has-unread:hover{ background:rgba(229,72,77,.10); }
.hia-bp-item.is-unread .hia-bp-row{ background:#fff4f4; }
.hia-bp-item.is-unread{ box-shadow:inset 3px 0 0 #e5484d; }
.hia-bp-item.is-unread .hia-bp-title{ font-weight:800; }
.hia-bp-ic{ position:relative; }
.hia-bp-dot{
  position:absolute; top:0; right:-2px; width:9px; height:9px; border-radius:50%;
  background:#e5484d; border:2px solid #fff4f4; box-sizing:content-box;
}
.hia-bp-new{
  font-size:10px; font-weight:800; color:#fff; background:#e5484d; padding:2px 6px; border-radius:999px; letter-spacing:.04em;
}
.hia-bp-mark{
  margin-left:auto; border:1px solid #f0c2c3; background:#fff; color:#c0392b; font:700 11px/1 inherit; font-family:inherit;
  padding:5px 9px; border-radius:999px; cursor:pointer; white-space:nowrap;
}
.hia-bp-mark:hover{ background:#fdecec; }
.hia-bp-readall{
  border:0; background:transparent; color:var(--hia-deep); font:700 12.5px/1 inherit; font-family:inherit;
  padding:8px 10px; border-radius:999px; cursor:pointer;
}
.hia-bp-readall:hover{ background:#e6f4fb; }
.hia-bp-readall:disabled{ opacity:.35; cursor:default; background:transparent; }
.hia-bp-tab{ display:inline-flex; align-items:center; gap:5px; }
.hia-bp-tab-n{
  min-width:16px; height:16px; padding:0 5px; box-sizing:border-box; border-radius:8px;
  background:#e5484d; color:#fff; font-size:10.5px; line-height:16px; text-align:center;
}
.hia-bp-tab-n[hidden]{ display:none; }
.hia-bp-tab.is-on .hia-bp-tab-n{ background:#fff; color:#e5484d; }
.hia-bp-meta{ flex-wrap:wrap; }

/* v7.280.0: リマインド系プッシュの履歴 */
.hia-bp .hia-badge.hia-badge-remind{ background:#efe9ff; color:#5b3fb0; }
