/* LIVN SITE ANNOUNCEMENT v1 */
.livn-site-announcement{
  --ann-accent:#dffb50;
  --ann-cyan:#5be4ff;
  position:relative;
  z-index:1600;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:54px;
  padding:11px 14px 11px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  background:
    linear-gradient(120deg,rgba(17,23,33,.96),rgba(5,10,18,.94)),
    radial-gradient(circle at 10% 50%,rgba(91,228,255,.13),transparent 35%);
  box-shadow:0 15px 45px rgba(0,0,0,.30);
  color:#f7fbff;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  font-family:"Segoe UI","Noto Sans JP",Arial,sans-serif;
}
.livn-site-announcement[hidden]{display:none!important}
.livn-site-announcement__mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:10px;
  border:1px solid rgba(91,228,255,.26);
  color:var(--ann-cyan);
  background:rgba(91,228,255,.07);
  font-size:10px;font-weight:900;letter-spacing:.08em;
}
.livn-site-announcement__body{min-width:0;flex:1}
.livn-site-announcement__label{
  display:block;
  margin-bottom:2px;
  color:var(--ann-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
}
.livn-site-announcement__title{
  display:inline;
  margin:0;
  font-size:12px;
  line-height:1.45;
  font-weight:850;
}
.livn-site-announcement__message{
  display:inline;
  margin-left:9px;
  color:rgba(235,241,249,.70);
  font-size:11px;
  line-height:1.5;
}
.livn-site-announcement__link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(223,251,80,.24);
  border-radius:10px;
  color:#eefabc;
  background:rgba(223,251,80,.07);
  font-size:10px;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.livn-site-announcement__link:hover{background:rgba(223,251,80,.12)}
.livn-site-announcement__close{
  flex:0 0 auto;
  width:32px;height:32px;
  border:0;
  border-radius:9px;
  color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.055);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.livn-site-announcement__close:hover{color:#fff;background:rgba(255,255,255,.09)}

/* HOME: 既存のフルスクリーン構成を崩さず、ヘッダー直下に浮かせる */
.livn-site-announcement--home{
  position:fixed;
  left:50%;
  top:101px;
  transform:translateX(-50%);
  width:min(920px,calc(100vw - 40px));
}

/* MY PAGE: ヘッダーの下、コンテンツの前に通常配置 */
.livn-site-announcement--mypage{
  width:min(1180px,calc(100% - 34px));
  margin:14px auto 0;
}

/* PC診断: ヘッダー直下に浮かせる */
.livn-site-announcement--pc{
  position:fixed;
  left:50%;
  top:82px;
  transform:translateX(-50%);
  width:min(980px,calc(100vw - 40px));
}

@media(max-width:720px){
  .livn-site-announcement{
    gap:9px;
    padding:9px 9px 9px 11px;
    border-radius:12px;
  }
  .livn-site-announcement--home{
    top:88px;
    width:calc(100vw - 22px);
  }
  .livn-site-announcement--pc{
    top:72px;
    width:calc(100vw - 22px);
  }
  .livn-site-announcement--mypage{
    width:calc(100% - 22px);
    margin-top:10px;
  }
  .livn-site-announcement__mark{display:none}
  .livn-site-announcement__label{font-size:8px}
  .livn-site-announcement__title{
    display:block;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .livn-site-announcement__message{
    display:block;
    margin:1px 0 0;
    font-size:9px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .livn-site-announcement__link{
    padding:0 9px;
    font-size:9px;
  }
  .livn-site-announcement__close{width:29px;height:29px}
}


/* PC mobile/tablet dedicated stack */
.pc-mobile-promo-stack .livn-site-announcement--pc,
.livn-site-announcement--stacked{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  margin:0 !important;
}
