@charset "utf-8";

.ui-widget-overlay {
    opacity: .3;
    filter: Alpha(Opacity=.3);
}

.text-danger {
    color: #dc3545;
}

#point_list th,
#point_list td {
    width: auto;
    font-size: 75%;
}

/* ============================================================
   BLITZ — 共通スタイル（サイトレイアウト用: 未ログインページ）
   ============================================================ */

:root{
  --col-bg:#080808;--col-bg2:#0f0f0f;--col-bg3:#161616;
  --col-border:#282828;--col-primary:#f0e000;--col-amber:#ffb800;
  --col-accent:#ff3c00;--col-text:#e8e8e8;--col-muted:#ffffff;
  --col-success:#00e880;
  --font-d:"Oswald","Barlow Condensed",sans-serif;
  --font-c:"Barlow Condensed",sans-serif;
  --font-b:"Noto Sans JP",sans-serif;
 --hero-img: url('../images/-hero-dark.jpg');
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--col-bg);color:var(--col-text);font-family:var(--font-b);font-size:14px;line-height:1.7;overflow-x:hidden;}
a{color:var(--col-primary);text-decoration:none;transition:color .2s;}
a:hover{color:var(--col-amber);}
img{vertical-align:bottom;}

.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(240,224,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(240,224,0,.025) 1px,transparent 1px);
  background-size:52px 52px;}
.bg-grid::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(240,224,0,.05) 0%,transparent 55%);}

/* ヘッダー */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;background:rgba(8,8,8,.92);border-bottom:1px solid rgba(240,224,0,.15);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.site-logo img{
width: 100px;
}

.pp-name img{width: 46px;}
@media (max-width: 576px){
  .hero-video{
    object-position: 80% center;
  }
}


.site-logo-row{display:flex;align-items:center;gap:4px;line-height:1;}
.site-logo .accent{color:var(--col-primary);}
.logo-bolt{color:var(--col-primary);font-size:18px;animation:bpulse 2s ease-in-out infinite;}
@keyframes bpulse{0%,100%{opacity:1;filter:drop-shadow(0 0 6px var(--col-primary));}50%{opacity:.5;filter:none;}}
.logo-sub{font-family:var(--font-b);font-size:8px;letter-spacing:.2em;color:var(--col-muted);font-weight:400;display:block;text-transform:uppercase;}
.header-nav{display:flex;align-items:center;gap:28px;}
.header-nav a{font-family:var(--font-c);font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--col-muted);text-transform:uppercase;transition:color .2s;}
.header-nav a:hover,.header-nav a.active{color:var(--col-primary);}
.btn-login{display:inline-flex;align-items:center;gap:8px;padding:9px 24px;font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--col-primary);border:none;color:#000;border-radius:2px;cursor:pointer;transition:all .25s;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));}
.btn-login:hover{background:#fff;box-shadow:0 0 20px rgba(240,224,0,.5);}

/* ページヒーロー */
.page-hero{position:relative;z-index:1;padding:112px 40px 56px;border-bottom:1px solid var(--col-border);background:linear-gradient(180deg,rgba(240,224,0,.04) 0%,transparent 100%);}
.page-hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--col-primary),transparent);opacity:.3;}
.page-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-c);font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--col-primary);text-transform:uppercase;margin-bottom:16px;}
.page-tag::before{content:"";display:block;width:24px;height:2px;background:var(--col-primary);}
.page-title{font-family:var(--font-d);font-size:clamp(44px,7vw,80px);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:.95;margin-bottom:16px;}
.page-desc{font-size:13px;color:var(--col-muted);line-height:2;max-width:480px;}

/* レイアウト */
.wrap{max-width:1100px;margin:0 auto;padding:0 40px;}
.section{position:relative;z-index:1;padding:72px 0;}
.section-wrap{max-width:1100px;margin:0 auto;padding:0 40px;}

/* セクションタイトル（複数ページ共通） */
.sec-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-c);font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--col-primary);text-transform:uppercase;margin-bottom:14px;}
.sec-tag::before{content:"";display:block;width:20px;height:2px;background:var(--col-primary);}
.sec-title{font-family:var(--font-d);font-size:clamp(28px,4vw,44px);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1;margin-bottom:8px;}
.sec-title .accent{color:var(--col-primary);}
.sec-desc{font-size:13px;color:var(--col-muted);line-height:2;max-width:600px;margin-top:12px;}

/* アニメーション */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ドキュメントページ（利用規約・プライバシーポリシー）共通 */
.header-back{font-family:var(--font-c);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--col-muted);display:flex;align-items:center;gap:8px;transition:color .2s;}
.header-back:hover{color:var(--col-primary);}
.page-wrap{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:104px 40px 80px;}

/* ── サイトフッター（共通） ── */
.site-footer{background:rgba(4,4,4,.92);border-top:2px solid var(--col-primary);padding:40px 40px 24px;position:relative;z-index:1;backdrop-filter:blur(12px);}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:32px;border-bottom:1px solid rgba(30,30,30,.8);flex-wrap:wrap;}
.footer-logo{font-family:var(--font-d);font-size:28px;font-weight:700;letter-spacing:.08em;color:#fff;text-transform:uppercase;}
.footer-logo img{width: 100px;}
.footer-logo .accent{color:var(--col-primary);}
.footer-desc{font-size:11px;color:var(--col-muted);margin-top:10px;max-width:220px;line-height:1.8;}
.footer-links{display:flex;gap:48px;flex-wrap:wrap;}
.footer-link-group h4{font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.25em;color:var(--col-primary);text-transform:uppercase;margin-bottom:16px;}
.footer-link-group a{display:block;font-size:12px;color:var(--col-muted);margin-bottom:10px;transition:color .2s;}
.footer-link-group a:hover{color:var(--col-text);}
.footer-cta-bar{max-width:1200px;margin:0 auto;padding:24px 0;border-bottom:1px solid rgba(30,30,30,.8);}
.footer-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--col-primary);color:#000;font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:all .3s;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));}
.footer-cta-btn:hover{background:#fff;box-shadow:0 0 24px rgba(240,224,0,.4);color:#000;}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.copyright{font-size:11px;color:#2a2a2a;font-family:var(--font-c);letter-spacing:.1em;}
.footer-warning{font-size:10px;color:#222;max-width:400px;line-height:1.6;}

/* ── ハンバーガーメニュー ── */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:6px;-webkit-tap-highlight-color:transparent;margin-left:8px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--col-text);transition:all .35s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── モバイルナビ ── */
.mobile-nav{display:none;position:fixed;inset:0;top:64px;z-index:99;background:rgba(8,8,8,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 20px 40px;flex-direction:column;overflow-y:auto;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--font-c);font-size:20px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--col-muted);padding:18px 0;border-bottom:1px solid var(--col-border);display:flex;align-items:center;justify-content:space-between;transition:color .2s;}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--col-primary);}
.mobile-nav .mobile-nav-cta{margin-top:28px;padding:18px;background:var(--col-primary);color:#000;font-family:var(--font-c);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));border:none;cursor:pointer;text-decoration:none;}
.mobile-nav .mobile-nav-cta:hover,.mobile-nav .mobile-nav-cta:focus{background:#fff;color:#000;}



/* レスポンシブ */
@media(max-width:992px){
  .site-header{padding:0 20px;}
  .header-nav .nav-links{display:none;}
  .hamburger{display:flex;}
  .wrap{padding:0 20px;}
  .section-wrap{padding:0 20px;}
  .page-hero{padding:100px 20px 48px;}
  .site-footer{padding:36px 20px 20px;}
  .footer-inner{gap:28px;}
  .footer-links{gap:28px;}
}
@media(max-width:576px){
  .site-header{padding:0 16px;height:56px;}
  .site-logo{font-size:29px;}
  .site-logo svg{height:1.52em;}
  .site-logo svg text.logo-svg-tagline{font-size:12.85px;letter-spacing:1.05px;}
  .logo-sub{display:none;}
  .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}
  .page-hero{padding:84px 16px 40px;}
  .page-title{font-size:clamp(36px,10vw,56px);}
  .wrap{padding:0 16px;}
  .section-wrap{padding:0 16px;}
  .section{padding:48px 0;}
  .sec-title{font-size:clamp(24px,6vw,32px);}
  .sec-desc{font-size:12px;}
  .page-wrap{padding:88px 16px 60px;}
  .mobile-nav{top:56px;}
  .site-footer{padding:28px 16px 16px;}
  .footer-bottom{flex-direction:column;gap:8px;}
  .footer-links{gap:20px;}
}


/* ============================================================
   contact.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
/* フォーム */
.page-contact .contact-wrap{display:grid;grid-template-columns:1fr 360px;
  gap:40px;align-items:start;}
.page-contact .contact-form-box{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:40px;position:relative;overflow:hidden;}
.page-contact .contact-form-box::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--col-primary),transparent);}

.page-contact .f-group{margin-bottom:24px;}
.page-contact .f-label{display:block;font-family:var(--font-c);font-size:10px;
  font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--col-muted);margin-bottom:8px;}
.page-contact .f-label .req{color:var(--col-primary);margin-left:4px;}
.page-contact .f-input, .page-contact .f-select, .page-contact .f-textarea{width:100%;background:rgba(240,224,0,.03);
  border:1px solid var(--col-border);
  padding:12px 16px;color:var(--col-text);
  font-family:var(--font-b);font-size:14px;
  outline:none;transition:border-color .25s;
  border-radius:0;}
.page-contact .f-input:focus, .page-contact .f-select:focus, .page-contact .f-textarea:focus{border-color:var(--col-primary);
  background:rgba(240,224,0,.05);}
.page-contact .f-input::placeholder, .page-contact .f-textarea::placeholder{color:#2a2a2a;}
.page-contact .f-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235a5a5a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer;}
.page-contact .f-select option{background:var(--col-bg2);color:var(--col-text);}
.page-contact .f-textarea{resize:vertical;min-height:160px;line-height:1.8;}

/* iOS自動ズーム防止 */
@media (max-width:576px){
  .page-contact .f-input, .page-contact .f-select, .page-contact .f-textarea{font-size:16px;}
}

.page-contact .btn-submit{display:inline-flex;align-items:center;gap:10px;
  padding:15px 40px;
  font-family:var(--font-c);font-size:14px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  background:var(--col-primary);color:#000;
  border:none;cursor:pointer;transition:all .3s;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));}
.page-contact .btn-submit:hover{background:#fff;box-shadow:0 0 24px rgba(240,224,0,.4);}
.page-contact .f-note{font-size:11px;color:var(--col-muted);margin-top:12px;line-height:1.8;}

/* 完了メッセージ */
.page-contact .success-msg{display:none;
  padding:24px;
  background:rgba(0,232,128,.06);
  border:1px solid rgba(0,232,128,.2);
  border-left:3px solid var(--col-success);
  margin-top:20px;}
.page-contact .success-msg .sm-title{font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--col-success);margin-bottom:6px;}
.page-contact .success-msg .sm-text{font-size:12px;color:var(--col-muted);line-height:1.9;}

/* サイドパネル */
.page-contact .contact-side{display:flex;flex-direction:column;gap:16px;}
.page-contact .side-card{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:24px 20px;position:relative;overflow:hidden;
  transition:border-color .3s;}
.page-contact .side-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--col-border);transition:background .3s;}
.page-contact .side-card:hover{border-color:rgba(240,224,0,.2);}
.page-contact .side-card:hover::before{background:var(--col-primary);}
.page-contact .sc-icon{font-size:20px;color:var(--col-primary);margin-bottom:12px;}
.page-contact .sc-title{font-family:var(--font-d);font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.page-contact .sc-desc{font-size:12px;color:var(--col-muted);line-height:1.9;}
.page-contact .sc-link{display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-c);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--col-primary);margin-top:12px;}
.page-contact .faq-link-card{background:rgba(240,224,0,.04);
  border:1px solid rgba(240,224,0,.15);
  padding:20px;text-align:center;}
.page-contact .faq-link-card p{font-size:12px;color:var(--col-muted);margin-bottom:14px;}
.page-contact .btn-faq{display:inline-flex;align-items:center;gap:8px;
  padding:11px 24px;
  font-family:var(--font-c);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(240,224,0,.3);
  color:var(--col-primary);cursor:pointer;transition:all .3s;
  width:100%;justify-content:center;}
.page-contact .btn-faq:hover{background:rgba(240,224,0,.06);border-color:var(--col-primary);}

/* インラインエラー */
.page-contact .f-err{font-size:11px;color:var(--col-accent);margin-top:5px;line-height:1.5;}
.page-contact .f-error {
    border-color: var(--col-accent);
}

/* レスポンシブ */
@media (max-width:992px){
  .page-contact .site-header{padding:0 20px;}
  .page-contact .header-nav .nav-links{display:none;}
  .page-contact .wrap{padding:0 20px;}
  .page-contact .contact-wrap{grid-template-columns:1fr;}
  .page-contact .contact-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .page-contact .page-hero{padding:100px 20px 48px;}
}
@media (max-width:576px){
  .page-contact .site-header{padding:0 16px;height:56px;}
  .page-contact .site-logo{font-size:29px;}
  .page-contact .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}
  .page-contact .page-hero{padding:84px 16px 40px;}
  .page-contact .page-title{font-size:clamp(36px,10vw,56px);}
  .page-contact .wrap{padding:0 16px;}
  .page-contact .section{padding:48px 0;}
  .page-contact .contact-form-box{padding:24px 16px;}
  .page-contact .contact-side{grid-template-columns:1fr;}
  .page-contact .btn-submit{width:100%;justify-content:center;}
}


/* ============================================================
   faq.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-faq .wrap{max-width:900px;}

/* カテゴリタブ */
.page-faq .cat-tabs{display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:40px;}
.page-faq .cat-tab{padding:8px 18px;
  font-family:var(--font-c);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:var(--col-bg2);border:1px solid var(--col-border);
  color:var(--col-muted);cursor:pointer;transition:all .25s;
  white-space:nowrap;}
.page-faq .cat-tab:hover{border-color:rgba(240,224,0,.3);color:var(--col-text);}
.page-faq .cat-tab.active{background:rgba(240,224,0,.08);border-color:var(--col-primary);color:var(--col-primary);}

/* FAQカテゴリブロック */
.page-faq .faq-category{display:none;}
.page-faq .faq-category.active{display:block;}
.page-faq .cat-title{display:flex;align-items:center;gap:12px;
  font-family:var(--font-c);font-size:11px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--col-primary);
  margin-bottom:20px;}
.page-faq .cat-title::after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(240,224,0,.3),transparent);}

