/* This project's own _reset.scss (Eric Meyer reset, compiled into style.css)
   sets "font-size:100%" on html/body/small (and many other bare elements).
   style.css loads after jcb-cmn.css, so for these specific bare-element
   selectors (same specificity, later source) the reset wins and breaks
   jcb-cmn.css's 10px html-rem base, making the whole pulled-in header /
   footer / modal render at roughly 1.6x its intended size.
   This file is loaded last to restore the values jcb-cmn.css expects. */
html { font-size: 62.5% !important; }
body { font-size: 1.6rem !important; }
small { font-size: 80% !important; }
@media screen and (max-width:639px){
  body { font-size: 1.4rem !important; }
}
@media screen and (max-width:480px){
  body { font-size: 1.3rem !important; }
}

/* FAQ: the "Q." / "A." marks have a fixed 18px box that is too narrow for
   the mark's font-size, so the trailing "." wraps to a second line.
   Let the mark size to its content and never wrap. */
.c-faq-jp__q-mark,
.c-faq-jp__a-mark {
  width: auto !important;
  white-space: nowrap !important;
}

/* MV campaign-period box: solid background per client request */
.c-kikan-jp { background: #14943C; }

/* 対象加盟店：スライダー廃止 → 縦リスト（店名リンク＋区切り線）＋ 今すぐ登録ボタンは下部にひとつ
   ※このLPは a 要素へ強いスタイルが当たるため詳細度+!importantで確実に上書き */
.c-stores-jp__list { padding-top: 8px; padding-bottom: 32px; text-align: left; }
.c-stores-jp__list ul { list-style: none; margin: 0 0 24px; padding: 0; }
.c-stores-jp__list li { border-bottom: 1px solid #c7c7c7; padding: 14px 6px; }
.c-stores-jp__list li a {
  display: block !important;
  min-height: 0 !important;
  width: auto !important;
  text-align: left !important;
  color: #008ef0 !important;
  font-weight: 700 !important;
  font-size: 1.6rem !important;
  line-height: 1.4 !important;
  background: none !important;
  text-decoration: underline !important;
}
/* ローマ字・日本語名の行（青リンクより少し小さめの黒テキスト） */
.c-stores-jp__romaji,
.c-stores-jp__ja {
  display: block;
  margin-top: 4px;
  color: #000;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4;
}
/* 遷移先ページのジャンル（店名の下・ミュート表示） */
.c-stores-jp__genre {
  display: block;
  margin-top: 4px;
  color: #666;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.5;
}
/* PC（広い画面）では店名を少し大きく */
@media screen and (min-width: 768px) {
  .c-stores-jp__list li a { font-size: 1.9rem !important; }
}
/* 今すぐ登録ボタン：FAQ全文ボタン（.c-faq-jp__btn）と同じサイズ感・矢印位置/大きさに合わせる（色は赤のまま） */
.c-stores-jp__btn.c-stores-jp__btn--single {
  width: 100% !important;
  box-sizing: border-box !important;
  color: #fff !important;
  font-size: clamp(16.1px, calc(16.1px + (32.2px - 16.1px)*(100vw - 375px)/(750px - 375px)), 32.2px) !important;
  padding-top: clamp(14px, calc(14px + (28px - 14px)*(100vw - 375px)/(750px - 375px)), 28px) !important;
  padding-bottom: clamp(14px, calc(14px + (28px - 14px)*(100vw - 375px)/(750px - 375px)), 28px) !important;
  border-radius: clamp(35px, calc(35px + (70px - 35px)*(100vw - 375px)/(750px - 375px)), 70px) !important;
}
.c-stores-jp__btn--single .c-stores-jp__btn-arrow {
  right: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  -webkit-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
  padding-right: clamp(14px, calc(14px + (28px - 14px)*(100vw - 375px)/(750px - 375px)), 28px) !important;
  font-size: clamp(22px, calc(22px + (44px - 22px)*(100vw - 375px)/(750px - 375px)), 44px) !important;
}

/* 終了告知（終了ページ KV直下） */
.c-endnotice-jp { margin: 24px auto; text-align: center; }
.c-endnotice-jp p { font-size: 1.6rem; font-weight: 700; line-height: 1.9; color: #e5151a; }
@media screen and (max-width:480px){
  .c-endnotice-jp p { font-size: 1.4rem; }
}

/* 参加方法 STEP03 のサブ文言（繁体字のみ）を1行に収めるため少し縮小（日本語は据え置き） */
html[lang="zh-TW"] .c-step-jp__sublead {
  font-size: clamp(13px, calc(13px + (26px - 13px)*(100vw - 375px)/(750px - 375px)), 26px) !important;
}

/* MyJapan+アプリ DL注記＋CTA / アプリ活用（PDF 0828 追加修正）。ボタンは既存の赤ピル(.c-stores-jp__btn--single)を流用 */
.c-app-cta { margin-top: 24px; }
.c-app-cta__note { font-size: 1.3rem; line-height: 1.6; color: #000; }
.c-app-cta__note + .c-app-cta__note { margin-top: 6px; }
.c-app-info { margin-top: 28px; }
.c-app-info__text { font-size: 1.4rem; line-height: 1.7; color: #000; margin-bottom: 4px; }
/* iOS/Android はストアバッジ（ロゴ）を左右に並べ、高さを揃える */
.c-app-cta__stores { display: flex; gap: 14px; justify-content: center; align-items: center; margin-top: 12px; }
.c-app-cta__badge { display: block; }
.c-app-cta__badge img { display: block; height: clamp(44px, 12vw, 60px); width: auto; }
