@charset "UTF-8";
/* ===== ホタルベット 共通スタイル ===== */
:root{
  --bg:#242a3b;
  --bg-deep:#1b2030;
  --bg-card:#2c3348;
  --line:rgba(255,255,255,.16);
  --text:#ffffff;
  --muted:#b9c0d4;
  --pink:#ff9fd2;
  --yellow:#fff3a3;
  --green:#14e01c;
  --green-dark:#08a80f;
  --gold:#ffd23f;
  --orange:#ff9a1a;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.02em;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--yellow)}
a:hover{opacity:.85}
.bold-font{font-weight:700}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}

/* ===== ヘッダー ===== */
.hero{display:block;margin:0;padding:0;line-height:0;background:var(--bg)}
.hero img{width:100%;max-width:none;height:auto;margin:0}
.site-bar{
  background:var(--bg-deep);
  border-bottom:1px solid var(--line);
}
.site-bar .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo-text{
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:24px;
  color:var(--pink);text-decoration:none;letter-spacing:.04em;
  text-shadow:2px 2px 0 var(--yellow);
}
.site-bar nav a{color:var(--text);text-decoration:none;font-size:14px;margin-left:16px;font-weight:700}

/* ===== 見出し（トップ） ===== */
.sec-title{
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;
  text-align:center;font-size:min(26px,4vw);line-height:1.5;
  margin:56px 0 28px;
}
.sec-title span{
  display:inline-block;position:relative;padding:0 4px 10px;
}
.sec-title span::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:5px;border-radius:5px;
  background:linear-gradient(90deg,var(--pink),var(--yellow));
}

/* ===== 本文見出し（レビュー） ===== */
.article h1{
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;
  font-size:clamp(24px,5.4vw,34px);line-height:1.4;margin:36px 0 24px;
}
.article h1 small{display:block;font-size:.5em;color:var(--pink);letter-spacing:.1em}
.article h2{
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;
  font-size:clamp(20px,4.6vw,26px);line-height:1.5;
  margin:64px 0 24px;padding:0 0 10px;position:relative;
}
.article h2::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--pink) 0,var(--yellow) 40%,rgba(255,255,255,.12) 40%);
}
.article h3{
  font-size:19px;line-height:1.5;margin:40px 0 16px;
  padding:4px 0 4px 14px;border-left:5px solid var(--pink);
}
.article p{margin:0 0 1.4em}
.article ul{margin:0 0 1.4em;padding-left:1.4em}
.article li{margin:.3em 0}
.article img{margin:24px auto;border-radius:6px}

/* ===== ボタン（公式サイトへ／レビューを読む） ===== */
.btn-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:22px 0 8px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:230px;padding:12px 26px;border-radius:999px;
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:22px;line-height:1.2;
  text-decoration:none;letter-spacing:.06em;
  transition:transform .12s ease,filter .12s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06);opacity:1}
.btn:active{transform:translateY(1px)}
.btn-official{
  background:var(--green);color:#fff;
  border:4px solid var(--green-dark);
  box-shadow:inset 0 3px 0 rgba(255,255,255,.35),0 4px 0 rgba(0,0,0,.25);
  text-shadow:
    2px 0 0 var(--green-dark),-2px 0 0 var(--green-dark),0 2px 0 var(--green-dark),0 -2px 0 var(--green-dark),
    1.5px 1.5px 0 var(--green-dark),-1.5px -1.5px 0 var(--green-dark),1.5px -1.5px 0 var(--green-dark),-1.5px 1.5px 0 var(--green-dark);
}
.btn-review{
  background:var(--gold);color:var(--orange);
  border:4px solid var(--orange);
  box-shadow:inset 0 3px 0 rgba(255,255,255,.45),0 4px 0 rgba(0,0,0,.25);
  text-shadow:
    2px 0 0 #fff3b8,-2px 0 0 #fff3b8,0 2px 0 #fff3b8,0 -2px 0 #fff3b8,
    1.5px 1.5px 0 #fff3b8,-1.5px -1.5px 0 #fff3b8,1.5px -1.5px 0 #fff3b8,-1.5px 1.5px 0 #fff3b8;
}
@media (max-width:520px){
  .btn-row{gap:10px}
  .btn{min-width:0;flex:1 1 0;font-size:17px;padding:11px 10px;border-width:3px}
}