/* アコーディオン */
.page-faq .faq-item{border-bottom:1px solid var(--col-border);
  overflow:hidden;}
.page-faq .faq-item:first-of-type{border-top:1px solid var(--col-border);}
.page-faq .faq-q{display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;padding:20px 0;
  cursor:pointer;transition:color .2s;
  font-size:14px;color:var(--col-text);font-weight:400;
  line-height:1.7;}
.page-faq .faq-q:hover{color:var(--col-primary);}
.page-faq .faq-q .q-mark{font-family:var(--font-d);font-size:18px;font-weight:700;
  color:var(--col-primary);flex-shrink:0;margin-top:1px;}
.page-faq .faq-q .q-text{flex:1;}
.page-faq .faq-q .q-icon{font-size:12px;color:var(--col-muted);flex-shrink:0;
  margin-top:4px;transition:transform .3s;}
.page-faq .faq-item.open .faq-q .q-icon{transform:rotate(180deg);color:var(--col-primary);}
.page-faq .faq-item.open .faq-q{color:var(--col-primary);}
.page-faq .faq-a{display:none;
  padding:0 0 20px 30px;
  font-size:13px;color:var(--col-muted);
  line-height:2;font-weight:300;}
.page-faq .faq-a strong{color:var(--col-text);font-weight:500;}
.page-faq .faq-a a{color:var(--col-primary);}

/* 解決しない場合のCTA */
.page-faq .contact-cta{margin-top:56px;
  background:rgba(240,224,0,.04);
  border:1px solid rgba(240,224,0,.15);
  padding:32px 36px;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
  position:relative;overflow:hidden;}
.page-faq .contact-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--col-primary),transparent);}
.page-faq .cta-text-wrap .cta-title{font-family:var(--font-d);font-size:20px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:4px;}
.page-faq .cta-text-wrap .cta-desc{font-size:12px;color:var(--col-muted);}
.page-faq .btn-contact{display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;
  font-family:var(--font-c);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:var(--col-primary);color:#000;
  border:none;cursor:pointer;transition:all .3s;
  flex-shrink:0;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));}
.page-faq .btn-contact:hover{background:#fff;box-shadow:0 0 20px rgba(240,224,0,.4);color:#000;}

/* 検索バー */
.page-faq #faqSearch:focus{border-color:rgba(240,224,0,.4);background:rgba(15,15,15,.8);outline:none;}
.page-faq #faqSearch::placeholder{color:#333;}

/* レスポンシブ */
@media (max-width:992px){
  .page-faq .site-header{padding:0 20px;}
  .page-faq .header-nav .nav-links{display:none;}
  .page-faq .wrap{padding:0 20px;}
  .page-faq .page-hero{padding:100px 20px 48px;}
}
@media (max-width:576px){
  .page-faq .site-header{padding:0 16px;height:56px;}
  .page-faq .site-logo{font-size:29px;}
  .page-faq .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}
  .page-faq .page-hero{padding:84px 16px 40px;}
  .page-faq .page-title{font-size:clamp(36px,10vw,56px);}
  .page-faq .wrap{padding:0 16px;}
  .page-faq .section{padding:48px 0;}
  .page-faq .cat-tab{font-size:10px;padding:7px 14px;}
  .page-faq .faq-q{font-size:13px;padding:16px 0;}
  .page-faq .faq-a{padding:0 0 16px 26px;font-size:12px;}
  .page-faq .contact-cta{padding:24px 20px;flex-direction:column;align-items:flex-start;}
  .page-faq .btn-contact{width:100%;justify-content:center;}
}


/* ============================================================
   features.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-features .ui-widget{font-family:"Noto Sans JP",sans-serif;}
.page-features .ui-dialog .ui-dialog-buttonpane .ui-button{background-image:none;background-color:#f0e000;border-color:#f0e000;color:#000;padding:.375rem .75rem;border-radius:2px;margin:0 4px;font-weight:700;}
.page-features .ui-dialog .ui-dialog-buttonpane .ui-button:last-child{background:#333;border-color:#333;color:#fff;}

/* セクションタイトル */

/* ══ データ解析セクション ══ */
.page-features .data-section{position:relative;z-index:1;
  padding:80px 0;
  border-bottom:1px solid var(--col-border);}
.page-features .data-grid{display:grid;grid-template-columns:1fr 1fr;
  gap:48px;align-items:center;margin-top:48px;}
.page-features .data-visual{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:32px;position:relative;overflow:hidden;}
.page-features .data-visual::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--col-primary),transparent);}
/* CSSアートのデータグラフ */
.page-features .data-bars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-bottom:16px;}
.page-features .bar{flex:1;background:var(--col-border);border-radius:2px 2px 0 0;
  position:relative;overflow:hidden;transition:height .8s ease;}
.page-features .bar::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,var(--col-primary),var(--col-amber));
  opacity:.8;}
.page-features .bar.b1{height:45%;}
.page-features .bar.b2{height:72%;}
.page-features .bar.b3{height:58%;}
.page-features .bar.b4{height:88%;}
.page-features .bar.b5{height:65%;}
.page-features .bar.b6{height:95%;}
.page-features .bar.b7{height:78%;}
.page-features .bar.highlight::after{opacity:1;box-shadow:0 0 12px rgba(240,224,0,.4);}
.page-features .data-label{font-family:var(--font-c);font-size:10px;letter-spacing:.14em;color:var(--col-muted);text-transform:uppercase;}
.page-features .data-points{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;}
.page-features .data-point{background:var(--col-bg3);border:1px solid var(--col-border);
  padding:16px;
  transition:border-color .3s;}
.page-features .data-point:hover{border-color:rgba(240,224,0,.3);}
.page-features .dp-num{font-family:var(--font-d);font-size:32px;font-weight:700;color:var(--col-primary);line-height:1;margin-bottom:4px;}
.page-features .dp-label{font-size:10px;color:var(--col-muted);letter-spacing:.1em;font-family:var(--font-c);text-transform:uppercase;}
.page-features .data-text p{font-size:13px;color:var(--col-muted);line-height:2;margin-bottom:16px;}
.page-features .data-text p:last-child{margin-bottom:0;}
.page-features .data-check-list{list-style:none;margin-top:20px;}
.page-features .data-check-list li{display:flex;align-items:flex-start;gap:10px;
  font-size:13px;color:var(--col-text);
  padding:10px 0;border-bottom:1px solid rgba(40,40,40,.8);}
.page-features .data-check-list li:last-child{border-bottom:none;}
.page-features .data-check-list li i{color:var(--col-primary);margin-top:3px;font-size:11px;flex-shrink:0;}

/* ══ コロガシ説明セクション ══ */
.page-features .korogashi-section{position:relative;z-index:1;
  padding:80px 0;
  background:var(--col-bg2);
  border-bottom:1px solid var(--col-border);}
.page-features .flow-steps{display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;margin-top:48px;position:relative;}
/* 矢印ライン */
.page-features .flow-steps::before{content:"";position:absolute;
  top:36px;left:calc(12.5%);right:calc(12.5%);
  height:2px;
  background:linear-gradient(to right,var(--col-primary),var(--col-amber));
  opacity:.4;z-index:0;}
.page-features .flow-step{text-align:center;padding:0 16px;
  position:relative;z-index:1;}
.page-features .step-num{width:72px;height:72px;border-radius:50%;
  background:var(--col-bg);
  border:2px solid var(--col-border);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  font-family:var(--font-d);font-size:22px;font-weight:700;
  color:var(--col-primary);
  transition:all .3s;position:relative;}
.page-features .flow-step:hover .step-num{border-color:var(--col-primary);
  box-shadow:0 0 20px rgba(240,224,0,.2);
  background:rgba(240,224,0,.06);}
.page-features .step-num .step-icon{font-size:24px;}
.page-features .step-title{font-family:var(--font-c);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:8px;}
.page-features .step-desc{font-size:11px;color:var(--col-muted);line-height:1.9;}
.page-features .step-arrow{position:absolute;top:36px;right:-20px;
  font-size:18px;color:rgba(240,224,0,.4);z-index:2;
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;}

/* コロガシ例 */
.page-features .korogashi-example{margin-top:48px;
  background:var(--col-bg);border:1px solid var(--col-border);
  padding:32px;position:relative;overflow:hidden;}
.page-features .korogashi-example::before{content:"EXAMPLE";
  position:absolute;top:50%;right:24px;transform:translateY(-50%);
  font-family:var(--font-d);font-size:80px;font-weight:700;
  color:rgba(240,224,0,.04);pointer-events:none;letter-spacing:.1em;}
.page-features .ke-label{font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--col-primary);margin-bottom:20px;}
.page-features .ke-route{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:20px;}
.page-features .ke-stop{font-family:var(--font-c);font-size:14px;font-weight:700;
  letter-spacing:.08em;
  padding:8px 18px;
  background:rgba(240,224,0,.08);
  border:1px solid rgba(240,224,0,.25);
  color:var(--col-text);}
.page-features .ke-stop.start{background:rgba(40,40,40,.8);border-color:var(--col-border);color:var(--col-muted);}
.page-features .ke-stop.last{background:var(--col-primary);color:#000;border-color:var(--col-primary);box-shadow:0 0 16px rgba(240,224,0,.3);}
.page-features .ke-arrow{color:var(--col-primary);font-size:18px;font-weight:700;}
.page-features .ke-result{display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding:16px 20px;background:rgba(240,224,0,.04);border:1px solid rgba(240,224,0,.15);}
.page-features .ke-result-label{font-family:var(--font-c);font-size:11px;letter-spacing:.16em;color:var(--col-muted);text-transform:uppercase;}
.page-features .ke-result-val{font-family:var(--font-d);font-size:28px;font-weight:700;color:var(--col-primary);}

/* ══ アナリスト紹介 ══ */
.page-features .analyst-section{position:relative;z-index:1;
  padding:80px 0;
  border-bottom:1px solid var(--col-border);}
.page-features .analyst-grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:20px;margin-top:48px;}
.page-features .analyst-card{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:28px 24px;
  transition:all .3s;position:relative;overflow:hidden;}
.page-features .analyst-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--col-border);transition:background .3s;}
.page-features .analyst-card:hover{border-color:rgba(240,224,0,.3);transform:translateY(-4px);}
.page-features .analyst-card:hover::after{background:var(--col-primary);}
.page-features .analyst-photo{width:72px;height:72px;border-radius:50%;
  background:var(--col-surface);border:2px solid var(--col-border);
  overflow:hidden;margin-bottom:18px;
  display:flex;align-items:center;justify-content:center;
  color:var(--col-muted);font-size:28px;
  transition:border-color .3s;}
.page-features .analyst-card:hover .analyst-photo{border-color:rgba(240,224,0,.4);}
.page-features .analyst-photo img{width:100%;height:100%;object-fit:cover;}
.page-features .analyst-name{font-family:var(--font-d);font-size:18px;font-weight:700;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.page-features .analyst-role{font-family:var(--font-c);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--col-primary);margin-bottom:12px;font-weight:600;}
.page-features .analyst-desc{font-size:12px;color:var(--col-muted);line-height:1.9;font-weight:300;}
.page-features .analyst-spec{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.page-features .spec-tag{font-family:var(--font-c);font-size:9px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  padding:2px 10px;
  border:1px solid rgba(240,224,0,.2);color:var(--col-muted);}

/* ══ サポート体制 ══ */
.page-features .support-section{position:relative;z-index:1;
  padding:80px 0;}
.page-features .support-grid{display:grid;grid-template-columns:repeat(2,1fr);
  gap:20px;margin-top:48px;}
.page-features .support-card{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:32px 28px;
  transition:all .3s;position:relative;overflow:hidden;}
.page-features .support-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;
  background:var(--col-border);transition:background .3s;}
.page-features .support-card:hover{border-color:rgba(240,224,0,.25);}
.page-features .support-card:hover::before{background:var(--col-primary);}
.page-features .sc-icon{width:48px;height:48px;
  background:rgba(240,224,0,.08);border:1px solid rgba(240,224,0,.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--col-primary);font-size:20px;
  margin-bottom:20px;transition:all .3s;}
.page-features .support-card:hover .sc-icon{background:var(--col-primary);color:#000;}
.page-features .sc-title{font-family:var(--font-d);font-size:20px;font-weight:700;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
.page-features .sc-desc{font-size:12px;color:var(--col-muted);line-height:2;}
.page-features .sc-detail{margin-top:16px;
  font-family:var(--font-c);font-size:11px;
  letter-spacing:.1em;color:var(--col-primary);
  display:flex;align-items:center;gap:8px;}
.page-features .sc-detail::before{content:"→";}

/* フロートCTA */
.page-features .float-cta{position:fixed;bottom:28px;right:24px;z-index:200;}
.page-features .float-cta a{display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;
  font-family:var(--font-c);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:var(--col-primary);color:#000;
  border:none;cursor:pointer;
  box-shadow:0 6px 24px rgba(240,224,0,.3);
  transition:all .3s;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));}
