
    :root{--red:#d71920;--red-dark:#9f1017;--red-soft:#fff0f0;--gold:#d6a642;--gold-soft:#fff8e6;--text:#242424;--muted:#666;--bg:#fff8f6;--white:#fff;--shadow:0 18px 45px rgba(150,22,24,.12);--radius:22px;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(215,25,32,.08),transparent 34%),linear-gradient(180deg,#fff8f6 0%,#fff 44%,#fff8f6 100%);line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(215,25,32,.12)}.header-inner{max-width:var(--max);margin:0 auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.03em;white-space:nowrap}.brand-mark{width:36px;height:36px;border-radius:12px;overflow:hidden;padding:0;background:#fff;border:1px solid rgba(215,25,32,.14);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.nav{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;color:#555;font-size:14px;font-weight:700}.nav a:hover{color:var(--red)}.nav-cta{padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff!important;box-shadow:0 10px 20px rgba(215,25,32,.18)}.breadcrumb{max-width:var(--max);margin:0 auto;padding:16px 18px 0;font-size:13px;color:#777}.breadcrumb a{color:var(--red-dark);font-weight:700}.hero{max-width:var(--max);margin:0 auto;padding:30px 18px 42px}.hero-box{position:relative;overflow:hidden;border-radius:34px;padding:44px;background:radial-gradient(circle at 84% 16%,rgba(255,220,120,.46),transparent 26%),linear-gradient(135deg,#fff 0%,#fff4f2 46%,#ffe8e3 100%);box-shadow:var(--shadow);border:1px solid rgba(215,25,32,.12)}.hero-box:after{content:"";position:absolute;left:44px;bottom:0;width:180px;height:6px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,var(--red),var(--gold))}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.eyebrow,.label{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;margin-bottom:16px;border-radius:999px;background:#fff;color:var(--red-dark);border:1px solid rgba(215,25,32,.14);font-size:13px;font-weight:900}h1{margin:0 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.12;letter-spacing:-.06em}.hero-lead{margin:0;max-width:740px;color:#4d4d4d;font-size:16px;line-height:1.9}.hero-actions,.cta-actions,.card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn,.mini-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;transition:transform .2s ease,box-shadow .2s ease;text-align:center}.btn{min-height:48px;padding:13px 20px;font-size:14px}.mini-btn{min-height:40px;padding:9px 14px;font-size:13px}.btn-primary,.mini-primary{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;box-shadow:0 12px 24px rgba(215,25,32,.22)}.btn-secondary,.mini-secondary{background:#fff;color:var(--red-dark);border:1px solid rgba(215,25,32,.2)}.btn:hover,.mini-btn:hover{transform:translateY(-2px)}.hero-side{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center}.hero-card{position:relative;z-index:2;width:min(100%,360px);padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(215,25,32,.13);box-shadow:0 18px 38px rgba(120,20,20,.12)}.hero-card h2{margin:0 0 10px;font-size:23px;line-height:1.35;color:var(--red-dark)}.hero-card p{margin:0;color:#666;font-size:14px}.hero-stats{display:grid;gap:12px;margin-top:18px}.hero-stat{padding:14px 16px;border-radius:16px;background:var(--red-soft);border:1px solid rgba(215,25,32,.12)}.hero-stat strong{display:block;color:var(--red-dark);font-size:20px;line-height:1.1}.hero-stat span{display:block;color:#666;font-size:12px;font-weight:800;margin-top:4px}.mascot-mini{position:absolute;right:4px;bottom:8px;width:108px;z-index:3;filter:drop-shadow(0 12px 16px rgba(120,20,20,.12))}.notice,.section,.cta{max-width:var(--max);margin:0 auto}.notice{padding:0 18px;margin-bottom:18px}.notice-box{padding:18px 20px;border-radius:18px;background:#fff;border:1px solid rgba(215,25,32,.16);color:#555;box-shadow:0 10px 28px rgba(150,22,24,.08);font-size:14px}.notice-box strong{color:var(--red-dark)}.section{padding:42px 18px}.section-head{margin-bottom:24px}.section-title{margin:0 0 10px;font-size:clamp(26px,3.6vw,40px);line-height:1.28;letter-spacing:-.04em;color:var(--red-dark)}.section-desc{margin:0;color:var(--muted);max-width:860px;font-size:15px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.flow-card,.link-card,.responsible-box,.mascot-note{background:#fff;border:1px solid rgba(215,25,32,.12);border-radius:var(--radius);box-shadow:0 12px 30px rgba(150,22,24,.08)}.card,.flow-card,.link-card{padding:22px}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--red),var(--gold))}.card h3,.flow-card h3{margin:8px 0 10px;font-size:20px;line-height:1.45;color:var(--red-dark)}.card p,.flow-card p,.link-card span{margin:0;color:#5f5f5f;font-size:14px}.card ul{margin:12px 0 0;padding-left:1.2em;color:#5f5f5f;font-size:14px}.tag{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;margin-bottom:12px;border-radius:999px;background:var(--gold-soft);color:#8b6114;border:1px solid rgba(214,166,66,.3);font-size:11px;font-weight:900;white-space:nowrap}.tag-red{background:var(--red-soft);color:var(--red-dark);border-color:rgba(215,25,32,.16)}.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.flow-card strong{display:block;color:var(--red-dark);font-size:15px;margin-bottom:6px}.flow-card span{display:block;color:#666;font-size:13px;line-height:1.65}.link-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.link-card{display:block;transition:transform .2s ease,box-shadow .2s ease}.link-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(150,22,24,.1)}.link-card strong{display:block;color:var(--red-dark);margin-bottom:6px;font-size:14px}.responsible-box{padding:24px;background:linear-gradient(135deg,#fff 0%,#fff8f6 100%)}.responsible-box h2{margin:0 0 10px;font-size:24px;line-height:1.35;color:var(--red-dark)}.responsible-box p{margin:0;color:#555;font-size:14px}.mascot-note{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:20px;background:radial-gradient(circle at 40px 40px,rgba(255,248,230,.9),transparent 42%),#fff}.mascot-note img{width:104px;max-height:128px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(120,20,20,.12))}.mascot-note h2{margin:0 0 8px;color:var(--red-dark);font-size:20px;line-height:1.45}.mascot-note p{margin:0;color:#555;font-size:14px}.cta{padding:30px 18px 58px}.cta-box{position:relative;overflow:hidden;padding:34px;border-radius:30px;background:radial-gradient(circle at 88% 20%,rgba(255,224,140,.35),transparent 28%),linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;box-shadow:0 18px 44px rgba(150,22,24,.18)}.cta-box h2{margin:0 0 10px;font-size:clamp(24px,3.5vw,38px);line-height:1.28;letter-spacing:-.04em}.cta-box p{margin:0;max-width:780px;color:rgba(255,255,255,.88);font-size:15px}.cta-box .btn-secondary{color:var(--red-dark);background:#fff;border:none}.cta-box .btn-primary{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.34);box-shadow:none}.site-footer{padding:36px 18px;border-top:1px solid rgba(215,25,32,.12);background:#fff}.footer-inner{max-width:var(--max);margin:0 auto;display:grid;gap:14px}.footer-links{display:flex;gap:12px 16px;flex-wrap:wrap;color:#666;font-size:13px;font-weight:700}.footer-copy{color:#777;font-size:12px;line-height:1.7}.slottenkoku-popup-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(24,10,10,.62);backdrop-filter:blur(8px)}.slottenkoku-popup-overlay.is-visible{display:flex}.slottenkoku-popup-modal{position:relative;width:min(94vw,720px);max-height:min(92vh,760px);overflow:auto;border-radius:28px;background:#fff;border:1px solid rgba(215,25,32,.18);box-shadow:0 28px 80px rgba(0,0,0,.28);animation:slottenkokuPopupIn .26s ease both}@keyframes slottenkokuPopupIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.slottenkoku-popup-close{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border:none;border-radius:999px;background:rgba(255,255,255,.94);color:#9f1017;font-size:24px;line-height:1;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(120,20,20,.12)}.slottenkoku-popup-image{min-height:210px;background:radial-gradient(circle at 85% 12%,rgba(214,166,66,.4),transparent 30%),linear-gradient(135deg,#fff5f2 0%,#ffe4dc 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.slottenkoku-popup-image img{width:100%;height:auto;display:block}.slottenkoku-popup-body{padding:24px 26px 26px}.slottenkoku-popup-kicker{display:inline-flex;align-items:center;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:#fff0f0;color:#9f1017;border:1px solid rgba(215,25,32,.16);font-size:12px;font-weight:900}.slottenkoku-popup-body h2{margin:0 0 10px;color:#9f1017;font-size:clamp(22px,3vw,30px);line-height:1.35;letter-spacing:-.03em}.slottenkoku-popup-body p{margin:0;color:#555;font-size:14px;line-height:1.8}.slottenkoku-popup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.slottenkoku-popup-cta,.slottenkoku-popup-sub{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:999px;font-weight:900;text-align:center}.slottenkoku-popup-cta{background:linear-gradient(135deg,#d71920,#9f1017);color:#fff!important;box-shadow:0 12px 26px rgba(215,25,32,.24)}.slottenkoku-popup-sub{background:#fff;color:#9f1017!important;border:1px solid rgba(215,25,32,.18)}.slottenkoku-popup-note{margin-top:12px!important;color:#777!important;font-size:12px!important;line-height:1.65!important}@media(max-width:1040px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-side{min-height:330px}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.site-header{position:static}.header-inner{padding:12px 16px;gap:12px}.brand{font-size:14px;line-height:1.35;white-space:normal}.brand-mark{width:30px;height:30px;border-radius:9px}.nav{width:100%;justify-content:flex-start;gap:8px 12px;font-size:12px;line-height:1.3}.nav-cta{padding:7px 10px;font-size:12px}.breadcrumb{padding:12px 16px 0;font-size:12px}.hero{padding:20px 16px 26px}.hero-box{padding:24px 18px;border-radius:22px}.hero-grid{gap:24px}h1{font-size:clamp(28px,9vw,38px);line-height:1.18}.hero-lead{font-size:15px;line-height:1.75}.btn,.mini-btn{width:100%;min-height:44px}.hero-side{min-height:300px}.hero-card{width:min(100%,300px);padding:22px 18px;border-radius:22px}.mascot-mini{width:86px;right:0;bottom:2px}.section{padding:30px 16px}.grid-3,.flow,.link-grid{grid-template-columns:1fr}.card,.flow-card,.link-card,.responsible-box,.mascot-note{padding:18px;border-radius:18px}.mascot-note{grid-template-columns:82px 1fr;gap:12px}.mascot-note img{width:82px;max-height:104px}.cta{padding:24px 16px 42px}.cta-box{padding:24px 18px;border-radius:22px}.site-footer{padding:28px 16px}.footer-links{gap:8px 10px;font-size:12px}.slottenkoku-popup-overlay{padding:12px}.slottenkoku-popup-modal{width:min(100%,420px);border-radius:22px}.slottenkoku-popup-image{min-height:130px}.slottenkoku-popup-body{padding:18px}.slottenkoku-popup-actions{display:grid;grid-template-columns:1fr}.slottenkoku-popup-cta,.slottenkoku-popup-sub{width:100%}}

/* mobile final hardening phase5 */
html, body { max-width: 100%; overflow-x: hidden; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, iframe, svg { max-width: 100%; height: auto; }
pre, code { white-space: pre-wrap; word-break: break-word; }
table { width: 100%; max-width: 100%; border-collapse: collapse; }
.table-wrap, .table-scroll, .comparison-table, .ranking-table, .bonus-table, .payment-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
section, main, article, .container, .wrap, .section, .card, .hero, .hero-card, .content-card { max-width: 100%; }
@media (max-width: 768px) {
  :root { --radius: 18px; }
  body { overflow-x: hidden; }
  .site-header { position: sticky; top: 0; }
  .header-inner { padding: 10px 12px !important; gap: 10px !important; align-items: flex-start !important; }
  .brand { width: 100%; min-width: 0; font-size: 14px !important; white-space: normal !important; line-height: 1.35 !important; }
  .brand-mark { width: 34px !important; height: 34px !important; border-radius: 10px !important; flex: 0 0 auto; }
  .nav { width: 100%; display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 8px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding: 2px 2px 8px !important; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .nav a { flex: 0 0 auto; white-space: nowrap; padding: 7px 10px; border-radius: 999px; background: #fff; border: 1px solid rgba(215,25,32,.12); font-size: 12px !important; line-height: 1.2; }
  .nav .nav-cta, .nav-cta { background: linear-gradient(135deg, var(--red), var(--red-dark)) !important; color: #fff !important; }
  .hero, .hero-card, .section, section, main { padding-left: 12px !important; padding-right: 12px !important; }
  .hero { padding-top: 14px !important; }
  .hero-card, .card, .content-card, .ranking-card, .casino-card, .bonus-card { border-radius: 18px !important; padding: 18px !important; }
  h1 { font-size: clamp(28px, 8.6vw, 40px) !important; line-height: 1.18 !important; letter-spacing: -0.05em !important; word-break: keep-all; overflow-wrap: anywhere; }
  h2 { font-size: clamp(22px, 6.2vw, 30px) !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
  h3 { font-size: clamp(18px, 5vw, 23px) !important; line-height: 1.32 !important; overflow-wrap: anywhere; }
  p, li, td, th { font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
  .cta-row, .hero-actions, .actions, .btn-row, .button-row { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; width: 100% !important; }
  .btn, .button, .cta, .primary-btn, .secondary-btn, a[class*="btn"], a[class*="cta"] { width: 100%; max-width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-align: center; padding: 13px 16px !important; white-space: normal !important; line-height: 1.35 !important; }
  .grid, .cards, .ranking-grid, .casino-grid, .bonus-grid, .payment-grid, .article-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  table { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; border-radius: 14px; }
  th, td { white-space: normal; min-width: 120px; }
  .side-banner, .side-banners, .pc-side-banner, .floating-banner, .fixed-banner, [class*="sideBanner"], [class*="floating"] { display: none !important; }
  .mobile-banner-strip, .mobile-focus-strip, .sp-banner-strip { display: flex !important; gap: 10px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding: 8px 2px 14px !important; scrollbar-width: none; }
  .mobile-banner-strip::-webkit-scrollbar, .mobile-focus-strip::-webkit-scrollbar, .sp-banner-strip::-webkit-scrollbar { display: none; }
  .mobile-banner-strip > *, .mobile-focus-strip > *, .sp-banner-strip > * { flex: 0 0 86%; max-width: 86%; }
  .popup, .modal, .campaign-popup, .slottenkoku-popup { max-width: calc(100vw - 24px) !important; left: 12px !important; right: 12px !important; bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
  .site-footer, footer { padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 430px) {
  .hero-card, .card, .content-card { padding: 16px !important; }
  h1 { font-size: clamp(26px, 9.5vw, 36px) !important; }
  .section, section { padding-top: 28px !important; padding-bottom: 28px !important; }
}


/* === Mobile polish phase 9: navigation, readability and safe-area UX hardening === */
:root{--mobile-safe-bottom: env(safe-area-inset-bottom, 0px);}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{overflow-x:hidden;min-width:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a,button,.btn,.nav a,.nav-cta{touch-action:manipulation;-webkit-tap-highlight-color:rgba(215,25,32,.16);} 
:where(a,button,.btn,.nav a,.nav-cta):focus-visible{outline:3px solid rgba(215,25,32,.45);outline-offset:3px;border-radius:12px;}
:where(section,main,article,.card,.panel,.box,.hero-box,.ranking-card,.casino-card,.review-card,.info-card,.table-wrap){min-width:0;}
:where(img,svg,video,canvas,iframe){max-width:100%;height:auto;}
:where(table){width:100%;max-width:100%;border-collapse:collapse;}
:where(th,td){word-break:break-word;overflow-wrap:anywhere;}
:where(.table-wrap,.table-scroll,.comparison-table-wrap,.scroll-table){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (max-width: 767px){
  body{padding-bottom:calc(86px + var(--mobile-safe-bottom));}
  .site-header{position:sticky;top:0;z-index:80;}
  .header-inner{padding:10px 12px;gap:8px;align-items:flex-start;}
  .brand{max-width:100%;font-size:14px;line-height:1.25;white-space:normal;}
  .brand-mark{width:32px;height:32px;border-radius:10px;}
  .nav{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0 6px;justify-content:flex-start;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .nav::-webkit-scrollbar{display:none;}
  .nav a{flex:0 0 auto;scroll-snap-align:start;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid rgba(215,25,32,.14);border-radius:999px;background:#fff;font-size:12px;white-space:nowrap;box-shadow:0 6px 14px rgba(80,20,20,.06);}
  .nav .nav-cta,.nav-cta{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff!important;border-color:transparent;}
  .hero,.section,.container,main{padding-left:14px!important;padding-right:14px!important;}
  h1{font-size:clamp(26px,8vw,38px)!important;line-height:1.18!important;letter-spacing:-.04em;}
  h2{font-size:clamp(21px,6vw,28px)!important;line-height:1.28!important;}
  h3{font-size:clamp(17px,5vw,22px)!important;line-height:1.35!important;}
  p,li,td,th{font-size:15px;line-height:1.78;}
  .btn,.cta,.button,.primary-cta,.secondary-cta,.nav-cta{min-height:44px;white-space:normal;text-align:center;line-height:1.35;}
  .cta-row,.btn-row,.hero-actions,.action-row,.button-row{display:flex!important;flex-direction:column!important;gap:10px!important;align-items:stretch!important;}
  .cta-row a,.btn-row a,.hero-actions a,.action-row a,.button-row a{width:100%;max-width:100%;}
  .card,.panel,.box,.hero-box,.ranking-card,.casino-card,.review-card,.info-card{border-radius:18px!important;overflow:hidden;}
  .grid,.cards,.ranking-grid,.casino-grid,.review-grid,.feature-grid,.two-col,.three-col{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  .side-banner,.floating-banner,.left-banner,.right-banner,.pc-side-banner,.desktop-side-banner,.fixed-side-banner{display:none!important;}
  .mobile-sticky-cta,.sticky-mobile-cta{left:10px!important;right:10px!important;bottom:calc(8px + var(--mobile-safe-bottom))!important;width:auto!important;max-width:none!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(20,20,20,.22)!important;}
  .mobile-sticky-cta a,.sticky-mobile-cta a{min-height:44px!important;}
  .popup,.modal,.promo-popup{max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 120px)!important;overflow:auto!important;}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}}

