@charset "utf-8";
/* =========================================================================
   nimocle カード LP
   Figma: nimocle_FIX_260721.fig（SP 375 / PC 1280）
   SP ファースト。PC は 768px 以上、ワイドは 1080px 以上で切り替え。
   ========================================================================= */

/* ---------------------------------------------------------------- tokens */
:root{
  --c-text:#4c4948;
  --c-text-dk:#413d3c;
  --c-text-gy:#595757;
  --c-blue:#62b0e3;
  --c-blue-dk:#4a9fd8;
  --c-blue-bg:#a1d0ee;
  --c-blue-pale:#cbe4f5;
  --c-blue-lt:#d7ebfb;
  --c-blue-lt2:#ddf0ff;
  --c-gray-bg:#f2f1f2;
  --c-yellow:#ffe08a;
  --c-cta:#ffd700;
  --c-teal:#109999;
  --c-teal-lt:#bfe3e0;
  --c-orange:#df6217;
  --c-line:#d8d8d8;

  --grad-hero:linear-gradient(135deg,#a7d4f8 0%,#58a7e6 100%);

  --inner:34.5rem;
  --pc-inner:100rem;
  --radius:1.4rem;

  /* Noto Sans JP は Google Fonts から 40 以上のサブセットに分割配信されるため、
     読み込み完了まではフォールバックで描画される。Android に標準搭載の
     Noto Sans CJK JP を先に置くと、その間も字幅がほぼ一致して崩れない。
     iOS は Hiragino しか無いため、下の「約物ぶんの余裕」で吸収する。      */
  --font:"Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --font-num:"Barlow","Noto Sans JP",sans-serif;
  --header-h:5rem;
}

/* ------------------------------------------------- Web フォント読み込み中
   Noto Sans JP は Google Fonts から 40 以上のサブセットに分割配信されるため、
   モバイル回線では揃うまで時間がかかる。その間はフォールバック（iOS なら
   Hiragino）で描画され、約物（、。「」！）が全角のままになるぶん 1 行が
   3〜17px 広がる。Figma で「ちょうど 1 行」に組んである箇所はそこで折り返す。

   読み込み中だけ、その差ぶんの字間を詰めて行数を保つ。対象は実測で行数が
   変わった箇所に限定する（body 全体に掛けると、もともと複数行の箇所が
   逆に詰まって行数が減ってしまう）。                                    */
.fonts-loading .card-panel__title{letter-spacing:-.085em}
.fonts-loading .always__title{letter-spacing:-.045em}
.fonts-loading .usepoint__title{letter-spacing:-.02em}
.fonts-loading .fcard__title{letter-spacing:-.03em}
.fonts-loading .fcard__note,
.fonts-loading .notes--fv li,
.fonts-loading .notes-sec .notes li,
.fonts-loading .spec-list__note,
.fonts-loading .spec-list dd{letter-spacing:-.03em}

/* ---------------------------------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}

/* ------------------------------------------------------------- scaling
   Figma の値をそのまま使えるよう 1rem = デザイン 10px にスケールさせる。
   SP は 375px 基準、PC は 1280px 基準。                                  */
html{
  font-size:calc(100vw / 37.5);          /* 1rem = 10px @375px */
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 1rem);
}
@media (min-width:431px) and (max-width:1023px){
  html{font-size:11.5px}                 /* 端末が広くても拡大しすぎない */
  /* FV のビジュアル（spec ボックス＋カード）は 375px 設計の絶対配置。
     この帯ではコンテナが全幅になるため 37.5rem に固定して中央に置く */
  .fv__vis{width:37.5rem;margin-inline:auto}
}
/* PC レイアウトは 1024px 以上。1rem = 100vw/128 なので 1024px で 8px、1280px で 10px。
   768〜1023px でこれを使うと 128rem（=1024px）が画面幅を超えて FV が切れるため、
   その帯は SP レイアウトを中央に表示する。                                        */

@media (min-width:1024px){
  html{font-size:clamp(8px, calc(100vw / 128), 10px)}   /* 1rem = 10px @1280px */
}
body{
  margin:0;
  /* 1rem は 100vw 基準のためスクロールバー分だけ端が溢れる。それを抑える */
  overflow-x:hidden;
  font-family:var(--font);
  font-weight:700;
  color:var(--c-text);
  background:var(--c-gray-bg);
  line-height:1.6;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
  /* Figma 側で HALT（約物半角）が有効。palt はひらがなまで詰めてしまい
     文字幅が Figma より約 5% 狭くなるため halt を使う */
  font-feature-settings:"halt" 1;
  /* text-wrap:pretty は使わない：新しい Safari(iOS18 系)の pretty は
     段落全体を均等割りするため「右が空いているのに折り返す」表示になり、
     未対応の旧 iOS と改行位置が変わってしまう（実機で崩れて見えた原因）。
     どのブラウザでも同じ「詰めて折り返す」挙動に固定する */
  text-wrap:wrap;
}
img,svg{max-width:100%;height:auto;vertical-align:middle}
h1,h2,h3,p,dl,dd,dt,figure,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
/* body が 700 のため b/strong が bolder=900 になる。Figma に合わせ 700 を既定に */
b,strong{font-weight:700}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
sup{font-size:.62em;vertical-align:super;line-height:0}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
.u-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.link{color:#1673c4;text-decoration:underline}
.link:hover{opacity:.7}

/* shared inner */
.offers__inner,.feature__head-inner,.feature__list,.always__inner,
.example-sec__inner,.flow__inner,.cardinfo__inner,.faq__inner,.notes-sec__inner,
.hp-link__inner,.header__inner{
  width:min(100% - 3rem,var(--inner));
  margin-inline:auto;
}

/* shared section heads */
.sec-eyebrow{text-align:center;font-size:1.8rem;line-height:1.3;margin-bottom:.6rem}
/* 見出し左右の斜線は Figma では長短 2 本 1 組（左 9x12.5：長い線が右、
   短い線が左下。右側はその左右反転）。1 本の擬似要素では作れないので
   SVG マスクで 2 本ぶんの形を抜き、色は currentColor をそのまま使う。   */
.sec-eyebrow span{
  position:relative;display:inline-block;padding:0 1.5rem;
  --slash:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 12.5"><path d="M4 0H6L9 12H7Z"/><path d="M0 7H2L4.5 12.5H2.5Z"/></svg>');
}
.sec-eyebrow span::before,.sec-eyebrow span::after{
  content:"";position:absolute;top:50%;width:.9rem;height:1.25rem;
  background:currentColor;
  -webkit-mask:var(--slash) no-repeat center/contain;
          mask:var(--slash) no-repeat center/contain;
  transform:translateY(-50%);
}
.sec-eyebrow span::before{left:0}
.sec-eyebrow span::after{right:0;transform:translateY(-50%) scaleX(-1)}
.sec-title{text-align:center;font-size:2.4rem;line-height:1.4;letter-spacing:.04em}
.sec-title--blue{color:var(--c-blue)}

/* notes */
/* 注釈は「※」をぶら下げる。flex にすると <br> や入れ子の <ul> が
   flex アイテムになって潰れるため（modal03 の登録商標リストで発生）  */
.notes li{
  font-size:1.2rem;font-weight:400;line-height:1.75;
  margin-bottom:.5em;padding-left:1.25em;text-indent:-1.25em;
}
.notes__mark{white-space:nowrap}


/* ================================================================ header */
.header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  height:var(--header-h);background:#fff;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.header__logo img{width:7.9rem;height:auto;display:block}
.menu-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.2rem 0 0}
.menu-btn__bars{display:block;width:2.6rem}
.menu-btn__bars i{display:block;height:.2rem;background:var(--c-text-dk);border-radius:.2rem;margin-bottom:.5rem}
.menu-btn__bars i:last-child{margin-bottom:0}
.menu-btn__label{font-family:var(--font-num);font-size:.9rem;letter-spacing:.06em;line-height:1}