.page-features .float-cta a:hover{background:#fff;box-shadow:0 8px 32px rgba(240,224,0,.5);color:#000;}

/* アニメ */

/* レスポンシブ */
@media (max-width:992px){
  .page-features .site-header{padding:0 20px;}
  .page-features .header-nav .nav-links{display:none;}
  .page-features .wrap{padding:0 20px;}
  .page-features .data-grid{grid-template-columns:1fr;}
  .page-features .flow-steps{grid-template-columns:repeat(2,1fr);gap:32px;}
  .page-features .flow-steps::before{display:none;}
  .page-features .step-arrow{display:none;}
  .page-features .analyst-grid{grid-template-columns:1fr 1fr;}
  .page-features .support-grid{grid-template-columns:1fr;}
  .page-features .page-hero{padding:100px 20px 48px;}
  .page-features .data-section, .page-features .korogashi-section, .page-features .analyst-section, .page-features .support-section{padding:56px 0;}
}
@media (max-width:576px){
  /* ヘッダー */
  .page-features .site-header{padding:0 16px;height:56px;}
  .page-features .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}

  /* ページヒーロー */
  .page-features .page-hero{padding:80px 16px 36px;}
  .page-features .page-title{font-size:clamp(36px,10vw,56px);line-height:1;}

  /* セクション */
  .page-features .wrap{padding:0 16px;}
  .page-features .data-section, .page-features .korogashi-section, .page-features .analyst-section, .page-features .support-section{padding:48px 0;}
  .page-features .sec-title{font-size:clamp(24px,6vw,32px);}
  .page-features .sec-desc{font-size:12px;}

  /* データ */
  .page-features .data-points{grid-template-columns:1fr 1fr;}
  .page-features .dp-num{font-size:26px;}
  .page-features .data-visual{padding:20px;}
  .page-features .data-check-list li{font-size:12px;}

  /* コロガシフロー */
  .page-features .flow-steps{grid-template-columns:1fr;gap:24px;}
  .page-features .step-num{width:60px;height:60px;font-size:18px;}

  /* コロガシ例 */
  .page-features .korogashi-example{padding:20px 16px;}
  .page-features .ke-route{gap:8px;}
  .page-features .ke-stop{font-size:12px;padding:6px 12px;}
  .page-features .ke-arrow{font-size:14px;}
  .page-features .ke-result{gap:14px;padding:12px 14px;flex-wrap:wrap;}
  .page-features .ke-result-val{font-size:22px;}

  /* アナリスト */
  .page-features .analyst-grid{grid-template-columns:1fr;}
  .page-features .analyst-card{padding:22px 18px;}
  .page-features .analyst-name{font-size:16px;}
  .page-features .analyst-desc{font-size:12px;}

  /* サポート */
  .page-features .support-card{padding:24px 18px;}
  .page-features .sc-title{font-size:17px;}
  .page-features .sc-desc{font-size:12px;line-height:1.9;}

  /* フロートCTA — スマホでは下部バーに変更 */
  .page-features .float-cta{bottom:0;right:0;left:0;
    padding:0;}
  .page-features .float-cta a{display:flex;width:100%;justify-content:center;
    padding:16px;font-size:13px;
    clip-path:none;border-radius:0;
    box-shadow:0 -4px 20px rgba(240,224,0,.2);}
}


/* ============================================================
   login.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
/* 背景 */
.page-login .bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(240,224,0,.025) 1px,transparent 1px),
                  linear-gradient(90deg,rgba(240,224,0,.025) 1px,transparent 1px);
  background-size:52px 52px;}
.page-login .bg-grid::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(240,224,0,.07) 0%,transparent 55%);}
/* 稲妻アニメ */
.page-login .bg-lightning{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;overflow:hidden;}
.page-login .lightning-line{position:absolute;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(240,224,0,.15),transparent);
  animation:lFlash 4s ease-in-out infinite;}
.page-login .lightning-line:nth-child(1){left:15%;height:60%;top:10%;animation-delay:0s;}
.page-login .lightning-line:nth-child(2){left:72%;height:45%;top:20%;animation-delay:1.5s;}
.page-login .lightning-line:nth-child(3){left:45%;height:50%;top:5%;animation-delay:3s;}
@keyframes lFlash{0%,90%,100%{opacity:0;}95%{opacity:1;}}

/* メインレイアウト */
.page-login .login-wrap{position:relative;z-index:1;
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 480px;}

/* 左パネル */
.page-login .login-left{display:flex;flex-direction:column;
  justify-content:space-between;
  padding:48px;
  border-right:1px solid var(--col-border);
  position:relative;overflow:hidden;}
.page-login .login-left::before{content:"BLITZ";
  position:absolute;
  bottom:-0.1em;left:-0.05em;
  font-family:var(--font-d);font-size:clamp(140px,18vw,240px);
  font-weight:700;color:rgba(240,224,0,.03);
  line-height:1;pointer-events:none;letter-spacing:.04em;
  white-space:nowrap;}
.page-login .left-top{}
.page-login .left-logo{font-family:var(--font-d);font-size:36px;font-weight:700;
  letter-spacing:.08em;color:#fff;text-transform:uppercase;
  display:flex;align-items:baseline;gap:4px;margin-bottom:4px;}
.page-login .left-logo .accent{color:var(--col-primary);}
.page-login .logo-bolt-lg{color:var(--col-primary);font-size:20px;animation:bpulse 2s ease-in-out infinite;}
@keyframes bpulse{0%,100%{opacity:1;filter:drop-shadow(0 0 8px var(--col-primary));}50%{opacity:.4;filter:none;}}
.page-login .left-sub{font-family:var(--font-b);font-size:9px;letter-spacing:.22em;color:var(--col-muted);text-transform:uppercase;}
.page-login .left-copy{margin-top:auto;padding-top:80px;}
.page-login .left-catchcopy{font-family:var(--font-d);
  font-size:clamp(28px,3.5vw,46px);
  font-weight:700;color:#fff;
  text-transform:uppercase;letter-spacing:.04em;
  line-height:1.1;margin-bottom:16px;}
.page-login .left-catchcopy .accent{color:var(--col-primary);}
.page-login .left-desc{font-size:12px;color:var(--col-muted);line-height:2;max-width:320px;}
.page-login .left-stats{display:flex;gap:24px;margin-top:32px;flex-wrap:wrap;}
.page-login .lst{padding:14px 16px;
  background:rgba(240,224,0,.04);border:1px solid rgba(240,224,0,.12);
  min-width:90px;}
.page-login .lst-val{font-family:var(--font-d);font-size:24px;font-weight:700;color:var(--col-primary);line-height:1;}
.page-login .lst-label{font-family:var(--font-c);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--col-muted);margin-top:4px;}
.page-login .left-bottom{padding-top:40px;
  display:flex;gap:16px;flex-wrap:wrap;}
.page-login .left-bottom a{font-family:var(--font-c);font-size:10px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--col-muted);transition:color .2s;}
.page-login .left-bottom a:hover{color:var(--col-primary);}

/* 右パネル（フォーム） */
.page-login .login-right{display:flex;flex-direction:column;
  justify-content:center;
  padding:60px 48px;
  background:var(--col-bg2);}
.page-login .form-head{margin-bottom:40px;}
.page-login .form-tag{font-family:var(--font-c);font-size:10px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--col-primary);margin-bottom:10px;
  display:flex;align-items:center;gap:10px;}
.page-login .form-tag::before{content:"";display:block;width:14px;height:2px;background:var(--col-primary);}
.page-login .form-title{font-family:var(--font-d);font-size:40px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  color:#fff;line-height:1;margin-bottom:8px;}
.page-login .form-sub{font-size:12px;color:var(--col-muted);}

/* フォーム要素 */
.page-login .f-group{margin-bottom:22px;}
.page-login .f-label{display:block;font-family:var(--font-c);font-size:10px;
  font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--col-muted);margin-bottom:8px;}
.page-login .f-input{width:100%;background:rgba(0,0,0,.4);
  border:1px solid var(--col-border);
  border-bottom:1px solid #383838;
  padding:13px 16px;color:var(--col-text);
  font-family:var(--font-b);font-size:16px;
  outline:none;transition:all .25s;border-radius:0;}
.page-login .f-input:focus{border-color:var(--col-primary);
  background:rgba(240,224,0,.04);
  box-shadow:0 2px 0 var(--col-primary);}
.page-login .f-input::placeholder{color:#2a2a2a;}

/* パスワード表示切替 */
.page-login .f-input-wrap{position:relative;}
.page-login .f-input-wrap .f-input{padding-right:44px;}
.page-login .toggle-pw{position:absolute;right:14px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--col-muted);
  cursor:pointer;font-size:14px;transition:color .2s;
  padding:4px;}
.page-login .toggle-pw:hover{color:var(--col-primary);}

/* 送信ボタン */
.page-login .btn-submit{width:100%;padding:15px;
  background:var(--col-primary);color:#000;
  font-family:var(--font-c);font-size:14px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  border:none;cursor:pointer;margin-top:8px;
  transition:all .3s;
  display:flex;align-items:center;justify-content:center;gap:10px;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));}
.page-login .btn-submit:hover{background:#fff;box-shadow:0 0 28px rgba(240,224,0,.4);}
.page-login .btn-submit .btn-icon{font-size:12px;}

/* サブリンク */
.page-login .form-links{display:flex;justify-content:space-between;align-items:center;
  margin-top:20px;flex-wrap:wrap;gap:10px;}
.page-login .form-link{font-family:var(--font-b);font-size:11px;
  color:var(--col-muted);transition:color .2s;}
.page-login .form-link:hover{color:var(--col-primary);}

/* 区切り */
.page-login .form-divider{display:flex;align-items:center;gap:12px;
  margin:28px 0;}
.page-login .form-divider span{font-family:var(--font-c);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--col-muted);flex-shrink:0;}
.page-login .form-divider::before, .page-login .form-divider::after{content:"";flex:1;height:1px;background:var(--col-border);}

/* 新規登録ブロック */
.page-login .register-block{background:rgba(240,224,0,.04);
  border:1px solid rgba(240,224,0,.15);
  padding:20px;
  text-align:center;}
.page-login .register-block p{font-size:12px;color:var(--col-muted);margin-bottom:14px;line-height:1.8;}
.page-login .register-block p strong{color:var(--col-primary);}
.page-login .btn-register{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:13px;
  font-family:var(--font-c);font-size:13px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  background:transparent;
  border:1px solid rgba(240,224,0,.3);color:var(--col-primary);
  cursor:pointer;transition:all .3s;}
.page-login .btn-register:hover{background:rgba(240,224,0,.08);border-color:var(--col-primary);}

/* LINE登録 */
.page-login .line-block{display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:#06C755;
  cursor:pointer;transition:all .3s;
  text-decoration:none;
  margin-top:12px;}
.page-login .line-block:hover{background:#05a847;box-shadow:0 4px 16px rgba(6,199,85,.3);}
.page-login .line-icon-box{width:28px;height:28px;background:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.page-login .line-icon-box svg{width:20px;height:20px;}
.page-login .line-block-text{flex:1;}
.page-login .line-block-title{font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;line-height:1;}
.page-login .line-block-sub{font-size:11px;color:rgba(255,255,255,.7);margin-top:2px;}
.page-login .line-block-arrow{color:rgba(255,255,255,.6);font-size:12px;}

/* 注記 */
.page-login .form-note{margin-top:20px;font-size:10px;color:var(--col-muted);line-height:1.8;text-align:center;}
.page-login .form-note a{color:rgba(90,90,90,.8);text-decoration:underline;}

/* スマホ */
@media (max-width:768px){
  .page-login .login-wrap{grid-template-columns:1fr;}
  .page-login .login-left{display:none;}
  .page-login .login-right{min-height:100vh;
    padding:52px 24px 40px;
    justify-content:flex-start;
    padding-top:64px;}
  /* スマホ用ロゴ */
  .page-login .mobile-logo{display:flex;align-items:baseline;gap:4px;
    font-family:var(--font-d);font-size:32px;font-weight:700;
    letter-spacing:.08em;color:#fff;text-transform:uppercase;
    margin-bottom:40px;}
  .page-login .mobile-logo .accent{color:var(--col-primary);}
  .page-login .mobile-logo .bolt{color:var(--col-primary);font-size:18px;animation:bpulse 2s ease-in-out infinite;}
  .page-login .form-title{font-size:32px;}
}
@media (min-width:769px){
  .page-login .mobile-logo{display:none;}

/* LINEメインボタン */
.page-login .line-block-main{display:flex;align-items:center;gap:16px;
  padding:20px 22px;
  background:#06C755;
  cursor:pointer;transition:all .3s;
  text-decoration:none;margin-bottom:20px;
  box-shadow:0 6px 28px rgba(6,199,85,.3);}
.page-login .line-block-main:hover{background:#05a847;box-shadow:0 8px 36px rgba(6,199,85,.5);transform:translateY(-2px);}
.page-login .line-icon-box-lg{width:44px;height:44px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.page-login .line-icon-box-lg svg, .page-login .line-icon-box-lg img{width:30px;height:30px;display:block;}
.page-login .line-block-main-text{flex:1;}
.page-login .line-block-main-title{font-family:var(--font-c);font-size:17px;font-weight:700;letter-spacing:.1em;color:#fff;line-height:1;margin-bottom:4px;}
.page-login .line-block-main-sub{font-size:11px;color:rgba(255,255,255,.75);}

/* 特典バナー */
.page-login .bonus-block{display:flex;align-items:flex-start;gap:14px;
  padding:16px 18px;
  background:rgba(240,224,0,.06);
  border:1px solid rgba(240,224,0,.2);
  border-left:3px solid var(--col-primary);
  margin-bottom:24px;}
.page-login .bonus-title{font-family:var(--font-c);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--col-primary);margin-bottom:4px;}
.page-login .bonus-desc{font-size:13px;color:var(--col-text);line-height:1.7;}
.page-login .bonus-desc strong{color:var(--col-primary);}
.page-login .bonus-note{font-size:10px;color:var(--col-muted);margin-top:4px;line-height:1.7;}

/* 手順 */
.page-login .steps-block{background:var(--col-bg3);border:1px solid var(--col-border);
  padding:20px;margin-bottom:20px;}
.page-login .steps-title{font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--col-muted);margin-bottom:16px;}
.page-login .steps{display:flex;flex-direction:column;gap:0;}
.page-login .step{display:flex;align-items:center;gap:12px;padding:10px 0;}
.page-login .step-num{font-family:var(--font-d);font-size:18px;font-weight:700;color:var(--col-primary);flex-shrink:0;width:28px;}
.page-login .step-text{font-size:12px;color:var(--col-text);}
.page-login .step-arrow{padding:2px 0 2px 14px;font-size:10px;color:var(--col-muted);}
}


/* ============================================================
   plans.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-plans .ui-widget{font-family:"Noto Sans JP",sans-serif;}
.page-plans .ui-dialog .ui-dialog-buttonpane .ui-button{background-image:none;background-color:#f0e000;border-color:#f0e000;color:#000;padding:.375rem .75rem;border-radius:2px;margin:0 4px;font-weight:700;}
.page-plans .ui-dialog .ui-dialog-buttonpane .ui-button:last-child{background:#333;border-color:#333;color:#fff;}

/* ── 重要バナー（日替わり説明） ── */
.page-plans .notice-banner{position:relative;z-index:1;
  background:rgba(240,224,0,.06);
  border:1px solid rgba(240,224,0,.2);
  border-left:4px solid var(--col-primary);
  padding:20px 28px;
  margin-bottom:56px;
  display:flex;align-items:flex-start;gap:16px;}
.page-plans .notice-icon{color:var(--col-primary);font-size:18px;flex-shrink:0;margin-top:2px;}
.page-plans .notice-title{font-family:var(--font-c);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:4px;}
.page-plans .notice-text{font-size:12px;color:var(--col-muted);line-height:1.9;}
.page-plans .notice-text strong{color:var(--col-primary);}

/* ── プランカテゴリラベル ── */
.page-plans .plan-category{display:flex;align-items:center;gap:16px;
  font-family:var(--font-c);font-size:11px;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--col-muted);
  margin-bottom:20px;
  margin-top:48px;}
.page-plans .plan-category:first-child{margin-top:0;}
.page-plans .plan-category::after{content:"";flex:1;height:1px;background:var(--col-border);}
.page-plans .plan-category.daily{color:var(--col-primary);}
.page-plans .plan-category.daily::after{background:linear-gradient(to right,rgba(240,224,0,.3),transparent);}

/* おすすめバッジ */
.page-plans .plan-card{position:relative;}
.page-plans .plan-rec-badge{position:absolute;top:-1px;right:-1px;
  background:var(--col-primary);color:#000;
  font-family:var(--font-c);font-size:9px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  padding:4px 12px;
  clip-path:polygon(0 0,100% 0,100% 100%,8px 100%);}
.page-plans .plan-subcatch{font-size:11px;color:var(--col-muted);margin-top:4px;line-height:1.7;}

/* ── プランカード ── */
.page-plans .plans-grid{display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:8px;}
.page-plans .plans-grid.two-col{grid-template-columns:repeat(2,1fr);}
.page-plans .plans-grid.four-col{grid-template-columns:repeat(4,1fr);}

.page-plans .plan-card{background:var(--col-bg2);
  border:1px solid var(--col-border);
  padding:0;overflow:hidden;
  position:relative;
  transition:all .3s;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);}
.page-plans .plan-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--col-border);transition:background .3s;}
.page-plans .plan-card:hover{border-color:rgba(240,224,0,.35);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.5);}
.page-plans .plan-card:hover::after{background:var(--col-primary);}

