/* ===== オーバーレイ全体 ===== */
#agvp-overlay{
  position:fixed; inset:0; z-index:999999;
  display:none; /* JSで制御 */
  background:rgba(0,0,0,.15);
}
#agvp-overlay[aria-hidden="false"]{ display:block; }
#agvp-overlay.is-hidden{ display:none !important; }

/* ===== 背景動画（画面幅いっぱい）===== */
#agvp-overlay .agvp-video-wrap{
  position:absolute; inset:0; overflow:hidden;
}
#agvp-overlay .agvp-bg{
  position:absolute; inset:0;
  width:100vw; height:100vh;            /* 画面幅いっぱい・高さいっぱい */
  min-width:100%; min-height:100%;
  object-fit:cover; object-position:center center;
  filter:none;
}
#agvp-overlay.has-shadow .agvp-bg{
  filter:blur(1px) brightness(.95);
}

/* ===== コンテンツ：画面中央（FigmaのFrame 549相当）===== */
#agvp-overlay .agvp-content{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);        /* 画面中央固定 */
  width:672px; height:419.47px;
  display:flex; flex-direction:column; align-items:center;
  gap:60px; padding:0;
}

/* ---- Group 548 / ロゴ ---- */
#agvp-overlay .agvp-logo-wrap{ position:relative; width:322.94px; height:161.47px; flex:none; }
#agvp-overlay .agvp-logo-placeholder{
  position:absolute; width:322.94px; height:161.47px;
  left:calc(50% - 322.94px/2); top:calc(50% - 161.47px/2 - 129px);
  background:#D9D9D9; display:flex; align-items:center; justify-content:center;
  color:#000; font-family:'M PLUS 1',sans-serif; font-weight:500; font-size:28.7724px; line-height:1; letter-spacing:.08em;
}
#agvp-overlay .agvp-logo{
  position:absolute; width:322.94px; height:161.47px;
  left:calc(50% - 322.94px/2); top:calc(50% - 161.47px/2 - 129px);
  object-fit:contain;
}

/* ---- Frame 848 / 説明テキスト ---- */
#agvp-overlay .agvp-text{
  width:672px; height:198px;
  display:flex; flex-direction:column; align-items:center; gap:32px;
  text-align:center; color:#FF6565; text-shadow:0 0 24px rgba(0,0,0,.1);
  font-family:'M PLUS 1',sans-serif; font-weight:400; font-size:24px; line-height:1.8; letter-spacing:.08em;
}
#agvp-overlay .agvp-text p{ margin:0; }

/* ---- Frame 550 / ボタン ---- */
#agvp-overlay .agvp-buttons{
  width:672px; height:80px;
  display:flex; flex-direction:row; align-items:center; gap:20px;
}
#agvp-overlay .agvp-btn{
  width:326px; height:80px; border-radius:4px; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-family:'M PLUS 1',sans-serif; font-weight:500; font-size:20px; line-height:1; letter-spacing:.02em;
  color:#fff; box-shadow:0 8px 16px rgba(0,0,0,.15);
}
#agvp-overlay .agvp-btn-ok{ background:#FF8181; }
#agvp-overlay .agvp-btn-ng{ background:#D5D5D5; box-shadow:0 4px 16px rgba(0,0,0,.15); }

/* ===== SP（Figmaの小サイズFrame 549/848/550）===== */
@media (max-width:768px){
  #agvp-overlay .agvp-content{
    width:302px; height:392px; gap:36px;
  }

  #agvp-overlay .agvp-logo-wrap{ width:210px; height:105px; }
  #agvp-overlay .agvp-logo-placeholder,
  #agvp-overlay .agvp-logo{
    width:210px; height:105px;
    left:calc(50% - 210px/2); top:calc(50% - 105px/2 - 143.5px);
  }
  #agvp-overlay .agvp-logo-placeholder{ font-size:18.7102px; }

  #agvp-overlay .agvp-text{
    width:302px; height:251px; gap:32px;
    font-size:14px; line-height:1.8; letter-spacing:.08em;
  }

  #agvp-overlay .agvp-buttons{
    width:302px; height:144px; gap:20px; flex-direction:column; justify-content:center; align-items:center;
  }
  #agvp-overlay .agvp-btn{
    width:302px; height:62px; font-size:14px; border-radius:4px; box-shadow:0 0 12px rgba(0,0,0,.15);
  }
  #agvp-overlay .agvp-btn-ng{ border:1px solid #D1D1D1; }
}