.genova-bnr ul li {
  position: fixed;
  bottom: 0;
}

.genova-bnr ul li.aichat {
  width: 290px;
  right: 270px;
}

.genova-bnr ul li.f-reserve {
  width: 270px;
  right: 0;
}

.genova-bnr ul li button {
  border: none;
  background: none;
}

.totop {
  bottom: 90px;
}

/* モーダル */
.genova-bnr .f-reserve img{
  cursor:pointer;
}

.reserve-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1000;
  opacity:0; visibility:hidden;
  transition:opacity .25s ease;
}
.reserve-modal-overlay.is-active{
  opacity:1;
  visibility:visible;
}

.reserve-modal{
  position:relative;
  background:#fff;
  width:90%;
  max-width:400px;
  padding:30px 50px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
  text-align:center;
  transform:translateY(20px) scale(.96);
  opacity:0;
  transition:transform .25s ease, opacity .25s ease;
}
.reserve-modal-overlay.is-active .reserve-modal{
  transform:translateY(0) scale(1);
  opacity:1;
}

.reserve-modal-close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:32px;
  height:32px;
  background: none;
  border: none;
}

.reserve-modal h2{
  margin:0 0 4px;
  font-size:26px;
  font-weight:700;
  color:#7CC5E8;
}
.reserve-modal h2.sub{
  margin:0 0 14px;
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  color:#7CC5E8;
}
.reserve-modal hr{
  border:none;
  border-top:1px solid #e3e3e3;
  margin:0 0 14px;
}
.reserve-modal p{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.7;
  color:#333;
  font-weight: bold;
}

.reserve-modal-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  width: 100%;
  margin: auto;
}
.reserve-modal-links a{
  display:flex;
  align-items:center;
  gap:12px;
  background:#7EC9EA;
  color:#fff;
  text-decoration:none;
  padding:10px 14px;
  font-size:14px;
  font-weight:700;
  transition:background .15s ease;
}
.reserve-modal-links a:hover{
  background:#66BCE2;
}
.reserve-modal-links .icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.reserve-modal-links .label{
  flex:1;
  text-align:left;
}
.reserve-modal-links .arrow{
  /* flex:0 0 24px; */
  width:24px;
  height:24px;
}
