/* ==========================================================
   inCruises専用ページ｜現実味を感じられる数字の流れ（差し替え）
   支給パッケージ incruises_cards95 の index.html / styles.css を
   セクション用にスコープしただけ。座標・サイズ・色・文言は未変更
   ========================================================== */
.ic-cards95{ width:100%; margin:0; padding:0; background:#fbf5ec; overflow:hidden; }
.ic-cards95__viewport{ position:relative; width:100%; max-width:1536px; margin:0 auto; overflow:hidden; aspect-ratio:1536/1024; }
.ic-cards95 .c95root{
  -webkit-text-size-adjust:100%; text-size-adjust:100%; box-sizing:border-box; }
.ic-cards95{
  --bg:#fbf5ec;
  --panel:#fbfaf8;
  --gold:#b6862b;
  --gold-light:#d7c3a2;
  --brown:#3e2a18;
  --text:#2f231a;
}
.ic-cards95 .c95root *{box-sizing:border-box}
.ic-cards95 .c95root{margin:0;padding:0;background:var(--bg);width:1536px;height:1024px;transform-origin:top left;}
.ic-cards95 .c95root{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;color:var(--text);} 
.ic-cards95 .canvas{
  width:1536px;height:1024px;position:relative;overflow:hidden;
  background:#fbf5ec;
}
.ic-cards95 .main-panel{
  position:absolute;left:15px;top:49px;width:1506px;height:950px;
  background:linear-gradient(180deg,#fdf8f0 0%,#fcf7ee 100%);
  border-radius:35px;border:1px solid rgba(215,195,162,.55);
  box-shadow:0 10px 28px rgba(120,93,50,.08) inset;
}
.ic-cards95 .top-ornament{position:absolute;left:687px;top:18px;width:162px;height:30px;object-fit:contain;opacity:.98}
.ic-cards95 .swash-left{position:absolute;left:219px;top:94px;width:195px;height:35px;object-fit:contain;opacity:.98}
.ic-cards95 .swash-right{position:absolute;left:1115px;top:94px;width:198px;height:35px;object-fit:contain;opacity:.98}
.ic-cards95 .title{
  position:absolute;left:434px;top:68px;width:675px;
  font-size:47px;line-height:1.08;font-weight:600;letter-spacing:.01em;
  color:#6a4312;text-align:center;
}
.ic-cards95 .sub1,.ic-cards95 .sub2,.ic-cards95 .sub3{position:absolute;left:210px;width:1120px;text-align:center;color:#21160d;}
.ic-cards95 .sub1{top:155px;font-size:27px;line-height:1.4;}
.ic-cards95 .sub2{top:193px;font-size:27px;line-height:1.4;}
.ic-cards95 .sub3{top:231px;font-size:27px;line-height:1.4;}
.ic-cards95 .cards-row{position:absolute;left:48px;top:278px;width:1434px;height:456px;}
.ic-cards95 .card{position:absolute;top:0;width:261px;height:456px;}
.ic-cards95 .card img{width:100%;height:100%;display:block}
.ic-cards95 .c1{left:0}.ic-cards95 .c2{left:290px}.ic-cards95 .c3{left:588px}.ic-cards95 .c4{left:881px}.ic-cards95 .c5{left:1170px}
.ic-cards95 .arrow{position:absolute;top:177px;width:40px;height:87px;object-fit:contain}
.ic-cards95 .a1{left:260px}.ic-cards95 .a2{left:550px}.ic-cards95 .a3{left:848px}.ic-cards95 .a4{left:1139px}
.ic-cards95 .blank-panel{
  position:absolute;left:39px;top:771px;width:1453px;height:204px;
  background:linear-gradient(180deg,#fdf8f0 0%,#fcf7ee 100%);
  border:1px solid rgba(215,195,162,.65);border-radius:18px;
  box-shadow:0 2px 10px rgba(70,40,10,.04) inset;
}

/* 上のセクションから移動した締めの一行（5枚のカードの直下） */
.ic-cards95 .c95-next{
  position:absolute; left:218px; top:835px; width:1100px;
  text-align:center; color:#dc4e00; white-space:nowrap;
  font-size:64px; line-height:1.2; font-weight:700; letter-spacing:.01em;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
}
.ic-cards95 .c95-swash-l{position:absolute;left:215px;top:833px;width:104px;height:88px;object-fit:contain}
.ic-cards95 .c95-swash-r{position:absolute;left:1200px;top:833px;width:108px;height:88px;object-fit:contain}

/* =========================================================
   スマホのみ：文字を 22 / 17 / 17 / 22px へ。
   header の行数が増えるぶん、キャンバスの縦を伸ばして下段を送る。
   PC（769px以上）は 1536×1024 のまま一切変更しない。
   倍率 390/1536 = 0.2539 → canvas値 = 画面値 ÷ 0.2539
========================================================= */
@media (max-width:768px){
  .ic-cards95__viewport{ aspect-ratio:1536/1452; }
  .ic-cards95 .c95root,
  .ic-cards95 .canvas{ height:1452px; }
  .ic-cards95 .main-panel{ height:1378px; }
  .ic-cards95 .top-ornament{ top:22px; }
  /* 見出しを大きくすると両脇の飾りとぶつかるため、スマホでは飾りを出さない */
  .ic-cards95 .swash-left,
  .ic-cards95 .swash-right{ display:none; }

  /* 見出し 11.9px → 22px */
  .ic-cards95 .title{
    left:110px; top:78px; width:1316px;
    font-size:86.6px; line-height:1.25;
  }
  /* リード2行 6.9px → 17px（それぞれ2行に折り返す） */
  .ic-cards95 .sub1,.ic-cards95 .sub2,.ic-cards95 .sub3{ left:80px; width:1376px; font-size:66.9px; line-height:1.55; }
  .ic-cards95 .sub1{ top:238px; }
  .ic-cards95 .sub2{ top:468px; }
  .ic-cards95 .sub3{ top:698px; }

  /* 下段をまとめて送る */
  .ic-cards95 .cards-row{ top:700px; }
  .ic-cards95 .blank-panel{ top:1193px; }
  .ic-cards95 .c95-next{
    left:150px; top:1258px; width:1236px;
    font-size:86.6px;
  }
  .ic-cards95 .c95-swash-l,
  .ic-cards95 .c95-swash-r{ display:none; }
}

/* =========================================================
   スマホ：カードを左右スワイプで見る（中央のカードを大きく）
   PC（769px以上）は 1536×1024 の5枚横並びのまま、一切変更しない
========================================================= */
.c95sp{ display:none; }

@media (max-width:768px){
  .ic-cards95__viewport{ display:none !important; }
  .ic-cards95{ background:#fbf5ec; }

  .c95sp{
    display:block; padding:18px 0 26px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
    -webkit-text-size-adjust:100%; text-size-adjust:100%;
  }
  .c95sp-orn{ display:block; width:118px; height:auto; margin:0 auto 10px; opacity:.98; }
  .c95sp-title{
    margin:0 14px; text-align:center;
    font-size:22px; font-weight:600; line-height:1.35; letter-spacing:.01em; color:#6a4312;
  }
  .c95sp-sub{
    margin:15px 12px 0; text-align:center;
    font-size:17px; font-weight:500; line-height:1.65; letter-spacing:.01em; color:#21160d;
  }
  /* 「ここまでは会員ならどなたでも。」と、その次のまとまりの間を広くとる */
  .c95sp-sub--gap{ margin-top:30px; }
  .c95sp-hint{
    margin:16px 16px 0; text-align:center;
    font-size:13px; color:#ad761c; letter-spacing:.02em;
  }

  /* ---- スワイプの並び ---- */
  .c95sp-track{
    display:flex; gap:12px; margin:4px 0 0; padding:22px 0 40px;
    padding-inline:14vw;
    list-style:none; overflow-x:auto;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain; scrollbar-width:none;
  }
  .c95sp-track::-webkit-scrollbar{ display:none; }
  .c95sp-item{
    flex:0 0 72vw; max-width:320px; scroll-snap-align:center;
    transform:scale(.88); opacity:.55;
    transition:transform .22s ease, opacity .22s ease;
  }
  .c95sp-track{ align-items:stretch; }
  .c95sp-item{ display:flex; }
  .c95sp-item.is-c{ transform:none; opacity:1; }

  /* ---- カード（HTML実文字。写真だけ画像） ---- */
  .c95c{
    position:relative; display:block; width:100%;
    margin:0; padding:12px 11px 14px;
    border-radius:14px; background:#fdfdfc;
    box-shadow:0 6px 18px rgba(80,55,20,.16);
    text-align:center;
  }
  .c95c-badge{ display:none; }
  .c95c-eyebrow{
    margin:0 0 1px; font-size:22px; font-weight:600; line-height:1.28;
    letter-spacing:.02em; color:#e8730f;
  }
  .c95c-name{
    margin:0; font-size:22px; font-weight:600; line-height:1.25;
    letter-spacing:.01em; color:#1a1310; white-space:nowrap;
  }
  .c95c-amt{
    display:flex; align-items:baseline; justify-content:center; gap:5px;
    margin:2px 0 8px; color:#a8761f;
  }
  .c95c-amt--k{ color:#14100d; }
  .c95c-pre{ font-size:22px; font-weight:600; line-height:1.2; }
  .c95c-num{
    font-size:45px; font-weight:600; line-height:1.04; letter-spacing:.005em;
    font-family:"Times New Roman","Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  }
  .c95c--big .c95c-num{ font-size:70px; }

  .c95c-photo{
    display:block; width:92%; margin-inline:auto; height:auto; aspect-ratio:219/154;
    object-fit:cover; border-radius:9px;
    box-shadow:0 2px 7px rgba(80,55,20,.14);
  }
  .c95c--coin .c95c-photo{ border-radius:0; box-shadow:none; }
  .c95c-desc{
    margin:10px 0 0; font-size:17px; font-weight:500; line-height:1.55;
    letter-spacing:.01em; color:#17130f;
  }
  .c95c-quote{
    margin:6px 0 0; font-size:22px; font-weight:600; line-height:1.3;
    letter-spacing:.01em; color:#a8761f;
  }

  /* ---- 現在位置 ---- */
  .c95sp-dots{ display:flex; justify-content:center; gap:10px; margin:2px 0 0; }
  .c95sp-dots button{
    appearance:none; -webkit-appearance:none; width:10px; height:10px; padding:0;
    border:0; border-radius:50%; background:#e4d3b4; cursor:pointer;
  }
  .c95sp-dots button.is-c{ background:#c07822; transform:scale(1.2); }

  /* ---- 締めの一行 ----
     ユーザー指示によりスマホでは非表示（カード⑤末尾の「次はどこへ行こう？」と重複するため）。
     PC（769px以上）では従来どおり表示。マークアップは削除していない。 */
  .c95sp-next{ display:none !important; }
  .c95sp-next--kept{
    display:flex; align-items:center; justify-content:center; gap:8px;
    margin:24px 12px 0; text-align:center;
    font-size:22px; font-weight:700; line-height:1.35; letter-spacing:.01em; color:#dc4e00;
  }
  .c95sp-next span{ flex:none; white-space:nowrap; }
  .c95sp-sw{ flex:0 1 34px; min-width:14px; height:auto; object-fit:contain; opacity:.9; }
}
@media (max-width:359px){
  .c95sp-item{ flex:0 0 78vw; }
  .c95sp-track{ padding-inline:11vw; }
  .c95sp-next{ font-size:19px; }
  .c95sp-sw{ flex:0 1 24px; min-width:10px; }
  .c95c{ padding:12px 9px 14px; }
  .c95c-eyebrow{ font-size:20px; }
  .c95c-name{ font-size:20px; }
  .c95c-pre{ font-size:20px; }
  .c95c-num{ font-size:40px; }
  .c95c--big .c95c-num{ font-size:62px; }
  .c95c-quote{ font-size:20px; }
  .c95c-desc{ font-size:16px; }
}
@media (prefers-reduced-motion:reduce){
  .c95sp-item{ transition:none; }
}

/* カード④・締めの一文に添える一行：パートナー登録（有料・任意）を選んだ方の特典であることを明示 */
@media (max-width:768px){
  .c95sp-opt{ display:inline-block; margin-top:2px; font-size:14px; font-weight:500;
    line-height:1.5; color:#7a6450; letter-spacing:0; }
  .c95c-opt{ margin:6px 0 0; font-size:14px; line-height:1.4; font-weight:500;
    text-align:center; color:#7a6450; letter-spacing:0; }
}
@media (max-width:359px){
  .c95c-opt{ font-size:13px; }
}