/* 日替わりカード */
.page-plans .plan-card.daily-card{border-color:rgba(240,224,0,.2);
  background:linear-gradient(160deg,rgba(240,224,0,.06),var(--col-bg2));}
.page-plans .plan-card.daily-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--col-primary),var(--col-amber));
  opacity:.6;}
.page-plans .plan-card.daily-card:hover{border-color:var(--col-primary);box-shadow:0 0 40px rgba(240,224,0,.1),0 16px 48px rgba(0,0,0,.5);}

/* ゼウス（最上位） */
.page-plans .plan-card.zeus{background:linear-gradient(160deg,rgba(240,224,0,.12),rgba(255,184,0,.05),var(--col-bg2));
  border-color:rgba(240,224,0,.4);
  box-shadow:0 0 40px rgba(240,224,0,.08);}
.page-plans .plan-card.zeus::after{background:linear-gradient(to right,var(--col-primary),var(--col-amber));}
.page-plans .plan-card.zeus:hover{box-shadow:0 0 60px rgba(240,224,0,.15),0 20px 56px rgba(0,0,0,.6);}

.page-plans .plan-header{padding:24px 22px 18px;border-bottom:1px solid var(--col-border);}
.page-plans .plan-badge{display:inline-block;font-family:var(--font-c);font-size:9px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  padding:2px 10px;margin-bottom:12px;}
.page-plans .plan-badge.daily-badge{background:var(--col-primary);color:#000;}
.page-plans .plan-badge.top-badge{background:linear-gradient(135deg,var(--col-primary),var(--col-amber));color:#000;}
.page-plans .plan-name{font-family:var(--font-d);font-size:24px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;
  line-height:1;margin-bottom:14px;}
.page-plans .plan-name-ja{font-size:10px;color:var(--col-muted);letter-spacing:.12em;margin-bottom:0;}
.page-plans .plan-price-row{display:flex;align-items:baseline;gap:4px;}
.page-plans .plan-price-num{font-family:var(--font-d);font-size:44px;font-weight:700;color:var(--col-primary);line-height:1;letter-spacing:.02em;}
.page-plans .zeus .plan-price-num{color:var(--col-amber);}
.page-plans .plan-price-unit{font-family:var(--font-c);font-size:16px;color:rgba(240,224,0,.5);}

.page-plans .plan-body{padding:18px 22px 22px;}
.page-plans .plan-info{display:flex;flex-direction:column;gap:8px;
  margin-bottom:18px;}
.page-plans .plan-info-row{display:flex;justify-content:space-between;align-items:center;
  font-size:11px;padding:7px 0;
  border-bottom:1px solid rgba(40,40,40,.8);}
.page-plans .plan-info-row:last-child{border-bottom:none;}
.page-plans .pi-label{color:var(--col-muted);font-family:var(--font-c);letter-spacing:.1em;text-transform:uppercase;font-size:10px;}
.page-plans .pi-val{color:var(--col-text);font-weight:600;font-family:var(--font-c);letter-spacing:.06em;}
.page-plans .pi-val.accent{color:var(--col-primary);}
.page-plans .daily-card .pi-val.accent{color:var(--col-amber);}

.page-plans .btn-plan{display:block;width:100%;padding:12px;
  font-family:var(--font-c);font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  background:transparent;border:1px solid var(--col-border);
  color:var(--col-text);cursor:pointer;transition:all .3s;}
.page-plans .btn-plan:hover{border-color:var(--col-primary);color:var(--col-primary);background:rgba(240,224,0,.04);}
.page-plans .btn-plan.primary-btn{background:var(--col-primary);border-color:transparent;color:#000;}
.page-plans .btn-plan.primary-btn:hover{background:#fff;box-shadow:0 4px 20px rgba(240,224,0,.4);}

/* 日替わりバッジ（カード右上） */
.page-plans .daily-rotate-badge{position:absolute;top:12px;right:12px;
  font-family:var(--font-c);font-size:8px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--col-primary);
  border:1px solid rgba(240,224,0,.3);
  padding:2px 8px;
  background:rgba(240,224,0,.06);}

/* ── ポイント説明 ── */
.page-plans .point-explain{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:36px 40px;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  position:relative;overflow:hidden;
  margin-top:56px;}
.page-plans .point-explain::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--col-primary),var(--col-amber),transparent);}
.page-plans .pe-section-title{font-family:var(--font-c);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--col-primary);margin-bottom:20px;}
.page-plans .pe-rate-list{display:flex;flex-direction:column;gap:0;}
.page-plans .pe-rate-item{display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid rgba(40,40,40,.8);
  font-size:13px;}
.page-plans .pe-rate-item:last-child{border-bottom:none;}
.page-plans .pe-rate-label{color:var(--col-muted);font-family:var(--font-c);letter-spacing:.1em;}
.page-plans .pe-rate-val{color:#fff;font-family:var(--font-d);font-size:20px;font-weight:700;color:var(--col-primary);}
.page-plans .pay-methods{display:flex;flex-direction:column;gap:10px;}
.page-plans .pay-method{display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  background:var(--col-bg3);border:1px solid var(--col-border);
  font-size:12px;color:var(--col-text);
  transition:border-color .2s;}
.page-plans .pay-method:hover{border-color:rgba(240,224,0,.2);}
.page-plans .pay-method i{color:var(--col-primary);width:18px;text-align:center;}

/* ── 比較表 ── */
.page-plans .compare-section{padding:72px 0;}
.page-plans .compare-table{width:100%;border-collapse:collapse;font-size:12px;}
.page-plans .compare-table th{background:var(--col-surface);
  padding:14px 16px;
  font-family:var(--font-c);font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--col-muted);text-align:center;
  border:1px solid var(--col-border);}
.page-plans .compare-table th.plan-col{color:#fff;font-size:13px;letter-spacing:.1em;}
.page-plans .compare-table th.plan-col.hl{color:var(--col-primary);}
.page-plans .compare-table td{padding:13px 16px;
  border:1px solid rgba(40,40,40,.6);
  text-align:center;color:var(--col-text);
  vertical-align:middle;}
.page-plans .compare-table td.feature-name{text-align:left;color:var(--col-muted);
  font-family:var(--font-c);letter-spacing:.08em;
  background:rgba(28,28,28,.5);}
.page-plans .compare-table tr:hover td{background:rgba(240,224,0,.02);}
.page-plans .check-y{color:var(--col-primary);font-size:14px;}
.page-plans .check-n{color:rgba(90,90,90,.4);font-size:12px;}
.page-plans .val-cell{font-family:var(--font-d);font-size:16px;font-weight:700;color:var(--col-primary);}

/* セクションタイトル */

/* アニメ */

/* レスポンシブ */
@media (max-width:992px){
  .page-plans .site-header{padding:0 20px;}
  .page-plans .header-nav .nav-links{display:none;}
  .page-plans .wrap{padding:0 20px;}
  .page-plans .plans-grid{grid-template-columns:repeat(2,1fr);}
  .page-plans .plans-grid.four-col{grid-template-columns:repeat(2,1fr);}
  .page-plans .point-explain{grid-template-columns:1fr;gap:28px;}
  .page-plans .page-hero{padding:100px 20px 48px;}
}
@media (max-width:576px){
  /* ヘッダー */
  .page-plans .site-header{padding:0 16px;height:56px;}
  .page-plans .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}

  /* ページヒーロー */
  .page-plans .page-hero{padding:80px 16px 36px;}
  .page-plans .page-title{font-size:clamp(36px,10vw,56px);line-height:1;}
  .page-plans .page-desc{font-size:12px;}

  /* セクション */
  .page-plans .wrap{padding:0 16px;}
  .page-plans .section{padding:48px 0;}

  /* プランカード */
  .page-plans .plans-grid, .page-plans .plans-grid.two-col, .page-plans .plans-grid.four-col{grid-template-columns:1fr;}
  .page-plans .plan-header{padding:20px 18px 16px;}
  .page-plans .plan-name{font-size:20px;}
  .page-plans .plan-price-num{font-size:38px;}
  .page-plans .plan-body{padding:14px 18px 18px;}
  .page-plans .plan-info-row{font-size:12px;padding:8px 0;}
  .page-plans .pi-label{font-size:10px;}
  .page-plans .btn-plan{font-size:12px;padding:12px;}

  /* バナー */
  .page-plans .notice-banner{padding:16px 14px;gap:10px;}
  .page-plans .notice-title{font-size:13px;}
  .page-plans .notice-text{font-size:11px;}

  /* ポイント説明 */
  .page-plans .point-explain{padding:24px 16px;gap:20px;}
  .page-plans .pe-rate-item{font-size:12px;}
  .page-plans .pe-rate-val{font-size:17px;}
  .page-plans .pay-method{font-size:11px;padding:10px 12px;}

  /* 比較表は非表示（スマホには不向き） */
  .page-plans .compare-section{display:none;}
}


