    .bslApp{
      --bsl-ink:#0e1218;
      --bsl-paper:#f4f5f7;
      --bsl-card:#ffffff;
      --bsl-accent:#c8102e;
      --bsl-accent-dark:#9a0c23;
      /* --bsl-navy:#13294b; */
      --bsl-line:#e2e5ea;
      --bsl-muted:#5b6573;
      --bsl-radius:14px;
      --bsl-shadow:0 6px 22px rgba(14,18,24,.10);
      box-sizing:border-box;
      max-width:1200px;
      margin:0 auto;
      padding:clamp(20px,4vw,48px) clamp(16px,4vw,32px);
      color:var(--bsl-ink);
      font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
      line-height:1.6;
      background:var(--bsl-paper);
    }
    .bslApp *,.bslApp *::before,.bslApp *::after{box-sizing:border-box;}

    /* ---- 見出し ---- */
    .bslApp .bsl-head{text-align:center;margin-bottom:clamp(24px,4vw,40px);}
    .bslApp .bsl-eyebrow{
      display:inline-block;
      font-size:13px;font-weight:800;letter-spacing:.18em;
      color:#fff;background:var(--bsl-accent);
      padding:6px 16px;border-radius:999px;
      text-transform:uppercase;margin-bottom:16px;
    }
    .bslApp .bsl-title{
      font-size:clamp(26px,5vw,42px);
      font-weight:900;line-height:1.15;margin:0 0 12px;
      letter-spacing:.01em;
    }
    .bslApp .bsl-title span{color:var(--bsl-accent);}
    .bslApp .bsl-sub{
      font-size:clamp(14px,2.4vw,17px);color:var(--bsl-muted);
      max-width:620px;margin:0 auto;
    }

    /* ---- テンプレートグリッド：スマホ1列／PC4列 ---- */
    .bslApp .bsl-grid{
      display:grid;
      grid-template-columns:1fr;          /* スマホ：1列 */
      gap:clamp(14px,2.5vw,24px);
      margin-bottom:clamp(36px,6vw,56px);
    }
    @media (min-width:600px){
      .bslApp .bsl-grid{grid-template-columns:repeat(2,1fr);} /* タブレット：2列 */
    }
    @media (min-width:960px){
      .bslApp .bsl-grid{grid-template-columns:repeat(3,1fr);} /* PC：3列 */
    }

    /* ---- カード ---- */
    .bslApp .bsl-card{
      background:var(--bsl-card);
      border:1px solid var(--bsl-line);
      border-radius:var(--bsl-radius);
      overflow:hidden;
      box-shadow:var(--bsl-shadow);
      display:flex;flex-direction:column;
      transition:transform .18s ease,box-shadow .18s ease;
    }
    .bslApp .bsl-card:hover{
      transform:translateY(-4px);
      box-shadow:0 12px 30px rgba(14,18,24,.16);
    }
    .bslApp .bsl-thumb{
      position:relative;
      aspect-ratio:auto;
      background:linear-gradient(135deg,var(--bsl-navy),#1f3d6e);
      overflow:hidden;
    }
    .bslApp .bsl-thumb img{
      width:100%;
      height:auto;
      object-fit:cover;
      display:block;
    }
    .bslApp .bsl-tag{
      position:absolute;top:10px;left:10px;
      font-size:11px;font-weight:800;letter-spacing:.06em;
      color:#fff;background:rgba(14,18,24,.72);
      padding:4px 10px;border-radius:6px;
    }
    .bslApp .bsl-card-body{
      padding:14px 16px 18px;
      display:flex;flex-direction:column;gap:6px;
      flex:1;
    }
    .bslApp .bsl-card-name{
      font-size:16px;font-weight:800;margin:0;
    }
    .bslApp .bsl-card-desc{
      font-size:13px;color:var(--bsl-muted);margin:0;
    }

    /* ---- アプリ紹介 CTA ---- */
    .bslApp .bsl-cta{
      position:relative;overflow:hidden;
      border-radius:var(--bsl-radius);
      background:
        radial-gradient(120% 140% at 0% 0%,var(--bsl-accent) 0%,transparent 55%),
        linear-gradient(135deg,var(--bsl-navy),#0b1730);
      color:#fff;
      padding:clamp(28px,5vw,48px);
      display:grid;grid-template-columns:1fr;gap:22px;align-items:center;
    }
    @media (min-width:760px){
      .bslApp .bsl-cta{grid-template-columns:1.3fr 1fr;}
    }
    .bslApp .bsl-cta::after{
      content:"";position:absolute;right:-60px;top:-60px;
      width:220px;height:220px;border-radius:50%;
      border:18px solid rgba(255,255,255,.06);
    }
    .bslApp .bsl-cta-eyebrow{
      font-size:12px;font-weight:800;letter-spacing:.18em;
      color:#ffd2d9;text-transform:uppercase;margin-bottom:10px;
    }
    .bslApp .bsl-cta-title{
      font-size:clamp(22px,4vw,32px);font-weight:900;
      line-height:1.2;margin:0 0 12px;
    }
    .bslApp .bsl-cta-text{
      font-size:15px;color:rgba(255,255,255,.86);margin:0 0 4px;
    }
    .bslApp .bsl-features{
      list-style:none;padding:0;margin:16px 0 0;
      display:flex;flex-wrap:wrap;gap:8px 10px;
    }
    .bslApp .bsl-features li{
      font-size:13px;font-weight:700;
      background:rgba(255,255,255,.12);
      padding:6px 12px;border-radius:999px;
    }
    .bslApp .bsl-cta-action{
      position:relative;z-index:1;
      display:flex;flex-direction:column;gap:12px;
    }
    .bslApp .bsl-btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      font-size:16px;font-weight:900;letter-spacing:.02em;
      text-decoration:none;cursor:pointer;
      padding:16px 24px;border-radius:12px;border:0;
      background:var(--bsl-accent);color:#fff;
      box-shadow:0 6px 16px rgba(200,16,46,.4);
      transition:background .15s ease,transform .15s ease;
    }
    .bslApp .bsl-btn:hover{background:var(--bsl-accent-dark);transform:translateY(-2px);}
    .bslApp .bsl-btn-ghost{
      background:transparent;color:#fff;
      border:2px solid rgba(255,255,255,.5);box-shadow:none;
    }
    .bslApp .bsl-btn-ghost:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}