/* ===== トップのカード ===== */
.casino{margin:0 auto 56px;max-width:640px}
.banner{display:block;border:1px solid rgba(255,255,255,.28);border-radius:2px;overflow:hidden}
.banner img{width:100%}

.wallet{max-width:640px;margin:0 auto 64px}
.wallet .lead{margin:22px 0 10px}
.wallet .lead strong{color:var(--yellow)}
.points{list-style:none;padding:0;margin:0 0 18px}
.points li{position:relative;padding-left:1.5em;margin:.35em 0}
.points li::before{content:"✓";position:absolute;left:0;color:var(--pink);font-weight:900}

.store-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px}
.store{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:10px 8px;border-radius:12px;text-decoration:none;color:#fff;
  background:#0f1320;border:2px solid rgba(255,255,255,.35);
  line-height:1.3;text-align:center;
}
.store:hover{border-color:#fff;opacity:1}
.store svg{width:22px;height:22px;fill:#fff}
.store small{font-size:11px;color:var(--muted)}
.store b{font-size:15px}
@media (max-width:520px){
  .store-row{grid-template-columns:1fr 1fr}
  .store-row .store:last-child{grid-column:1 / -1}
}
.note{font-size:13px;color:var(--muted);margin:6px 0 0}

/* ===== 吹き出し ===== */
.talk{display:flex;align-items:flex-start;gap:16px;margin:26px 0}
.talk-r{flex-direction:row-reverse}
.talk-icon{
  flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden;
  background:#fff;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.talk-icon img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transform:scale(1.35);transform-origin:50% 22%;margin:0;border-radius:0}
.talk-bubble{
  position:relative;background:#fff;color:#111;
  padding:12px 18px;border-radius:14px;max-width:calc(100% - 100px);
  margin-top:10px;line-height:1.75;box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.talk-bubble p{margin:0}
.talk-bubble::before{
  content:"";position:absolute;top:16px;border:9px solid transparent;
}
.talk-l .talk-bubble::before{left:-17px;border-right-color:#fff}
.talk-r .talk-bubble::before{right:-17px;border-left-color:#fff}
@media (max-width:520px){
  .talk{gap:12px}
  .talk-icon{flex-basis:56px;width:56px;height:56px}
  .talk-bubble{max-width:calc(100% - 76px);padding:10px 14px;font-size:15px}
}

/* ===== テーブル ===== */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0 28px}
.table-wrap table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65;min-width:520px}
.table-wrap.narrow table{min-width:0}
.table-wrap th,.table-wrap td{border:1px solid var(--line);padding:10px 12px;vertical-align:middle}
.table-wrap th{background:#151a27;font-weight:700;white-space:nowrap;text-align:center}
.table-wrap td{background:rgba(255,255,255,.03)}
.table-wrap tr:nth-child(even) td{background:rgba(255,255,255,.06)}

/* ===== 付箋ボックス ===== */
.box-fusen{
  background:var(--bg-card);border-left:6px solid var(--yellow);
  padding:14px 18px;margin:20px 0;border-radius:4px;
}

/* ===== ステップ（タイムライン） ===== */
.timeline{list-style:none;margin:28px 0 32px;padding:0}
.timeline li{position:relative;padding:0 0 26px 38px}
/* 縦ライン：丸の中心(8px)に合わせる */
.timeline li::after{
  content:"";position:absolute;left:7px;top:12px;bottom:-12px;width:2px;
  background:var(--line);
}
.timeline li:last-child::after{display:none}
/* 丸：枠込み16px、中心8px */
.timeline li::before{
  content:"";position:absolute;left:0;top:4px;width:16px;height:16px;box-sizing:border-box;
  border-radius:50%;background:var(--bg);border:3px solid var(--pink);z-index:1;
}
.tl-label{display:block;font-size:13px;font-weight:700;color:var(--pink);letter-spacing:.1em;line-height:1.6}
.tl-title{display:block;font-size:18px;font-weight:700;margin:2px 0 8px}
.tl-body{border-bottom:1px dashed var(--line);padding-bottom:18px}
.tl-body img{margin:10px 0 14px}

/* ===== フッター ===== */
.back-top{text-align:center;margin:40px 0}
.back-top a{color:var(--text);font-weight:700}
.site-footer{
  background:var(--bg-deep);border-top:1px solid var(--line);
  color:var(--muted);font-size:12px;line-height:1.8;text-align:center;
  padding:28px 16px 36px;margin-top:64px;
}
.site-footer .logo-text{font-size:20px;display:inline-block;margin-bottom:8px}
.wallet-intro{max-width:640px;margin:0 auto 28px}

/* ===== ロゴ ===== */
.site-logo img{height:36px;width:auto}
.footer-logo{display:inline-block;margin-bottom:10px}
.footer-logo img{height:44px;width:auto;margin:0 auto}
.footer-nav{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:6px 0}
.footer-nav a{color:var(--muted);font-size:13px}
.site-footer .copy{margin:6px 0 0}

/* ===== 登録ボタン（本文幅） ===== */
.btn-wide{width:100%;max-width:none;min-width:0;flex:1 1 100%}

/* ===== 吹き出しアイコン拡大 ===== */
.talk-icon{flex:0 0 96px;width:96px;height:96px}
.talk-icon img{transform:scale(1.1);transform-origin:50% 10%;object-position:50% 0}
.talk-bubble{max-width:calc(100% - 124px);margin-top:20px}
@media (max-width:520px){
  .talk-icon{flex-basis:72px;width:72px;height:72px}
  .talk-bubble{max-width:calc(100% - 96px);margin-top:12px}
}

/* ===== 注意喚起（トップ最下部） ===== */
.caution{
  max-width:640px;margin:72px auto 0;padding:18px 20px;
  border:1px solid var(--line);border-radius:6px;
  color:var(--muted);font-size:12px;line-height:1.85;
}
.caution p{margin:0 0 .8em}
.caution-title{font-weight:700;font-size:13px;color:#d6dbe8}
.caution ul{margin:0;padding-left:1.2em}
.caution a{color:var(--muted)}

/* ===== 免責事項・プライバシーポリシー ===== */
.legal h2{font-size:clamp(18px,4.2vw,22px);margin:44px 0 16px}
.legal p,.legal li{font-size:15px}
.legal-date{margin-top:48px;color:var(--muted);text-align:right}
.btn-row:has(.btn-wide){margin:22px 0 28px}
.footer-note{max-width:640px;margin:14px auto 8px;font-size:11px;line-height:1.8;color:#8a91a6;text-align:left}
@media (min-width:521px){.footer-note{text-align:center}}
.pr-note{font-size:11px;color:#8a91a6;text-align:center;margin:-16px 0 20px;line-height:1.6}
.article .pr-note.pr-left{text-align:left;margin:-14px 0 18px;font-size:11px}

/* トップ見出し1行固定 */
.sec-title.one-line{white-space:nowrap}
@media (max-width:520px){.sec-title.one-line span{padding:0 0 8px}}

/* ===== 吹き出し内リンク・ページ内ジャンプ ===== */
.talk-bubble a{color:#d4166f;font-weight:700}
.article h2[id],.article h3[id]{scroll-margin-top:16px}

/* ===== トップ：モバイルでヘッダー下の余白を詰める ===== */
@media (max-width:520px){
  .hero + main .sec-title:first-of-type{margin-top:28px}
}