/* ============================================================
   preview-changes.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-preview-changes *{box-sizing:border-box;margin:0;padding:0;}
.page-preview-changes{background:#080808;color:#e8e8e8;font-family:"Noto Sans JP",sans-serif;font-size:15px;}
.page-preview-changes h2{font-family:"Oswald",sans-serif;font-size:28px;color:#f0e000;margin:40px 0 20px;text-align:center;letter-spacing:.1em;}
.page-preview-changes h3{font-family:"Barlow Condensed",sans-serif;font-size:18px;color:#aaa;margin:10px 0 30px;text-align:center;letter-spacing:.15em;font-weight:400;}
.page-preview-changes .section{padding:40px 20px;max-width:1200px;margin:0 auto;}
.page-preview-changes .divider{height:1px;background:linear-gradient(90deg,transparent,rgba(240,224,0,.3),transparent);margin:40px 0;}
.page-preview-changes .compare{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0;}
.page-preview-changes .compare-item{border:1px solid #282828;border-radius:8px;overflow:hidden;}
.page-preview-changes .compare-label{padding:10px 16px;background:#161616;font-family:"Barlow Condensed",sans-serif;font-size:13px;letter-spacing:.15em;color:#5a5a5a;text-transform:uppercase;}
.page-preview-changes .compare-label.new{color:#00e880;}
.page-preview-changes .compare-label.old{color:#ff3c00;}

/* ── ロゴプレビュー ── */
.page-preview-changes .logo-preview{padding:30px;display:flex;align-items:center;justify-content:center;background:#0a0a0a;min-height:100px;}
.page-preview-changes .logo-preview svg{height:50px;width:auto;}
.page-preview-changes .logo-preview-large{padding:50px;display:flex;align-items:center;justify-content:center;background:#080808;min-height:200px;border:1px solid #282828;border-radius:8px;margin:20px 0;}
.page-preview-changes .logo-preview-large svg{height:80px;width:auto;}

/* ── ヒーロープレビュー ── */
.page-preview-changes .hero-preview{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#080808;}
.page-preview-changes .hero-preview img{width:100%;height:100%;object-fit:cover;}
.page-preview-changes .hero-preview-svg{width:100%;height:100%;object-fit:cover;}

/* ── ヒーローモックアップ ── */
.page-preview-changes .hero-mock{position:relative;min-height:70vh;overflow:hidden;background:#080808;border:1px solid #282828;border-radius:8px;margin:30px 0;}
.page-preview-changes .hero-mock-photo{position:absolute;top:0;right:-2%;width:68%;height:100%;overflow:hidden;}
.page-preview-changes .hero-mock-photo svg{width:100%;height:100%;display:block;}
.page-preview-changes .hero-mock-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#080808 0%,#080808 14%,rgba(8,8,8,.88) 20%,rgba(8,8,8,.50) 28%,rgba(8,8,8,.10) 36%,transparent 44%);}
.page-preview-changes .hero-mock-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.35) 0%,rgba(8,8,8,0) 15%,rgba(8,8,8,0) 52%,rgba(8,8,8,.65) 72%,#080808 88%);}
.page-preview-changes .hero-mock-glow{position:absolute;top:0;right:0;bottom:0;width:72%;background:radial-gradient(ellipse 70% 55% at 70% 38%,rgba(240,224,0,.14) 0%,transparent 58%),radial-gradient(ellipse 55% 40% at 78% 78%,rgba(0,60,180,.15) 0%,transparent 55%);pointer-events:none;z-index:2;}
.page-preview-changes .hero-mock-inner{position:relative;z-index:4;padding:80px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;min-height:70vh;}
.page-preview-changes .hero-tag{display:inline-flex;align-items:center;gap:10px;font-family:"Barlow Condensed",sans-serif;font-size:12px;font-weight:600;letter-spacing:.3em;color:#f0e000;text-transform:uppercase;margin-bottom:24px;}
.page-preview-changes .hero-tag::before{content:"";display:block;width:32px;height:2px;background:#f0e000;}
.page-preview-changes .hero-title{font-family:"Oswald",sans-serif;font-size:clamp(52px,8vw,100px);font-weight:700;line-height:.88;letter-spacing:-.01em;color:#fff;text-transform:uppercase;margin-bottom:28px;}
.page-preview-changes .hero-title .ly{color:#f0e000;display:block;text-shadow:0 0 40px rgba(240,224,0,.3);}
.page-preview-changes .hero-title .ls{display:block;-webkit-text-stroke:2px rgba(255,255,255,.6);color:transparent;}
.page-preview-changes .hero-desc{font-size:14px;color:#5a5a5a;line-height:2;margin-bottom:40px;max-width:480px;}
.page-preview-changes .hero-cta{display:flex;gap:16px;flex-wrap:wrap;}
.page-preview-changes .btn-p{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:#f0e000;color:#000;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));}
.page-preview-changes .btn-o{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:transparent;color:#e8e8e8;font-family:"Barlow Condensed",sans-serif;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);border-radius:2px;cursor:pointer;}
.page-preview-changes .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.page-preview-changes .stat-card{padding:24px 20px;background:rgba(15,15,15,.6);border:1px solid rgba(240,224,0,.15);backdrop-filter:blur(16px);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);position:relative;}
.page-preview-changes .stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#f0e000;opacity:.4;}
.page-preview-changes .stat-num{font-family:"Oswald",sans-serif;font-size:48px;font-weight:700;color:#f0e000;line-height:1;margin-bottom:6px;}
.page-preview-changes .stat-label{font-family:"Barlow Condensed",sans-serif;font-size:11px;font-weight:600;letter-spacing:.15em;color:#5a5a5a;text-transform:uppercase;}

@media (max-width:768px){
  .page-preview-changes .compare{grid-template-columns:1fr;}
  .page-preview-changes .hero-mock-inner{grid-template-columns:1fr;padding:60px 20px;}
  .page-preview-changes .hero-mock-photo{width:100%;opacity:.4;}
}



          @keyframes blitz-bolt-pulse{0%,100%{opacity:1;filter:drop-shadow(0 0 2px rgba(255,255,255,.35)) drop-shadow(0 0 5px rgba(240,224,0,.4))}50%{opacity:.62;filter:drop-shadow(0 0 1px rgba(255,255,255,.2)) drop-shadow(0 0 3px rgba(240,224,0,.22))}}
          @keyframes blitz-wave-flow{0%{transform:translateX(0)}100%{transform:translateX(-8px)}}
          .page-preview-changes .logo-bolt-svg{animation:blitz-bolt-pulse 2s ease-in-out infinite}
          .page-preview-changes .logo-wave-flow{animation:blitz-wave-flow 3s ease-in-out infinite alternate}
        


          @keyframes pm-rock{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(2px,-3px) rotate(-1deg)}}
          @keyframes pm-shimmer{0%{opacity:.3}50%{opacity:.6}100%{opacity:.3}}
          @keyframes pm-spray{0%{opacity:.7;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(-60px,-40px) scale(1.5)}}
          .page-preview-changes .pm-boat{animation:pm-rock 4s ease-in-out infinite;transform-origin:420px 400px}
          .page-preview-changes .pm-shimmer{animation:pm-shimmer 3s ease-in-out infinite}
          .page-preview-changes .pm-spray{animation:pm-spray 1.8s ease-out infinite}


/* ============================================================
   privacy.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-privacy .doc-header{padding-bottom:32px;margin-bottom:48px;border-bottom:1px solid var(--col-border);position:relative;}
.page-privacy .doc-header::after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:1px;background:var(--col-primary);}
.page-privacy .doc-tag{font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--col-primary);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.page-privacy .doc-tag::before{content:"";display:block;width:16px;height:2px;background:var(--col-primary);}
.page-privacy .doc-title{font-family:var(--font-d);font-size:clamp(28px,5vw,52px);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;}
.page-privacy .doc-meta{margin-top:16px;font-size:12px;color:var(--col-muted);}

.page-privacy .doc-preamble{background:rgba(240,224,0,.04);border:1px solid rgba(240,224,0,.12);border-left:3px solid var(--col-primary);padding:20px 24px;margin-bottom:48px;font-size:13px;color:rgba(232,232,232,.75);line-height:2;}

.page-privacy .article{margin-bottom:44px;}
.page-privacy .article-title{font-family:var(--font-c);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:12px 0;border-bottom:1px solid var(--col-border);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.page-privacy .article-title::before{content:"";display:block;width:6px;height:6px;background:var(--col-primary);transform:rotate(45deg);flex-shrink:0;}
.page-privacy .article-body{font-size:13px;color:rgba(232,232,232,.75);line-height:2.1;}
.page-privacy .article-body p{margin-bottom:10px;}
.page-privacy .article-body p:last-child{margin-bottom:0;}
.page-privacy .article-body ol{padding-left:1.4em;margin:8px 0;}
.page-privacy .article-body ol li{margin-bottom:8px;padding-left:4px;}
.page-privacy .article-body ul{padding-left:1.4em;list-style:none;margin:8px 0;}
.page-privacy .article-body ul li{margin-bottom:6px;padding-left:4px;position:relative;}
.page-privacy .article-body ul li::before{content:"—";color:var(--col-muted);position:absolute;left:-1.2em;}
.page-privacy .article-body strong{color:var(--col-text);font-weight:500;}

.page-privacy .doc-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:36px;border-top:1px solid var(--col-border);}
.page-privacy .doc-link{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;font-family:var(--font-c);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--col-bg2);border:1px solid var(--col-border);color:var(--col-muted);transition:all .25s;}
.page-privacy .doc-link:hover{border-color:var(--col-primary);color:var(--col-primary);}

@media (max-width:576px){
  .page-privacy .site-header{padding:0 16px;height:56px;}
  .page-privacy .site-logo{font-size:29px;}
  .page-privacy .page-wrap{padding:88px 16px 60px;}
  .page-privacy .doc-preamble{padding:16px 14px;}
  .page-privacy .article-body{font-size:12px;}
}


/* ============================================================
   results.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
/* セクションタイトル */

/* ── サマリーカード ── */
.page-results .summary-grid{display:grid;grid-template-columns:repeat(4,1fr);
  gap:12px;margin-bottom:48px;}
.page-results .summary-card{background:var(--col-bg2);border:1px solid var(--col-border);
  padding:20px 18px;position:relative;overflow:hidden;
  transition:border-color .3s;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);}
.page-results .summary-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--col-border);transition:background .3s;}
.page-results .summary-card:hover{border-color:rgba(240,224,0,.3);}
.page-results .summary-card:hover::before{background:linear-gradient(to right,var(--col-primary),transparent);}
.page-results .sc-label{font-family:var(--font-c);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--col-muted);margin-bottom:8px;}
.page-results .sc-val{font-family:var(--font-d);font-size:36px;font-weight:700;color:var(--col-primary);line-height:1;}
.page-results .sc-val.amber{color:var(--col-amber);}
.page-results .sc-sub{font-size:11px;color:var(--col-muted);margin-top:4px;}

/* ── フィルタータブ ── */
.page-results .filter-tabs{display:flex;gap:0;
  border-bottom:2px solid var(--col-border);
  margin-bottom:32px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;}
.page-results .filter-tab{padding:12px 20px;flex-shrink:0;
  font-family:var(--font-c);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:none;color:var(--col-muted);
  cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;
  transition:all .2s;white-space:nowrap;}
.page-results .filter-tab:hover{color:var(--col-text);}
.page-results .filter-tab.active{color:var(--col-primary);border-bottom-color:var(--col-primary);}

/* ── コロガシカード ── */
.page-results .results-grid{display:flex;flex-direction:column;gap:12px;}

.page-results .result-card{background:var(--col-bg2);border:1px solid var(--col-border);
  overflow:hidden;transition:all .3s;
  border-left:3px solid var(--col-border);}
.page-results .result-card.win{border-left-color:var(--col-primary);}
.page-results .result-card.miss{border-left-color:var(--col-accent);opacity:.7;}
.page-results .result-card:hover{border-color:rgba(240,224,0,.25);background:var(--col-bg3);}

.page-results .rc-header{display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
  border-bottom:1px solid rgba(40,40,40,.6);
  gap:12px;flex-wrap:wrap;}
.page-results .rc-date{font-family:var(--font-d);font-size:14px;font-weight:700;
  letter-spacing:.1em;color:#fff;}
.page-results .rc-plan{font-family:var(--font-c);font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  padding:2px 10px;
  border:1px solid var(--col-border);color:var(--col-muted);}
.page-results .rc-plan.bolt{border-color:rgba(240,224,0,.2);color:var(--col-primary);}
.page-results .rc-plan.surge{border-color:rgba(240,224,0,.3);color:var(--col-primary);background:rgba(240,224,0,.06);}
.page-results .rc-plan.overdrive{border-color:rgba(255,184,0,.3);color:var(--col-amber);background:rgba(255,184,0,.06);}
.page-results .rc-plan.premium{border-color:rgba(255,184,0,.4);color:var(--col-amber);background:rgba(255,184,0,.08);}
.page-results .rc-badge{font-family:var(--font-c);font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  padding:3px 12px;margin-left:auto;}
.page-results .rc-badge.win{background:rgba(240,224,0,.12);color:var(--col-primary);border:1px solid rgba(240,224,0,.2);}
.page-results .rc-badge.miss{background:rgba(255,60,0,.1);color:var(--col-accent);border:1px solid rgba(255,60,0,.2);}

.page-results .rc-body{padding:16px 20px;}
.page-results .rc-route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.page-results .rc-stop{font-family:var(--font-c);font-size:13px;font-weight:700;
  letter-spacing:.06em;padding:6px 14px;
  background:rgba(240,224,0,.07);
  border:1px solid rgba(240,224,0,.2);
  color:var(--col-text);white-space:nowrap;}
.page-results .rc-stop.last{background:var(--col-primary);color:#000;border-color:var(--col-primary);box-shadow:0 2px 12px rgba(240,224,0,.25);}
.page-results .rc-stop.out{background:transparent;border-color:var(--col-border);color:var(--col-muted);text-decoration:line-through;}
.page-results .rc-arrow{color:var(--col-primary);font-size:14px;flex-shrink:0;opacity:.6;}

.page-results .rc-footer{display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;}
.page-results .rc-type{font-family:var(--font-c);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--col-muted);}
.page-results .rc-amount{font-family:var(--font-d);font-size:26px;font-weight:700;color:var(--col-primary);letter-spacing:.04em;line-height:1;}
.page-results .rc-amount.miss-amt{font-size:16px;color:var(--col-muted);}

/* ── プラン別スコアボード ── */
.page-results .plan-boards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.page-results .plan-board{background:var(--col-bg2);border:1px solid var(--col-border);
  overflow:hidden;transition:border-color .3s;}
.page-results .plan-board:hover{border-color:rgba(240,224,0,.25);}
.page-results .pb-header{padding:14px 16px;
  background:var(--col-surface);
  border-bottom:1px solid var(--col-border);
  display:flex;align-items:center;justify-content:space-between;
  position:relative;}
.page-results .pb-header::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--col-border);}
.page-results .pb-header.bolt::before{background:linear-gradient(to right,var(--col-primary),transparent);}
.page-results .pb-header.surge::before{background:linear-gradient(to right,var(--col-primary),var(--col-amber));}
.page-results .pb-header.overdrive::before{background:linear-gradient(to right,var(--col-amber),transparent);}
.page-results .pb-header.premium::before{background:linear-gradient(to right,var(--col-amber),var(--col-primary));}
.page-results .pb-name{font-family:var(--font-d);font-size:18px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;}
.page-results .pb-pt{font-family:var(--font-d);font-size:14px;color:var(--col-primary);}
.page-results .pb-stats{display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--col-border);}
.page-results .pb-stat{background:var(--col-bg2);padding:12px 8px;text-align:center;}
.page-results .pb-stat-val{font-family:var(--font-d);font-size:22px;font-weight:700;color:var(--col-primary);line-height:1;}
.page-results .pb-stat-val.amber{color:var(--col-amber);}
.page-results .pb-stat-label{font-family:var(--font-c);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--col-muted);margin-top:3px;}
.page-results .pb-records{border-top:1px solid var(--col-border);}
.page-results .pb-row{display:flex;align-items:center;gap:12px;
  padding:11px 20px;
  border-bottom:1px solid rgba(40,40,40,.5);
  font-size:12px;}
.page-results .pb-row:last-child{border-bottom:none;}
.page-results .pb-row-date{color:var(--col-muted);font-family:var(--font-c);letter-spacing:.06em;flex-shrink:0;width:40px;}
.page-results .pb-row-route{flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.page-results .pb-stop-sm{font-family:var(--font-c);font-size:11px;font-weight:600;
  padding:2px 8px;
  background:rgba(240,224,0,.07);
  border:1px solid rgba(240,224,0,.18);
  color:var(--col-text);white-space:nowrap;}
.page-results .pb-stop-sm.last{background:var(--col-primary);color:#000;border-color:var(--col-primary);}
.page-results .pb-stop-sm.out{background:transparent;border-color:var(--col-border);color:var(--col-muted);text-decoration:line-through;}
.page-results .pb-arrow-sm{color:rgba(240,224,0,.4);font-size:10px;}
.page-results .pb-row-amount{font-family:var(--font-d);font-size:16px;font-weight:700;color:var(--col-primary);flex-shrink:0;}
.page-results .pb-row-amount.miss{color:var(--col-muted);font-size:12px;}
.page-results .pb-row-badge{flex-shrink:0;font-family:var(--font-c);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;}
.page-results .pb-row-badge.w{background:rgba(240,224,0,.1);color:var(--col-primary);}
.page-results .pb-row-badge.m{background:rgba(255,60,0,.08);color:var(--col-muted);}

/* アニメ */

/* レスポンシブ */
@media (max-width:992px){
  .page-results .site-header{padding:0 20px;}
  .page-results .header-nav .nav-links{display:none;}
  .page-results .wrap{padding:0 20px;}
  .page-results .summary-grid{grid-template-columns:repeat(2,1fr);}
  .page-results .plan-boards{grid-template-columns:repeat(2,1fr);gap:12px;}
  .page-results .page-hero{padding:100px 20px 48px;}
}
@media (max-width:576px){
  .page-results .site-header{padding:0 16px;height:56px;}
  .page-results .site-logo{font-size:29px;}
  .page-results .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}
  .page-results .page-hero{padding:84px 16px 40px;}
  .page-results .page-title{font-size:clamp(36px,10vw,56px);}
  .page-results .wrap{padding:0 16px;}
  .page-results .section{padding:48px 0;}
  .page-results .summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .page-results .sc-val{font-size:28px;}
  .page-results .filter-tab{font-size:11px;padding:10px 14px;letter-spacing:.08em;}
  .page-results .rc-header{padding:12px 14px;}
  .page-results .rc-body{padding:12px 14px;}
  .page-results .rc-stop{font-size:11px;padding:4px 10px;}
  .page-results .rc-amount{font-size:20px;}
  .page-results .rc-footer{gap:10px;}
  .page-results .plan-boards{grid-template-columns:repeat(2,1fr);gap:8px;}
  .page-results .pb-header{padding:12px 12px;}
  .page-results .pb-name{font-size:15px;}
  .page-results .pb-pt{font-size:12px;}
  .page-results .pb-stat-val{font-size:18px;}
  .page-results .pb-row{padding:10px 14px;gap:8px;}
  .page-results .pb-row-amount{font-size:14px;}
  .page-results .pb-stop-sm{font-size:10px;padding:2px 6px;}
}

/* ページネーション */
.page-results .pagination-wrap{display:flex;align-items:center;justify-content:center;
  gap:8px;margin-top:40px;flex-wrap:wrap;}
.page-results .pg-btn{width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-c);font-size:13px;font-weight:700;
  letter-spacing:.06em;
  background:var(--col-bg2);
  border:1px solid var(--col-border);
  color:var(--col-muted);
  cursor:pointer;transition:all .25s;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));}
.page-results .pg-btn:hover{border-color:var(--col-primary);color:var(--col-primary);}
.page-results .pg-btn.active{background:var(--col-primary);color:#000;border-color:var(--col-primary);}
.page-results .pg-btn.disabled{opacity:.3;cursor:not-allowed;pointer-events:none;}
.page-results .pg-dots{font-family:var(--font-c);font-size:13px;
  color:var(--col-muted);letter-spacing:.1em;}
.page-results .pg-note{width:100%;text-align:center;
  font-family:var(--font-b);font-size:11px;
  color:var(--col-muted);margin-top:8px;}


/* ============================================================
   terms.html 専用スタイル（inline CSS を common.css へ移設）
   ============================================================ */
.page-terms .doc-header{padding-bottom:32px;margin-bottom:48px;border-bottom:1px solid var(--col-border);position:relative;}
.page-terms .doc-header::after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:1px;background:var(--col-primary);}
.page-terms .doc-tag{font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--col-primary);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.page-terms .doc-tag::before{content:"";display:block;width:16px;height:2px;background:var(--col-primary);}
.page-terms .doc-title{font-family:var(--font-d);font-size:clamp(36px,6vw,60px);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1;}
.page-terms .doc-meta{margin-top:16px;font-size:12px;color:var(--col-muted);}

/* 前文 */
.page-terms .doc-preamble{background:rgba(240,224,0,.04);border:1px solid rgba(240,224,0,.12);
  border-left:3px solid var(--col-primary);
  padding:20px 24px;margin-bottom:48px;
  font-size:13px;color:rgba(232,232,232,.75);line-height:2;}

/* 条文 */
.page-terms .article{margin-bottom:44px;}
.page-terms .article-title{font-family:var(--font-c);font-size:14px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  padding:12px 0;
  border-bottom:1px solid var(--col-border);
  margin-bottom:20px;
  display:flex;align-items:center;gap:12px;}
.page-terms .article-title::before{content:"";display:block;width:6px;height:6px;
  background:var(--col-primary);transform:rotate(45deg);flex-shrink:0;}
.page-terms .article-body{font-size:13px;color:rgba(232,232,232,.75);line-height:2.1;}
.page-terms .article-body p{margin-bottom:10px;}
.page-terms .article-body p:last-child{margin-bottom:0;}
.page-terms .article-body ol{padding-left:1.4em;margin:8px 0;}
.page-terms .article-body ol li{margin-bottom:8px;padding-left:4px;}
.page-terms .article-body ul{padding-left:1.4em;list-style:none;margin:8px 0;}
.page-terms .article-body ul li{margin-bottom:6px;padding-left:4px;position:relative;}
.page-terms .article-body ul li::before{content:"—";color:var(--col-muted);position:absolute;left:-1.2em;}
.page-terms .article-body strong{color:var(--col-text);font-weight:500;}

/* ページリンク */
.page-terms .doc-links{display:flex;gap:16px;flex-wrap:wrap;
  margin-top:56px;padding-top:36px;
  border-top:1px solid var(--col-border);}
.page-terms .doc-link{display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;
  font-family:var(--font-c);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  background:var(--col-bg2);border:1px solid var(--col-border);
  color:var(--col-muted);transition:all .25s;}
.page-terms .doc-link:hover{border-color:var(--col-primary);color:var(--col-primary);}

/* レスポンシブ */
@media (max-width:576px){
  .page-terms .site-header{padding:0 16px;height:56px;}
  .page-terms .site-logo{font-size:29px;}
  .page-terms .page-wrap{padding:88px 16px 60px;}
  .page-terms .doc-preamble{padding:16px 14px;}
  .page-terms .article-body{font-size:12px;}
}


/* ==============================
   INDEX / TOP PAGE ONLY
============================== */
/* ── Bootstrap × jQuery UI 干渉防止 ── */
.page-top .ui-widget{font-family:"Noto Sans JP",sans-serif;}
.page-top .ui-dialog .ui-dialog-buttonpane .ui-button{background-image:none;background-color:#f0e000;border-color:#f0e000;color:#000;padding:.375rem .75rem;font-size:1rem;border-radius:2px;margin:0 4px;font-weight:700;}
.page-top .ui-dialog .ui-dialog-buttonpane .ui-button:last-child{background-color:#333;border-color:#333;color:#fff;}
/* ── 変数 ── */
.page-top{--col-bg:      #080808;
  --col-bg2:     #0f0f0f;
  --col-bg3:     #161616;
  --col-surface: #1c1c1c;
  --col-border:  #282828;
  --col-primary: #f0e000;
  --col-amber:   #ffb800;
  --col-accent:  #ff3c00;
  --col-text:    #e8e8e8;
  --col-muted:   #ffffff;
  --col-danger:  #ff3c00;
  --col-success: #00e880;
  --glass-bg:    rgba(15,15,15,.55);
  --glass-border:rgba(240,224,0,.18);
  --glass-blur:  blur(18px);
  --font-d: "Oswald","Barlow Condensed",sans-serif;
  --font-c: "Barlow Condensed",sans-serif;
  --font-b: "Noto Sans JP",sans-serif;
  }
.page-top *, .page-top *::before, .page-top *::after{box-sizing:border-box;margin:0;padding:0;}
.page-top{scroll-behavior:smooth;}
.page-top{background:var(--col-bg);color:var(--col-text);font-family:var(--font-b);font-size:15px;line-height:1.7;overflow-x:hidden;}


/* ══════════════════════════════════════
   背景レイヤー（固定・全体）
══════════════════════════════════════ */
/* ① CSS生成の動く海面 */
.page-top .bg-ocean{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    /* 深層グラデ */
    linear-gradient(180deg,#080808 0%,#0a1018 40%,#080c14 70%,#080808 100%);
  overflow:hidden;}
.page-top .bg-ocean::before{content:"";position:absolute;inset:0;
  /* 光の筋 */
  background:
    radial-gradient(ellipse 120% 60% at 50% -10%,rgba(240,224,0,.07) 0%,transparent 60%),
    radial-gradient(ellipse 80% 40% at 20% 110%,rgba(255,60,0,.05) 0%,transparent 50%),
    radial-gradient(ellipse 60% 60% at 80% 80%,rgba(0,80,180,.08) 0%,transparent 50%);}
/* ② 波ライン（SVG風CSSアート） */
.page-top .bg-waves{position:fixed;bottom:0;left:0;width:100%;height:320px;z-index:0;pointer-events:none;
  overflow:hidden;opacity:.35;}
.page-top .wave{position:absolute;bottom:0;left:-5%;width:110%;
  border-radius:50% 50% 0 0/30% 30% 0 0;}
.page-top .wave1{height:140px;
  background:linear-gradient(180deg,rgba(0,80,180,.25) 0%,transparent 100%);
  animation:waveMove 12s ease-in-out infinite alternate;}
.page-top .wave2{height:100px;
  background:linear-gradient(180deg,rgba(240,224,0,.08) 0%,transparent 100%);
  animation:waveMove 8s ease-in-out infinite alternate-reverse;
  bottom:10px;}
.page-top .wave3{height:60px;
  background:linear-gradient(180deg,rgba(0,120,220,.15) 0%,transparent 100%);
  animation:waveMove 15s ease-in-out infinite alternate;
  bottom:20px;}
@keyframes waveMove{0%{transform:translateX(0) scaleY(1);}
  100%{transform:translateX(-4%) scaleY(1.08);}}
/* ③ グリッド格子 */
.page-top .bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(240,224,0,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,224,0,.025) 1px,transparent 1px);
  background-size:52px 52px;}
/* ④ スピードライン（高速感） */
.page-top .bg-speed{position:fixed;inset:0;z-index:0;pointer-events:none;
  overflow:hidden;}
.page-top .speed-line{position:absolute;top:0;width:1px;height:100%;
  background:linear-gradient(to bottom,transparent 0%,rgba(240,224,0,.12) 50%,transparent 100%);
  animation:speedDrop 4s linear infinite;
  opacity:0;}
.page-top .speed-line:nth-child(1){left:15%;animation-delay:0s;animation-duration:3.5s;}
.page-top .speed-line:nth-child(2){left:35%;animation-delay:1.2s;animation-duration:4.2s;}
.page-top .speed-line:nth-child(3){left:55%;animation-delay:2.1s;animation-duration:3.8s;}
.page-top .speed-line:nth-child(4){left:72%;animation-delay:.6s;animation-duration:4.5s;}
.page-top .speed-line:nth-child(5){left:88%;animation-delay:1.8s;animation-duration:3.2s;}
@keyframes speedDrop{0%{transform:translateY(-100%);opacity:0;}
  10%{opacity:1;}
  90%{opacity:.6;}
  100%{transform:translateY(100%);opacity:0;}}
/* ⑤ 稲妻 */
.page-top .lightning{position:fixed;top:0;right:18%;width:2px;height:55vh;z-index:0;pointer-events:none;opacity:0;animation:lflash 9s ease-in-out infinite;}
.page-top .lightning::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent,var(--col-primary),transparent);filter:blur(2px);}
@keyframes lflash{0%,88%,100%{opacity:0;}90%,92%,94%{opacity:.7;}91%,93%{opacity:0;}}
/* ══════════════════════════════════════
   ガラス（Glassmorphism）コンポーネント
══════════════════════════════════════ */
.page-top .glass{background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);}
.page-top .glass-dark{background:rgba(8,8,8,.72);
  border:1px solid rgba(240,224,0,.1);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);}