/* ================================================================== menu */
.menu{position:fixed;inset:0;z-index:70}
.menu[hidden]{display:none}
.menu__panel{
  position:absolute;inset:0;background:var(--c-blue-pale);
  padding:0 3rem;overflow-y:auto;
  animation:menuIn .25s ease both;
}
@keyframes menuIn{from{opacity:0;transform:translateY(-.8rem)}to{opacity:1;transform:none}}
.menu__close{
  position:absolute;top:1.4rem;right:2.4rem;width:3.4rem;height:3.4rem;
}
.menu__close::before,.menu__close::after{
  content:"";position:absolute;left:.4rem;top:1.6rem;width:2.6rem;height:.3rem;
  background:var(--c-text-dk);border-radius:.3rem;
}
.menu__close::before{transform:rotate(45deg)}
.menu__close::after{transform:rotate(-45deg)}
.menu__nav{padding-top:9.2rem}
.menu__nav li{border-top:.1rem solid #fff}
.menu__nav li:last-child{border-bottom:.1rem solid #fff}
.menu__nav a{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.9rem .4rem;font-size:1.6rem;line-height:1.4;
}
.menu__nav a::after{
  content:"";flex:none;width:.9rem;height:.9rem;
  border-top:.2rem solid var(--c-text);border-right:.2rem solid var(--c-text);
  transform:rotate(45deg);
}
.menu__nav a:hover{opacity:.65}

/* ==================================================================== FV
   Figma 実測（SP 375 基準）：青カーブ Ellipse 653×587 @ x=-139,y=-425
   balloon 210×27.8 @ y=66 ／ 12,000 fs50 @ y=88 ／ プレゼント！fs36 @ y=140
   リード y=218/232/252 ／ spec 192×54 @ x=30 ／ card 136×176 @ x=235      */
.fv{position:relative;padding-top:var(--header-h);background:var(--c-gray-bg);overflow:hidden}
.fv__curve{
  position:absolute;left:50%;top:var(--header-h);
  width:65.3rem;height:58.7rem;margin-left:-32.65rem;margin-top:-42.5rem;
  border-radius:50%;background:var(--grad-hero);z-index:0;
}
.fv__inner{position:relative;z-index:1}
.fv__head{text-align:center;color:#fff}
.fv__balloon{
  display:inline-flex;align-items:center;justify-content:center;position:relative;
  margin-top:1.6rem;height:2.78rem;padding:0 1.8rem;border-radius:999px;
  background:#fff;color:var(--c-text-gy);
  font-size:1.2rem;line-height:1.8;letter-spacing:.04em;
}
/* しっぽ：Figma Vector13 は左辺が垂直・頂点が左下の直角三角形（SP 10.2x10.2） */
.fv__balloon::after{
  content:"";position:absolute;left:36.2%;bottom:calc(-1.02rem + 1px);
  width:0;height:0;
  border-top:1.02rem solid #fff;border-right:1.02rem solid transparent;
}
.fv__catch{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;margin-top:-.6rem}
.fv__catch-sm{font-size:1.8rem;line-height:1.8;letter-spacing:.04em}
.fv__catch-num{font-family:var(--font-num);font-size:5rem;line-height:1.2;letter-spacing:0}
.fv__catch-big{
  flex:0 0 100%;font-style:normal;margin-top:-.8rem;text-align:center;
  font-size:3.6rem;font-weight:900;line-height:1.4;letter-spacing:.04em;
}

.fv__body{position:relative}
.fv__lead{text-align:center;padding-top:2.4rem}
.fv__lead-txt{
  position:relative;display:inline-block;
  font-size:1.806rem;line-height:1.06;letter-spacing:-.03em;color:#666464;
  white-space:nowrap;
  margin-top:2.18rem;  /* ルビ 1 行分。Figma は ruby y=218 → 本文 y=232 */
}
.fv__ruby{
  position:absolute;left:.9rem;top:-1.8rem;
  font-size:1.1rem;line-height:1.8;letter-spacing:.04em;color:#666464;white-space:nowrap}
.fv__lead-img{margin-top:-.52rem}
.fv__lead-img img{width:17.96rem}

/* spec + card：Group 3215（y=295, x=16, 355×338） */
.fv__vis{position:relative;margin-top:1.4rem;height:17.6rem}
.fv__visual{position:absolute;left:23.5rem;top:0;width:13.6rem;z-index:0}
/* Figma の Rectangle 50（不透明度 20% のグレー＋ブラー 8）を影として再現。
   書き出し画像にこれを焼き込むと白い縁になってしまうため CSS 側で付ける */
.fv__visual img{width:100%;filter:drop-shadow(-.2rem .4rem .8rem rgba(110,110,110,.35))}
.fv__visual-pc{display:none}

.spec{position:absolute;left:3rem;top:0;width:19.2rem;display:grid;gap:.6rem;z-index:1}
.spec__item{position:relative;height:5.4rem;background:#fff;border-radius:.6rem}
/* 絶対配置で幅を指定していないと収縮幅の計算がブラウザ依存になり、
   iOS Safari で 1 文字ずつ折り返してしまう（実機で発生）。改行位置は
   <br> で決めているので折り返しを禁止する。同じ条件の .fv__ruby /
   .feature__ruby / .card-panel__badge / .fcard__num も同様に対処済み  */
.spec__label{
  position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);
  white-space:nowrap;
  line-height:1.25;letter-spacing:.04em;
}
.spec__item:nth-child(1) .spec__label{font-size:1.2rem;font-weight:900;letter-spacing:0}
.spec__label-en{font-size:1.4rem}
.spec__item:nth-child(2) .spec__label{font-size:1.2rem;font-weight:700;line-height:1.4}
.spec__item:nth-child(3) .spec__label{font-size:1.4rem;font-weight:700;letter-spacing:.18em}
/* Figma は数字の左端で 3 行が揃う（SP 126/129/126）。right 揃えにすると
   「還元」が無い 3 行目だけ数字が右へずれるため left 基準にする */
.spec__value{
  position:absolute;left:9.6rem;top:50%;transform:translateY(-50%);
  white-space:nowrap;line-height:1;
}
/* 「最大」は数字の左へ出す（Figma SP x113.5 y374.5／PC x416 y390）。
   数字の box 下端に揃えると 9px ほど沈むため bottom で持ち上げる */
.spec__max{
  position:absolute;right:100%;bottom:1.1rem;margin-right:.15rem;
  font-size:1.2rem;line-height:1.1;font-weight:700;
}
.spec__value b{font-family:var(--font-num);font-size:5.4rem;line-height:1;color:var(--c-blue)}
.spec__value i{font-family:var(--font-num);font-size:2.341rem;font-style:normal;font-weight:900;color:var(--c-blue);margin-left:-.2rem}
.spec__value small{font-size:1.6rem;font-weight:700;letter-spacing:.04em;margin-left:.3rem}
.spec__yen{position:relative;top:-.8rem;font-size:1.8rem;font-weight:900;letter-spacing:.04em;margin-left:.1rem}
/* ※印は Figma では直前の語の右上に重ねて配置（横幅に影響させない） */
.spec__value sup{
  position:absolute;right:0;top:1.2rem;
  font-size:1rem;font-weight:700;line-height:1;vertical-align:baseline;
}
.spec__item:nth-child(3) .spec__value sup{top:2.1rem;right:-1.9rem}

/* bonus：318×110 @ x=30, y=481 */
.bonus{position:relative;z-index:1;width:31.8rem;margin:1.2rem auto 0;border-radius:.4rem;overflow:hidden}
.bonus__head{
  background:var(--c-blue);color:#fff;height:3rem;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;letter-spacing:.04em;
}
.bonus__body{background:#fff;height:8rem;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bonus__cond{text-align:center;font-size:1.478rem;line-height:1.4;letter-spacing:.04em}
.bonus__cond span{position:relative;display:inline-block;padding:0 3rem}
.bonus__cond span::before,.bonus__cond span::after{
  content:"";position:absolute;top:50%;width:2.2rem;height:.1rem;background:var(--c-text)
}
.bonus__cond span::before{left:.3rem}
.bonus__cond span::after{right:.3rem}
.bonus__cond b{font-family:var(--font-num);font-size:1.9rem}
.bonus__main{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.2rem;line-height:1}
.bonus__max{font-size:1.8rem;letter-spacing:.04em}
.bonus__num{font-family:var(--font-num);font-size:4.4rem;line-height:.86;color:var(--c-blue)}
.bonus__unit{font-size:1.2rem;line-height:1.35;text-align:left;letter-spacing:.04em}
.bonus__unit b{display:block;font-size:1.8rem;font-weight:700;letter-spacing:.11em}
.bonus__vp{width:2.5rem;flex:none;margin-left:.4rem}

.notes--fv{width:34.3rem;margin:1rem auto 0}
.notes--fv li{font-size:1rem;line-height:1.4;margin-bottom:.4rem;gap:.2rem}
.notes--fv li:last-child{margin-bottom:0}

/* ============================================================== offers
   Figma 実測：section y=633..1779 ／ inner 345 @ x=15
   入会特典 head 345x61 r10 #62b0e3 ／ body 345x456 r16 border 3 #55ade7
   +ボタン 44x44 #109999 @ y=1178 ／ バッジ 84x84 #ffd700 @ y=1202,x=283
   期間限定 head 345x61 r10 #109999 ／ body 345x430 r10 border 2 #109999
   詳しくはこちら 281x58 r8 @ x=47                                          */
.offers{background:var(--c-gray-bg);padding:5rem 0}
.offers--repeat{padding-top:5rem}
.offers__inner{display:block;width:34.5rem;margin-inline:auto}

.card-panel{position:relative;border-radius:1.4rem;background:#fff}
.card-panel__title{
  display:flex;align-items:center;justify-content:center;
  height:6.1rem;border-radius:1.4rem 1.4rem 0 0;
  color:#fff;font-size:2.3rem;letter-spacing:.06em;line-height:1.4;
}
.card-panel__body{background:#fff;border-radius:0 0 1.4rem 1.4rem;text-align:center}
.card-panel--blue .card-panel__title{background:#62b0e3}
.card-panel--blue .card-panel__body{
  border:3px solid #55ade7;border-top:0;border-radius:0 0 1.6rem 1.6rem;
  padding:3.2rem 1.5rem 4rem;
}
.card-panel--teal{margin-top:0}
.card-panel--teal .card-panel__title{
  /* Figma: タイトル x=33（左寄せ）、右上のバッジと重ならないようにする */
  position:relative;background:#109999;justify-content:flex-start;
  font-size:2.3rem;letter-spacing:.01em;
  /* Figma：文字ボックス 244x41 が帯（61）の上から 13px。上下中央にすると
     文字が上がってドットとくっついて見えるので、上からの位置で合わせる  */
  align-items:flex-start;line-height:1.783;padding:1.3rem 8.8rem 0 1.8rem;
}
/* ヘッダー上部の黄色いドット（Figma 6x6 の正円 ×4、SP 間隔 23 @x=41／PC 間隔 25 @x=781） */
.card-panel--teal .card-panel__title::before{
  content:"";position:absolute;left:2.6rem;top:1.3rem;
  width:.6rem;height:.6rem;border-radius:50%;background:var(--c-cta);
  box-shadow:2.3rem 0 0 var(--c-cta),4.6rem 0 0 var(--c-cta),6.9rem 0 0 var(--c-cta);
}
.card-panel--teal .card-panel__body{
  border:2px solid #109999;border-top:0;border-radius:0 0 1rem 1rem;
  padding:2rem 1.5rem 4rem;
}
/* 2027年3月末まで バッジ */
.card-panel__badge{
  position:absolute;right:-.7rem;top:-3.6rem;z-index:2;
  width:8.4rem;height:8.4rem;border-radius:50%;background:var(--c-cta);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#222;font-size:1.4rem;line-height:1.2;text-align:center;letter-spacing:.02em;white-space:nowrap}
.card-panel__badge b{display:block;font-size:1.8rem;font-weight:700;line-height:1.2}
.card-panel__badge small{display:block;font-size:1.2rem;font-weight:700;line-height:1.3}
/* 左下のしっぽ（Figma Vector14 は回転した細い三角。3 点をそのまま clip-path で） */
.card-panel__badge::after{
  content:"";position:absolute;left:0;top:6.21rem;
  width:1.387rem;height:1.175rem;background:var(--c-cta);
  clip-path:polygon(0 100%,59.8% 0,100% 68%);
}

/* +（入会特典と期間限定のあいだ） */
.offers__plus{position:relative;height:3.8rem}
.offers__plus::before{
  content:"";position:absolute;left:50%;top:-2.2rem;transform:translateX(-50%);
  width:4.4rem;height:4.4rem;border-radius:50%;background:var(--c-teal);
}
.offers__plus::after{
  content:"";position:absolute;left:50%;top:-2.2rem;transform:translateX(-50%);
  width:4.4rem;height:4.4rem;
  background:
    linear-gradient(#fff,#fff) center/1.74rem 2px no-repeat,
    linear-gradient(#fff,#fff) center/2px 1.74rem no-repeat;
}

/* 入会特典 本文 */
.ribbon{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:29.6rem;height:3.9rem;margin-inline:auto;padding:0;border-radius:999px;
  background:var(--c-blue);color:#fff;font-size:1.7rem;letter-spacing:.02em;
}
/* しっぽ：Figma Vector13 は左辺が垂直・頂点が左下の直角三角形（14x14・中央） */
.ribbon::after{
  content:"";position:absolute;left:50%;bottom:calc(-1.4rem + 1px);
  width:0;height:0;
  border-top:1.4rem solid var(--c-blue);border-right:1.4rem solid transparent;
  transform:translateX(-50%);
}
.present{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;margin-top:-.2rem;line-height:1}
.present__sm{font-size:2.1rem;line-height:1.6;letter-spacing:.04em}
.present__num{font-family:var(--font-num);font-size:5.8rem;line-height:1.2;color:var(--c-blue)}
.present__big{
  flex:0 0 100%;font-style:normal;text-align:center;color:var(--c-blue);margin-top:-1.3rem;
  font-size:4.2rem;font-weight:900;line-height:1.4;letter-spacing:.04em;
}
.offers__visual{margin-top:1rem}
.offers__visual img{width:auto;max-height:14.3rem}
/* Figma：「（上限1,000ポイント/月）」の下端から改札のイラストまで 12px。
   負のマージンで詰めていたため文字と絵が重なっていた                 */
.card-panel--teal .offers__visual{margin-top:1.2rem}
/* 吹き出し円のストロークがフレームを 0.6px はみ出すため、画像は右+1/上+1px の
   余白付きで書き出し（229x105）。改札イラスト自体は従来どおり 104px で表示される */
.card-panel--teal .offers__visual img{max-height:10.5rem}

/* 期間限定 本文 */
.ltd__lead{font-size:2.2rem;line-height:1.35;color:var(--c-teal);letter-spacing:.02em}
.ltd__deco{display:block;width:26.4rem;height:1.8rem;margin:-.2rem auto 0}
.ltd__deco-line--pc{display:none}
.ltd__rate{display:flex;align-items:center;justify-content:center;gap:1.7rem;margin-top:1rem} /* Figma: ロゴ→テキスト列 17px */
.ltd__vp{width:6.7rem;flex:none}
.ltd__figure{text-align:left;line-height:1}
.ltd__vplabel{display:block;font-size:1.7rem;margin-bottom:.4rem;letter-spacing:.04em}
.ltd__row{white-space:nowrap}
.ltd__max{
  display:inline-block;vertical-align:.5em;
  font-size:1.88rem;font-weight:900;line-height:1.1;margin-right:.2rem;
}
.ltd__row b{font-family:var(--font-num);font-size:6.57rem;line-height:1;color:var(--c-teal)}
.ltd__row i{font-family:var(--font-num);font-size:4.57rem;font-style:normal;color:var(--c-teal)}
.ltd__row small{font-size:3.64rem;font-weight:700;letter-spacing:.04em;margin-left:.3rem}
/* Figma では cap はロゴの下ではなく右カラム内（還元の 4px 下）。
   中央寄せのままだとロゴ（POINT）に接触する */
.ltd__cap{
  display:block;font-size:1.5rem;font-weight:400;line-height:1.2;
  /* 行ボックスの都合でグリフが Figma より低く座るため、
     還元グリフ下端から 4px（Figma の実測間隔）になるよう -.4rem */
  white-space:nowrap;text-align:center;margin-top:-.4rem;
}

/* buttons：Figma 281x58 r8 */
.btn-more{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:28.1rem;height:5.8rem;margin:1.6rem auto 0;
  background:var(--c-blue-lt2);border-radius:.8rem;
  font-size:1.8rem;letter-spacing:.02em;transition:opacity .2s;
}
/* 「＋」は文字より小ぶりにする（修正依頼 0907-1）*/
.btn-more::after{
  content:"";position:absolute;right:2.2rem;top:50%;transform:translateY(-50%);
  width:1.4rem;height:1.4rem;
  background:
    linear-gradient(var(--c-text-dk),var(--c-text-dk)) center/100% .18rem no-repeat,
    linear-gradient(var(--c-text-dk),var(--c-text-dk)) center/.18rem 100% no-repeat;
}
.btn-more:hover{opacity:.75}
.btn-more--teal{background:#b7e0e0;margin-top:1.2rem}
.btn-more--wide{margin-top:2.4rem;background:var(--c-blue-lt)}

.btn-small{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--c-blue-lt2);border-radius:999px;
  padding:.8rem 1.8rem;font-size:1.2rem;color:var(--c-text-gy);transition:opacity .2s;
}
.btn-small:hover{opacity:.75}

.btn-yellow{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;margin-top:2.6rem;height:5.8rem;
  background:var(--c-cta);border-radius:.8rem;
  font-size:1.8rem;letter-spacing:.02em;transition:opacity .2s;
}
.btn-yellow__arrow{
  position:absolute;right:2.2rem;top:50%;width:.9rem;height:.9rem;
  border-top:.2rem solid var(--c-text-dk);border-right:.2rem solid var(--c-text-dk);
  transform:translateY(-50%) rotate(45deg);
}
.btn-yellow:hover{opacity:.8}

/* ============================================================== feature
   Figma 実測：section y=1779..3684
   head #cbe4f5 375x198（1779..1977）／ list #a1d0ee（1977..3684）
   card 70x111 @x=23,y=1835 ／ VP 43x43 @x=304,y=1811
   title fs24.57 @x=106,y=1858 ／ 白線 245x2 @y=1896
   fcard 313 @x=31 r10、間隔 16 ／ 左上の黄色 72x74
   ボタン 313x65 r8 @y=3258 ／ 使えるボックス 345x236 r10 @y=3395      */
/* 角丸の外側は前セクション（.offers）と同じ薄いグレー。セクション全体を
   水色にすると角の外が青く見えるため、上端の角丸ぶんだけ色を分ける    */
.feature{
  background:linear-gradient(var(--c-gray-bg) 0 3rem, var(--c-blue-bg) 3rem);
  padding-bottom:8.3rem;
}

/* Figma：上の角だけ丸い（SP 30px / PC 60px）（修正依頼 0907-4）*/
.feature__head{
  position:relative;height:19.8rem;background:var(--c-blue-pale);overflow:hidden;
  border-radius:3rem 3rem 0 0;
}
.feature__head-inner{position:relative;width:37.5rem;height:100%;margin-inline:auto}
/* カード（影付き）
   Figma SP：黒の矩形 Rectangle 71 70x111 をカードの左 11px・上 7px に置き、
   ぼかし 14 をかけている（PC は同じ作りでぼかし 25.3）。ぼかし 0 のベタ影に
   なっていて PC のようなグラデーションが出ていなかったので合わせる      */
.feature__card{
  position:absolute;left:2.3rem;top:5.6rem;width:7rem;height:11.1rem;
  border-radius:.4rem;box-shadow:-1.1rem -.7rem 1.4rem rgba(0,0,0,.14);
}
/* 「ポイントが／ザクザクたまる・使える」＋左右の斜線（Figma 182x30 @x=112） */
.feature__eyebrow{
  position:absolute;left:11.2rem;top:3.9rem;width:18.2rem;
  text-align:center;font-size:1.4rem;font-weight:500;line-height:1.07;letter-spacing:.02em;
}
.feature__eyebrow span{position:relative;display:block;padding:0}
.feature__eyebrow span::before,.feature__eyebrow span::after{
  content:"";position:absolute;bottom:.1rem;width:.2rem;height:1.25rem;
  background:currentColor;border-radius:.2rem;
}
.feature__eyebrow span::before{left:0;transform:rotate(-20deg)}
.feature__eyebrow span::after{right:0;transform:rotate(20deg)}
/* Ｖポイント（白丸 43x43） */
.feature__vp{position:absolute;left:30.4rem;top:3.2rem;width:4.3rem;height:4.3rem}
/* テキストブロック */
.feature__head-txt{position:absolute;left:10.6rem;top:7.1rem;width:24.6rem}
.feature__ruby{
  position:absolute;left:3rem;top:-.1rem;
  font-size:1rem;line-height:1.8;letter-spacing:.04em;white-space:nowrap}
/* Figma の letterSpacing は 0。.01em を入れると幅（SP 245 / PC 444）を超えて折り返す */
.feature__title{
  margin-top:1.6rem;font-size:2.457rem;line-height:1.38;letter-spacing:0;
  white-space:nowrap;
}
.feature__title::after{
  content:"";display:block;width:24.5rem;height:.2rem;background:#fff;margin-top:.4rem;
}
.feature__fee{margin-top:.8rem;font-size:1.5rem;line-height:1.4}
.feature__note{
  margin-top:.4rem;
  font-size:1rem;font-weight:400;line-height:1.4;
  padding-left:1.25em;text-indent:-1.25em;
}

/* ------------------------------------------------------- 特長カード一覧 */
.feature__list{width:34.5rem;margin-inline:auto;padding-top:2.4rem;display:block}
.fcard{
  position:relative;width:31.3rem;margin:0 auto 1.6rem;padding-bottom:2.4rem;
  background:#fff;border-radius:1rem;overflow:hidden;text-align:center;
}
/* 左上の黄色い扇形（Figma 72x74） */
.fcard::before{
  content:"";position:absolute;left:0;top:0;width:7.2rem;height:7.4rem;
  background:var(--c-cta);border-radius:0 0 100% 0;
}
.fcard__num{
  position:absolute;left:2.1rem;top:1rem;z-index:1;
  font-family:var(--font-num);font-size:2.4rem;line-height:1.2;color:var(--c-text-dk);
  width:auto;height:auto;background:none;border-radius:0;display:block;padding:0;white-space:nowrap}
.fcard__vp{position:absolute;right:1.1rem;top:1rem;width:3.2rem;height:4.3rem}
.fcard__pic{display:flex;justify-content:center;align-items:flex-end;padding-top:2.4rem;min-height:0}
/* イラストは Figma 実寸（rem 指定でスケールに追従させる） */
.fcard__pic img{width:auto;max-width:none}
.feature__list .fcard:nth-of-type(1) .fcard__pic img{height:8.4rem}
.feature__list .fcard:nth-of-type(2) .fcard__pic img{height:5.9rem}
.feature__list .fcard:nth-of-type(4) .fcard__pic img{height:7.5rem}
.fcard__title{margin-top:1.5rem;font-size:1.6rem;line-height:1.6;letter-spacing:.02em}
.fcard__title-lg{font-size:2.4rem;line-height:1.583}
/* 見出しの助詞は Figma では 1 段小さい（SP 24→16 / PC 30→20）*/
.fcard__title-p{font-size:1.6rem}
.fcard__title-sm{font-size:1.6rem;line-height:1.5;text-align:left}
.fcard__title--row{display:flex;align-items:center;justify-content:center;gap:.6rem}
.fcard__pct{
  font-family:var(--font-num);font-size:4.2rem;line-height:1;color:var(--c-blue);margin-left:.4rem;
}
.fcard__pct i{font-size:3.2rem;font-style:normal}
.fcard__cap{font-size:1.1rem;font-weight:400;text-align:right;margin:.2rem 1.5rem 0 0}
.fcard__note{
  margin:1rem 1.5rem 0;
  font-size:1rem;font-weight:400;line-height:1.7;text-align:left;
  padding-left:1.25em;text-indent:-1.25em;
}

/* いつでも／入会月含む４ヵ月間（Figma 左 100x71 / 右 138x90 @y=197） */
.rate2{
  display:flex;align-items:flex-end;justify-content:center;gap:.4rem;
  margin:.9rem 0 0;padding:0 2.4rem;
}
.rate2__col{width:10rem;flex:none;border:0;border-radius:0}
.rate2__col--accent{width:13.8rem}
.rate2__head{background:var(--c-blue);color:#fff;font-size:1.2rem;line-height:2.25;letter-spacing:.02em}
.rate2__col--accent .rate2__head{background:var(--c-blue)}
.rate2__val{
  font-family:var(--font-num);font-size:2.8rem;background:#fff;
  height:4.4rem;line-height:4.2rem;border:.1rem solid #ddd;
}
/* ％・〜 は数字より小さい（Figma 28→18）*/
.rate2__val i{font-size:1.8rem;font-style:normal}
.rate2__tilde{margin:0 .15em}
.rate2__col--accent .rate2__val{background:#fff9d9}
/* Figma は文字別スタイルで黒（ノードの base fill が青なだけ）*/
.rate2__val--blue{color:inherit}
.rate2__small{font-size:1em}
.rate2__plus{
  flex:none;align-self:center;width:1.9rem;text-align:center;
  font-size:3.8rem;font-weight:500;line-height:1;
}

.example{display:flex;align-items:center;gap:.8rem;margin:1.6rem 1.5rem 0;text-align:left}
.example__badge{
  flex:none;width:3.2rem;height:3.2rem;border-radius:50%;background:#efefef;
  display:grid;place-items:center;font-size:1.5rem;
}
.example__txt{font-size:1.3rem;font-weight:400;line-height:1.5}
.example__total{margin-top:.8rem;font-size:1.6rem}
.example__total b{font-family:var(--font-num);font-size:2.8rem;color:var(--c-text)}
.example__total b i{font-size:1.8rem;font-style:normal}
.example__total small{font-size:1.1rem;font-weight:400}

.dbl{margin:1.6rem 2.4rem 0;border:.1rem solid #e2e2e2;border-radius:.4rem;overflow:hidden}
.dbl__head{background:var(--c-blue);color:#fff;font-size:1.2rem;line-height:2.25}
.dbl__body{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem;padding:1.2rem .9rem}
.dbl__pair{display:flex;align-items:center;gap:.2rem;min-width:0}
.dbl__body img{width:auto;max-height:none}
/* Ｖポイント 30x41 ／ 西鉄ショッピングポイント 86x36（Figma SP 実測）*/
.dbl__pair--vp img{width:3rem}
.dbl__pair--nsp img{width:8.6rem}
.dbl__body b{font-family:var(--font-num);font-size:3rem;line-height:1;white-space:nowrap}
/* 「2〜6%」右肩の ※1・2（2026-10-22 校正）。
   インラインで置くと幅が増えて 2 段に折り返し、PC の固定高さで見切れるため
   絶対配置（幅ゼロ扱い）で右肩に重ねる */
.dbl__pair--nsp{position:relative}
.dbl__sup{position:absolute;top:-.9rem;right:0;font-size:1.1rem;font-weight:700;white-space:nowrap}
.dbl__body b i{font-size:2rem;font-style:normal}
.dbl__plus{font-size:3rem;font-weight:500}

/* 対応施設ロゴ（Figma 41x46 / 41x23 / 41x23 / 66x25、間隔 10px） */
.shops{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}
.shops li{display:flex;align-items:center}
.shops img{max-height:none}
.shops sup{font-size:.9rem;align-self:flex-start;margin-top:.2rem}

/* 詳しくはこちら（313x65 r8） */
.btn-more--wide{
  width:31.3rem;height:6.5rem;margin:2rem auto 0;background:var(--c-blue-lt);
}

/* たまったポイントの使い道（26.10.23 校正：Ｖポイント／西鉄SPの2カラム構成。
   背景は白のまま・見出しは黒のまま・対象は7施設のまま） */
.usepoint{width:34.5rem;margin:8.9rem auto 0}
.usepoint__body{
  margin-top:1rem;background:#fff;border-radius:1rem;
  padding:2rem 2.9rem;
}
.usepoint__head{text-align:center;font-size:1.3rem;font-weight:700;line-height:1.6;margin-bottom:1.2rem}
.usepoint__head-em{display:block;font-size:1.6rem;letter-spacing:-.01em}
.usepoint__head-deco::before{content:"＼";margin-right:.2em}
.usepoint__head-deco::after{content:"／";margin-left:.2em}
.usepoint__row{display:flex;align-items:center;gap:1rem}
.usepoint__col--sub{margin-top:1.6rem;padding-top:1.6rem;border-top:.1rem dotted #b9b9b9}
.usepoint__logo{width:7.1rem;flex:none}
.usepoint__logo--nsp{width:8.8rem}
.usepoint__arrow{width:3rem;flex:none}
.usepoint__tags{flex:1;display:grid;gap:.7rem}
.usepoint__tags li{
  border:.1rem solid #cfcfcf;border-radius:.5rem;background:#fff;
  font-size:1.1rem;text-align:center;padding:.8rem .4rem;line-height:1.3;
}

/* =============================================================== always */
/* Figma：上の角が 30px 丸い（PC は 60px）。角の外からは前のセクションの
   水色がのぞくので、その分だけ上に重ねる（修正依頼 0907-4）            */
.always{
  position:relative;
  background:var(--c-yellow);padding:3.6rem 0 4rem;
  border-radius:3rem 3rem 0 0;
  margin-top:-3rem;
}
.always__inner{position:relative}
.always__title{
  position:relative;text-align:center;font-size:2.4rem;line-height:1.4;
  letter-spacing:0;
}
.always__title-sm{font-size:1.7rem}
/* 「おトク」上の点（Figma SP 5.781 径 @x=277.4／間隔 25.29、PC 10 径 @x=799／間隔 46・45）*/
.always__title::before{
  content:"";position:absolute;left:26.24rem;top:-1.03rem;
  width:.578rem;height:.578rem;border-radius:50%;background:#d46e31;
  box-shadow:2.529rem 0 0 #d46e31,5.058rem 0 0 #d46e31;
}
.always__title::after{content:"";display:block;height:.1rem;background:#fff;margin-top:1.2rem}
.always__badge{
  width:fit-content;margin:1.4rem auto 0;background:#fff;border-radius:99.9rem;
  padding:.4rem 1.6rem;font-size:1.2rem;
}
.always__badge b{font-family:var(--font-num);font-size:2.6rem;vertical-align:-.2rem;margin:0 .2rem}
.always__cond{text-align:center;font-size:2rem;margin-top:.6rem}
.always__cond b{font-family:var(--font-num);font-size:3.56rem;vertical-align:-.3rem}
.always__main{display:flex;align-items:center;justify-content:center;gap:.6rem;line-height:1;margin-top:.4rem}
.always__max{font-size:2.1rem;font-weight:900}
.always__num{font-family:var(--font-num);font-size:5.8rem;color:var(--c-blue)}
.always__unit{font-size:2.1rem;font-weight:900}

.always__cards{display:grid;gap:1.6rem;margin-top:2.2rem}
.acard{position:relative;background:#fff;border-radius:var(--radius);padding:2.6rem 1.6rem 2rem;text-align:center}
.acard__num{
  position:absolute;left:-.6rem;top:-1rem;width:3.4rem;height:3.4rem;border-radius:50%;
  background:var(--c-blue);color:#fff;display:grid;place-items:center;font-size:1.8rem;
}
.acard__vp{position:absolute;right:1.4rem;top:1.4rem;width:3.2rem}
.acard__lead{font-size:1.7rem}
.acard__main{margin-top:.6rem;line-height:1}
.acard__main b{font-family:var(--font-num);font-size:4.2rem;color:var(--c-blue)}
.acard__main span{font-size:1.7rem}
.acard__sub{margin-top:1.2rem;background:#efefef;border-radius:.6rem;padding:.9rem .8rem;font-size:1.4rem;line-height:1.5}
.acard__sub b{font-family:var(--font-num);font-size:2.4rem;color:var(--c-blue);vertical-align:-.2rem}
.acard:nth-of-type(1) .acard__sub b{font-size:3.43rem}
.acard__sub b i{font-size:2.17rem;font-style:normal}

/* ========================================================== example-sec */
.example-sec{background:var(--c-gray-bg);padding:3.6rem 0 1rem}
.excards{display:grid;gap:1.4rem;margin-top:2rem}
.excard{
  position:relative;background:#fff;border-radius:var(--radius);
  padding:2rem 1.6rem;min-height:11.8rem;
}
.excard__title{font-size:2.2rem;letter-spacing:.02em}
.excard__pic{position:absolute;right:1.4rem;bottom:.8rem;max-height:8.4rem;width:auto}
.excard__pic--sm{right:3.6rem;max-height:9.2rem}
.excard .btn-small{margin-top:1rem}

/* ================================================================= flow */
.flow{background:var(--c-gray-bg);padding:3.4rem 0}
.flow__inner{background:#fff;border-radius:var(--radius);padding:3rem 1.6rem 3.2rem}
.steps{margin-top:2.4rem;display:grid;gap:.6rem}
.step__badge{
  width:fit-content;margin:0 auto;position:relative;z-index:1;
  background:var(--c-blue);color:#fff;border-radius:99.9rem;
  padding:.7rem 2.2rem;font-size:1.8rem;font-family:var(--font-num);letter-spacing:.04em;
}
.step{position:relative;padding-top:1.4rem}
.step::before{
  content:"";position:absolute;left:0;right:0;top:calc(1.4rem + 1.9rem);
  border-top:.2rem dotted var(--c-blue);
}
.step__body{display:flex;align-items:flex-start;gap:1.2rem;padding:1.8rem .4rem .6rem}
/* Figma：本文の折り返し幅は 215px。実装は 218〜229px あって
   1 文字ぶん改行位置がずれていた（修正依頼 0907-5）                    */
.step__txt{flex:1;min-width:0;max-width:21.5rem}
.step__title{font-size:1.7rem;line-height:1.5}
.step__desc{font-size:1.5rem;font-weight:400;line-height:1.6;margin-top:.4rem}
.step__note{font-size:1.1rem;font-weight:400;line-height:1.6;margin-top:.6rem;padding-left:1.25em;text-indent:-1.25em}
.step__icon{width:6.4rem;flex:none}

/* ============================================================= cardinfo */
.cardinfo{background:var(--c-gray-bg);padding:2.4rem 0 3.4rem}
.cardinfo__box{background:#fff;border-radius:var(--radius);padding:2rem 1.5rem 2.6rem;margin-top:1.8rem}
.cardinfo__tax{display:flex;gap:.25em;justify-content:flex-end;font-size:1.2rem;font-weight:400}
.spec-list dt{
  background:var(--c-blue);color:#fff;text-align:center;
  font-size:1.5rem;padding:.6rem .8rem;border-radius:.3rem;margin-top:2.2rem;letter-spacing:.04em;
}
.spec-list dt:first-of-type{margin-top:1rem}
.spec-list dd{font-size:1.5rem;line-height:1.6;margin-top:1.2rem}
/* Figma：「●…」の見出し行は太字のまま、続く説明行は細字にして
   読みやすくする（修正依頼 0907-6）                                   */
.spec-list__lead{margin-top:1.2rem;font-weight:700}
.spec-list dd>p:not(.spec-list__lead){font-weight:400}
.spec-list dd>p:first-child{margin-top:0}
.spec-list__note{display:block;font-size:1.2rem;font-weight:400;line-height:1.7;margin-top:.4rem;padding-left:1.1em;text-indent:-1.1em}
/* Figma：「１回以上」「翌年度年会費も無料」だけ #df6217 の Bold
   （句点と他の文字は本文色のまま）                                  */
.spec-list__note b{font-weight:700;color:var(--c-orange)}
.notes--cardinfo{margin-top:2.6rem}

/* ================================================================== faq */
.faq{background:var(--c-gray-bg);padding:3rem 0 3.4rem}
.qa{margin-top:2.2rem}
.qa__item{border-bottom:.1rem dotted #b9b9b9}
.qa__q{
  display:flex;align-items:flex-start;gap:1.1rem;width:100%;
  padding:1.8rem 0;text-align:left;font-size:1.5rem;line-height:1.5;
}
.qa__mark{
  flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--c-blue);
  color:#fff;display:grid;place-items:center;font-size:1.5rem;font-family:var(--font-num);
  margin-top:.1rem;
}
.qa__text{flex:1}
.qa__icon{
  flex:none;position:relative;width:1.8rem;height:1.8rem;margin-top:.3rem;
}
.qa__icon::before,.qa__icon::after{
  content:"";position:absolute;left:0;top:.8rem;width:1.8rem;height:.2rem;
  background:var(--c-blue);transition:transform .25s;
}
.qa__icon::after{transform:rotate(90deg)}
.qa__q[aria-expanded="true"] .qa__icon::after{transform:rotate(0)}
.qa__a{padding:0 0 1.8rem 3.3rem;font-size:1.5rem;font-weight:400;line-height:1.7}
.qa__a>p+p{margin-top:1.4rem}
.qa__a b{font-weight:700}
.qa__note{display:block;font-size:1.2rem;line-height:1.7;padding-left:1.5em;text-indent:-1.5em;margin-top:1rem}

/* ============================================================ notes-sec */
.notes-sec{background:var(--c-gray-bg);padding:2.6rem 0 3rem}
.notes-sec .sec-title{line-height:1.45}
/* 仕様書 p9：窓内にスクロールで表示 */
.notes-sec__scroll{
  margin-top:2rem;background:#fff;border-radius:var(--radius);
  padding:1.8rem 1.6rem;max-height:40rem;overflow-y:auto;
  scrollbar-color:var(--c-blue) #e9e9e9;scrollbar-width:thin;
}
.notes-sec__scroll::-webkit-scrollbar{width:.6rem}
.notes-sec__scroll::-webkit-scrollbar-thumb{background:var(--c-blue);border-radius:.3rem}
.notes-sec__scroll::-webkit-scrollbar-track{background:#e9e9e9;border-radius:.3rem}
.notes--dot{margin-top:.6rem}

/* ============================================================== hp-link */
.hp-link{background:var(--c-gray-bg);padding:1rem 0 4rem}
.hp-link__inner{background:#fff;border-radius:var(--radius);padding:2.8rem 1.6rem 3rem;text-align:center}
.hp-link__pic{margin-top:1.6rem}
.hp-link__pic img{width:auto;max-height:17rem}

/* =============================================================== footer */
.footer{background:var(--c-gray-bg);padding:2.6rem 1.6rem 3.4rem;text-align:center}
.footer__copy{font-family:var(--font-num);font-size:1.1rem;font-weight:400;color:#6d6a68;letter-spacing:.02em}

/* ================================================================== CTA */
/* 仕様書 p3：FV では非表示、「入会・利用特典」以降で表示 */
.cta{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  padding:0 1.5rem 1.4rem;
  opacity:0;visibility:hidden;transform:translateY(120%);
  transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .3s;
  pointer-events:none;
}
.cta.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.cta__link{
  position:relative;display:flex;align-items:center;justify-content:center;
  /* <button> は既定が内容幅。<a> と同じく親幅いっぱいに広げる */
  width:100%;max-width:34.5rem;margin:0 auto;height:6.4rem;
  background:var(--c-cta);border-radius:.8rem;
  /* トリはボタンの中だけで動かす（外へはみ出させない）ためクリップする */
  overflow:hidden;
  box-shadow:0 .4rem 1.4rem rgba(0,0,0,.18);
}
/* Figma：249x22 fs18 Bold #4c4948、字間は 0 */
.cta__label{font-size:1.8rem;letter-spacing:0}
/* 申込は外部ページへ遷移するので「＞」（ページ内モーダルの「＋」と区別）。
   位置は Figma どおり右端から 22px                                     */
.cta__arrow{
  position:absolute;right:2.2rem;top:50%;width:.9rem;height:.9rem;
  border-top:.2rem solid var(--c-text-dk);border-right:.2rem solid var(--c-text-dk);
  transform:translateY(-50%) rotate(45deg);
}
/* ひょっこりトリ（指摘❶）
   常時表示だと本文に重なって読みづらいため、ふだんはボタンの下に隠し、
   一定間隔で下からぴょこっと顔を出す。ボタンを overflow:hidden で
   クリップするので、黄色い枠の外へははみ出さない。                */
/* 既定は「顔が出ている」状態にしておく。アニメーションが動かない環境
   （prefers-reduced-motion: reduce、CSS アニメーション未対応など）でも
   トリが隠れたままにならないようにするため。                        */
/* 大きく写したトリの上半身だけが、ボタンの下から出てくる。
   ボタンは overflow:hidden なので、下half をボタンの外（bottom を負）に
   逃がすと、顔から胸あたりだけがボタンの中に見える。
   横位置はラベル「今すぐ申し込む」に重ならない左端寄り。            */
.cta__bird{
  position:absolute;left:1.6rem;bottom:-4.6rem;width:7.2rem;height:auto;
  transform-origin:bottom center;
}
/* 1 周期に 1 回だけ。CTA が出た直後（0.6 秒後）にまず顔を出すので気づけて、
   そのあとは 5 秒ほど引っ込んでいる。0%/100% を隠れた状態にしてあるので
   ループの継ぎ目でも飛ばない                                              */
@keyframes ctaBirdPeek{
  0%       {transform:translateY(100%)}
  12%,30%  {transform:translateY(0)}                   /* ぴょこっ（0.9 秒ほど顔を出す）*/
  42%,100% {transform:translateY(100%)}                /* 引っ込んでいる（2.9 秒）*/
}
.cta.is-visible .cta__bird{animation:ctaBirdPeek 5s ease-in-out infinite}
/* 視差効果を減らす設定では動かさず、顔を出したまま静止させる
   （reset の animation-duration:.001ms!important に勝たせるため !important）*/
/* OS 側で「アニメーションを減らす」（Windows の視覚効果、iOS の視差効果を
   減らす、Android のアニメーション削除）が入っていると、上のリセットで
   animation-duration が .001ms になり、トリが出たまま止まってしまう。
   この動きは小さくゆっくりした装飾なので、その設定下でも残す。
   ただし周期を伸ばし、ホバーの戻りも少し穏やかにする。
   リセットは * （詳細度 0）なので、クラス付きの指定が後勝ちで効く。      */
@media (prefers-reduced-motion:reduce){
  /* ホバーの動き（PC）はどちらの設定でも残す */
  .cta__bird{transition-duration:.35s!important}
}
/* 顔を出す動きは SP だけ。PC でこれを効かせるとアニメーションの transform が
   ホバーの transform を上書きして、位置がずれ・ホバーも効かなくなる      */
@media (prefers-reduced-motion:reduce) and (max-width:1023.98px){
  .cta.is-visible .cta__bird{
    animation:ctaBirdPeek 7s ease-in-out infinite!important;
    animation-duration:7s!important;
  }
}

/* =============================================================== modals */
.modal{position:fixed;inset:0;z-index:90}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(51,58,68,.85)}
.modal__window{
  position:absolute;inset:0;display:flex;flex-direction:column;
  animation:modalIn .28s ease both;
}
@keyframes modalIn{from{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}
.modal__bar{
  position:relative;z-index:2;flex:none;height:var(--header-h);
  background:#fff;display:flex;align-items:center;justify-content:space-between;
  padding:0 1.5rem;
}
.modal__logo{width:7.9rem}
.modal__close{position:relative;width:3.4rem;height:3.4rem}
.modal__close::before,.modal__close::after{
  content:"";position:absolute;left:.5rem;top:1.6rem;width:2.4rem;height:.3rem;
  background:var(--c-text-dk);border-radius:.3rem;
}
.modal__close::before{transform:rotate(45deg)}
.modal__close::after{transform:rotate(-45deg)}
.modal__scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.4rem 1.5rem 4rem}
/* Figma SP：白いシート 345 幅・内側 297（左右 24px）。PC は 820 幅・内側 740（40px）*/
.modal__sheet{
  background:#fff;border-radius:var(--radius);
  padding:2.4rem 2.4rem 2.8rem;
  max-width:64rem;margin:0 auto;
}
.modal__closebtn{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  width:fit-content;margin:2rem auto 0;padding:.9rem 2.6rem;
  background:#fff;border-radius:99.9rem;font-size:1.2rem;
}
.modal__closebtn:hover{opacity:.75}

/* modal content atoms */
.m-lead{font-size:1.7rem;line-height:1.65;text-align:center}
.m-lead--left{text-align:left;margin-top:1rem}
/* Figma は文字別サイズ：SP「Ｖポイント最大」24 /「８」32 青 /「%」22 青 /「還元！」24 */
.m-big{font-size:2.4rem;text-align:center;margin-top:2.2rem;line-height:1.5}
.m-big b{font-family:var(--font-num);font-size:3.2rem;color:var(--c-blue);margin:0 .1rem}
.m-big i{font-size:2.2rem;font-style:normal;color:var(--c-blue)}
.m-center{text-align:center;font-size:1.5rem;font-weight:400;margin-top:.8rem}
.m-strong{font-size:1.5rem;line-height:1.7;margin-top:1rem}
/* 特典の見出し行は Figma では太字・SP 17px / PC 20px（修正依頼 0907-7）*/
.m-box .m-center.m-strong{font-weight:700;font-size:1.7rem}
.m-body{font-size:1.5rem;font-weight:400;line-height:1.75;margin-top:1rem}
/* 注釈は「※」をぶら下げる。flex にすると <br> が効かず、
   modal05 のように見出し＋本文が入る注釈が横に割れてしまう          */
.m-note{
  font-size:1.2rem;font-weight:400;line-height:1.75;margin-top:1rem;
  padding-left:1.25em;text-indent:-1.25em;
}
/* ※ の付かないリンク行（修正依頼 0907-9）*/
.m-linknote{font-size:1.2rem;font-weight:400;line-height:1.75;margin-top:1rem}
/* Figma：モーダル内の注釈リストは、前の本文から 40px 空ける
   （詰まって読みにくかった）（修正依頼 0907-10）                       */
.modal__sheet .notes{margin-top:4rem}
.modal__sheet .notes+.notes{margin-top:1rem}
.m-num-title{font-size:1.5rem;line-height:1.6;margin-top:3.2rem}
.m-num-title:first-child{margin-top:0}
/* Figma：modal02 はシートが #f2f1f2 で、中の 4 ブロックが白・角丸 16。
   他のモーダル（modal04 など）はシートが白でブロックに背景はない。       */
/* Figma：ブロックの内側は SP 16px / PC 32px、見出しからは 8px
   （実装が詰まっていて全体が 469px 短かった）（修正依頼 0907-11）      */
.m-box{position:relative;border-radius:1.6rem;padding:1.6rem;margin-top:.8rem}
.modal__sheet[data-modal-name="modal02"]{background:var(--c-gray-bg)}
.modal__sheet[data-modal-name="modal02"] .m-box{background:#fff}
/* Figma：Ｖポイントロゴ（36x48、PC も同サイズ）は箱の右上固定ではなく
   各料率行（８％／1.5％／７％／+５％）と垂直センター合わせで、右端は全ロゴ共通。
   flex の文中配置なので端末のフォント幅が違っても重ならず、
   幅が足りない場合は Figma SP と同じく「…末まで／８％」の 2 行に自動で折り返す */
.m-vpline{display:flex;align-items:center;gap:.4rem}
/* keep-all：折り返しは「まで ８％」のスペース位置のみ（Figma の 2 行構成と一致）*/
.m-vpline>span{min-width:0;word-break:keep-all}
.m-vp{flex:none;margin-left:auto;margin-right:-.1rem;width:3.6rem}
.m-orange{color:var(--c-orange);font-size:1.5rem;line-height:1.6}
.m-orange--lg{margin-top:.6rem}
.m-orange--lg b{font-size:2.2rem}
.m-badge{
  background:var(--c-blue);color:#fff;text-align:center;
  font-size:1.5rem;padding:.6rem 1rem;border-radius:.3rem;margin-top:2.6rem;letter-spacing:.06em;
}
/* Figma：黄色（#ffd700）の吹き出し。本体は角丸 3.5px の長方形で、
   下に三角のしっぽ（SP 7.6x8.8 / PC 10.6x12.3）が付く。
   しっぽの位置は本体の左から 58%（修正依頼 0907-3）                    */
.m-badge-round{
  position:relative;width:fit-content;background:var(--c-cta);
  border-radius:.35rem;padding:.36rem .7rem;line-height:1;
  font-size:1.05rem;color:var(--c-text-dk);
}
.m-badge-round::after{
  content:"";position:absolute;left:58%;top:100%;transform:translateX(-50%);
  border:.38rem solid transparent;border-bottom:0;
  border-top:.88rem solid var(--c-cta);
}
.m-badge-round b{font-family:var(--font-num);font-size:2.26rem;line-height:1;vertical-align:-.15rem;margin:0 .2rem}

/* 見出しとＶポイントロゴの並び（modal03）
   Figma：見出しは左、ロゴ 36x48 を右端に。数字だけ大きい水色（SP 24px / PC 28px）*/
.m-lead-vp{display:flex;align-items:flex-start;justify-content:space-between;gap:1.6rem}
.m-lead-vp .m-lead{flex:1;min-width:0}
.m-lead-vp__logo{flex:none;width:3.6rem;height:auto;margin-top:1rem}
.m-lead b{font-size:2.4rem;color:var(--c-blue)}
/* 「3,000」「32倍」「1.7％」など強調する数字（SP 20px / PC 24px）*/
/* Figma：数字だけ大きく（SP 20px / PC 24px）、％ は本文と同じ大きさ。
   （通常ポイント…）の行は太字（修正依頼 0907-11）                      */
.m-strong b{font-size:2rem}
.m-strong i{font-size:1.5rem;font-style:normal;font-weight:700}
.m-body{font-weight:700}
/* modal02「例えば、…年間1,500円相当おトクに！」は本文を通常ウェイトにして
   1,500円（b=700）だけ太字で立たせる（2026-10-22 校正） */
.m-body--plain{font-weight:400}
/* 表のセルは数字 17px・％ 12px の太字（PC は 30px / 18px）*/
.m-table td b{font-size:1.7rem;font-weight:700}
.m-table td i{font-size:1.2rem;font-style:normal;font-weight:700}
/* 対象施設の表（modal02）：列幅を Figma の比率（91:87:87）に固定。
   自動配分だと数値列が痩せて「1%」が縦に折り返す（SMCC 指摘 0910-12/13）*/
.m-table--shops{table-layout:fixed}
.m-table--shops th:first-child{width:34.4%}
.m-table--shops td{white-space:nowrap}
/* Ｖポイントロゴと表が近すぎたので上の余白を広げる（Figma SP 18 / PC 25px）*/
.m-table{margin-top:1.8rem}

/* 年50万円ご利用のケースの表（modal03）
   Figma：3 列とも 99px（PC 123.3px）、見出し行 #62b0e3 の白文字、
   左の見出し列 #cadfed、合計行 #d46e31 の白文字、罫線は他の表と同じ #8fcff8 */
.m-table--rate th,.m-table--rate td{width:33.33%}
.m-table--rate thead th{background:var(--c-blue);color:#fff}
.m-table--rate tbody th{background:#cadfed;font-weight:700}
.m-table--rate tfoot th,.m-table--rate tfoot td{background:#d46e31;color:#fff;font-weight:700}

/* 注釈の中の「・」で始まる小見出し（登録商標など）*/
.notes-sub{margin-top:.4rem;text-indent:0}
.notes-sub li{padding-left:1em;text-indent:-1em;margin-bottom:.2em}
.notes-sub__mark{white-space:nowrap}
/* 定義リストは Figma では罫線付きの表組み（modal04・modal05）。
   セル幅 297（PC 676）、罫線 1px #ddd を内側に引き、見出し行 #f2f1f2 ／
   本文行 #fff。文字は SP 12px・PC 15px、行間 1.6。
   Figma の罫線は INSIDE なので、文字の左端 16px ＝ 罫線 1px + 余白 15px。
   行どうしは罫線を重ねないよう border-top を落とし、先頭だけ引く。      */
.m-dl{margin-top:1.4rem;font-size:1.2rem;line-height:1.6}
.m-dl dt{font-weight:700;margin-top:1.4rem}
.m-dl dt:first-child{margin-top:0}
.m-dl dd{font-weight:400;margin-top:.4rem}
/* 表組みになっている定義リスト（modal04）だけ罫線を引く。
   modal01 の「ポイントの付与時期」は Figma でも罫線なしの並びなので対象外 */
.m-dl--table dt,.m-dl--table dd{
  border:.1rem solid #ddd;border-top:0;
  padding:.5rem 1.5rem;margin:0;
}
.m-dl--table > dt:first-child{border-top:.1rem solid #ddd}
.m-dl--table dt{background:#f2f1f2}
.m-dl--table dd{background:#fff}
/* マイ・ペイすリボの条件（2026-09-30 文言変更：（1）〜（4）＋注記・例の階層）
   （N）や※・（例）はテキストとして持ち、ぶら下げインデントで揃える */
.m-cond{margin-top:.4rem}
.m-cond>li{margin-top:.3rem;padding-left:1.6em;text-indent:-1.6em}
/* 階層の字下げはしない（他の注記と同じく全行左端から）。
   ※や（例）の折返しぶら下げだけ他の注記と同様に維持 */
.m-cond__sub{margin-top:.1rem;margin-left:-1.6em;text-indent:0}
.m-cond__sub>li{margin-top:.1rem}
.m-cond__note{padding-left:1em;text-indent:-1em}
.m-cond__ex{padding-left:2em;text-indent:-2em}
.m-cond__entry{margin-top:.6rem}  /* エントリー注釈＋プラン詳細ページ（26.10.23 校正） */
/* キャッシュバック時期の「7ヵ月後」赤字と例文のぶら下げ（2026-09-30 文言変更） */
.m-hang-ex{display:block}  /* 例文の改行後も左端から（字下げしない） */
.nobr{white-space:nowrap}
/* 使い道ボックス下の注記（26.10.23 校正） */
.usepoint__note{margin-top:1rem;font-size:1.1rem;font-weight:400;line-height:1.6;padding-left:1em;text-indent:-1em}
/* 申込モーダルの注記が2行並ぶ際の間隔 */
.m-apply__note--tight{margin-top:.4rem}
.m-ul{margin-top:.4rem;display:grid;gap:.4rem}
.m-ul li{padding-left:1em;text-indent:-1em}
.m-ul li::before{content:"・"}
/* 強調ブロック（Figma SP modal04 実測）
   [Ｖポイントロゴ]  Ｖポイント(16)
                    8(65.7 青) %(45.7 青) 還元(32)
   特典1 だけ数字 56 で、単位が「ポイント(13)／進呈(19)」の 2 段          */
.m-point{
  display:flex;align-items:center;justify-content:center;gap:1.2rem;
  line-height:1;margin-top:1rem;
}
.m-point__logo{width:6rem;flex:none}
.m-point__body{display:flex;flex-direction:column;align-items:flex-start}
.m-point__label{font-size:1.6rem;margin-bottom:.4rem;white-space:nowrap}
.m-point__row{display:flex;align-items:baseline;gap:.2rem;white-space:nowrap}
.m-point b{font-family:var(--font-num);font-size:6.57rem;line-height:1;color:var(--c-blue)}
.m-point i{font-family:var(--font-num);font-size:4.57rem;font-style:normal;color:var(--c-blue)}
.m-point__pm{font-size:2.8rem;font-weight:900;align-self:flex-end;margin-bottom:.4rem}
.m-point__unit{font-size:3.2rem;font-weight:700;margin-left:.4rem}
/* 特典1：数字が一回り小さく、単位が 2 段 */
.m-point--pt b{font-size:5.6rem}
.m-point--pt .m-point__unit{
  font-size:1.3rem;line-height:1.35;text-align:left;align-self:center;margin-left:.6rem;
}
.m-point--pt .m-point__unit em{font-size:1.9rem;font-style:normal;display:block}
/* 特典4：Ｖポイントではないのでロゴ・ラベルなし */
.m-point--plain b{font-size:5.6rem;color:var(--c-blue)}
.m-point--plain .m-point__unit{font-size:2.4rem}

/* モーダルの表（modal02・03・05）
   Figma の罫線はどれも #8fcff8 1px（内側）で、表全体を囲む別枠はない。
   セルの上下余白は 11px（行高 44px ＝ 罫線 1 + 11 + 文字 20 + 11 + 1）。   */
.m-table{margin-top:1.4rem;font-size:1.2rem;background:#fff;border:0}
.m-table th,.m-table td{border:.1rem solid #8fcff8;padding:1.1rem .6rem;text-align:center;vertical-align:middle}
.m-table thead th{background:var(--c-blue);color:#fff}
/* Figma：ロゴが入る 2 行目のセルだけ白地。ロゴは SP Ｖ 28x36／西鉄 75x31、
   PC Ｖ 40x52／西鉄 120x50 でセルの中央に置く（修正依頼 0907-11）      */
.m-table thead tr:nth-child(2) th{background:#fff;padding:.4rem .6rem}
.m-table thead th img{display:inline-block;margin:0 auto;max-height:none}
.m-table thead tr:nth-child(2) th:nth-child(1) img{width:2.8rem;height:auto}
.m-table thead tr:nth-child(2) th:nth-child(2) img{width:7.5rem;height:auto}
.m-table td img{display:block;margin:.2rem auto;max-height:none}
.m-table__shops span{display:flex;align-items:center;justify-content:center;gap:.7rem}
.m-table__shops span img{display:inline-block;margin:0}
.m-table__shops span+span{margin-top:.5rem}
/* 当選確率の表（modal03）は見出しが薄い青、文字は本文色 */
.m-table--odds thead th{background:#cadfed;color:var(--c-text)}
.m-table--odds td:first-child{font-weight:400}
/* 利用額の表（modal05）
   Figma SP：左 204 ／ 右 93（計 297）、行高 44、罫線 #8fcff8 1px（内側）、
   文字 12px・行間 1.6、内側の余白は左右 10px・上下 12px。
   合計行は #8fcff8 のベタ塗り。PC は左 400 ／ 右 276（計 676）、文字 15px。 */
.m-table--use{border:0;font-size:1.2rem}
.m-table--use th,.m-table--use td{
  border:.1rem solid #8fcff8;padding:1.2rem .9rem;line-height:1.6;
}
.m-table--use td{text-align:left;font-weight:400}
.m-table--use td:last-child{text-align:right;font-weight:700;white-space:nowrap;width:31.3%}
.m-table--use small{font-size:1rem;display:block;line-height:1.5;margin-top:.2rem}
/* 合計行は中央揃え（SP 43px / PC は文字 17px・高さ 59px）。
   td:last-child の右寄せに勝つよう同じ強さで打ち消す                */
.m-table--use tfoot td,
.m-table--use tfoot td:last-child{
  background:#8fcff8;text-align:center;font-weight:700;width:auto;padding:1.1rem .9rem;
}

.m-ex-title{font-size:2rem;text-align:center;letter-spacing:.1em}
.m-ex-pic{text-align:center;margin-top:1.4rem}
/* Figma：上部イラストの高さは SP 101px / PC 151px。max-height だけだと
   もとが小さい SVG（お買い物編）が拡大されず小さいままになる          */
.m-ex-pic img{width:auto;height:10.1rem}
/* 条件（写真＋チェックリスト）
   Figma SP：Frame 3157 297x92 ＝ 写真 60x92 ＋ 10px ＋ リスト 227
   PC：676x139 ＝ 写真 90x139 ＋ 24px ＋ リスト 375                      */
.m-ex-cond{margin-top:1.8rem;display:flex;align-items:center;gap:1rem}
.m-ex-cond__pic{flex:none;width:6rem;height:auto}
.m-ex-cond__pic--wide{width:7.4rem}
.m-check{flex:1;min-width:0;display:grid;gap:.4rem}
.m-check li{display:flex;gap:.4rem;font-size:1.2rem;line-height:1.6}
.m-check li::before{
  content:"";flex:none;width:2.4rem;height:2.4rem;border-radius:50%;
  background:var(--c-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 12.5 9.5 18 20 6.5'/%3E%3C/svg%3E") center/1.3rem no-repeat;
  margin-top:.1rem;
}
.m-ex-head{font-size:1.4rem;margin-top:2.2rem}
.m-ex-head span{font-size:1.1rem;font-weight:400}
.m-ex-arrow{margin:1.4rem auto 0;width:0;height:0;border:1.4rem solid transparent;border-top-color:var(--c-blue-lt);border-bottom:0}
/* 「合計 24,660 円相当！」は Figma では数字だけ大きい水色
   （SP 18/24px・PC 20/32px）                                    */
.m-ex-result{text-align:center;font-size:1.5rem;line-height:1.7;margin-top:1rem}
.m-ex-result__sum{font-size:1.8rem}
.m-ex-result b{font-size:2.4rem;color:var(--c-blue)}
/* 内訳（modal05）は modal04 の表と同じ作り：見出し #f2f1f2 ／ 本文 #fff、
   罫線 #ddd、文字 SP 12px・PC 15px、内側の余白は左右 16px            */
.m-breakdown{margin-top:1rem;border:0;font-size:1.2rem}
.m-breakdown__head{
  background:#f2f1f2;border:.1rem solid #ddd;
  padding:.5rem 1.5rem;font-size:1.2rem;line-height:1.6;
}
.m-breakdown__body{
  position:relative;
  display:flex;flex-direction:column;justify-content:center;
  background:#fff;border:.1rem solid #ddd;border-top:0;
  padding:.5rem 5.4rem .5rem 1.5rem;font-size:1.2rem;font-weight:400;line-height:1.6;
}
/* Ｖポイント 28x36 ／ 西鉄ショッピングポイント 80x34 をセル右上に。
   西鉄の行は本文が 1 行しかなくロゴが下にはみ出すので、
   Figma のセル高（SP 46px／PC 60px）を min-height で確保する        */
.m-breakdown__body{min-height:4.6rem}
.m-breakdown__logo{position:absolute;right:1.6rem;top:.6rem;width:2.8rem;height:auto}
/* Ｖポイントは背の高いセルの右上、西鉄は 1 行のセルなので上下中央 */
.m-breakdown__logo--nsp{width:8rem;top:50%;transform:translateY(-50%)}

/* スマホでのタッチ決済画面（modal02）Figma：262x144 を左寄せ、上に 10px */
.m-phone-pic{margin-top:1rem}
.m-phone-pic img{display:block;width:26.2rem;max-width:100%;height:auto}
.m-breakdown__body p+p{margin-top:.8rem}
.m-breakdown__body b{font-weight:700}
.m-breakdown__body+.m-breakdown__head{border-top:0}
/* 黄色の囲み＋トリ
   Figma SP：全体 297 のうち枠 279x107、トリ 56x117 を右端・上から 9px
   PC：全体 395.9 のうち枠 379x107（本文 676 の中央）                    */
.m-ex-cta{position:relative;margin-top:2.2rem}
.m-ex-cta__txt{
  /* 右は Figma どおり 44px 空ける。詰めるとトリと文字が重なる */
  width:93.9%;background:var(--c-cta);border-radius:.8rem;
  padding:1.6rem 4.4rem 1.6rem 2rem;font-size:1.4rem;line-height:1.75;
}
/* モーダル内の末尾に置く補足（Figma SP 11px/行間 1.8、PC 13px/1.6）*/
.m-ex-note{
  margin-top:4rem;font-size:1.1rem;font-weight:400;line-height:1.8;
  padding-left:1.2em;text-indent:-1.2em;color:var(--c-text);
}
.m-ex-cta__bird{position:absolute;right:0;top:.9rem;width:5.6rem;height:auto}

/* ------------------------------------------- 申込方法の選択（追従CTA から） */
.m-apply__title{margin-bottom:2rem}
.m-apply{display:grid;gap:1.4rem}
.m-apply>li{display:flex}
.m-apply__btn{
  position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;
  min-height:8.8rem;padding:1.6rem 4.4rem 1.6rem 2rem;
  border-radius:1rem;border:.2rem solid transparent;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.m-apply__head{font-size:1.7rem;line-height:1.4;letter-spacing:.02em}
.m-apply__sub{font-size:1.3rem;font-weight:400;line-height:1.5;margin-top:.4rem}
.m-apply__arrow{
  position:absolute;right:2rem;top:50%;width:1.1rem;height:1.1rem;
  border-top:.25rem solid currentColor;border-right:.25rem solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
/* 右ボタン（新規登録）も左と同じデザインに統一（26.10.23 校正：
   「背景の色味を nimocle会員の方 のボタンに合わせる。右と左は同じデザイン」） */
.m-apply__btn--member,
.m-apply__btn--new{
  background:#fff;border-color:var(--c-blue);color:var(--c-blue-dk);
}
.m-apply__btn--member .m-apply__sub,
.m-apply__btn--new .m-apply__sub{color:var(--c-text)}
.m-apply__btn:hover{transform:translateY(-.2rem);box-shadow:0 .6rem 1.6rem rgba(0,0,0,.14)}
.m-apply__btn:focus-visible{outline:.3rem solid var(--c-blue-dk);outline-offset:.3rem}
.m-apply__note{
  margin-top:1.8rem;
  font-size:1.2rem;font-weight:400;line-height:1.75;
  padding-left:1.25em;text-indent:-1.25em;
}

/* =========================================================================
   PC   (仕様書 p3：SP/PC ともに共通の構成／1024px 以上で切り替え)
   ========================================================================= */
@media (min-width:1024px){
  :root{--header-h:7rem;--inner:var(--pc-inner)}

  .header__logo img{width:10.6rem}
  .menu-btn__bars{width:3.2rem}
  .menu-btn__bars i{height:.3rem;margin-bottom:.7rem}
  .menu-btn__label{font-size:1.1rem}

  /* PC メニューは右からのドロワー */
  .menu__panel{
    left:auto;width:min(46vw,59rem);padding:0 4.4rem;
    animation:menuInPc .28s ease both;box-shadow:-.6rem 0 2.4rem rgba(0,0,0,.12);
  }
  @keyframes menuInPc{from{opacity:0;transform:translateX(2.4rem)}to{opacity:1;transform:none}}
  .menu__close{top:2.6rem;right:3.8rem}
  .menu__nav{padding-top:11rem}
  .menu__nav a{padding:2.2rem .6rem;font-size:1.7rem}

  /* --- FV（Figma PC 実測 / 1rem = 10px @1280） ---
     header 70 ／ balloon 385.6x50.9 @x=447,y=110
     キャッチ 1 行：12,000 fs83 @y=152 ／ プレゼント！ fs60 @y=167
     spec 372x73 @x=210, y=283/364/445（gap 8）／ 数字 fs73・% fs32・還元 fs22
     bonus head 372x34 @y=534 ／ body 372x102.9 @y=568
     notes 446 @x=210, y=685/707 fs13
     リード 357x40 @x=880,y=298 ／ カード+トリ 374.2x377.9 @x=646,y=343   */
  .fv{padding-bottom:0}
  .fv__curve{
    width:206.8rem;height:183.9rem;
    margin-left:-103.4rem;margin-top:-158.9rem;
  }
  /* 1280px を超えると 1rem が 10px で止まるため 128rem は固定幅になる。
     他セクションの inner と同じく中央に置く（auto が無いと左寄せになる） */
  .fv__inner{width:128rem;margin-inline:auto}
  .fv__head{padding:0}
  .fv__balloon{
    width:38.56rem;height:5.09rem;margin:4rem auto 0;padding:0;
    font-size:2.2rem;line-height:1.8;
  }
  /* しっぽ 19.1x19.1 @x=650（吹き出し左端 447 から 203） */
  .fv__balloon::after{
    left:52.6%;bottom:-1.62rem;
    border-top-width:1.91rem;border-right-width:1.91rem;
  }
  .fv__catch{margin-top:-.5rem}
  .fv__catch-sm{font-size:3rem;line-height:1.79}
  .fv__catch-num{font-size:8.3rem;line-height:1.19}
  .fv__catch-big{
    flex:0 0 auto;margin:0;font-size:6rem;line-height:1.4;
  }

  /* 本体は Figma の座標どおり絶対配置（rem なので拡縮に追従） */
  .fv__body{position:relative;display:block;height:48.2rem;padding:0;margin-top:2.8rem}
  .fv__vis{display:contents}

  .spec{
    position:absolute;left:21rem;top:0;width:37.2rem;
    display:grid;gap:.8rem;
  }
  .spec__item{height:7.3rem;border-radius:.6rem}
  .spec__label{left:1.7rem;line-height:1.3}
  .spec__label br{display:none}          /* PC は 1 行 */
  .spec__item:nth-child(1) .spec__label{font-size:1.7rem;font-weight:900;letter-spacing:.02em}
  .spec__label-en{font-size:2rem}
  .spec__item:nth-child(2) .spec__label{font-size:1.8rem;font-weight:700}
  .spec__item:nth-child(3) .spec__label{font-size:2rem;font-weight:700;letter-spacing:.18em}
  /* 数字の左端 434（spec 左端 210 から 224） */
  .spec__value{left:22.4rem;right:auto;transform:translateY(calc(-50% - 3px))}
  .spec__max{bottom:.8rem;margin-right:.2rem}
  .spec__value b{font-size:7.3rem}
  .spec__value i{font-size:3.2rem;margin-left:.3rem;vertical-align:.11em}
  .spec__value small{font-size:2.2rem;margin-left:.6rem;vertical-align:.3em}
  .spec__max{font-size:1.7rem}
  .spec__yen{font-size:2.2rem;top:-.2rem}
  .spec__value sup{font-size:1.4rem;top:1.7rem;right:-1.1rem}
  .spec__item:nth-child(3) .spec__value sup{top:3.4rem;right:-2.2rem}

  .bonus{
    position:absolute;left:21rem;top:25.1rem;width:37.2rem;margin:0;border-radius:.4rem;
  }
  .bonus__head{height:3.4rem;font-size:1.6rem}
  .bonus__body{height:10.29rem}
  .bonus__cond{font-size:1.8rem}
  .bonus__cond span{padding:0 3.6rem}
  .bonus__cond span::before,.bonus__cond span::after{width:2.8rem}
  .bonus__cond b{font-size:2.3rem}
  .bonus__main{gap:.5rem;margin-top:.4rem}
  .bonus__max{font-size:2.2rem}
  .bonus__num{font-size:5.4rem}
  .bonus__unit{font-size:1.5rem}
  .bonus__unit b{font-size:2.2rem}
  .bonus__vp{width:3.1rem}

  .notes--fv{
    position:absolute;left:21rem;top:40.2rem;width:44.6rem;margin:0;
  }
  .notes--fv li{font-size:1.3rem;line-height:1.38;margin-bottom:.4rem}

  .fv__lead{
    position:absolute;left:88rem;top:1.5rem;width:35.7rem;padding:0;z-index:2;
  }
  .fv__lead-txt{font-size:2.65rem;line-height:1.06;margin-top:1.95rem}
  .fv__ruby{left:1.4rem;top:-1.92rem;font-size:1.6rem}
  /* 画像は Figma では中央より 8 左（935..1165.9／内容 880..1237） */
  .fv__lead-img{margin-top:-.82rem}
  .fv__lead-img img{width:23.09rem;margin-right:1.6rem}

  .fv__visual{
    position:absolute;left:64.6rem;top:6rem;width:37.42rem;margin:0;z-index:1;
  }
  .fv__visual img{width:100%}
  .fv__visual-sp{display:none}
  .fv__visual-pc{display:inline-block}

  /* --- offers：2カラム（Figma PC 実測） ---
     section 765..1349 ／ inner 1000 @x=140
     パネル 447 幅（左 x=140 / 右 x=693）、head 63 r10、body 393
     ＋ 66x66 @x=607,y=1024 ／ バッジ 110x110 @x=1045,y=776
     期間限定タイトル fs24 @x=773 ／ ボタン 281x58 @x=776,y=1187        */
  .offers{padding:6.4rem 0}
  .offers--repeat{padding:6.4rem 0}
  .offers__inner{
    display:flex;align-items:flex-start;justify-content:space-between;
    width:100rem;
  }
  .offers .card-panel{flex:none;width:44.7rem;margin-top:0}
  .card-panel__title{height:6.3rem;font-size:2.4rem;border-radius:1rem 1rem 0 0}
  .card-panel--blue .card-panel__body{
    min-height:39.3rem;border-radius:0 0 1.6rem 1.6rem;padding:2.8rem 1.7rem 4rem;
  }
  .card-panel--teal .card-panel__title{
    justify-content:flex-start;padding:1.3rem 0 0 8rem;font-size:2.4rem;
    align-items:flex-start;line-height:1.792;
  }
  .card-panel--teal .card-panel__title::before{
    left:8.8rem;top:1.3rem;
    box-shadow:2.5rem 0 0 var(--c-cta),5rem 0 0 var(--c-cta),7.5rem 0 0 var(--c-cta);
  }
  .card-panel--teal .card-panel__body{
    min-height:39.3rem;border-radius:0 0 1rem 1rem;padding:2.8rem 3.65rem 4rem;
  }
  /* バッジ：右パネルの右上（Figma x=1045, y=776） */
  .card-panel__badge{
    left:35.2rem;right:auto;top:-5.3rem;
    width:11rem;height:11rem;font-size:1.7rem;
  }
  .card-panel__badge b{font-size:2.4rem}
  .card-panel__badge small{font-size:1.4rem}
  .card-panel__badge::after{top:8.13rem;width:1.814rem;height:1.536rem}
  /* ＋：2 カラムの中央（Figma 66x66 @y=1024 = パネル上端 +195） */
  .offers__plus{width:10.6rem;height:auto;align-self:stretch}
  .offers__plus::before{
    top:19.5rem;width:6.6rem;height:6.6rem;
  }
  .offers__plus::after{
    top:19.5rem;width:6.6rem;height:6.6rem;
    background-size:2.61rem 3px,3px 2.61rem;
  }

  /* ribbon 296x39 r999 @x=216,y=920（しっぽは SP と同寸 14x14） */
  .ribbon{width:29.6rem;height:3.9rem;padding:0;font-size:1.7rem}
  /* PC は「最大12,000円相当プレゼント！」が 1 行（Figma 377.2x55 @y=963） */
  /* PC は 1 行が正（Figma の「プレゼント！」は詰め組 179px ≒ 0.9em/字 → palt で追従、
     Webフォント時 402px < 本文 407px で 1 行に収まる）。nowrap にはせず、
     フォント未ロード等で幅が足りない端末では折り返して「端が切れる」事故を防ぐ */
  .present{margin-top:.4rem;font-feature-settings:"palt"}
  .present__sm{font-size:1.7rem;line-height:1.8}
  .present__num{font-size:4.6rem}
  .present__big{flex:0 0 auto;margin:0 0 0 .6rem;font-size:3.3rem;text-align:left}
  .offers__visual{margin-top:1rem}
  .offers__visual img{max-height:14.3rem}

  /* teal 側（Figma 中身 374 @x=730,y=920／合計 325 で body 393 に収まる） */
  .ltd__lead{font-size:2.2rem;line-height:1.3;white-space:nowrap}
  .ltd__lead br{display:none}   /* PC は 1 行 */
  .ltd__deco{width:37.4rem;height:1.8rem;margin-top:.65rem}
  .ltd__deco-line--sp{display:none}
  .ltd__deco-line--pc{display:inline}
  .ltd__rate{margin-top:.6rem;gap:1.7rem}
  .ltd__vp{width:6.7rem}
  .ltd__vplabel{font-size:1.7rem;margin-bottom:.2rem}
  .ltd__max{font-size:1.88rem}
  .ltd__row b{font-size:6.57rem}
  .ltd__row i{font-size:4.57rem}
  .ltd__row small{font-size:3.64rem}
  /* cap は SP と同じく ltd__figure 内（右カラム）に置かれる */
  .card-panel--teal .offers__visual{margin-top:1.2rem}
  /* 105px 中 104px が改札イラスト。Figma PC の 89px で見せるには 89*105/104 ≒ 89.9px */
  .card-panel--teal .offers__visual img{max-height:8.99rem}
  .btn-more{width:28.1rem;height:5.8rem;font-size:1.8rem;margin-top:1.6rem}
  .btn-more::after{right:1.6rem;width:1.8rem;height:1.8rem}
  .btn-more--teal{margin-top:1.2rem}

  /* --- feature（Figma PC 実測） ---
     head #cbe4f5 1280x356（1349..1705）／ list #a1d0ee 1510（1705..3215）
     head 中身 692x265 @x=270,y=1399：カード 158x250 @x=295,y=1414
       eyebrow 330.4 @x=529,y=1434 fs25.44 ／ VP 78.1 @x=877,y=1421
       txt 445 @x=517,y=1492：ruby fs18.17 ／ title fs44.64 ／ 白線 445x3.6 @y=1575
     list：カード 394 幅 2 列 @x=230/656、gap 32、r12、上下 padding 30
       1 行目 391（y=1769）／ 2 行目 464（y=2192）
     ボタン 500x90 r8 @x=390,y=2696 ／ usepoint 820 @x=230,y=2850          */
  .feature{
    background:linear-gradient(var(--c-gray-bg) 0 6rem, var(--c-blue-bg) 6rem);
    padding-bottom:15.8rem;
  }

  .feature__head{height:35.6rem;border-radius:6rem 6rem 0 0}
  .feature__head-inner{width:128rem;height:100%;display:block}
  .feature__card{
    left:29.5rem;top:6.5rem;width:15.8rem;height:25rem;
    border-radius:.72rem;box-shadow:-2.5rem -1.1rem 2.53rem rgba(0,0,0,.14);
  }
  .feature__eyebrow{
    left:52.9rem;top:8.5rem;width:33.04rem;font-size:2.544rem;line-height:1.1;
  }
  .feature__eyebrow span::before,.feature__eyebrow span::after{
    bottom:.12rem;width:.36rem;height:2.27rem;
  }
  .feature__vp{left:87.7rem;top:7.2rem;width:7.81rem;height:7.8rem}

  .feature__head-txt{left:51.7rem;top:14.3rem;width:44.5rem}
  .feature__ruby{left:5.4rem;top:0;font-size:1.817rem;line-height:1.82}
  .feature__title{margin-top:1.4rem;font-size:4.464rem;line-height:1.37}
  .feature__title::after{width:44.5rem;height:.36rem;margin-top:.8rem}
  .feature__fee{margin-top:1.14rem;font-size:2.03rem;line-height:1.38}
  .feature__note{margin-top:.5rem;font-size:1.3rem;line-height:1.38}

  /* ------------------------------------------------- 特長カード（PC 2 列） */
  .feature__list{
    width:82rem;padding-top:6.4rem;
    display:grid;grid-template-columns:repeat(2,39.4rem);gap:3.2rem;
  }
  .fcard{
    width:auto;margin:0;border-radius:1.2rem;padding:3rem 3.2rem;
    display:flex;flex-direction:column;justify-content:center;
  }
  .fcard::before{width:7.93rem;height:7.93rem}
  .fcard__num{left:2.6rem;top:1.3rem;font-size:3.02rem;line-height:1.2}
  .fcard__vp{right:1.2rem;top:1.2rem;width:4rem;height:5.4rem}

  /* イラストは Figma 実寸の高さで指定（SP と同じ詳細度で上書きする） */
  .fcard__pic{padding-top:0}
  .fcard__pic img{max-height:none}
  .feature__list .fcard:nth-of-type(1) .fcard__pic img{height:10.56rem}
  .feature__list .fcard:nth-of-type(2) .fcard__pic img{height:11.5rem}
  .feature__list .fcard:nth-of-type(4) .fcard__pic img{height:9.45rem}

  .fcard__title{margin-top:2rem;font-size:2rem;line-height:1.6;letter-spacing:.04em}
  .fcard__title-lg{font-size:3rem;line-height:1.6}
  .fcard__title-p{font-size:2rem}
  .fcard__title-sm{font-size:2rem;line-height:1.4}
  .fcard__pct{font-size:5.2rem;line-height:.923;margin-left:.5rem}
  .fcard__pct i{font-size:4rem}
  .fcard__cap{font-size:1.38rem;line-height:1.38;margin:.47rem 0 0}
  .fcard:nth-of-type(1) .fcard__cap{margin-right:2rem}
  .fcard:nth-of-type(4) .fcard__cap{margin-right:.9rem}
  .fcard__note{margin:.47rem 0 0;font-size:1.3rem;line-height:1.38}

  /* いつでも／入会月含む４ヵ月間（左右のパネル幅はカードごとに実測） */
  .rate2{margin:1.2rem 0 0;padding:0;gap:.5rem;justify-content:center}
  .fcard:nth-of-type(1) .rate2__col{width:12.45rem}
  .fcard:nth-of-type(1) .rate2__col--accent{width:17.18rem}
  .fcard:nth-of-type(4) .rate2__col{width:14.62rem}
  .fcard:nth-of-type(4) .rate2__col--accent{width:14.98rem}
  .rate2__col{flex:none;border:0;border-radius:0;overflow:visible}
  .rate2__head{font-size:1.5rem;line-height:2.273;letter-spacing:.04em}
  .rate2__val{
    font-size:3.525rem;height:5.52rem;line-height:5.27rem;white-space:nowrap;
    border:.126rem solid #ddd;
  }
  .rate2__val i{font-size:2.266rem}
  .rate2__plus{
    position:static;align-self:center;flex:none;width:2.37rem;
    margin:0;transform:none;text-align:center;
    font-size:4.78rem;line-height:1;
  }

  /* ポイントがダブルでたまる（カード3） */
  .dbl{margin:1.3rem 0 0;border:0;border-radius:0}
  .dbl__head{font-size:1.5rem;line-height:2.273;letter-spacing:.04em}
  /* 高さ固定だと（フォールバックフォント等で）折り返した際に overflow:hidden で
     下段が見切れるため min-height にする */
  .dbl__body{min-height:8.86rem;padding:0;gap:.7rem;border:.126rem solid #ddd}
  .dbl__pair--vp img{width:3.78rem}
  .dbl__pair--nsp img{width:10.83rem}
  .dbl__body b{font-size:3.78rem}
  .dbl__body b i{font-size:2.52rem}
  .dbl__plus{font-size:3.78rem}

  /* 対応施設ロゴ（PC 実寸：51.5 / 51.5 / 51.5 / 82.9、間隔 13） */
  .shops{gap:1.3rem;margin-top:1.04rem}
  .shops li:nth-child(1) img{width:5.15rem}
  .shops li:nth-child(2) img{width:5.15rem}
  .shops li:nth-child(3) img{width:5.15rem}
  .shops li:nth-child(4) img{width:8.29rem}
  .shops sup{font-size:1.26rem}

  /* 例：「マリンワールド海の中道」で〜（カード4） */
  .example{margin:2rem 0 0;gap:.75rem;justify-content:center}
  .example__badge{width:4.15rem;height:4.15rem;font-size:1.8rem}
  .example__txt{font-size:1.6rem;line-height:1.4}
  .example__total{margin-top:1.4rem;font-size:2rem;line-height:1.4;text-align:center;white-space:nowrap}
  .example__total b{font-size:3.5rem;line-height:.87}
  .example__total b i{font-size:2.2rem}
  .example__total small{font-size:1.3rem}

  /* 詳しくはこちら（500x90 r8） */
  .btn-more--wide{
    grid-column:1/-1;width:50rem;max-width:none;height:9rem;
    margin:.8rem auto 0;font-size:2.4rem;justify-self:center;
  }
  /* ＞＝別ページに遷移／＋＝ページ内モーダル、という使い分けに統一する。
     Figma の PC は ＞ だが、開くのはモーダルなので ＋ を優先（指摘❷）*/
  .btn-more--wide::after{right:1.6rem;width:2.4rem;height:2.4rem}

  /* たまったポイントは〜（PC は 2 列） */
  .usepoint{grid-column:1/-1;width:82rem;margin:3.2rem auto 0}
  /* PC は 2 カラム＋中央に縦の仕切り線（26.10.23 校正のデザイン） */
  .usepoint__body{
    margin-top:1rem;padding:3.2rem 0;border-radius:1rem;
    display:flex;justify-content:center;align-items:stretch;
  }
  .usepoint__col{padding:0 3.4rem;display:flex;flex-direction:column;justify-content:flex-start}
  .usepoint__col--sub{margin-top:0;padding-top:0;border-top:0;border-left:.1rem solid #ccc}
  /* 見出し下の残り空間の中央に行を置き、左右カラムの高さバランスを揃える */
  .usepoint__col .usepoint__row{margin-top:auto;margin-bottom:auto}
  /* 右カラムの見出しは3行（高さ8.2rem）。左も同じ高さを確保して、
     左右の行（ロゴ→タグ）のセンターが同じ軸に揃うようにする */
  .usepoint__head{font-size:1.5rem;margin-bottom:1.6rem;min-height:8.2rem}
  .usepoint__head-em{font-size:1.8rem}
  .usepoint__row{align-items:center;gap:1.9rem}
  .usepoint__logo{width:7.11rem}
  .usepoint__logo--nsp{width:13.4rem}
  .usepoint__arrow{width:3.03rem}
  .usepoint__col--sub .usepoint__arrow{width:3.1rem}
  .usepoint__col--sub .usepoint__row{gap:1.2rem}
  .usepoint__tags{flex:none;width:20rem;grid-template-columns:1fr;gap:.8rem}
  .usepoint__col--sub .usepoint__tags{width:14.8rem;max-width:none}
  .usepoint__tags li{font-size:1.5rem;line-height:1.6;padding:.7rem .6rem;border-radius:.4rem}

  /* --- always（Figma PC 実測） ---
     背景 #ffe08a r60 1280x895（3215..4110）／上端 58 に #a1d0ee が覗く
     title 583 @x=347,y=3295 fs42.8 ／ ドット 10 ×3 @x=799,y=3279 ／ 白線 583x3 @y=3355
     badge 140.5x54.5 r6.6 @x=561,y=3390（しっぽ 12.7x16.5 @x=638）
     cond 433.6 @x=418,y=3426 ／ main 476 @x=402,y=3480
     カード 394x240 r12.6 @x=238/664,y=3640（番号丸 53.7 @-16,-20）
     ボタン 500x90 @x=390,y=3920                                          */
  .always{
    /* Figma：四隅 60px。角の外に前セクションの水色が出るよう上に重ねる。
       擬似要素で帯を敷くと、負の z-index でも要素の背景より前に描かれて
       角を埋めてしまうため、重ねる方式にしている（修正依頼 0907-4）    */
    position:relative;
    border-radius:6rem;padding:8rem 0 10rem;
    margin-top:-5.8rem;
  }
  .always__title{width:auto;font-size:4.2rem;line-height:1.19}
  .always__title-sm{font-size:3rem}
  .always__title::before{
    left:65.9rem;top:-1.6rem;width:1rem;height:1rem;
    box-shadow:4.6rem 0 0 #d46e31,9.1rem 0 0 #d46e31;
  }
  .always__title::after{width:58.3rem;height:.3rem;margin:1rem auto 0}

  .always__badge{
    display:flex;align-items:center;justify-content:center;
    width:14.05rem;height:5.45rem;margin:3.2rem auto 0;
    padding:0;border-radius:.66rem;font-size:1.9rem;position:relative;
  }
  .always__badge b{font-size:4.2rem;vertical-align:-.35rem;margin:0 .2rem}
  .always__badge::after{
    content:"";position:absolute;left:50%;top:100%;margin-left:.7rem;
    width:0;height:0;transform:translateX(-50%);
    border-left:.635rem solid transparent;border-right:.635rem solid transparent;
    border-top:1.65rem solid #fff;
  }

  .always__cond{font-size:3rem;margin-top:-1.85rem}
  .always__cond b{font-size:5.6rem;line-height:1.389;vertical-align:-.5rem}
  .always__main{gap:.3rem;margin-top:-2.38rem}
  .always__max,.always__unit{font-size:3.4rem;line-height:1.788}
  .always__num{font-size:9rem;line-height:1.197}

  .always__cards{
    width:82rem;margin:5.23rem auto 0;
    grid-template-columns:repeat(2,39.4rem);gap:3.2rem;
  }
  /* 白ボックスは Figma 実測の 394x240 固定。中身は上下中央 */
  .acard{
    height:24rem;padding:0 4rem;border-radius:1.26rem;
    display:flex;flex-direction:column;justify-content:center;
  }
  .acard__num{left:-1.6rem;top:-2rem;width:5.37rem;height:5.37rem;font-size:2.26rem}
  .acard__vp{right:1.2rem;top:1.2rem;width:4rem}
  .acard__lead{font-size:2.14rem;line-height:1.4}
  .acard:nth-of-type(2) .acard__lead{line-height:1.87}
  /* 行の高さは Figma 実測（37）で固定。数字はその中で baseline 揃え */
  .acard__main{margin-top:1rem;height:3.7rem;line-height:3.7rem}
  .acard__main b{font-size:5.29rem;line-height:inherit}
  .acard__main span{font-size:2.14rem;line-height:inherit}
  .acard__sub{
    margin-top:1.7rem;padding:1.31rem .8rem;
    background:#ededed;border-radius:.67rem;font-size:1.76rem;line-height:1.4;
  }
  .acard__sub b{font-size:4.32rem;line-height:.7;vertical-align:-.4rem}
  .acard__sub b i{font-size:2.73rem}
  .acard:nth-of-type(2) .acard__sub{font-size:1.89rem;padding:1.5rem .8rem}
  .acard:nth-of-type(2) .acard__sub b{font-size:3.02rem;line-height:.7}
  .always .btn-more--wide{margin-top:4rem}

  /* --- example（Figma PC 実測） ---
     eyebrow fs28 lh1.0 @y=4190 ／ title 541 fs38 lh1.6 @x=369,y=4221
     カード 312x258 r20 @x=140/484/828,y=4298（中身 276x210 @+20,+24）
     見出し fs26 42高 ／ 画像 92高 @y=4374 ／ ボタン 169x46 r36 fs15 @y=4486   */
  .example-sec{padding:8rem 0 3.6rem}
  .sec-eyebrow{font-size:2.8rem;line-height:1;margin-bottom:.3rem}
  .sec-eyebrow span{padding:0 2.2rem}
  .sec-eyebrow span::before,.sec-eyebrow span::after{width:1.3rem;height:1.8rem}
  .sec-title{font-size:3.2rem;line-height:1.6}
  .example-sec .sec-title{font-size:3.8rem}
  .excards{grid-template-columns:repeat(3,1fr);gap:3.2rem;margin-top:1.6rem}
  .excard{
    height:25.8rem;min-height:0;padding:2.4rem 2rem;border-radius:2rem;
    display:flex;flex-direction:column;align-items:center;
  }
  .excard__title{font-size:2.6rem;line-height:1.6;letter-spacing:.04em;white-space:nowrap}
  .excard__pic{
    position:static;right:auto;bottom:auto;
    height:9.2rem;max-height:none;width:auto;margin-top:1rem;
  }
  .excard__pic--sm{right:auto;max-height:none}
  .excard .btn-small{
    width:16.9rem;height:4.6rem;margin-top:2rem;padding:0;
    font-size:1.5rem;border-radius:3.6rem;
    background:var(--c-blue-lt);color:var(--c-text);
  }

  /* --- flow（Figma PC 実測） ---
     box 1000x311 r20 @x=140,y=5212（中身 939 @+30,+40）
     eyebrow fs25.9 と title fs34.5 は横並び（Frame 592.2 @x=343,y=5252）
     3 ステップ 297/301/301 @x=170/487/808（gap 20）
     badge r42 42高 fs18 @y=5317 ／ 見出し fs17 ／ 本文 fs15 ／ アイコン 72   */
  .flow{padding:3.6rem 0 0}   /* offers--repeat の padding-bottom 64 と合わせて 100 */
  .flow__inner{padding:4rem 3rem 3.1rem;border-radius:2rem;text-align:center}
  .flow .sec-eyebrow{
    display:inline-block;vertical-align:middle;
    margin:0 1.2rem 0 0;font-size:2.59rem;line-height:1.39;
  }
  .flow .sec-eyebrow span{padding:0 2.2rem}
  .flow .sec-eyebrow span::before,.flow .sec-eyebrow span::after{width:1.3rem;height:1.8rem}
  .flow .sec-title{
    display:inline-block;vertical-align:middle;font-size:3.45rem;line-height:1.19;
  }
  .steps{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.4rem}
  .step{padding-top:0;text-align:left}
  .step__badge{
    min-width:9.3rem;height:4.2rem;padding:0 2rem;
    font-size:1.8rem;line-height:4.2rem;
  }
  .step::before{top:2.1rem}
  .step__body{gap:1rem;padding:1.6rem 0 0;align-items:flex-start}
  .step__title{font-size:1.7rem;line-height:1.6}
  .step__desc{font-size:1.5rem;line-height:1.6;margin-top:.4rem}
  .step__note{font-size:1.3rem;margin-top:.6rem}
  .step__icon{width:7.2rem}

  /* --- cardinfo（Figma PC 実測） ---
     title fs32 @y=5623 ／ box 1000x3077 r20 @x=140,y=5690（中身 872 @+64,+32）
     dt は横幅いっぱい 44高 #62b0e3 fs20 ／ dd fs18（dt→dd 12、次の dt まで 32） */
  .cardinfo{padding:10rem 0}
  .cardinfo__box{padding:3.2rem 6.4rem;margin-top:1.6rem;border-radius:2rem}
  .cardinfo__tax{font-size:1.3rem}
  .spec-list{display:block}
  .spec-list dt{
    height:4.4rem;margin-top:3.2rem;padding:.4rem 0;
    font-size:2rem;line-height:1.8;border-radius:0;
  }
  .spec-list dt:first-of-type{margin-top:3rem}
  /* Figma の dd は改行のみの 1 ブロック（段落間の余白なし）fs17 lh1.6 */
  .spec-list dd{font-size:1.7rem;line-height:1.6;margin-top:1.2rem}
  .spec-list dd>p+p{margin-top:0}
  .spec-list__lead{margin-top:0}
  .spec-list__note{font-size:1.3rem;line-height:1.6;margin-top:.4rem}
  /* 注記のあとに次の項目が来るときだけ 32 空ける（Figma 実測）*/
  .spec-list__note+.spec-list__lead{margin-top:3.2rem}
  .notes--cardinfo{margin-top:3.2rem}

  /* --- faq（Figma PC 実測） ---
     背景は白（8867..9688）／ title fs32 @y=8947
     QA 706 幅 69高 gap10、下線 #cfcfcf 1 @x=287,y=9014
     Q 丸 28 fs18 ／ 質問 fs17 ／ ＋ 28 @x=965 ／ ボタン 500x90 r8 #ffd700 fs20 */
  .faq{background:#fff;padding:8rem 0}
  .faq__inner{width:70.6rem}
  .qa{display:grid;gap:1rem;margin-top:1.6rem}
  .qa__item{border-bottom:.1rem dashed #cfcfcf}   /* Figma dashPattern [2,2] */
  .qa__q{gap:1.3rem;padding:2rem 0;font-size:1.7rem;line-height:1.6}
  .qa__mark{width:2.8rem;height:2.8rem;font-size:1.8rem;margin-top:0}
  /* ＋は Figma 16.3 角（枠 28 の中央）*/
  .qa__icon{width:1.63rem;height:1.63rem;margin-top:.55rem}
  .qa__icon::before,.qa__icon::after{top:.72rem;width:1.63rem}
  .qa__a{padding:0 0 2rem 4.1rem;font-size:1.7rem;line-height:1.7}
  .qa__note{font-size:1.3rem}
  .btn-yellow{
    width:50rem;max-width:none;height:9rem;margin:4rem auto 0;
    font-size:2rem;border-radius:.8rem;
  }
  .btn-yellow__arrow{right:2.9rem;width:1.1rem;height:1.1rem;border-width:.25rem}

  /* --- notes（Figma PC 実測） ---
     title fs32（PC は 1 行）@y=9752 ／ 白 1000x1000 r20 @y=9819（中身 920 @+40） */
  .notes-sec{padding:6.4rem 0 0}
  .notes-sec .sec-title br{display:none}
  .notes-sec__scroll{
    height:100rem;max-height:none;padding:4rem;margin-top:1.6rem;border-radius:2rem;
  }
  .notes li{font-size:1.3rem;line-height:1.6;margin-bottom:1.2rem}

  /* --- hp-link（Figma PC 実測） ---
     白 614x242 r10 @x=333,y=10883（中身 496x162 @+64,+40）
     とり 160x162 ／ 黄ボタン 297x62 r8 fs18 @x=596（横並び gap 39）
     ※ PC の Figma に「詳しい内容はこちら」の見出しは無い                 */
  .hp-link{padding:6.4rem 0 8.1rem}
  .hp-link__inner{
    width:61.4rem;padding:4rem 5.4rem 4rem 6.4rem;border-radius:1rem;
    display:flex;align-items:center;gap:3.9rem;
  }
  .hp-link__pic{margin:0;flex:none}
  .hp-link__pic img{width:16rem;max-height:none}
  .hp-link .btn-yellow{width:29.7rem;height:6.2rem;margin:0;font-size:1.8rem}
  .hp-link .btn-yellow__arrow{right:1.6rem}

  /* --- footer（Figma 1280x100 #fff、fs13 @y=11247） --- */
  .footer{background:#fff;padding:4.1rem 1.6rem 3.8rem}
  .footer__copy{font-size:1.3rem;line-height:1.6}

  /* --- 追従CTA：PC は右端に縦組み --- */
  /* 仕様書 p3：PC版はボタンにカーソルを当てた際に動きをつける */
  .cta{
    left:auto;right:0;bottom:auto;top:50%;
    transform:translateY(-50%) translateX(120%);
    padding:0;
  }
  .cta.is-visible{transform:translateY(-50%)}
  /* PC はトリがボタン上部に出る Figma デザインなので、SP のクリップを解除 */
  /* タブ本体 72x198、角丸は左側だけ 20 */
  .cta__link{
    flex-direction:column;justify-content:center;
    width:7.2rem;height:19.8rem;max-width:none;padding:0;
    border-radius:2rem 0 0 2rem;overflow:visible;
  }
  /* ラベル 17x133 fs17 Bold。縦書きの文字送り 19px を字間で作る */
  .cta__label{
    writing-mode:vertical-rl;font-size:1.7rem;letter-spacing:.118em;line-height:1;
  }
  .cta__arrow{display:none}   /* Figma の PC タブに矢印はない */
  /* PC は Figma どおり常時表示。キャラクターはタブの上ではなく
     「左上」にはみ出す（タブ基準で x=-22 y=-23）。SP のアニメーションは
     切り、ホバーで跳ねる動き（仕様書 p3）だけ残す                     */
  .cta__bird{
    left:-2.2rem;bottom:auto;top:-2.3rem;width:5.7rem;
    transform:none;transform-origin:bottom center;
    transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  }
  .cta.is-visible .cta__bird{animation:none;transform:none}
  .cta__link:hover .cta__bird,
  .cta.is-visible .cta__link:hover .cta__bird{
    transform:translateY(-1rem) rotate(-7deg);
  }
  .cta__link:hover{filter:brightness(1.04)}

  /* --- 申込方法の選択 --- */
  .m-apply__title{margin-bottom:2.8rem}
  .m-apply{grid-template-columns:repeat(2,1fr);gap:2rem}
  .m-apply__btn{
    min-height:11rem;padding:2rem 3.6rem 2rem 2.2rem;border-radius:1.2rem;
  }
  .m-apply__head{font-size:2rem}
  .m-apply__sub{font-size:1.5rem;margin-top:.6rem}
  .m-apply__arrow{right:1.6rem;width:1.3rem;height:1.3rem}
  .m-apply__note{margin-top:2.4rem;font-size:1.3rem}

  /* --- modal（Figma PC 実測：02_PC_modal01 ほか） ---
     オーバーレイ #000 60% ／ シート 820 幅 @x=230,y=84（padding 40）
     上部バーは無く、× 48 が右上 @x=1050,y=36（白）
     本文 20 ／ m-big 32・数字 46 ／ 見出し帯 17 ／ 注記 13         */
  .modal__overlay{background:rgba(0,0,0,.6)}
  /* Figma：×はシート（最大 820px・中央寄せ）の右端に接する位置。
     固定値だと画面が広いときにシートから離れるので幅に連動させる
     （修正依頼 0907-14）                                              */
  .modal__bar{
    position:absolute;left:0;right:0;top:0;z-index:3;
    height:auto;background:none;justify-content:flex-end;
    padding:3.6rem max(2rem, calc((100% - 82rem) / 2 - 4.8rem)) 0;
  }
  .modal__logo{display:none}
  .modal__close{width:4.8rem;height:4.8rem}
  .modal__close::before,.modal__close::after{
    left:.6rem;top:2.25rem;width:3.6rem;height:.3rem;background:#fff;
  }
  .modal__scroll{padding:8.4rem 2rem 6rem}
  .modal__sheet{max-width:82rem;padding:4rem}
  .br-sp{display:none}   /* SP 用の改行。PC は Figma どおり 2 行に */
  .m-lead{font-size:2rem}
  .m-big{font-size:3.2rem}
  .m-big b{font-size:4.6rem}
  .m-big i{font-size:3.2rem}
  .m-center{font-size:1.7rem}
  .m-badge{font-size:1.7rem}
  .m-num-title{font-size:1.7rem}
  .m-strong{font-size:1.7rem}
  .m-box .m-center.m-strong{font-size:2rem}
  .m-lead b{font-size:2.8rem}
  .m-strong b{font-size:2.4rem}
  .m-strong i{font-size:1.7rem}
  .m-table td b{font-size:3rem}
  .m-table td i{font-size:1.8rem}
  .m-lead-vp__logo{margin-top:1.4rem}
  .m-badge-round{border-radius:.49rem;padding:.44rem .98rem;font-size:1.5rem}
  .m-badge-round b{font-size:3.2rem}
  .m-badge-round::after{border-width:.53rem;border-bottom:0;border-top-width:1.23rem}
  .m-body{font-size:1.7rem}
  .m-note{font-size:1.3rem}
  /* PC は文字 15px、本文行の上下余白だけ広い（Figma 見出し 36px / 本文 44px）*/
  .m-dl{font-size:1.5rem}
  .m-dl--table dd{padding:.9rem 1.5rem}
  .m-table{font-size:1.3rem;margin-top:2.5rem}
  /* 箱のＶポイントロゴは Figma PC でも 36x48（4rem は表ヘッダーの v-point_68 のみ）*/
  .m-box{padding:3.2rem}
  .m-table thead tr:nth-child(2) th{padding:1rem}
  .m-table thead tr:nth-child(2) th:nth-child(1) img{width:4rem}
  .m-table thead tr:nth-child(2) th:nth-child(2) img{width:12rem}
  /* 利用額の表：PC は左 400 ／ 右 276（計 676）、文字 15px、余白は上下 10px */
  .m-table--use{font-size:1.5rem}
  .m-table--use th,.m-table--use td{padding:.95rem .9rem}
  .m-table--use td:last-child{width:40.8%}
  .m-table--use tfoot td,
  .m-table--use tfoot td:last-child{font-size:1.7rem;padding:1.5rem .9rem}
  .m-breakdown,.m-breakdown__head,.m-breakdown__body{font-size:1.5rem}
  .m-breakdown__body{padding:.9rem 5.2rem .9rem 1.5rem;min-height:6rem}
  .m-breakdown__logo{top:1rem;width:3.6rem}
  .m-breakdown__logo--nsp{top:50%;width:10rem}
  .m-ex-result__sum{font-size:2rem}
  .m-ex-result b{font-size:3.2rem}
  .m-ex-cond{gap:2.4rem}
  .m-ex-cond__pic{width:9rem}
  .m-ex-cond__pic--wide{width:11.1rem}
  .m-check{gap:1rem}
  .m-check li{font-size:1.7rem}
  .m-check li::before{width:3.4rem;height:3.4rem}
  .m-ex-cta{width:39.6rem;margin-inline:auto}
  .m-ex-cta__txt{width:95.7%;padding:2.2rem 4.3rem 2.2rem 2.4rem;font-size:1.7rem}
  .m-ex-note{font-size:1.3rem;line-height:1.6;margin-top:2.4rem}
  .m-ex-title{font-size:2.4rem}
  .m-ex-pic img{height:15.1rem}
}

@media (min-width:1080px){
  .offers__plus{width:12rem}
  .fv__body{column-gap:6rem}
}

/* 狭幅端末の微調整 */
@media (max-width:359px){
  .spec{width:66%}
  .fv__visual{width:34%}
  .rate2{grid-template-columns:1fr auto 1.2fr;gap:.4rem}
  .rate2__val{font-size:2.8rem}
}

/* 注記の「※」は flex ではなくぶら下げインデントで置く。flex にすると
   本文が別のフレックスアイテムとして幅を詰められ、余裕があるのに折り返す
   （端末幅によって 1 行／2 行が変わる原因になっていた）。               */

/* ===== 端末差で改行位置が変わるのを防ぐ =====================================
   Figma でちょうど 1 行に組まれている見出し・注記は、実装でも余裕が 1〜2%
   しかない。html の font-size を vw 連動にしているため端末幅ごとに文字寸法が
   小数になり、その丸めで「収まる／折り返す」が分かれてしまう（iPhone 15 と
   13 Pro Max で結果が違ったのはこれ）。字間をわずかに詰めて 4% 前後の余裕を
   作り、どの端末でも同じ行数になるようにする。                            */
.notes--fv li{letter-spacing:-.03em}
.usepoint__title{letter-spacing:-.03em}
.card-panel--teal .card-panel__title{letter-spacing:-.02em}
.spec-list__note{letter-spacing:-.03em}
.always__title{letter-spacing:-.015em}
.m-orange--lg{letter-spacing:-.02em}
.m-lead--left{letter-spacing:-.02em}
.m-big{letter-spacing:-.02em}
.m-strong{letter-spacing:-.02em}
