/* inCruises専用ページ：会員になると魅力的な3つの特典
   1600×1154 の固定キャンバスを縮小表示する方式（fee-safety と同じ考え方）
   見出し・説明文はHTMLテキスト。緻密なUI・写真は元デザインの画像をそのまま使用。 */
.bn-section{width:100%;background:#fefcfa;padding:min(64px,4%) 0 0;overflow:hidden;}
.bn-section,.bn-section *{box-sizing:border-box;}
.bn-viewport{width:min(1600px,100%);margin:0 auto;position:relative;overflow:hidden;}
.bn-canvas{position:relative;width:1485px;height:1059px;background:#fefcfa;
  transform-origin:top left;-webkit-font-smoothing:antialiased;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}
.bn-canvas .bn-a{position:absolute;margin:0;}
.bn-canvas .bn-t{white-space:nowrap;}
.bn-canvas img{display:block;}
.bn-canvas h2,.bn-canvas h3{margin:0;font-weight:inherit;}
.bn-canvas h2{font-size:0;line-height:0;}
.bn-canvas .bn-sr{width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap;left:0;top:0;}

/* ===== 各要素の位置（元デザイン1600px基準の実測値） ===== */
#bn-x1{left:64px;top:0;width:1368px;height:70px}
#bn-x2{left:56px;top:87px;width:1381.0px;height:212.0px;border-radius:14px;background:#fffefc;border:1.5px solid #eed9bd}
#bn-x3{left:86px;top:103px;width:112px;height:53px}
#bn-x4{left:86px;top:164px;width:112px;height:54px}
#bn-x5{left:86px;top:227px;width:112px;height:54px}
#bn-n1{top:105.60px;font-size:24px;line-height:24px;font-family:'Noto Serif JP','Noto Serif CJK JP','Hiragino Mincho ProN',serif;color:#14224e;font-weight:500;letter-spacing:-3.000px;font-feature-settings:'palt' 0;left:219.00px;text-align:left}
#bn-n1s{top:134.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#3b4666;font-weight:400;letter-spacing:-1.592px;font-feature-settings:'palt' 0;left:213.00px;text-align:left}
#bn-n2{top:166.60px;font-size:24px;line-height:24px;font-family:'Noto Serif JP','Noto Serif CJK JP','Hiragino Mincho ProN',serif;color:#14224e;font-weight:500;letter-spacing:0.000px;font-feature-settings:'palt' 0;left:220.00px;text-align:left}
#bn-n2s{top:196.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#3b4666;font-weight:400;letter-spacing:0.394px;font-feature-settings:'palt' 0;left:214.00px;text-align:left}
#bn-n3{top:231.60px;font-size:24px;line-height:24px;font-family:'Noto Serif JP','Noto Serif CJK JP','Hiragino Mincho ProN',serif;color:#14224e;font-weight:500;letter-spacing:0.000px;font-feature-settings:'palt' 0;left:220.00px;text-align:left}
#bn-n3s{top:261.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#3b4666;font-weight:400;letter-spacing:-0.495px;font-feature-settings:'palt' 0;left:213.00px;text-align:left}
#bn-p1{top:111.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:0.122px;font-feature-settings:'palt' 0;left:552.00px;text-align:left}
#bn-p2a{top:155.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:-0.073px;font-feature-settings:'palt' 0;left:552.00px;text-align:left}
#bn-p2b{top:181.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:0.000px;font-feature-settings:'palt' 0;left:552.00px;text-align:left}
#bn-p2c{top:203.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:-2.550px;font-feature-settings:'palt' 0;left:552.00px;text-align:left}
#bn-p3a{top:242.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:0.000px;font-feature-settings:'palt' 0;left:551.00px;text-align:left}
#bn-p3b{top:266.30px;font-size:17px;line-height:17px;font-family:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;color:#2a3355;font-weight:400;letter-spacing:0.016px;font-feature-settings:'palt' 0;left:551.00px;text-align:left}
#bn-x18{left:206px;top:332px;width:1103px;height:48px}
#bn-x19{left:26px;top:413px;width:330px;height:469px}
#bn-x20{left:374px;top:413px;width:342px;height:469px}
#bn-x21{left:736px;top:413px;width:345px;height:469px}
#bn-x22{left:1100px;top:413px;width:367px;height:469px}
#bn-x23{left:356px;top:600px;width:20px;height:60px}
#bn-x24{left:716px;top:600px;width:22px;height:60px}
#bn-x25{left:1081px;top:600px;width:21px;height:60px}
#bn-x26{left:0px;top:884px;width:1485px;height:175px}

/* ===== スマートフォン専用レイアウト：PC版では完全に非表示（PCは従来の1600pxキャンバスのまま） ===== */
.bn-sp{display:none}
/* 折りたたみUIはJSが動く環境でのみ有効（非対応環境ではすべて開いた状態） */
.bn-sp-acc{display:none}

@media(max-width:768px){
  /* PC用の1600pxキャンバスはスマホでは縮小表示しない（HTMLからは削除していない） */
  .bn-viewport{display:none}

  .bn-section{padding:24px 0 0;background:#fefcfa}
  .bn-sp{display:block;padding:0 12px 26px;
    font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;color:#3a342c}
  .bn-sp ol,.bn-sp ul{list-style:none;margin:0;padding:0}
  .bn-sp p{margin:0}

  /* --- セクション冒頭 --- */
  /* 見出しブロック（写真は使わない） */
  .bn-sp-hero{
    padding:22px 16px 20px;
    background:linear-gradient(180deg,#fffefb 0,#fdf9f0 100%);
    border:1px solid #e8dcc0;border-radius:18px;
    box-shadow:0 2px 10px rgba(70,55,40,.06);
  }
  /* 船の写真はスマホでは表示しない（HTMLからは削除していない） */
  .bn-sp-hero .bn-sp-visual{display:none}
  .bn-sp-eyebrow{
    text-align:center;font-size:12.5px;font-weight:700;
    letter-spacing:.18em;line-height:1.4;color:#b08b3e}
  .bn-sp-title{margin-top:6px;text-align:center}
  .bn-sp-title span{
    display:block;font-size:17px;font-weight:500;line-height:1.4;color:#6b5a44}
  .bn-sp-title strong{
    display:block;margin-top:4px;
    font-family:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN",serif;
    font-size:30px;font-weight:700;line-height:1.25;letter-spacing:.02em;color:#3b2a1e}
  /* 細いゴールドライン1本のみ */
  .bn-sp-title::after{
    content:"";display:block;width:46px;height:1px;margin:12px auto 0;background:#c9a253}
  .bn-sp-lead{
    margin-top:14px;text-align:center;font-size:17px;font-weight:500;
    line-height:1.6;color:#3b3128;word-break:keep-all}


  /* --- 3つの特典の全体カード（初期表示） --- */
  /* --- 3つの特典（初期表示）：左にエンブレム、右に小見出しと内容の2行 --- */
  .bn-sp-overview{
    margin-top:16px;padding:0;background:none;border:0;box-shadow:none;
    display:flex;flex-direction:column;gap:14px;
  }
  /* 1特典＝1カード。カード内に「詳しく見る」を持つ */
  .bn-sp-unit{
    padding:16px 14px 14px;
    background:linear-gradient(180deg,#fffefb 0,#fffdf7 100%);
    border:1px solid #e8dcc0;border-radius:18px;
    box-shadow:0 2px 10px rgba(70,55,40,.06);
  }
  .bn-sp-ov{
    display:grid;grid-template-columns:100px 1fr;column-gap:12px;
    grid-template-areas:"no name" "no kv";
    align-content:center;padding:0;
  }
  /* 特典1〜3：エンブレム画像（テキストは読み上げ用に保持） */
  .bn-sp-ov-no{
    grid-area:no;align-self:center;justify-self:start;position:relative;
    width:100px;height:62px;min-width:0;padding:0;
    background-repeat:no-repeat;background-position:left center;background-size:contain;
    border:0;border-radius:0;box-shadow:none;
  }
  .bn-sp-unit:nth-child(1) .bn-sp-ov-no{background-image:url(../images/benefits/sp-badge1.png)}
  .bn-sp-unit:nth-child(2) .bn-sp-ov-no{background-image:url(../images/benefits/sp-badge2.png)}
  .bn-sp-unit:nth-child(3) .bn-sp-ov-no{background-image:url(../images/benefits/sp-badge3.png)}
  .bn-sp-ov-no i,
  .bn-sp-ov-no b{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  }
  .bn-sp-ov-name{
    grid-area:name;margin:0;padding:0;border:0;
    font-family:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN",serif;
    font-size:19px;font-weight:600;line-height:1.4;letter-spacing:0;color:#3b2a1e}
  .bn-sp-ov-kv{
    grid-area:kv;margin-top:7px;display:flex;flex-wrap:wrap;align-items:baseline;
    font-size:16px;font-weight:500;line-height:1.5;color:#4a4137}
  .bn-sp-ov-kv b{
    margin:0 2px 0 4px;
    font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
    font-size:25px;font-weight:700;line-height:1.15;color:#4a3520}
  .bn-sp-ov-kv em{
    margin-right:4px;font-style:normal;font-size:17px;font-weight:700;color:#a67928}
  .bn-sp-ov-kv i{font-style:normal;font-size:16px;font-weight:500}

  /* --- アコーディオン --- */
  .bn-sp.is-acc .bn-sp-acc{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;min-height:46px;margin-top:12px;padding:9px 16px;
    background:#fffdf9;border:1px solid #ddc79a;border-radius:12px;
    font-family:"Noto Sans JP","Yu Gothic",sans-serif;
    font-size:17px;font-weight:700;line-height:1.4;color:#7a5a1e;
    cursor:pointer;-webkit-appearance:none;appearance:none;
  }
  .bn-sp-acc-ic{
    flex:none;width:0;height:0;font-style:normal;
    border-left:6px solid transparent;border-right:6px solid transparent;
    border-top:8px solid #b08b3e;transition:transform .2s ease;
  }
  .bn-sp-acc[aria-expanded="true"] .bn-sp-acc-ic{transform:rotate(180deg)}
  .bn-sp.is-acc .bn-sp-acc-panel{display:none}
  .bn-sp.is-acc .bn-sp-acc-panel.is-open{display:block}
  .bn-sp-acc-panel .bn-sp-list{margin-top:0}
  .bn-sp-acc-panel .bn-sp-steps{margin-top:16px}
  /* 金額の説明：各ステップのタイトルをオレンジに */
  .bn-sp-acc-panel .bn-sp-step-label{color:#e8730f}
  .bn-sp-acc-panel .bn-sp-step-label i{color:#e8730f}
  /* 各特典カード内の「詳しく見る」 */
  .bn-sp.is-acc .bn-sp-acc--unit{
    min-height:50px;margin-top:14px;padding:11px 14px;
    background:rgba(255,255,255,.55);border-color:#e2cfa4;font-size:17px;
  }
  /* 展開した詳細はカードの続きとして見せる（枠を二重にしない） */
  .bn-sp-unit .bn-sp-card{
    margin-top:14px;padding:16px 2px 2px;
    background:none;border:0;border-top:1px solid #efe4cc;border-radius:0;box-shadow:none;
  }

  /* --- 価格比較の全体カード（初期表示） --- */
  .bn-sp .bn-sp-ladder{margin-top:14px;padding:0;background:none;border:0}
  .bn-sp-lstep{
    position:relative;display:flex;align-items:center;gap:10px;
    padding:16px 18px;border-radius:14px;border:1px solid #ebdfc6;
  }
  /* 段ごとに、数字の世界から旅の世界へ少しずつ近づける */
  .bn-sp-lstep:nth-child(1){background:linear-gradient(180deg,#fffefc 0,#f7f5f0 100%)}
  .bn-sp-lstep:nth-child(2){background:linear-gradient(180deg,#fffefb 0,#fffcf4 100%)}
  .bn-sp-lstep:nth-child(3){background:linear-gradient(180deg,#fffdf5 0,#fdf6e6 100%)}
  .bn-sp-lstep + .bn-sp-lstep{margin-top:42px}
  /* 細いゴールドの縦線 */
  .bn-sp-lstep + .bn-sp-lstep::before{
    content:"";position:absolute;left:0;right:0;top:-38px;margin:0 auto;
    width:1px;height:24px;background:linear-gradient(180deg,rgba(201,162,83,.25) 0,#c9a253 100%);
  }
  /* 下向き矢印 */
  .bn-sp-lstep + .bn-sp-lstep::after{
    content:"";position:absolute;left:0;right:0;top:-16px;margin:0 auto;
    width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;
    border-top:9px solid #c9a253;
  }
  .bn-sp-lb{
    flex:1 1 auto;font-size:17px;font-weight:600;line-height:1.45;color:#5b5344}
  .bn-sp-lv{
    flex:none;display:flex;align-items:baseline;white-space:nowrap}
  .bn-sp-lv i{
    margin-right:5px;font-style:normal;font-size:16px;font-weight:600;color:#5b5344}
  .bn-sp-lv b{
    font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
    font-weight:700;line-height:1.1;letter-spacing:.01em;color:#3b2a1e}
  .bn-sp-lv em{
    margin-left:3px;font-style:normal;font-size:20px;font-weight:700;color:#3b2a1e}
  /* 下に進むほど数字の重みを上げる */
  .bn-sp-lstep:nth-child(1) .bn-sp-lv b{font-size:32px}
  .bn-sp-lstep:nth-child(2) .bn-sp-lv b{font-size:36px}
  .bn-sp-lstep:nth-child(3) .bn-sp-lv b{font-size:38px}

  /* --- ゴール：実質500＄（既存のクルーズ写真を背景に） --- */
  .bn-sp-lstep:nth-child(4){
    display:block;text-align:center;padding:26px 18px 28px;border:0;border-radius:16px;
    background-image:linear-gradient(180deg,rgba(48,34,22,.38) 0,rgba(48,34,22,.56) 100%),
      url(../images/materials/benefit_pool_deck.png);
    background-size:cover;background-position:center;
    box-shadow:0 4px 12px rgba(70,55,40,.18);
  }
  .bn-sp-lstep:nth-child(4) .bn-sp-lb{
    display:block;font-size:16px;font-weight:600;color:#fdf6e6;
    text-shadow:0 1px 3px rgba(40,28,18,.5)}
  .bn-sp-lstep:nth-child(4) .bn-sp-lv{
    justify-content:center;margin-top:6px;text-shadow:0 2px 6px rgba(40,28,18,.45)}
  .bn-sp-lstep:nth-child(4) .bn-sp-lv i{font-size:17px;color:#f0d79a}
  .bn-sp-lstep:nth-child(4) .bn-sp-lv b{font-size:44px;color:#fff}
  .bn-sp-lstep:nth-child(4) .bn-sp-lv em{font-size:23px;color:#fff}

  /* --- 3つの特典カード（詳細／アコーディオン内） --- */
  .bn-sp-list{margin-top:22px;display:flex;flex-direction:column;gap:20px}
  .bn-sp-card,.bn-sp-step{
    background:#fffdf9;border:1px solid #e8dcc0;border-radius:17px;
    box-shadow:none}
  .bn-sp-card{padding:24px 20px}
  .bn-sp-no{
    font-size:12.5px;font-weight:700;letter-spacing:.16em;line-height:1.4;color:#b08b3e}
  .bn-sp-name{
    margin:6px 0 0;
    font-family:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN",serif;
    font-size:23px;font-weight:600;line-height:1.35;color:#3b2a1e}
  .bn-sp-name span{
    display:block;margin-top:5px;
    font-family:"Noto Sans JP","Yu Gothic",sans-serif;
    font-size:16px;font-weight:400;line-height:1.5;color:#6b6255}
  /* 一番重要な結論（大きな数字） */
  .bn-sp-kv{
    margin-top:14px;padding:11px 14px;border-radius:11px;background:#faf5e9;
    display:flex;flex-wrap:wrap;align-items:baseline;
    font-size:18px;font-weight:600;line-height:1.5;color:#3b2a1e}
  .bn-sp-kv i{font-style:normal;font-size:17px;font-weight:600}
  .bn-sp-kv b{
    margin:0 2px 0 4px;
    font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
    font-size:36px;font-weight:700;line-height:1.1;color:#3b2a1e}
  .bn-sp-kv em{
    margin-right:4px;font-style:normal;font-size:20px;font-weight:700;color:#3b2a1e}
  .bn-sp-desc{margin-top:14px;font-size:17px;font-weight:400;line-height:1.75;color:#3a342c}
  .bn-sp-desc + .bn-sp-desc{margin-top:11px}
  /* プラン名（CLASSIC／PREMIUM）を小見出し的に */
  .bn-sp-plan{font-weight:700;color:#3b2a1e}
  /* 特典3の利用条件は重要事項のため一段大きく */
  #bn-sp-b3 .bn-sp-terms li{font-size:16px;line-height:1.65;color:#5b5344}
  #bn-sp-b3 .bn-sp-terms{gap:7px}
  #bn-sp-b3 .bn-sp-terms-head{font-size:14px;color:#7a715f}
  .bn-sp-use{margin-top:12px;display:flex;flex-direction:column;gap:7px}
  .bn-sp-use li{
    position:relative;padding-left:17px;font-size:17px;line-height:1.6;color:#3a342c}
  .bn-sp-use li::before{
    content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
    border-radius:50%;background:#c9a253}
  .bn-sp-cond{margin-top:12px;font-size:15px;line-height:1.65;color:#6b6255}
  /* 利用条件（本文より一段小さい情報。2行目以降は1行目の文字開始位置にそろえる） */
  .bn-sp-terms-head{
    margin-top:16px;padding-top:12px;border-top:1px solid #f2e9d8;
    font-size:13px;font-weight:700;
    letter-spacing:.08em;line-height:1.4;color:#8d8478}
  .bn-sp-terms{margin-top:6px;display:flex;flex-direction:column;gap:4px}
  .bn-sp-terms li{
    position:relative;padding-left:13px;
    font-size:14px;font-weight:400;line-height:1.6;color:#857c70}
  .bn-sp-terms li::before{
    content:"";position:absolute;left:1px;top:.62em;width:4px;height:4px;
    border-radius:50%;background:#cdbb92}

  /* ===== 価格イメージ：チケット型の料金推移（スマホ専用） ===== */
  /* ============================================================
     3つの特典 → 料金イメージ の「話題の切り替え」ブロック
     ・上に ◇ の飾り罫を置き、章が変わることを知らせる
     ・文字を大きく・行間を広く取り、前後に十分な余白を確保
     ・$1,000（現状）は控えめ、$500（結果）はオレンジで強調
     ============================================================ */
  .bn-sp-bridge{
    position:relative;margin:24px 4px 0;padding:26px 8px 24px;
    text-align:center;border:0;background:none;
    font-family:"Noto Sans JP","Yu Gothic",sans-serif;color:#3b2a1e}
  /* 飾り罫（中央に◇） */
  .bn-sp-bridge::before{
    content:"";position:absolute;left:50%;top:10px;
    width:132px;height:1px;margin-left:-66px;
    background:linear-gradient(90deg,transparent,#dcc08a 24%,#dcc08a 76%,transparent)}
  .bn-sp-bridge::after{
    content:"◇";position:absolute;left:50%;top:1px;transform:translateX(-50%);
    padding:0 9px;background:#fefcfa;color:#d3b884;font-size:10px;line-height:1.5}
  .bn-sp-bridge-lead{
    display:block;margin-bottom:6px;
    font-size:13.5px;font-weight:600;line-height:1.5;letter-spacing:.04em;color:#8a7d68}
  .bn-sp-bridge-kv{
    display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:#5d5346}
  .bn-sp-bridge-kv b{
    font-family:"Times New Roman",Times,"Liberation Serif",serif;
    font-variant-numeric:lining-nums tabular-nums;
    font-size:1.32em;font-weight:600;line-height:1;letter-spacing:0;
    padding:0 2px;vertical-align:-.04em}
  .bn-sp-bridge-kv b.is-from{color:#a39a8c}
  .bn-sp-bridge-kv b.is-to{color:#b97819}

  /* 「価格イメージ／特典を活かした場合の料金イメージ」はスマホでは非表示
     （マークアップは残し、CSSでのみ非表示にしています） */
  .bn-sp-tkt-head{display:none}
  .bn-sp-tkt-eyebrow{
    display:flex;align-items:center;justify-content:center;gap:10px;
    font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1.4;color:#a67928}
  .bn-sp-tkt-eyebrow::before,
  .bn-sp-tkt-eyebrow::after{
    content:"◇";flex:0 0 auto;font-size:9px;color:#cbb383;letter-spacing:0}
  .bn-sp-cmp-head{
    margin-top:12px;text-align:center;word-break:keep-all;
    font-family:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN",serif;
    font-size:23px;font-weight:600;line-height:1.4;letter-spacing:.01em;color:#3b2a1e}
  .bn-sp-cmp-head::after{
    content:"◇";display:block;margin-top:8px;font-size:9px;color:#cbb383}

  .bn-sp-tickets{margin-top:14px;display:flex;flex-direction:column;gap:14px}
  /* チケット外形：ゴールドの輪郭線を切り欠き形状に沿って描く（drop-shadow重ね）＋落ち影 */
  .bn-sp-tk{position:relative;
    filter:
      drop-shadow(0 0 .7px #c9a660) drop-shadow(0 0 .7px #c9a660)
      drop-shadow(0 0 .7px rgba(201,166,96,.55))
      drop-shadow(0 4px 9px rgba(90,72,44,.20))
      drop-shadow(0 1px 2px rgba(90,72,44,.12))}
  /* チケット間：ゴールドの点＋下向き矢印（ミシン目の延長線上に配置） */
  .bn-sp-tk + .bn-sp-tk::before{
    content:"";position:absolute;top:-13px;right:25px;width:2px;height:5px;
    background:#e0b96a}
  .bn-sp-tk + .bn-sp-tk::after{
    content:"";position:absolute;top:-9px;right:21px;width:0;height:0;
    border-left:5px solid transparent;border-right:5px solid transparent;
    border-top:8px solid #e0b96a}

  /* チケットの輪郭：左右中央に半円の切り欠きを持つ実際のチケット形状 */
  .bn-sp-tkt{
    --notch:11px;
    position:relative;display:grid;
    grid-template-columns:54px minmax(0,1fr) 124px;
    column-gap:7px;align-items:center;
    min-height:132px;padding:11px 30px 11px 11px;border-radius:14px;
    background:#fff;border:0;box-shadow:none;
    -webkit-mask-image:
      radial-gradient(circle var(--notch) at left 50%,transparent 98%,#000 100%),
      radial-gradient(circle var(--notch) at right 50%,transparent 98%,#000 100%),
      radial-gradient(circle 7px at right 25px top 0,transparent 98%,#000 100%),
      radial-gradient(circle 7px at right 25px bottom 0,transparent 98%,#000 100%);
    mask-image:
      radial-gradient(circle var(--notch) at left 50%,transparent 98%,#000 100%),
      radial-gradient(circle var(--notch) at right 50%,transparent 98%,#000 100%),
      radial-gradient(circle 7px at right 25px top 0,transparent 98%,#000 100%),
      radial-gradient(circle 7px at right 25px bottom 0,transparent 98%,#000 100%);
    -webkit-mask-composite:source-in;
    mask-composite:intersect,intersect,intersect;
  }
  /* 内側の細いゴールドの枠線（切り欠きに沿って回り込む） */
  .bn-sp-tkt::before{
    content:"";position:absolute;inset:7px;z-index:1;pointer-events:none;
    border:1px solid #e3cb9a;border-radius:8px;
    -webkit-mask-image:
      radial-gradient(circle 19px at left -7px 50%,transparent 98%,#000 100%),
      radial-gradient(circle 19px at right -7px 50%,transparent 98%,#000 100%);
    mask-image:
      radial-gradient(circle 19px at left -7px 50%,transparent 98%,#000 100%),
      radial-gradient(circle 19px at right -7px 50%,transparent 98%,#000 100%);
    -webkit-mask-composite:source-in;
    mask-composite:intersect;
  }
  /* 半券の縦破線とバーコード風装飾 */
  /* ミシン目：上下の切り欠きを結ぶ縦の破線 */
  .bn-sp-tk-perf{
    position:absolute;top:5px;bottom:5px;right:25px;width:1px;z-index:2;
    background:repeating-linear-gradient(180deg,
      #d8bd80 0 5px,transparent 5px 10px)}
  /* バーコード：横バーを縦に積んだ実際のバーコード表現 */
  .bn-sp-tk-bar{
    position:absolute;top:50%;right:9px;width:14px;height:76px;margin-top:-38px;z-index:2;
    background:repeating-linear-gradient(180deg,
      #8b8378 0 2px,transparent 2px 4px,#8b8378 4px 7px,transparent 7px 9px,
      #8b8378 9px 10px,transparent 10px 13px,#8b8378 13px 16px,transparent 16px 18px,
      #8b8378 18px 19px,transparent 19px 22px,#8b8378 22px 24px,transparent 24px 25px,
      #8b8378 25px 28px,transparent 28px 31px,#8b8378 31px 32px,transparent 32px 34px);
    opacity:.6}

  /* 左カラム：番号とエンブレム */
  .bn-sp-tk-no{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    align-self:stretch;margin:-8px 0;padding:8px 8px 8px 0;
    border-right:1px solid #e8d9b6}
  .bn-sp-tk-no b{
    font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
    font-size:31px;font-weight:500;line-height:1;letter-spacing:.02em;color:#c9a25a}
  .bn-sp-tk-no i{
    margin-top:4px;font-style:normal;font-size:9.5px;font-weight:700;
    letter-spacing:.16em;line-height:1;color:#a49883;text-indent:.16em}
  .is-tk3 .bn-sp-tk-no b{color:#9b9aa0}
  /* エンブレムを番号（01 TICKET）より上に配置 */
  .bn-sp-tk-em{
    order:-1;
    display:block;width:52px;height:52px;margin:0 0 9px;
    background-repeat:no-repeat;background-position:center center;background-size:contain}
  .is-tk2 .bn-sp-tk-em{background-image:url(../images/ticket/badge-benefit1.png)}
  .is-tk3 .bn-sp-tk-em{background-image:url(../images/ticket/badge-benefit2.png)}
  .is-tk4 .bn-sp-tk-em{background-image:url(../images/ticket/badge-benefit3.png)}

  /* 中央：説明 */
  .bn-sp-tk-body{position:relative;z-index:1;min-width:0}
  .bn-sp-tk-label{
    padding-bottom:6px;border-bottom:1px dotted #e0cba0;
    font-size:16px;font-weight:700;line-height:1.4;letter-spacing:-.02em;color:#3b2a1e;
    word-break:keep-all}
  .bn-sp-tk-label span{
    display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:#6b6255;
    letter-spacing:0}
  .bn-sp-tk-desc{
    margin-top:7px;font-size:11px;font-weight:500;line-height:1.55;letter-spacing:-.01em;color:#6b6255;
    word-break:normal;line-break:strict;overflow-wrap:break-word}

  /* 右：金額（末尾を完全にそろえる） */
  .bn-sp-tk-price{
    position:relative;z-index:1;
    width:124px;margin-left:auto;text-align:right;white-space:nowrap;
    font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
    font-size:41px;font-weight:600;line-height:1.05;letter-spacing:0;
    font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
    color:#3b2a1e}
  /* ＄は全角。字幅が広いので少し小さめ＋アキを詰める */
  .bn-sp-cur{font-size:.50em;font-weight:600;margin-right:-.04em}
  /* 01・02の金額は線をやや細く（03・04を相対的に強く見せる） */
  .is-tk1 .bn-sp-tk-price,
  .is-tk2 .bn-sp-tk-price{font-weight:400}
  .is-tk1 .bn-sp-cur,
  .is-tk2 .bn-sp-cur{font-weight:400}
  .is-tk3 .bn-sp-tk-price{font-size:43px;color:#e8730f}
  .is-tk4 .bn-sp-tk-price{color:#6f5520;
    text-shadow:0 0 10px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.85),0 1px 2px rgba(255,255,255,.95)}

  /* 段階的な変化 */
  /* 01 一般料金：他の3枚より20%低いカード（158px→126px） */
  .is-tk1{background:#fffefc;min-height:106px}
  .is-tk1::before{border-color:#eddfba}
  /* 02は白系、03はうすいクリーム系（地色を入れ替え） */
  .is-tk2{background:linear-gradient(180deg,#fffefd 0,#fbfbfc 100%)}
  .is-tk2::before{border-color:#e4c98f}
  .is-tk3{background:linear-gradient(180deg,#fffefb 0,#fffcf3 100%)}
  .is-tk3::before{border-color:#d8d5cf}
  .is-tk4{
    background-image:linear-gradient(90deg,#fff 0,#fff 28%,rgba(255,255,255,.86) 46%,rgba(255,255,255,.55) 66%,rgba(255,255,255,.30) 86%,rgba(255,255,255,.22) 100%),
      url(../images/ticket/resort-terrace.jpg);
    background-size:auto,cover;
    background-position:center,16% 52%;
    background-repeat:no-repeat,no-repeat}
  .is-tk4::before{border-color:#dcd3bd}
  .is-tk4 .bn-sp-tk-no{border-right-color:#e2ddd2}
  .is-tk4 .bn-sp-tk-label{border-bottom-color:#dfd3b4}

  .bn-sp-note{margin-top:18px;font-size:15px;line-height:1.7;color:#6b6255}
  .bn-sp-next{
    margin-top:22px;text-align:center;font-size:17px;font-weight:500;
    line-height:1.6;color:#3b2a1e;word-break:keep-all}
}