.page-top .glass-strong{background:rgba(10,10,10,.82);
  border:1px solid rgba(240,224,0,.22);
  backdrop-filter:blur(32px);
  -webkit-backdrop-filter:blur(32px);}
/* ── ヘッダー ── */
.page-top .site-header{position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;height:64px;
  background:rgba(8,8,8,.75);
  border-bottom:1px solid rgba(240,224,0,.2);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);}





@keyframes bpulse{0%,100%{opacity:1;filter:drop-shadow(0 0 6px var(--col-primary));}50%{opacity:.5;filter:none;}}

.page-top .header-nav{display:flex;align-items:center;gap:32px;}
.page-top .header-nav .nav-links{display:flex;gap:32px;align-items:center;}
.page-top .header-nav a{font-family:var(--font-c);font-size:14px;font-weight:600;letter-spacing:.12em;color:var(--col-muted);text-transform:uppercase;transition:color .2s;}
.page-top .header-nav a:hover{color:var(--col-primary);}


/* ── ハンバーガー / モバイルナビ（992px以下で表示） ── */








.page-top .mobile-nav a:hover, .page-top .mobile-nav a.active{color:var(--col-primary);}

.page-top .mobile-nav .mobile-nav-cta:hover, .page-top .mobile-nav .mobile-nav-cta:focus{background:#fff;color:#000;}
.mobile-nav-cta img{width: 30px;}
/* ── ヒーロー ── */
.page-top .hero{position:relative;z-index:1;
  min-height:100vh;display:flex;align-items:center;
  padding:80px 40px 80px;overflow:hidden;}
/* 実写画像レイヤー（彩度を抑え UIトーンに寄せる） */
.page-top .hero-photo{position:absolute;
  top:0;right:-2%;
  width:68%;height:100%;
  background-image:var(--hero-img);
  background-size:cover;
  background-position:43% 22%;
  will-change:transform;
  filter:contrast(1.06) brightness(0.86) saturate(0.72);}
/* 左へダークに溶かす＋ごく薄いイエローでブランド色に接続 */
.page-top .hero-photo::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(
      112deg,
      #080808            0%,
      #080808            10%,
      rgba(6,10,18,.94)  16%,
      rgba(8,14,24,.55)  24%,
      rgba(12,20,34,.12) 32%,
      transparent        40%
    ),
    linear-gradient(90deg, rgba(240,224,0,.06) 0%, transparent 30%);}
/* 下方向：水面ブルーの残光＋フッターへ繋ぐヴィネット */
.page-top .hero-photo::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(
      to bottom,
      rgba(8,8,8,.38)   0%,
      rgba(8,8,8,0)     14%,
      rgba(8,8,8,0)     50%,
      rgba(0,48,96,.16) 66%,
      rgba(8,8,8,.72)   80%,
      #080808           90%
    );}
/* 右端フェード */
.page-top .hero-photo-right-fade{position:absolute;
  top:0;right:0;bottom:0;width:18%;
  background:linear-gradient(to right,transparent,#080808);
  z-index:1;pointer-events:none;}
/* BLITZイエロー×水面ブルーの2色グロー */
.page-top .hero-photo-glow{position:absolute;
  top:0;right:0;bottom:0;
  width:72%;
  background:
    radial-gradient(ellipse 64% 50% at 68% 36%, rgba(240,224,0,.2) 0%, transparent 58%),
    radial-gradient(ellipse 52% 40% at 76% 74%, rgba(0,72,168,.2) 0%, transparent 56%);
  pointer-events:none;z-index:2;}
/* 右側斜めストライプ（写真上にオーバーレイ） */
.page-top .hero::before{content:"";position:absolute;top:0;right:0;width:48%;height:100%;
  background:repeating-linear-gradient(-52deg,transparent,transparent 22px,rgba(240,224,0,.024) 22px,rgba(240,224,0,.024) 23px);
  pointer-events:none;z-index:3;}
.page-top .hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:4;}
.page-top .hero-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-c);font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--col-primary);text-transform:uppercase;margin-bottom:24px;}
.page-top .hero-tag::before{content:"";display:block;width:32px;height:2px;background:var(--col-primary);}
.page-top .hero-title{font-family:var(--font-d);font-size:clamp(72px,10vw,128px);font-weight:700;line-height:.88;letter-spacing:-.01em;color:#fff;text-transform:uppercase;margin-bottom:28px;animation:fadeUp .7s ease both;}
.page-top .hero-title .ly{color:var(--col-primary);display:block;text-shadow:0 0 40px rgba(240,224,0,.3);}
.page-top .hero-title .ls{display:block;-webkit-text-stroke:2px rgba(255,255,255,.6);color:transparent;}
.page-top .hero-desc{font-size:16px;color:var(--col-muted);line-height:2;margin-bottom:40px;max-width:480px;animation:fadeUp .7s .15s ease both;}
.page-top .hero-cta{display:flex;gap:16px;flex-wrap:wrap;animation:fadeUp .7s .3s ease both;}
.page-top .btn-p{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--col-primary);color:#000;font-family:var(--font-c);font-weight:700;font-size:16px;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:all .25s;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));}
.page-top .btn-p:hover{background:#fff;box-shadow:0 0 32px rgba(240,224,0,.5);color:#000;transform:translateY(-2px);}
.page-top .btn-p img{width: 30px;}
.page-top .btn-o{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:transparent;color:var(--col-text);font-family:var(--font-c);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);border-radius:2px;cursor:pointer;transition:all .25s;}
.page-top .btn-o:hover{border-color:var(--col-primary);color:var(--col-primary);}
/* ヒーロー右 ─ ガラス統計カード */
.page-top .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;animation:fadeUp .7s .2s ease both;}
.page-top .stat-card{padding:24px 20px;position:relative;overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
  transition:all .3s;
  /* ガラス */
  background:rgba(15,15,15,.6);
  border:1px solid rgba(240,224,0,.15);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);}
.page-top .stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--col-primary);opacity:.4;transition:opacity .3s;}
.page-top .stat-card:hover{border-color:rgba(240,224,0,.4);box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(240,224,0,.1);}
.page-top .stat-card:hover::before{opacity:1;}
.page-top .stat-num{font-family:var(--font-d);font-size:48px;font-weight:700;color:var(--col-primary);line-height:1;margin-bottom:6px;}
.page-top .stat-label{font-family:var(--font-c);font-size:14px;font-weight:600;letter-spacing:.15em;color:var(--col-muted);text-transform:uppercase;}
/* ── ティッカー ── */
.page-top .ticker-wrap{background:var(--col-primary);padding:10px 0;overflow:hidden;position:relative;z-index:1;}
.page-top .ticker-track{display:flex;animation:tickerScroll 28s linear infinite;white-space:nowrap;}
.page-top .ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 32px;font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.08em;color:#000;border-right:2px solid rgba(0,0,0,.15);text-transform:uppercase;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
/* ── セクション共通 ── */
.page-top section{position:relative;z-index:1;}
.page-top .section-wrap{max-width:1200px;margin:0 auto;padding:0 40px;}
.page-top .section-title{margin-bottom:56px;}
.page-top .section-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-c);font-size:16px;font-weight:600;letter-spacing:.3em;color:var(--col-primary);text-transform:uppercase;margin-bottom:16px;}
.page-top .section-tag::before{content:"";display:block;width:24px;height:2px;background:var(--col-primary);}
.page-top .section-title h2{font-family:var(--font-d);font-size:clamp(40px,5.5vw,64px);font-weight:700;color:#fff;letter-spacing:.02em;text-transform:uppercase;line-height:1;}
.page-top .section-title h2 .accent{color:var(--col-primary);}
.page-top .section-title p{font-size:16px;color:var(--col-muted);margin-top:16px;max-width:520px;line-height:1.9;}
/* ── ポイント説明バナー ── */
.page-top .point-banner{position:relative;z-index:1;
  margin:0;padding:32px 0;
  border-top:1px solid rgba(240,224,0,.12);
  border-bottom:1px solid rgba(240,224,0,.12);
  background:rgba(240,224,0,.04);
  backdrop-filter:blur(8px);}
.page-top .point-banner-inner{max-width:1200px;margin:0 auto;padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.page-top .point-info{display:flex;align-items:center;gap:20px;}
.page-top .point-icon{font-size:32px;color:var(--col-primary);}
.page-top .point-text h3{font-family:var(--font-d);font-size:22px;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase;}
.page-top .point-text p{font-size:14px;color:var(--col-muted);margin-top:2px;}
.page-top .point-rate-list{display:flex;gap:24px;flex-wrap:wrap;}
.page-top .point-rate-item{text-align:center;}
.page-top .point-rate-val{font-family:var(--font-d);font-size:28px;font-weight:700;color:var(--col-primary);letter-spacing:.04em;line-height:1;}
.page-top .point-rate-label{font-size:14px;color:var(--col-muted);margin-top:3px;letter-spacing:.1em;font-family:var(--font-c);}
/* ── プランセクション ── */
.page-top .plans-section{padding:100px 0;}
.page-top .plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:end;}
/* ガラスカード */
.page-top .plan-card{padding:36px 28px 32px;position:relative;transition:all .35s;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  /* ガラス */
  background:rgba(12,12,12,.65);
  border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);}
.page-top .plan-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.06);transition:background .3s;}
.page-top .plan-card:hover{border-color:rgba(240,224,0,.35);
  transform:translateY(-6px);
  box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(240,224,0,.06);
  background:rgba(18,18,18,.75);}
.page-top .plan-card:hover::after{background:var(--col-primary);}
.page-top .plan-card.featured{background:rgba(20,18,0,.72);
  border-color:rgba(240,224,0,.4);
  transform:scale(1.04);
  box-shadow:0 0 80px rgba(240,224,0,.12),0 20px 60px rgba(0,0,0,.8),inset 0 1px 0 rgba(240,224,0,.15);}
.page-top .plan-card.featured::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(240,224,0,.04) 0%,transparent 60%);}
.page-top .plan-card.featured::after{background:var(--col-primary);}
.page-top .plan-card.featured:hover{transform:scale(1.04) translateY(-6px);}
.page-top .plan-badge{display:inline-block;font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.2em;padding:3px 12px;background:var(--col-primary);color:#000;text-transform:uppercase;margin-bottom:20px;}
.page-top .plan-name{font-family:var(--font-d);font-size:32px;font-weight:700;letter-spacing:.06em;color:#fff;text-transform:uppercase;margin-bottom:8px;}
.page-top .plan-price{font-family:var(--font-d);font-size:52px;font-weight:700;color:var(--col-primary);line-height:1;margin-bottom:2px;}
.page-top .plan-price span{font-size:20px;}
.page-top .plan-price-sub{font-size:11px;color:var(--col-muted);margin-bottom:6px;font-family:var(--font-c);letter-spacing:.1em;}
.page-top .plan-yen{font-size:13px;color:var(--col-muted);margin-bottom:24px;font-family:var(--font-c);letter-spacing:.05em;border-left:2px solid rgba(240,224,0,.3);padding-left:8px;}
.page-top .plan-features{list-style:none;margin-bottom:32px;}
.page-top .plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--col-text);padding:9px 0;border-bottom:1px solid rgba(40,40,40,.8);}
.page-top .plan-features li:last-child{border-bottom:none;}
.page-top .plan-features li i{color:var(--col-primary);margin-top:3px;font-size:11px;flex-shrink:0;}
.page-top .plan-forecast-price{background:rgba(240,224,0,.06);
  border:1px solid rgba(240,224,0,.15);
  border-radius:2px;
  padding:10px 14px;
  margin-bottom:20px;
  font-size:12px;
  color:var(--col-muted);}
.page-top .plan-forecast-price strong{color:var(--col-primary);font-family:var(--font-d);font-size:18px;font-weight:700;}
.page-top .btn-plan{display:block;width:100%;text-align:center;padding:14px;font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--col-text);cursor:pointer;transition:all .3s;}
.page-top .btn-plan:hover{border-color:var(--col-primary);color:var(--col-primary);background:rgba(240,224,0,.04);}
.page-top .btn-plan.primary{background:var(--col-primary);border-color:transparent;color:#000;}
.page-top .btn-plan.primary:hover{background:#fff;box-shadow:0 4px 24px rgba(240,224,0,.4);}
/* ── 特徴 ── */
.page-top .features-section{padding:80px 0;position:relative;z-index:1;}
.page-top .features-section::before{content:"";position:absolute;inset:0;
  background:rgba(8,8,8,.55);
  backdrop-filter:blur(2px);}
.page-top .features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(40,40,40,.5);position:relative;z-index:1;}
.page-top .feature-card{padding:36px 28px;transition:all .3s;
  background:rgba(10,10,10,.7);
  backdrop-filter:blur(16px);}
.page-top .feature-card:hover{background:rgba(22,20,0,.75);border-bottom:2px solid rgba(240,224,0,.3);}
.page-top .feature-num{font-family:var(--font-d);font-size:52px;font-weight:700;color:var(--col-primary);line-height:1;margin-bottom:16px;text-shadow:0 0 20px rgba(240,224,0,.4);}
.page-top .feature-icon{font-size:24px;color:var(--col-primary);margin-bottom:16px;}
.page-top .feature-title{font-family:var(--font-c);font-weight:700;font-size:26px;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:12px;}
.page-top .feature-desc{font-size:16px;color:var(--col-muted);line-height:1.9;}
/* ── 実績 ── */
/* ── タブ切り替えプラン ── */
.page-top .plan-tabs{display:flex;border-bottom:2px solid rgba(255,255,255,.1);margin-bottom:0;gap:0;}
.page-top .plan-tab{flex:1;padding:14px 8px;
  font-family:var(--font-c);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:none;color:var(--col-muted);cursor:pointer;
  border-bottom:3px solid transparent;margin-bottom:-2px;
  transition:all .25s;}
.page-top .plan-tab:hover{color:var(--col-text);}
.page-top .plan-tab.active{color:var(--col-primary);border-bottom-color:var(--col-primary);}
.page-top .plan-panel{display:none;padding:36px 32px;background:rgba(12,12,12,.7);border:1px solid rgba(255,255,255,.07);border-top:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.page-top .plan-panel.active{display:block;}
.page-top .pp-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.page-top .pp-name-wrap{}
.page-top .pp-popular{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.2em;color:#000;background:var(--col-primary);padding:3px 12px;text-transform:uppercase;margin-bottom:8px;}
.page-top .pp-name{font-family:var(--font-d);font-size:40px;font-weight:700;letter-spacing:.08em;color:#fff;text-transform:uppercase;line-height:1;}
.page-top .pp-price{text-align:right;}
.page-top .pp-price-num{font-family:var(--font-d);font-size:60px;font-weight:700;color:var(--col-primary);line-height:1;letter-spacing:.02em;}
.page-top .pp-price-unit{font-family:var(--font-c);font-size:18px;color:rgba(240,224,0,.6);margin-left:4px;}
.page-top .pp-price-note{font-size:11px;color:var(--col-muted);margin-top:4px;font-family:var(--font-c);letter-spacing:.1em;}
.page-top .pp-body{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px;}
.page-top .pp-desc{font-size:13px;color:var(--col-muted);line-height:2.1;}
.page-top .pp-meta{display:flex;flex-direction:column;gap:0;}
.page-top .pp-meta-item{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px;}
.page-top .pp-meta-item:last-child{border-bottom:none;}
.page-top .pp-meta-label{color:var(--col-muted);font-family:var(--font-c);letter-spacing:.1em;text-transform:uppercase;}
.page-top .pp-meta-val{color:#fff;font-family:var(--font-c);font-weight:700;letter-spacing:.06em;}
.page-top .pp-meta-val.hi{color:var(--col-primary);}
/* コロガシ */
.page-top .kr-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.page-top .kr-stop{font-family:var(--font-c);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--col-text);background:rgba(240,224,0,.08);border:1px solid rgba(240,224,0,.2);padding:3px 10px;white-space:nowrap;}
.page-top .kr-stop.kr-last{background:var(--col-primary);color:#000;border-color:var(--col-primary);font-weight:700;}
.page-top .kr-stop.kr-fail{background:rgba(255,60,0,.08);color:var(--col-muted);border-color:rgba(255,60,0,.2);text-decoration:line-through;}
.page-top .kr-arrow{color:var(--col-primary);font-size:14px;flex-shrink:0;}
.page-top .korogashi-amount{font-family:var(--font-d);font-size:18px;font-weight:700;color:var(--col-primary);}
.page-top .results-section{padding:100px 0;
  background:var(--col-primary);
  position:relative;z-index:1;}
.page-top .results-section .section-tag{color:rgba(0,0,0,.5);}
.page-top .results-section .section-tag::before{background:rgba(0,0,0,.4);}
.page-top .results-section h2{color:#000;}
.page-top .results-section h2 .accent{color:rgba(0,0,0,.65);}
.page-top .results-section p{color:rgba(0,0,0,.5);}
.page-top .results-table-wrap{background:transparent;border-color:rgba(0,0,0,.15);}
.page-top .results-section .results-table thead{background:rgba(0,0,0,.1);}
.page-top .results-section .results-table th{color:rgba(0,0,0,.7);border-bottom-color:rgba(0,0,0,.12);}
.page-top .results-section .results-table td{border-bottom-color:rgba(0,0,0,.08);color:#000;}
.page-top .results-section .results-table tr:hover td{background:rgba(0,0,0,.05);}
.page-top .results-section .kr-stop{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.25);color:#000;font-weight:700;}
.page-top .results-section .kr-stop.kr-last{background:#000;color:var(--col-primary);border-color:#000;}
.page-top .results-section .kr-stop.kr-fail{background:rgba(200,0,0,.12);color:rgba(180,0,0,.9);border-color:rgba(200,0,0,.3);}
.page-top .results-section .kr-arrow{color:rgba(0,0,0,.6);}
.page-top .results-section .korogashi-amount{color:#000;font-size:20px;}
.page-top .results-section .badge-hit.trifecta{background:rgba(0,0,0,.12);color:#000;font-weight:700;}
.page-top .results-section .badge-hit.miss{background:rgba(200,0,0,.15);color:rgba(160,0,0,.9);}
/* ── タブ切り替えプラン ── */
.page-top .plan-tabs{display:flex;border-bottom:2px solid var(--col-border);margin-bottom:0;gap:0;}
.page-top .plan-tab{flex:1;padding:14px 8px;
  font-family:var(--font-c);font-size:18px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:none;color:var(--col-muted);cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  transition:all .25s;}
.page-top .plan-tab:hover{color:var(--col-text);}
.page-top .plan-tab.active{color:var(--col-primary);border-bottom-color:var(--col-primary);}
.page-top .plan-panels{}
.page-top .plan-panel{display:none;padding:36px 32px;background:rgba(12,12,12,.7);border:1px solid rgba(255,255,255,.07);border-top:none;backdrop-filter:blur(16px);}
.page-top .plan-panel.active{display:block;}
.page-top .pp-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.page-top .pp-name{font-family:var(--font-d);font-size:40px;font-weight:700;letter-spacing:.08em;color:#fff;text-transform:uppercase;line-height:1;}
.page-top .pp-name .accent{color:var(--col-primary);}
.page-top .pp-price{font-family:var(--font-d);font-size:56px;font-weight:700;color:var(--col-primary);line-height:1;display:flex;align-items:baseline;gap:6px;}
.page-top .pp-price .pt{font-size:22px;color:rgba(240,224,0,.6);}
.page-top .pp-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;}
.page-top .pp-desc{font-size:16px;color:var(--col-muted);line-height:2;}
.page-top .pp-meta{display:flex;flex-direction:column;gap:12px;}
.page-top .pp-meta-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:16px;}
.page-top .pp-meta-label{color:var(--col-muted);font-family:var(--font-c);letter-spacing:.1em;text-transform:uppercase;}
.page-top .pp-meta-val{color:#fff;font-family:var(--font-c);font-weight:700;letter-spacing:.08em;}
.page-top .pp-meta-val.accent{color:var(--col-primary);}
.page-top .pp-popular{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-c);font-size:12px;font-weight:700;letter-spacing:.2em;color:#000;background:var(--col-primary);padding:3px 12px;text-transform:uppercase;margin-bottom:12px;}
@media (max-width:576px){
.page-top .plan-tab{font-size:11px;padding:12px 4px;letter-spacing:.08em;}
.page-top .plan-panel{padding:24px 16px;}
.page-top .pp-top{flex-direction:column;align-items:flex-start;gap:8px;}
.page-top .pp-name{font-size:32px;}
.page-top .pp-price{font-size:44px;}
.page-top .pp-body{grid-template-columns:1fr;}
}
.page-top .results-table-wrap{overflow:hidden;border-radius:2px;
  background:transparent;
  border:none;
  backdrop-filter:none;}
.page-top .results-table{width:100%;border-collapse:collapse;font-size:16px;}
.page-top .results-table thead{background:rgba(20,20,20,.8);}
.page-top .results-table th{padding:14px 16px;font-family:var(--font-c);font-size:14px;font-weight:600;letter-spacing:.18em;color:var(--col-muted);text-transform:uppercase;border-bottom:1px solid rgba(40,40,40,.8);text-align:left;}
.page-top .results-table td{padding:14px 16px;border-bottom:1px solid rgba(30,30,30,.8);color:var(--col-text);}
.page-top .results-table tr:last-child td{border-bottom:none;}
.page-top .results-table tr:hover td{background:rgba(240,224,0,.02);}
.page-top .badge-hit{display:inline-block;padding:2px 10px;font-family:var(--font-c);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.page-top .badge-hit.win{background:rgba(240,224,0,.12);color:var(--col-primary);}
.page-top .badge-hit.trifecta{background:rgba(255,184,0,.12);color:var(--col-amber);}
.page-top .badge-hit.miss{background:rgba(255,60,0,.1);color:var(--col-accent);}
.page-top .hit-pt{font-family:var(--font-d);font-size:18px;color:var(--col-primary);font-weight:700;}
/* ── CTA ── */
.page-top .cta-section{padding:100px 40px;text-align:center;position:relative;overflow:hidden;
  border-top:1px solid rgba(240,224,0,.1);}
.page-top .cta-section::before{content:"BLITZ";
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--font-d);font-size:280px;font-weight:700;
  color:rgba(240,224,0,.025);white-space:nowrap;pointer-events:none;}
/* ガラスCTAボックス */
.page-top .cta-glass{display:inline-block;padding:48px 64px;
  background:rgba(12,12,12,.65);
  border:1px solid rgba(240,224,0,.2);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-radius:2px;
  position:relative;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));}
.page-top .cta-title{font-family:var(--font-d);font-size:clamp(44px,6.5vw,80px);font-weight:700;text-transform:uppercase;color:#fff;letter-spacing:.04em;margin-bottom:12px;}
.page-top .cta-title .accent{color:var(--col-primary);}
.page-top .cta-sub{font-size:13px;color:var(--col-muted);margin-bottom:32px;}
.page-top .cta-note{font-size:11px;margin-top:20px;}
/* ── フッター ── */







/* ══ レスポンシブ ══ */
@media (max-width:992px){
.page-top .site-header{padding:0 20px;}
.page-top .header-nav .nav-links{display:none;}
.page-top .hamburger{display:flex;}
.page-top .hero-photo{top:0;right:0;width:100%;height:100%;
    background-position:48% 26%;
    filter:contrast(1.05) brightness(0.8) saturate(0.68);}
.page-top .hero-photo::before{background:
      linear-gradient(180deg, rgba(8,8,8,.78) 0%, rgba(8,8,8,.42) 26%, transparent 46%),
      linear-gradient(112deg, #080808 0%, rgba(8,10,14,.55) 42%, transparent 70%);}
.page-top .hero-photo::after{background:
      linear-gradient(to bottom, rgba(8,8,8,.28) 0%, transparent 18%, transparent 52%, rgba(0,56,112,.2) 68%, rgba(8,8,8,.82) 86%, #080808 95%);}
.page-top .hero-photo-right-fade{display:none;}
.page-top .hero-photo-glow{width:100%;opacity:.75;}
.page-top .hero::before{width:100%;right:0;background:repeating-linear-gradient(-52deg,transparent,transparent 22px,rgba(240,224,0,.014) 22px,rgba(240,224,0,.014) 23px);}
.page-top .hero-inner{grid-template-columns:1fr;}
.page-top .hero-stats{display:none;}
.page-top .features-grid{grid-template-columns:repeat(2,1fr);}
.page-top .point-banner-inner{flex-direction:column;gap:16px;}
.page-top .cta-glass{padding:32px 24px;}
.page-top .section-wrap{padding:0 24px;}
}
@media (max-width:576px){
/* ヘッダー */
.page-top .site-header{padding:0 16px;height:56px;}
.page-top .site-logo{font-size:29px;}
.page-top .site-logo svg{height:1.52em;}
.page-top .site-logo svg text.logo-svg-tagline{font-size:12.85px;letter-spacing:1.05px;}
.page-top .logo-sub{font-size:7px;}
.page-top .btn-login{padding:8px 14px;font-size:11px;letter-spacing:.08em;}
.page-top .mobile-nav{top:56px;}
/* ヒーロー */
.page-top .hero{padding:76px 16px 52px;min-height:100svh;}
/* スマホ：全面背景として展開 */
.page-top .hero-photo{top:0;right:0;
    width:100%;height:100%;
    background-position:48% 18%;
    filter:contrast(1.04) brightness(0.78) saturate(0.66);}
.page-top .hero-photo::before{background:
      linear-gradient(180deg, rgba(8,8,8,.85) 0%, rgba(8,8,8,.5) 22%, transparent 42%),
      linear-gradient(112deg, #080808 0%, rgba(8,10,14,.5) 38%, transparent 68%);}
.page-top .hero-photo::after{background:
      linear-gradient(to bottom, rgba(8,8,8,.32) 0%, transparent 14%, transparent 48%, rgba(0,56,112,.22) 66%, rgba(8,8,8,.88) 84%, #080808 94%);}
.page-top .hero-photo-glow{width:100%;opacity:.7;}
.page-top .hero-photo-right-fade{display:none;}
.page-top .hero::before{background:repeating-linear-gradient(-52deg,transparent,transparent 22px,rgba(240,224,0,.012) 22px,rgba(240,224,0,.012) 23px);}
.page-top .hero-tag{font-size:9px;letter-spacing:.2em;margin-bottom:16px;}
.page-top .hero-tag::before{width:20px;}
.page-top .hero-title{font-size:clamp(52px,14vw,80px);margin-bottom:16px;}
.page-top .hero-desc{font-size:14px;line-height:1.9;margin-bottom:28px;}
.page-top .hero-cta{flex-direction:column;gap:12px;width:100%;}
.page-top .btn-p{width:100%;justify-content:center;padding:15px 24px;font-size:13px;}
.page-top .btn-p img{width:30px;}
.page-top .btn-line{width:100%;justify-content:center;padding:15px 24px;font-size:13px;}
/* 特典バナー */
.page-top .section-wrap{padding:0 16px;}
/* ポイント帯 */
.page-top .point-banner-inner{padding:0 16px;}
.page-top .point-banner{padding:20px 16px;}
.page-top .point-rate-list{gap:0;width:100%;justify-content:space-around;}
.page-top .point-rate-item{flex:1;text-align:center;border-left:1px solid rgba(40,40,40,.8);padding-left:0;}
.page-top .point-rate-item:first-child{border-left:none;}
.page-top .point-rate-val{font-size:22px;}
.page-top .point-rate-label{font-size:10px;}
/* プランタブ */
.page-top .plan-tab{font-size:18px;padding:12px 4px;letter-spacing:.06em;}
.page-top .plan-panel{padding:20px 16px;}
.page-top .pp-top{flex-direction:column;align-items:flex-start;gap:8px;}
.page-top .pp-name{font-size:36px;}

.page-top .pp-price-num{font-size:40px;}
.page-top .pp-body{grid-template-columns:1fr;}
.page-top .pp-desc{font-size:14px;line-height:1.9;}
.page-top .pp-meta-item{font-size:14px;padding:9px 0;}
.page-top .pp-meta-label{font-size:14px;}
/* 特徴 */
.page-top .features-grid{grid-template-columns:1fr;}
.page-top .feature-card{padding:28px 20px;}
.page-top .feature-title{font-size:26px;}
.page-top .feature-desc{font-size:14px;}
.page-top .feature-num{font-size:44px;}
/* 実績テーブル（横スクロール） */
.page-top .results-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.page-top .results-table{min-width:460px;}
.page-top .results-table th{font-size:9px;padding:10px 8px;letter-spacing:.08em;}
.page-top .results-table td{padding:12px 8px;font-size:11px;}
.page-top .kr-stop{font-size:10px;padding:2px 8px;}
.page-top .korogashi-amount{font-size:15px;}
.page-top .badge-hit{font-size:9px;padding:2px 7px;}
/* CTA */
.page-top .cta-section{padding:56px 16px;}
.page-top .cta-section::before{font-size:160px;}
.page-top .cta-glass{padding:28px 20px;clip-path:none;}
.page-top .cta-title{font-size:clamp(32px,8vw,52px);}
.page-top .cta-sub{font-size:12px;}
.page-top .cta-note{font-size:10px;}
/* フッター */
.page-top .site-footer{padding:36px 16px 20px;}
.page-top .footer-inner{gap:24px;}
.page-top .footer-links{gap:28px;}
.page-top .footer-bottom{flex-direction:column;gap:8px;}
/* ログインモーダル */
.page-top .login-modal{padding:44px 20px 36px;margin:0 12px;max-width:calc(100% - 24px);clip-path:none;}
.page-top .modal-title{font-size:28px;}
.page-top .form-input-ww{font-size:16px;}
/* iOS自動ズーム防止 */
.page-top .btn-submit{font-size:13px;}
}
/* LINE ボタン */
.page-top .btn-line{display:inline-flex;align-items:center;gap:8px;
  padding:16px 28px;
  font-family:var(--font-c);font-size:14px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  background:#06C755;color:#fff;
  border:none;cursor:pointer;transition:all .3s;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));}
.page-top .btn-line:hover{background:#05a847;box-shadow:0 0 28px rgba(6,199,85,.5);transform:translateY(-2px);color:#fff;}
.page-top .btn-line .line-ic{width:22px;height:22px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.page-top .btn-line .line-ic svg{width:16px;height:16px;}
/* 右下固定 */
.page-top .line-float{position:fixed;bottom:28px;right:24px;z-index:300;display:flex;flex-direction:column;align-items:center;gap:6px;animation:floatIn .5s .8s ease both;}
@keyframes floatIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.page-top .line-float-btn{width:60px;height:60px;background:#06C755;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 6px 24px rgba(6,199,85,.4);transition:all .3s;position:relative;text-decoration:none;}
.page-top .line-float-btn:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(6,199,85,.6);}
.page-top .line-float-btn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(6,199,85,.4);animation:linePulse 2s ease-in-out infinite;}
@keyframes linePulse{0%,100%{transform:scale(1);opacity:.6;}50%{transform:scale(1.15);opacity:0;}}
.page-top .line-float-btn svg, .page-top .line-float-btn img{width:32px;height:32px;display:block;}
.page-top .line-float-btn img{filter:brightness(0) invert(1);}
.page-top .line-float-label{font-family:var(--font-b);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);}
@media (max-width:576px){
.page-top .btn-line{padding:14px 20px;font-size:13px;}
.page-top .line-float{bottom:20px;right:16px;}
.page-top .line-float-btn{width:52px;height:52px;}
}

/* ===== index footer PC fix ===== */
.page-top .site-footer{
  padding: 40px 40px 24px;
}

.page-top .footer-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(260px, 360px) auto;
  align-items: start;
  gap: 40px 80px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-top .footer-links{
  display: flex;
  justify-content: flex-end;
  gap: 56px;
  flex-wrap: wrap;
}

.page-top .footer-link-group{
  min-width: 140px;
}

.page-top .footer-desc{
  max-width: 320px;
}

.page-top .footer-bottom{
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.page-top .copyright{
  color: rgba(255,255,255,.52);
}

.page-top .footer-warning{
  color: rgba(255,255,255,.42);
  text-align: right;
}

.page-top .mobile-nav {
    padding: 16px 20px 40px;

}

.page-top  .mobile-nav a {
    padding: 18px 0;
}

@media (max-width: 992px){
  .page-top .footer-inner{
    display: flex;
    gap: 28px;
  }

  .page-top .footer-links{
    justify-content: flex-start;
    gap: 28px;
  }

  .page-top .footer-warning{
    text-align: left;
  }
}

.page-top .footer-link-group a{
  display: block;
  margin-bottom: 10px;
}

.page-top .footer-link-group h4 {
  display: block;
  margin-bottom: 16px;
}