@charset "UTF-8";
/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * .jump-header / __top / __right / __tel     - 2段ヘッダー（上段：ロゴ・電話・LINE／下段：ナビ）
 * .jump-logo / __mark / __txt                - 英字大ロゴ＋縦線区切りの社名テキストロゴ
 * .jump-gnav                                  - ヘッダー下段ナビ（下線3pxのアクセント表示）
 * .jump-btn-line / --block                    - LINE公式グリーンのpillボタン
 * .jump-section / --sub / --pale              - セクション余白80px（900px以下60px）＋背景色
 * .jump-wrap-md / .jump-wrap-sm               - 1100px / 1000px の内側幅（左右20px）
 * .jump-heading / --on-dark / --sm            - 英字ラベル（13px・0.2em・アクセント色）＋日本語見出し30px
 * .jump-page-head                             - 下層ページヒーロー（左寄せ・淡い青背景）
 * .jump-card-line / .jump-chips / .jump-point - 下層の枠線カード・チップ・ポイント枠
 * .jump-other / .jump-note / .jump-note-small - その他品目カード・注意枠（点線）・控えめ枠
 * .jump-pill-line / .jump-pill-tel            - LINE・電話のpillボタン
 * .jump-flow-step / .jump-free-tags           - 横長ステップカード（丸番号）・訴求タグ
 * .jump-line-items / .jump-info-card          - LINE査定の送付項目枠・情報カード
 * .jump-shop-main / .jump-shop-table / .jump-photos - 店舗写真・店舗情報dl・写真3枚
 * .jump-line-banner                           - LINE査定の大バナー（お問い合わせページ最上部）
 * .jump-form                                  - フォーム（CMS差し替え前のダミー）
 * .jump-faq                                   - accordion--qa を角丸カード型にする modifier
 * .jump-news                                  - blog-list の日付・タイトルの見た目調整
 * .jump-contact-box                           - お問い合わせCTAボックス（メインカラー地）
 * .jump-footer                                - フッター（2カラムgrid・マップ右）
 * .jump-float-line / .jump-sp-bar             - PC右下の固定LINEボタン／SP下部の固定2ボタン
 * .jump-fade                                  - スクロールでフェードイン（下から20px）
 *
 * ======================================
 * 共通SCSSに不足していたもの
 * ======================================
 *
 * 値の粒度不足：fz-30 / fz-26 / fz-15 / fz-19 等の中間サイズ、gap-18 / gap-24、
 *               max-w-1000 / max-w-1100、section の 80px（tablet 60px）
 * 構造不足    ：ヘッダーの2段構成（上段ロゴ行＋下段ナビ行）。header__inner は1行前提
 *               英字ラベル＋日本語見出しを「小さい英字が上」で組む見出し（heading は英字が大きい前提）
 * 状態不足    ：ナビの現在ページを border-bottom 3px のアクセント色で示す表示
 * 装飾パターン不足：LINE公式グリーンのCTA一式（ヘッダー・固定ボタン・バナー）、
 *               accordion--qa の角丸カード型、SP固定バーのボタン型（色面2分割）
 * 備考        ：common の header__tel / sp-nav__link の ::before/::after は "Font Awesome 5 Free" 指定のため、
 *               FA v6 読み込み時は "Font Awesome 6 Free" に揃える必要があった
 *
 */

/* --------------------------------------------------------------------------
   基本
   -------------------------------------------------------------------------- */
body { font-size: 16px; line-height: 1.6; }
h1, h2, h3 { font-weight: 900; color: #0F3F75; text-wrap: pretty; }
p { text-wrap: pretty; }
a:hover { opacity: 1; color: #0D4580; }
img { display: block; }

/* FA v6 のフォント名に揃える */
.header__tel::before,
.sp-nav__link::after { font-family: "Font Awesome 6 Free"; }

/* --------------------------------------------------------------------------
   レイアウト
   -------------------------------------------------------------------------- */
.jump-section { padding: 100px 0; }
.jump-section--sub { background: #E9F2FA; }
.jump-section--pale { background: #F6FAFD; }
.jump-section--gray { background: rgba(241, 246, 249, 0.5); }
.jump-section--half { padding: 50px 0; }
.jump-wrap-md { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.jump-wrap-sm { max-width: 1000px; margin: 0 auto; padding: 0 20px; }
.jump-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.jump-cards { gap: 20px; }
.jump-gap-18 { gap: 18px; }
@media (max-width: 900px) {
  .jump-section { padding: 60px 0; }
}

/* --------------------------------------------------------------------------
   見出し（参考サイト .mtitle 寄せ：英字に下線＋日本語35px）
   -------------------------------------------------------------------------- */

.jump-heading { margin-bottom: 40px; }
.jump-heading .heading__en {
  display: inline-block;
  margin-bottom: 20px;
  border-bottom: 2px solid #1259A8;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-transform: uppercase;
  color: #1259A8;
}
.jump-heading .heading__ja {
  margin-top: 0;
  font-size: 35px;
  font-weight: 900;
  line-height: 1.4;
  color: #0F3F75;
}
.jump-heading--sm { margin-bottom: 30px; }
.jump-heading--sm .heading__en { margin-bottom: 14px; }
.jump-heading--sm .heading__ja { font-size: 28px; }
.jump-heading--on-dark .heading__en { border-bottom-color: #fff; color: #fff; }
.jump-heading--on-dark .heading__ja { font-size: 28px; line-height: 1.5; color: #fff; }
@media (max-width: 900px) {
  .jump-heading .heading__ja { font-size: 26px; }
  .jump-heading--sm .heading__ja,
  .jump-heading--on-dark .heading__ja { font-size: 22px; }
}

/* 吹き出しラベル（参考サイト .pop-label） */
.jump-pop-label {
  display: inline-block;
  position: relative;
  margin-bottom: 15px;
  padding: 5px 20px;
  border-radius: 50px;
  background: #FF8A3D;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
.jump-pop-label::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: #FF8A3D;
}
@media (max-width: 639px) {
  .jump-pop-label { font-size: 15px; }
}

/* --------------------------------------------------------------------------
   ヘッダー（参考サイト寄せ：ロゴ左上／白いpill型ナビを右上に固定）
   -------------------------------------------------------------------------- */

.jump-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; background: transparent; }
.jump-header__inner { display: block; max-width: none; height: auto; padding: 0; }
.jump-logo { position: absolute; top: 30px; left: 30px; z-index: 2; display: flex; align-items: center; gap: 10px; color: inherit; }
.jump-logo:hover { color: inherit; }
.jump-logo__mark {
  font-family: "Roboto", sans-serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #1259A8;
}
.jump-logo__txt { gap: 2px; padding-left: 10px; border-left: 1px solid #C9DCEF; line-height: 1.3; }
.jump-logo__txt .header-logo__name { font-size: 13px; font-weight: 700; color: #1C2B3A; }
.jump-logo__txt .header-logo__sub { font-size: 12px; font-weight: 400; letter-spacing: 0; color: #5A6E82; }

.jump-header__float {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 110;
  display: flex;
  align-items: center;
  gap: 12px;
  filter: drop-shadow(2px 0 6px rgba(28, 27, 26, 0.1));
  transition: top 0.4s ease-in, right 0.4s ease-in;
}
.jump-header.is-fixed .jump-header__float { top: 20px; right: 20px; }

.jump-gnav {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 15px 30px;
  border: 1px solid transparent;
  border-radius: 50px;
  background: #fff;
}
.jump-header.is-fixed .jump-gnav { border-color: #ddd; }
.jump-gnav .header__nav-item { text-align: center; }
.jump-gnav .header__nav-item:not(:last-child) { border-right: 1px dashed #ddd; }
.jump-gnav .header__nav-item > a { display: block; padding: 5px 20px; }
.jump-gnav .header__nav-item:first-child > a { padding-left: 15px; }
.jump-gnav .header__nav-item:last-child > a { padding-right: 15px; }
.jump-gnav .header__nav-item > a::after { content: none; }
.jump-gnav .header__nav-ja { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.15em; line-height: 1.5; color: #1C2B3A; transition: color 0.3s ease-in; }
.jump-gnav .header__nav-item > a:hover .header__nav-ja,
.jump-gnav .header__nav-item.is-current .header__nav-ja { color: #1259A8; }
.jump-gnav .header__dropdown { padding-top: 26px; min-width: 0; }
.jump-gnav .header__dropdown-item { border: none; border-bottom: 1px solid #ddd; }
.jump-gnav .header__dropdown-item:last-child { border-bottom: none; }
.jump-gnav .header__dropdown-item a { width: 250px; padding: 8px 3px; background: #fff; color: #222; font-size: 13px; font-weight: 400; text-align: center; }
.jump-gnav .header__dropdown-item a:hover { background: #1259A8; color: #fff; }

.jump-header__right { gap: 12px; height: auto; }
.jump-header__tel { flex-direction: column; align-items: center; padding: 9px 24px; border-radius: 50px; background: #fff; line-height: 1.3; }
.jump-header__tel::before { content: none; }
.jump-header__tel-num { font-size: 20px; font-weight: 700; color: #1259A8; }
.jump-header__tel-note { font-family: "Noto Sans JP", sans-serif; font-size: 11px; font-weight: 400; color: #5A6E82; }

.jump-btn-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 999px;
  background: #06C755;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.jump-header__right .jump-btn-line { padding: 19px 26px; }
.jump-btn-line i { font-size: 20px; }
.jump-btn-line:hover { background: #05B04B; color: #fff; }
.jump-btn-line--block { display: flex; justify-content: center; width: 100%; }
@media (max-width: 1320px) {
  .jump-header__tel { display: none; }
  .jump-gnav { padding: 15px 20px; }
  .jump-gnav .header__nav-item > a { padding: 5px 14px; }
}
@media (max-width: 1100px) {
  .jump-header__float { display: none; }
  .jump-logo { top: 16px; left: 16px; }
  .jump-logo__mark { font-size: 32px; }
}

/* SPナビ */
.jump-spnav-tel { justify-content: center; font-size: 24px; color: #fff; }
.jump-spnav-tel::before { color: #fff; }

/* --------------------------------------------------------------------------
   ボタン（参考サイト .btn01 寄せ：メインカラーのpill、hoverでアクセント）
   -------------------------------------------------------------------------- */

.jump-btn-outline {
  display: inline-block;
  padding: 10px 30px;
  border: 1px solid #fff;
  border-radius: 35px;
  background: #1259A8;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  transition: background 0.3s ease;
}
.jump-btn-outline:hover { background: #FF8A3D; color: #fff; }
.jump-pill-line,
.jump-pill-tel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 30px;
  border-radius: 35px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  transition: background 0.3s ease;
}
.jump-pill-line { background: #06C755; color: #fff; }
.jump-pill-line i { font-size: 20px; }
.jump-pill-line:hover { background: #05B04B; color: #fff; }
.jump-pill-tel { background: #1259A8; color: #fff; }
.jump-pill-tel:hover { background: #FF8A3D; color: #fff; }
.jump-btn-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
.jump-link-more { font-size: 14px; font-weight: 700; color: #1259A8; }

/* --------------------------------------------------------------------------
   お知らせリスト（参考サイト .news02 寄せ：日付をメインカラーの帯に）
   -------------------------------------------------------------------------- */

.jump-news { border-top: none; }
.jump-news .blog-list__item { border-bottom-color: #ddd; }
.jump-news .blog-list__link { flex-wrap: nowrap; align-items: center; gap: 20px; padding: 30px 20px; color: #1C2B3A; }
.jump-news .blog-list__link:hover { background: transparent; opacity: 0.6; }
.jump-news .blog-list__link:hover .blog-list__title { color: #1C2B3A; }
.jump-news .blog-list__date {
  flex-shrink: 0;
  width: 8em;
  padding: 2px;
  background: #1259A8;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.jump-news .blog-list__title { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; font-weight: 400; line-height: 1.6; }
@media (max-width: 639px) {
  .jump-news .blog-list__link { flex-wrap: wrap; gap: 8px; padding: 20px 10px; }
  .jump-news .blog-list__title { -webkit-line-clamp: 2; font-size: 15px; }
}

/* --------------------------------------------------------------------------
   お問い合わせCTAボックス
   -------------------------------------------------------------------------- */
.jump-contact-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 36px 32px;
  border-radius: 24px;
  background: #1259A8;
  color: #fff;
}
.jump-contact-box .jump-heading { margin-bottom: 0; }
.jump-contact-box__lead { font-size: 15px; line-height: 1.9; color: #DCE8F4; }
.jump-contact-box__line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 22px;
  border-radius: 16px;
  background: #06C755;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
}
.jump-contact-box__line i { font-size: 24px; }
.jump-contact-box__line:hover { background: #05B04B; color: #fff; }
.jump-contact-box__tel { display: block; padding: 16px 22px; border-radius: 16px; background: #fff; color: #1259A8; text-align: center; }
.jump-contact-box__tel:hover { color: #1259A8; background: #F3F8FD; }
.jump-contact-box__tel-note { display: block; font-size: 12px; font-weight: 700; line-height: 1.6; }
.jump-contact-box__tel-num { display: block; font-family: "Roboto", sans-serif; font-size: 22px; font-weight: 800; line-height: 1.4; }
.jump-contact-box__mail { font-size: 14px; font-weight: 700; color: #fff; text-align: center; text-decoration: underline; text-underline-offset: 4px; }
.jump-contact-box__mail:hover { color: #FFC49B; }

/* --------------------------------------------------------------------------
   下層ページヒーロー（参考サイト .page-title 寄せ：写真＋メインカラー0.8、英字｜日本語）
   -------------------------------------------------------------------------- */

.jump-page-head {
  position: relative;
  z-index: 1;
  padding: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/shop-interior.jpg) no-repeat center 60% / cover;
  text-align: center;
}
.jump-page-head::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #1259A8; opacity: 0.8; }
.jump-page-head .page-hero__content {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  max-width: 1300px;
  height: 350px;
  margin: 0 auto;
}
.jump-page-head .heading__en {
  margin: 0;
  font-size: 45px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
}
.jump-page-head .heading__ja {
  margin: 0 0 0 26px;
  padding-left: 44px;
  border-left: 2px solid rgba(255, 255, 255, 0.9);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #fff;
}
@media (max-width: 900px) {
  .jump-page-head .page-hero__content { height: 280px; }
  .jump-page-head .heading__en { font-size: 34px; }
  .jump-page-head .heading__ja { font-size: 19px; margin-left: 18px; padding-left: 24px; }
}
@media (max-width: 639px) {
  .jump-page-head .page-hero__content { flex-direction: column; height: 220px; padding-top: 30px; }
  .jump-page-head .heading__en { font-size: 30px; }
  .jump-page-head .heading__ja { margin: 8px 0 0; padding: 0; border-left: none; font-size: 16px; line-height: 1.6; }
}

/* パンくず（参考サイト .breadcrumb） */
.jump-breadcrumb { max-width: 1200px; margin: 20px auto; padding: 0 20px; font-size: 12px; }
.jump-breadcrumb .breadcrumb__item { color: #777; }
.jump-breadcrumb .breadcrumb__item:not(:last-child)::after { content: ">"; margin: 0 10px; color: #777; }
.jump-breadcrumb .breadcrumb__link { color: #1259A8; }
.jump-breadcrumb .breadcrumb__current { color: #777; }

/* --------------------------------------------------------------------------
   下層：カード・枠
   -------------------------------------------------------------------------- */
.jump-card-line { padding: 32px 30px; border: 1px solid #DCE8F4; border-radius: 22px; }
.jump-card-line .jump-heading { margin-bottom: 14px; }
.jump-card-line .jump-heading .heading__ja { font-size: 22px; }
.jump-text { font-size: 15px; line-height: 1.95; color: #435668; }
.jump-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.jump-chips span { padding: 6px 12px; border-radius: 999px; background: #E9F2FA; color: #1259A8; font-size: 13px; font-weight: 700; line-height: 1.6; }
.jump-check { display: grid; gap: 8px; }
.jump-check li { display: flex; gap: 10px; font-size: 15px; line-height: 1.8; color: #435668; }
.jump-check li i { flex-shrink: 0; margin-top: 0.3em; color: #FF8A3D; }
.jump-check b { flex-shrink: 0; min-width: 3em; color: #0F3F75; }

.jump-point { display: grid; gap: 10px; margin-top: 24px; padding: 30px; border-radius: 22px; background: #FFF6EF; }
.jump-point__tag { font-size: 13px; font-weight: 900; color: #C4591A; }
.jump-point__title { font-size: 20px; line-height: 1.6; }

.jump-other { padding: 28px 26px; border-radius: 20px; background: #F6FAFD; }
.jump-other__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 14px;
  background: #E9F2FA;
  color: #1259A8;
  font-size: 22px;
}
.jump-other__icon img { width: 38px; height: 38px; object-fit: contain; }
.jump-other__title { margin-bottom: 10px; font-size: 18px; }
.jump-other__text { font-size: 14px; line-height: 1.85; color: #435668; }

.jump-note { padding: 26px; border: 1px dashed #BFCFDF; border-radius: 20px; }
.jump-note .jump-heading { margin-bottom: 12px; }
.jump-note .jump-heading .heading__en { margin-bottom: 6px; }
.jump-note .jump-heading .heading__ja { font-size: 17px; color: #1C2B3A; }
.jump-note__list { display: grid; gap: 4px; margin-bottom: 8px; }
.jump-note__list li { position: relative; padding-left: 1.1em; font-size: 14px; line-height: 1.85; color: #435668; }
.jump-note__list li::before { content: "・"; position: absolute; left: 0; }
.jump-note__text { font-size: 14px; line-height: 1.85; color: #435668; }
.jump-note-small { padding: 26px; border: 1px solid #DCE8F4; border-radius: 20px; }
.jump-note-small__title { margin-bottom: 10px; font-size: 15px; font-weight: 700; color: #1C2B3A; }
.jump-note-small__text { font-size: 13px; line-height: 1.85; color: #5A6E82; }

/* --------------------------------------------------------------------------
   買取の流れ
   -------------------------------------------------------------------------- */
.jump-flow-steps { display: grid; gap: 16px; }
.jump-flow-step {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding: 26px 28px;
  border-radius: 22px;
  background: #F6FAFD;
}
.jump-flow-step__no {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #1259A8;
  color: #fff;
  font-family: "Roboto", sans-serif;
  line-height: 1.1;
}
.jump-flow-step__no small { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; }
.jump-flow-step__no b { font-size: 26px; font-weight: 800; }
.jump-flow-step__title { margin-bottom: 8px; font-size: 20px; line-height: 1.5; }
.jump-flow-step__text { font-size: 15px; line-height: 1.9; color: #435668; }
.jump-free-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.jump-free-tags span { padding: 8px 16px; border-radius: 999px; background: #FFF1E6; color: #B34E12; font-size: 14px; font-weight: 700; line-height: 1.6; }

.jump-line-items { padding: 32px 30px; border: 2px solid #06C755; border-radius: 22px; }
.jump-line-items .jump-heading { margin-bottom: 14px; }
.jump-line-items .jump-heading .heading__en { color: #05A04A; }
.jump-line-items .jump-heading .heading__ja { font-size: 22px; }
.jump-line-items .jump-text { margin-bottom: 18px; }
.jump-line-items__list { display: grid; gap: 8px; counter-reset: li; }
.jump-line-items__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.6; counter-increment: li; }
.jump-line-items__list li::before {
  content: counter(li);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 50%;
  background: #E6F9EE;
  color: #05A04A;
  font-family: "Roboto", sans-serif;
  font-size: 11px;
  font-weight: 800;
}
.jump-line-items__list b { flex-shrink: 0; width: 6.5em; font-weight: 700; }
.jump-line-items__list span { font-size: 14px; color: #435668; }
.jump-line-items__go {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
  padding: 18px 16px;
  border-radius: 14px;
  background: #06C755;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}
.jump-line-items__go i { font-size: 24px; }
.jump-line-items__go:hover { background: #05B04B; color: #fff; }
.jump-info-cards { display: grid; gap: 20px; align-content: start; }
.jump-info-card { padding: 28px; border-radius: 22px; background: #F6FAFD; }
.jump-info-card .jump-heading { margin-bottom: 10px; }
.jump-info-card .jump-heading .heading__en { margin-bottom: 6px; }
.jump-info-card .jump-heading .heading__ja { font-size: 19px; }
.jump-info-card .jump-text { line-height: 1.9; }

/* --------------------------------------------------------------------------
   店舗紹介
   -------------------------------------------------------------------------- */
.jump-shop-main { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; object-position: 50% 55%; border-radius: 26px; }
.jump-shop-table { margin: 0; overflow: hidden; border: 1px solid #DCE8F4; border-radius: 22px; }
.jump-shop-table__row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px; padding: 18px 24px; border-bottom: 1px solid #EEF3F8; }
.jump-shop-table__row:last-child { border-bottom: none; }
.jump-shop-table dt { font-size: 14px; font-weight: 700; line-height: 1.8; color: #0F3F75; }
.jump-shop-table dd { margin: 0; font-size: 15px; line-height: 1.8; }
.jump-shop-map { aspect-ratio: 4 / 3; border-radius: 22px; background: #E9F2FA; }
.jump-shop-map iframe { height: 100%; border: 0; display: block; }
.jump-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.jump-photos img { width: 100%; aspect-ratio: 4 / 3; margin-bottom: 12px; object-fit: cover; border-radius: 18px; }
.jump-photos p { font-size: 14px; line-height: 1.8; color: #435668; }
.jump-photos strong { margin-right: 4px; color: #0F3F75; }

/* --------------------------------------------------------------------------
   お問い合わせ
   -------------------------------------------------------------------------- */
.jump-line-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 30px 32px;
  border-radius: 26px;
  background: #06C755;
  color: #fff;
  box-shadow: 0 14px 30px rgba(6, 199, 85, 0.28);
}
.jump-line-banner:hover { background: #05B04B; color: #fff; }
.jump-line-banner__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: #fff;
  color: #06C755;
  font-size: 40px;
}
.jump-line-banner__note { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 700; line-height: 1.6; }
.jump-line-banner__main { display: block; font-size: 24px; font-weight: 900; line-height: 1.4; }
.jump-line-banner__add { padding: 12px 20px; border-radius: 999px; background: #fff; color: #05A04A; font-size: 14px; font-weight: 900; line-height: 1.5; }
.jump-tel-note { margin-top: 12px; font-size: 13px; line-height: 1.8; color: #5A6E82; }
.jump-tel-note a { font-weight: 700; }

.jump-sub-ttl { margin-bottom: 22px; font-size: 24px; line-height: 1.45; }
.jump-form { display: grid; gap: 20px; padding: 32px 30px; border: 1px solid #DCE8F4; border-radius: 22px; background: #F6FAFD; }
.jump-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.jump-form__label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 700; line-height: 1.6; }
.jump-form__req { margin-left: 4px; font-size: 12px; color: #C4591A; }
.jump-form .form-input { padding: 13px 15px; border: 1px solid #C9DCEF; border-radius: 12px; background: #fff; font-size: 15px; line-height: 1.6; }
.jump-form .form-input:focus { border-color: #1259A8; box-shadow: 0 0 0 3px rgba(18, 89, 168, 0.12); }
.jump-form textarea.form-input { line-height: 1.8; resize: vertical; }
.jump-form .btn-submit {
  padding: 16px 48px;
  border: none;
  border-radius: 999px;
  background: #FF8A3D;
  color: #fff;
  font-family: inherit;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(255, 138, 61, 0.3);
}
.jump-form .btn-submit:hover { background: #F2762A; }

/* FAQ（accordion--qa を角丸カード型に） */
.jump-faq { display: grid; gap: 10px; }
.jump-faq .accordion--qa,
.jump-faq .accordion--qa:first-child { border: 1px solid #DCE8F4; border-radius: 16px; background: #fff; }
.jump-faq .accordion__head { padding: 18px 20px 18px 64px; font-size: 15px; font-weight: 700; line-height: 1.6; background: #fff; }
.jump-faq .accordion__head:hover { background: #F6FAFD; }
.jump-faq .accordion__head::before {
  top: 50%;
  left: 20px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  background: #1259A8;
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: 14px;
}
.jump-faq .accordion__head::after { width: 24px; margin-left: 12px; font-family: "Roboto", sans-serif; font-size: 20px; text-align: center; color: #1259A8; }
.jump-faq .accordion__body { padding: 0 20px 20px 64px; border-top: none; background: #fff; }
.jump-faq .accordion__body::before {
  left: 20px;
  width: 30px;
  height: 30px;
  background: #FFF1E6;
  color: #C4591A;
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: 14px;
}
.jump-faq .accordion__body p { padding-top: 4px; font-size: 14px; line-height: 1.9; color: #435668; }
@media (max-width: 639px) {
  .jump-faq .accordion__head { padding: 16px 16px 16px 58px; font-size: 14px; }
  .jump-faq .accordion__head::before { left: 16px; top: 50%; width: 28px; height: 28px; }
  .jump-faq .accordion__body { padding: 0 16px 16px 58px; }
  .jump-faq .accordion__body::before { left: 16px; width: 28px; height: 28px; }
}

/* --------------------------------------------------------------------------
   お知らせ詳細
   -------------------------------------------------------------------------- */
.jump-article { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.jump-article__back { display: inline-block; margin-bottom: 24px; font-size: 14px; font-weight: 700; }
.jump-article__date { margin-bottom: 12px; font-family: "Roboto", sans-serif; font-size: 14px; font-weight: 700; color: #5A6E82; }
.jump-article__title { margin-bottom: 28px; font-size: 24px; line-height: 1.6; }
.jump-article__body { font-size: 16px; line-height: 2; color: #435668; }
.jump-article__body p { margin: 0; }
.jump-article__body img { max-width: 100%; height: auto; margin: 16px 0; border-radius: 20px; }
.jump-article__body a { text-decoration: underline; text-underline-offset: 3px; }

/* ページネーション */
.jump-pagination .pagination__link { border-color: #DCE8F4; border-radius: 999px; font-family: "Roboto", sans-serif; font-weight: 700; }

/* --------------------------------------------------------------------------
   フッター（参考サイト #l-footer 寄せ：メインカラー地＋サイトマップ）
   -------------------------------------------------------------------------- */

.jump-footer { position: relative; padding: 0; background: #1259A8; color: #fff; }
.jump-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; width: 92%; max-width: 1200px; margin: 0 auto; padding: 80px 0 0; }
.jump-footer__left { width: 340px; }
.jump-footer__right { width: calc(100% - 420px); }
.jump-footer__logo { font-family: "Roboto", sans-serif; font-size: 30px; font-weight: 900; letter-spacing: 0.04em; line-height: 1.3; color: #fff; }
.jump-footer__logo:hover { color: #fff; }
.jump-footer__name { margin-bottom: 18px; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, 0.85); }
.jump-footer .jump-footer__info { margin-bottom: 0; font-style: normal; font-size: 14px; line-height: 2; color: #fff; }
.jump-footer__tel { display: inline-block; margin-top: 14px; font-family: "Roboto", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.4; color: #fff; }
.jump-footer__tel:hover { color: #FFC49B; }
.jump-footer__line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 22px;
  border-radius: 35px;
  background: #06C755;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.jump-footer__line i { font-size: 18px; }
.jump-footer__line:hover { background: #05B04B; color: #fff; }
/* 電話とLINEは横並び（左カラム340px内に収まるよう文字サイズを調整） */
.jump-footer__contact { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 16px; }
.jump-footer__contact .jump-footer__tel { display: inline-flex; align-items: center; gap: 0; margin-top: 0; padding: 7px 14px; border: 1px solid #fff; border-radius: 35px; font-family: inherit; font-size: clamp(11px, 3.4vw, 12px); font-weight: 600; line-height: 1.5; white-space: nowrap; transition: color 0.3s ease, border-color 0.3s ease; } /* LINEボタンと同じ体裁（枠1px分だけ上下の余白を詰めて高さをそろえる）。アイコンと文字の間はアイコンの右余白だけにする */
.jump-footer__contact .jump-footer__tel:hover { border-color: #FFC49B; }
.jump-footer__contact .jump-footer__line { gap: 0; margin-top: 0; padding: 8px 14px; font-size: clamp(11px, 3.4vw, 12px); white-space: nowrap; }
.jump-footer-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px 10px; }
.jump-footer-nav__group > a { display: block; color: #fff; font-size: 15px; font-weight: 600; }
.jump-footer-nav__group > a:hover { color: #FFC49B; }
.jump-footer-nav__sub { margin-top: 8px; }
.jump-footer-nav__sub li:not(:last-child) { margin-bottom: 3px; }
.jump-footer-nav__sub a { display: flex; align-items: center; color: #fff; font-size: 13px; font-weight: 500; }
.jump-footer-nav__sub a::before { content: ""; flex-shrink: 0; width: 7px; height: 1px; margin-right: 8px; background: currentColor; opacity: 0.7; } /* 文言に「・」を含む項目があるため、頭の目印は短い線にする */
.jump-footer-nav__sub a:hover { color: #FFC49B; }
.jump-footer__bottom { max-width: none; margin: 25px 0 0; padding: 15px; border-top: none; text-align: center; }
.jump-footer__copyright { font-size: 13px; color: #fff; }
@media (max-width: 1100px) {
  .jump-footer__left,
  .jump-footer__right { width: 100%; }
}
@media (max-width: 639px) {
  .jump-footer__inner { padding-top: 50px; }
  /* SPは大項目ごとに線で区切り、ページ内リンクは2列で並べる（右列の開始位置を全グループでそろえるため左列は固定幅） */
  .jump-footer-nav { display: block; border-top: 1px solid rgba(255, 255, 255, 0.35); }
  .jump-footer-nav__group { padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
  .jump-footer-nav__group > a { display: flex; align-items: center; justify-content: space-between; }
  .jump-footer-nav__group > a::after { content: ""; width: 6px; height: 6px; margin-right: 6px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); opacity: 0.8; }
  .jump-footer-nav__sub { display: grid; grid-template-columns: 150px 1fr; gap: 4px 16px; margin-top: 8px; }
  .jump-footer-nav__sub li:not(:last-child) { margin-bottom: 0; }
}
@media (max-width: 359px) {
  .jump-footer-nav__sub { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   固定CTA（参考サイト寄せ：PC=画面下の白いCTAバー / SP=画面下2ボタン）
   -------------------------------------------------------------------------- */

.jump-cta-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  background: #fff;
  box-shadow: 0 -4px 16px rgba(18, 89, 168, 0.1);
}
.jump-cta-bar__inner { display: flex; align-items: center; justify-content: center; gap: 16px; max-width: 1100px; margin: 0 auto; padding: 14px 20px; }
.jump-cta-bar__text { margin-right: 14px; }
.jump-cta-bar__title { font-size: 20px; font-weight: 700; line-height: 1.4; color: #1259A8; }
.jump-cta-bar__lead { font-size: 13px; line-height: 1.6; color: #1C2B3A; }
.jump-cta-bar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 200px;
  padding: 14px 30px;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  box-shadow: 0 6px 14px rgba(18, 89, 168, 0.18);
  transition: background 0.3s ease;
}
.jump-cta-bar__btn i { font-size: 20px; }
.jump-cta-bar__btn--line { background: #06C755; animation: jump-pulse 1.5s ease-in-out infinite; }
.jump-cta-bar__btn--line:hover { background: #05B04B; color: #fff; }
.jump-cta-bar__btn--tel { background: #1259A8; font-family: "Roboto", sans-serif; }
.jump-cta-bar__btn--tel:hover { background: #FF8A3D; color: #fff; }
body { padding-bottom: 80px; }
@keyframes jump-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}

.jump-sp-bar { gap: 8px; padding: 8px 10px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid #DCE8F4; background: rgba(255, 255, 255, 0.97); box-shadow: 0 -6px 18px rgba(15, 63, 117, 0.08); }
.jump-sp-bar .sp-fixed-bar__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 4px;
  border-radius: 12px;
  color: #fff;
}
.jump-sp-bar .sp-fixed-bar__link:hover { color: #fff; }
.jump-sp-bar__line { gap: 0; background: #06C755; font-size: 14px; font-weight: 900; } /* アイコンの右余白（0.35em）だけにして電話側と間隔をそろえる */
.jump-sp-bar__line i { font-size: 20px; }
.jump-sp-bar__tel { gap: 0; background: #1259A8; font-family: "Roboto", sans-serif; font-size: 15px; font-weight: 700; } /* LINEと同じ1行で電話番号を出す（数字はRobotoで和文14pxと見た目をそろえる） */
@media (max-width: 896px) {
  .jump-cta-bar { display: none; }
  body { padding-bottom: 72px; }
}

/* --------------------------------------------------------------------------
   スクロールフェードイン（JSで is-visible 付与）
   -------------------------------------------------------------------------- */
.js-fade .jump-fade { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.js-fade .jump-fade.is-visible { opacity: 1; transform: none; }

/* --------------------------------------------------------------------------
   下層セクションの上下余白（claude-design-output の実数値。共通utilityに無い刻み）
   -------------------------------------------------------------------------- */
.jump-pt-24 { padding-top: 24px; }
.jump-pt-32 { padding-top: 32px; }
.jump-pt-36 { padding-top: 36px; }
.jump-pt-40 { padding-top: 40px; }
.jump-pt-48 { padding-top: 48px; }
.jump-pt-56 { padding-top: 56px; }
.jump-pt-64 { padding-top: 64px; }
.jump-pb-24 { padding-bottom: 24px; }
.jump-pb-32 { padding-bottom: 32px; }
.jump-pb-40 { padding-bottom: 40px; }
.jump-pb-80 { padding-bottom: 80px; }
.jump-pb-88 { padding-bottom: 88px; }
.jump-shop-info { gap: 28px; align-items: start; }

/* --------------------------------------------------------------------------
   767px以下（claude-design-output のSP切替に合わせる）
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .jump-flow-step { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .jump-line-banner { grid-template-columns: auto minmax(0, 1fr); }
  .jump-line-banner__add { grid-column: 1 / -1; text-align: center; }
  .jump-shop-table__row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* --------------------------------------------------------------------------
   フォームCMS（mail-form.css / form-pattern-1）をデザインの見た目に合わせる
   ※CMS側セレクタ（.form-pattern-1 dd:not(.pattern-exclusion) .textarea 等）より詳細度を上げて上書き
   -------------------------------------------------------------------------- */
.jump-cms-form { display: block; }
.jump-cms-form .form-contents.form-pattern-1 { background: transparent; }
.jump-cms-form .form-pattern-1 dl { display: grid; gap: 8px; margin: 0; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) { font-size: 14px; font-weight: 700; line-height: 1.6; color: #1C2B3A; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span::before { display: none; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::after {
  content: "必須";
  margin-left: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #C4591A;
}
.jump-cms-form .form-pattern-1 dl dd:not(.pattern-exclusion) { margin: 0 0 12px; padding: 0; border-bottom: none; }
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea,
.jump-cms-form .form-contents dd:not(.pattern-exclusion) input.textarea {
  width: 100%;
  height: auto;
  padding: 13px 15px;
  border: 1px solid #C9DCEF;
  border-radius: 12px;
  background: #fff;
  color: #1C2B3A;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.6;
}
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) textarea.textarea { line-height: 1.8; resize: vertical; }
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea:focus { outline: none; border-color: #1259A8; box-shadow: 0 0 0 3px rgba(18, 89, 168, 0.12); }
.jump-cms-form .form-contents.form-pattern-1 .submit-btn {
  display: block;
  width: auto;
  margin: 8px auto 0;
  padding: 16px 48px;
  border: none;
  border-radius: 999px;
  background: #FF8A3D;
  color: #fff;
  font-family: inherit;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(255, 138, 61, 0.3);
}
.jump-cms-form .form-contents.form-pattern-1 .submit-btn::before { display: none; }
.jump-cms-form .form-contents.form-pattern-1 .submit-btn:hover { background: #F2762A; }
.jump-cms-form .form-pattern-1 .form-thanks-msg { border: 1px solid #DCE8F4; border-radius: 16px; line-height: 1.9; }
.jump-cms-form .form-pattern-1 .form-thanks-msg .back-home-btn a { border-color: #1259A8; border-radius: 999px; background: #1259A8; }
@media (max-width: 767px) {
  /* iOSの入力時ズーム防止（16px未満だと拡大される） */
  .jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea { font-size: 16px; }
}
.jump-cms-form .form-contents { margin: 0; padding: 0; }
.jump-cms-form .form-contents form { margin: 0; padding: 0; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) { margin: 0; padding: 0; border: none; }
.jump-cms-form .form-pattern-1 dl dd:not(.pattern-exclusion) { margin: 0 0 12px; padding: 0; }

/* ブログCMS：詳細の前後記事リンク（<%page_link%> / c=page_link の出力 .pages） */
.jump-article .pages { display: flex; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid #DCE8F4; }
.jump-article .pages .page_next,
.jump-article .pages .page_prev { max-width: 48%; }
.jump-article .pages .page_prev { margin-left: auto; text-align: right; }
.jump-article .pages a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: #1259A8;
}
.jump-article .pages a:hover { color: #0D4580; }
@media (max-width: 639px) {
  .jump-article__title { font-size: 19px; }
}

/* ブログCMS：一覧のページ送り（<%page_link%> の出力。「< 前の○件」「次の○件 >」のテキストリンク） */
#cmsblog { scroll-margin-top: 110px; }
.jump-pagination .pages { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; }
.jump-pagination .page_prev { order: 1; }
.jump-pagination .page_next { order: 2; margin-left: auto; }
.jump-pagination .pages a {
  display: inline-block;
  padding: 12px 26px;
  border: 2px solid #1259A8;
  border-radius: 999px;
  background: #fff;
  color: #1259A8;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  transition: background 0.3s ease;
}
.jump-pagination .pages a:hover { background: #F3F8FD; color: #1259A8; }

/* --------------------------------------------------------------------------
   斜めカットのセクション区切り（wireframe.md 特殊装飾：3度。5.24vw = tan3°×幅）
   前後の白いセクションの余白に食い込ませて、余白が倍にならないようにする
   -------------------------------------------------------------------------- */
.jump-slant { --slant: 5.24vw; }
.jump-section.jump-slant {
  margin: calc(var(--slant) * -1) 0;
  padding: calc(100px + var(--slant)) 0;
  clip-path: polygon(0 var(--slant), 100% 0, 100% calc(100% - var(--slant)), 0 100%);
}
.jump-section.jump-slant--top {
  margin-bottom: 0;
  padding-bottom: 100px;
  clip-path: polygon(0 var(--slant), 100% 0, 100% 100%, 0 100%);
}
/* 下辺だけ斜め（上が色付きの帯に接するときに使う。上に食い込ませない） */
.jump-section.jump-slant--bottom {
  margin-top: 0;
  padding-top: 100px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);
}
.jump-page-head.jump-slant--bottom {
  padding-bottom: var(--slant);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);
}
@media (max-width: 900px) {
  .jump-section.jump-slant { padding: calc(60px + var(--slant)) 0; }
  .jump-section.jump-slant--top { padding-bottom: 60px; }
  .jump-section.jump-slant--bottom { padding-top: 60px; }
}


/* --------------------------------------------------------------------------
   下層：参考サイト寄せ（表＝.tbl_new／よくある質問＝.accordion／フォーム＝.form／カード＝.mbox.shadow）
   -------------------------------------------------------------------------- */
/* 店舗情報の表：奇数行に淡いグレー、項目名はメインカラー */
.jump-shop-table { border: none; border-radius: 0; }
.jump-shop-table__row { grid-template-columns: 20% minmax(0, 1fr); gap: 0; padding: 0; border-bottom: none; }
.jump-shop-table__row:nth-child(odd) { background: #f1f6f9; }
.jump-shop-table dt { padding: 15px 10px 15px 15px; font-weight: 600; color: #1259A8; }
.jump-shop-table dd { padding: 15px 10px; }
@media (max-width: 767px) {
  .jump-shop-table__row { grid-template-columns: minmax(0, 1fr); }
  .jump-shop-table dt { padding-bottom: 0; }
  .jump-shop-table dd { padding: 4px 15px 15px; }
}

/* よくある質問：質問行をメインカラー地・白文字に */
.jump-faq .accordion--qa,
.jump-faq .accordion--qa:first-child { border: none; border-radius: 5px; background: transparent; overflow: hidden; }
.jump-faq .accordion__head { padding: 1em 56px 1em 1em; border-radius: 5px; background: #1259A8; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.6; }
.jump-faq .accordion__head:hover { background: #0D4580; }
.jump-faq .accordion__head::before { content: none; }
.jump-faq .accordion__head::after { position: absolute; top: 50%; right: 20px; width: auto; margin: 0; transform: translateY(-50%); color: #fff; font-family: "Roboto", sans-serif; font-size: 22px; }
.jump-faq .accordion.is-open .accordion__head { border-radius: 5px 5px 0 0; }
.jump-faq .accordion__body { padding: 25px; background: #fff; border: 1px solid #DCE8F4; border-top: none; border-radius: 0 0 5px 5px; }
.jump-faq .accordion__body::before { content: none; }
.jump-faq .accordion__body p { padding-top: 0; font-size: 15px; color: #1C2B3A; }
@media (max-width: 639px) {
  .jump-faq .accordion__head { padding: 14px 48px 14px 14px; font-size: 15px; }
  .jump-faq .accordion__body { padding: 18px; }
}

/* フォームCMS：項目名を左280px、下線は点線、入力欄はグレー地 */
.jump-cms-form.jump-form { padding: 20px 40px 40px; border: none; border-radius: 10px; background: #fff; box-shadow: rgba(0, 0, 0, 0.1) 0 18px 50px -10px; }
.jump-cms-form .form-pattern-1 dl { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 0; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) { padding: 23px 0 20px; border-bottom: 1px dotted #ccc; font-weight: 600; }
.jump-cms-form .form-pattern-1 dl dd:not(.pattern-exclusion) { margin: 0; padding: 20px 0; border-bottom: 1px dotted #ccc; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::after { content: none; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before {
  content: "必須";
  display: inline-block;
  position: relative;
  top: -2px;
  margin-right: 8px;
  padding: 3px 8px;
  border-radius: 20px;
  background: #1259A8;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea,
.jump-cms-form .form-contents dd:not(.pattern-exclusion) input.textarea { padding: 15px; border: 0; border-radius: 0; background: #f0f0f0; }
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea:focus { box-shadow: 0 0 0 2px rgba(18, 89, 168, 0.35); }
.jump-cms-form .form-contents.form-pattern-1 .submit-btn { width: 250px; margin-top: 30px; padding: 12px 5px; border: 1px solid #1259A8; border-radius: 25px; background: #1259A8; font-size: 16px; font-weight: 600; box-shadow: none; }
.jump-cms-form .form-contents.form-pattern-1 .submit-btn:hover { background: #fff; color: #1259A8; }
@media (max-width: 767px) {
  .jump-cms-form.jump-form { padding: 10px 20px 30px; }
  .jump-cms-form .form-pattern-1 dl { grid-template-columns: minmax(0, 1fr); }
  .jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) { padding: 18px 0 8px; border-bottom: none; }
  .jump-cms-form .form-pattern-1 dl dd:not(.pattern-exclusion) { padding: 0 0 18px; }
}

/* 下層のカード類：参考サイトの角丸10px＋影（.mbox.shadow）に揃える */
.jump-card-line,
.jump-info-card,
.jump-other,
.jump-note,
.jump-note-small,
.jump-point,
.jump-line-items,
.jump-flow-step { border-radius: 10px; }
.jump-card-line,
.jump-info-card,
.jump-other { border: none; background: #fff; box-shadow: rgba(0, 0, 0, 0.1) 0 18px 50px -10px; }
.jump-flow-step { background: #fff; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); }
.jump-line-items { background: #fff; }
.jump-line-banner { border-radius: 10px; }
.jump-shop-main,
.jump-photos img,
.jump-shop-map { border-radius: 10px; }
.jump-contact-box { border-radius: 10px; }

/* 下層ページ：写真＋メインカラーの帯の上ではロゴを白に */
.jump-header--on-photo .jump-logo__mark,
.jump-header--on-photo .jump-logo__txt .header-logo__name,
.jump-header--on-photo .jump-logo__txt .header-logo__sub { color: #fff; }
.jump-header--on-photo .jump-logo__txt { border-left-color: rgba(255, 255, 255, 0.6); }

/* --------------------------------------------------------------------------
   買取の流れ：写真付きステップカード（左に写真／右にSTEP・見出し・本文、カード間に下向き三角）
   -------------------------------------------------------------------------- */
.jump-flow-steps { gap: 36px; }
.jump-flow-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 36px;
  padding: 24px;
  border: 1px solid #DCE8F4;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.jump-flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -26px;
  transform: translateX(-50%);
  border-top: 14px solid #1259A8;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}
.jump-flow-step__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.jump-flow-step__no {
  display: block;
  width: auto;
  height: auto;
  margin-bottom: 10px;
  border-radius: 0;
  background: none;
  color: #1259A8;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
.jump-flow-step__title { margin-bottom: 16px; font-size: 22px; font-weight: 700; line-height: 1.5; color: #0F3F75; }
.jump-flow-step__text { font-size: 15px; line-height: 2; color: #435668; }
@media (max-width: 767px) {
  .jump-flow-step { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px; }
  .jump-flow-step__title { font-size: 19px; margin-bottom: 10px; }
}

/* 見出し内の蛍光ペン（「100%買取」を強調）：文字はメイン青、帯は薄い青 */
.jump-heading .marker { padding: 0 2px; background: linear-gradient(transparent 62%, rgba(18, 89, 168, 0.15) 0%); }

/* 斜めカットのセクションに挟まれた白いセクション：食い込み分（--slant）を足して余白を確保 */
.jump-section--roomy { padding: calc(100px + 5.24vw) 0; }
@media (max-width: 900px) {
  .jump-section--roomy { padding: calc(60px + 5.24vw) 0; }
}
/* 斜めカットのセクションに食い込む部分にはドットを敷かない：前後の境目と同じ角度で切る */
.jump-section--roomy.polka-dot::before { clip-path: polygon(0 5.24vw, 100% 0, 100% calc(100% - 5.24vw), 0 100%); }

/* --------------------------------------------------------------------------
   ナビのプルダウン：ふわっと出す（フェード＋少し下から）、幅を細く、角丸
   -------------------------------------------------------------------------- */
.jump-gnav .header__dropdown {
  display: block;
  padding-top: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
.jump-gnav .header__nav-item:hover .header__dropdown,
.jump-gnav .header__nav-item:focus-within .header__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
/* 上向きの小さな三角 */
.jump-gnav .header__dropdown::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top: none;
  border-bottom-color: #fff;
}
.jump-gnav .header__dropdown-item { border-bottom: 1px solid #EEF3F8; }
.jump-gnav .header__dropdown-item a {
  position: relative;
  width: 200px;
  padding: 11px 16px 11px 30px;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  transition: background 0.2s ease, color 0.2s ease, padding 0.2s ease;
}
.jump-gnav .header__dropdown-item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #1259A8;
  border-right: 2px solid #1259A8;
  transform: translateY(-50%) rotate(45deg);
}
.jump-gnav .header__dropdown-item:first-child a { border-radius: 10px 10px 0 0; }
.jump-gnav .header__dropdown-item:last-child a { border-radius: 0 0 10px 10px; }
.jump-gnav .header__dropdown-item:only-child a { border-radius: 10px; }
.jump-gnav .header__dropdown-item a:hover { padding-left: 34px; background: #F1F6F9; color: #1259A8; }

/* 吹き出しラベル：ぴょんと跳ねる（2秒に1回。動きを減らす設定の端末では止める） */
.jump-pop-label { animation: jump-bounce 2s ease-in-out infinite; }
@keyframes jump-bounce {
  0%, 60%, 100% { transform: translateY(0); }
  20% { transform: translateY(-8px); }
  35% { transform: translateY(0); }
  45% { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .jump-pop-label,
  .jump-cta-line,
  .jump-cta-bar__btn--line,
  .jump-mv__scroll { animation: none; }
}


/* フッターのロゴ：ヘッダーと同じく「JUMP｜屋号・スマホ・ゲーム機買取」の横並び */
.jump-footer__brand { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; color: #fff; }
.jump-footer__brand:hover { color: #fff; opacity: 0.85; }
.jump-footer__brand .jump-footer__logo { font-size: 34px; line-height: 1; }
.jump-footer__brand-txt { gap: 2px; padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, 0.6); line-height: 1.3; }
.jump-footer__brand-txt .header-logo__name { font-size: 13px; font-weight: 700; color: #fff; }
.jump-footer__brand-txt .header-logo__sub { font-size: 12px; font-weight: 400; letter-spacing: 0; color: rgba(255, 255, 255, 0.8); }

/* --------------------------------------------------------------------------
   アクセス＆お問い合わせ（共通パーツ includes/access-cta.php：TOP・買取品目・買取の流れ・お知らせ）
   -------------------------------------------------------------------------- */

.jump-access-cta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 32px; }
.jump-access-box { display: flex; flex-direction: column; gap: 16px; padding: 36px 32px; border-radius: 10px; background: #fff; box-shadow: rgba(0, 0, 0, 0.1) 0 18px 50px -10px; }
.jump-access-box .jump-heading { margin-bottom: 0; }
.jump-access-box__addr { font-size: 15px; line-height: 1.95; color: #1C2B3A; }
.jump-access-box__map { flex: 1; min-height: 220px; border-radius: 10px; background: #E9F2FA; }
.jump-access-box__map iframe { height: 100%; min-height: 220px; border: 0; display: block; }

/* TOP：写真の上に乗るロゴに白いぼかし影（下層は写真＋青帯の上なので白文字のまま） */
.jump-header:not(.jump-header--on-photo) .jump-logo__mark,
.jump-header:not(.jump-header--on-photo) .jump-logo__txt .header-logo__name,
.jump-header:not(.jump-header--on-photo) .jump-logo__txt .header-logo__sub { text-shadow: 0 0 2px #fff, 0 0 4px #fff, 0 0 8px #fff, 0 0 14px #fff, 0 0 24px rgba(255, 255, 255, 0.9); }
/* TOPのロゴ：白影の上で読めるよう、小さい文字は濃い色に */
.jump-header:not(.jump-header--on-photo) .jump-logo__txt .header-logo__sub { color: #1C2B3A; font-weight: 500; }

/* 画面下の固定CTA（PCの帯・SPの2ボタン）は、少しスクロールしたらふわっと出す */
.jump-cta-bar,
.jump-sp-bar { transform: translateY(110%); opacity: 0; visibility: hidden; transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s; }
.is-cta-visible .jump-cta-bar,
.is-cta-visible .jump-sp-bar { transform: none; opacity: 1; visibility: visible; }
/* TOPのロゴ：ぼかしではなく1pxの白フチ */
.jump-header:not(.jump-header--on-photo) .jump-logo__mark,
.jump-header:not(.jump-header--on-photo) .jump-logo__txt .header-logo__name,
.jump-header:not(.jump-header--on-photo) .jump-logo__txt .header-logo__sub {
  text-shadow:
    1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff,
    1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}

/* ヘッダーの電話ボタン：青背景＋白文字 */
.jump-header__tel { background: #1259A8; }
.jump-header__tel:hover { background: #0D4580; opacity: 1; }
.jump-header__tel-num { color: #fff; }
.jump-header__tel-note { color: rgba(255, 255, 255, 0.85); }

/* ヘッダーの電話ボタン：番号をLINEボタンと同じ14pxに（受付時間は下に小さく）、高さもLINEボタンにそろえる */
.jump-header__tel { justify-content: center; min-height: 58px; padding: 8px 24px; }
.jump-header__tel-num { font-size: 14px; line-height: 1.4; }
.jump-header__tel-num::before { content: "\f095"; margin-right: 6px; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.jump-header__tel-note { font-size: 10px; }

/* --------------------------------------------------------------------------
   お問い合わせフォーム：claude-design-output の .form の見た目（CMS出力 form-pattern-1 に適用）
   淡い青地＋枠線・角丸22px／項目名は上、入力欄は白・角丸12px／送信はオレンジのpill
   -------------------------------------------------------------------------- */
.jump-cms-form.jump-form { padding: clamp(22px, 3vw, 32px) clamp(18px, 3vw, 30px); border: 1px solid #DCE8F4; border-radius: clamp(16px, 2vw, 22px); background: #F6FAFD; box-shadow: none; }
.jump-cms-form .form-pattern-1 dl { display: block; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) { padding: 0 0 8px; border-bottom: none; font-size: 14px; font-weight: 700; line-height: 1.6; color: #1C2B3A; }
.jump-cms-form .form-pattern-1 dl dd:not(.pattern-exclusion) { margin: 0 0 20px; padding: 0; border-bottom: none; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before { content: none; }
.jump-cms-form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::after { content: "必須"; margin-left: 4px; font-size: 12px; font-weight: 700; color: #C4591A; }
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea,
.jump-cms-form .form-contents dd:not(.pattern-exclusion) input.textarea {
  padding: 13px 15px;
  border: 1px solid #C9DCEF;
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  line-height: 1.6;
}
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) textarea.textarea { line-height: 1.8; }
.jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea:focus { outline: none; border-color: #1259A8; box-shadow: 0 0 0 3px rgba(18, 89, 168, 0.12); }
.jump-cms-form .form-contents.form-pattern-1 .submit-btn {
  width: auto;
  margin: 10px auto 0;
  padding: 16px 48px;
  border: none;
  border-radius: 999px;
  background: #FF8A3D;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(255, 138, 61, 0.3);
  transition: background 0.3s ease;
}
.jump-cms-form .form-contents.form-pattern-1 .submit-btn:hover { background: #F2762A; color: #fff; }
/* タッチ端末では入力欄16px以上（タップ時の拡大防止） */
@media (hover: none), (max-width: 896px) {
  .jump-cms-form .form-pattern-1 dd:not(.pattern-exclusion) .textarea,
  .jump-cms-form .form-contents dd:not(.pattern-exclusion) input.textarea { font-size: 16px; }
}

/* ヘッダー右：電話・LINE・メールを丸いアイコンボタンに（ナビの帯と同じ高さ） */
.jump-header__icons { gap: 10px; }
.jump-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  transition: background 0.3s ease, transform 0.3s ease;
}
.jump-icon-btn:hover { color: #fff; opacity: 1; transform: translateY(-2px); }
.jump-icon-btn--tel { background: #1259A8; }
.jump-icon-btn--tel:hover { background: #0D4580; }
.jump-icon-btn--line { background: #06C755; font-size: 28px; }
.jump-icon-btn--line:hover { background: #05B04B; }
/* 青い背景（下層のタイトル帯）でも埋もれないよう白いふち */
.jump-icon-btn { box-shadow: 0 0 0 3px #fff; }
@media (max-width: 1320px) {
  .jump-header__icons { display: flex; }
}
/* ヘッダーのアイコンボタン：F:\svg-icon のアイコン（SVG直書き）／白いふちは付けない */
.jump-icon-btn { box-shadow: none; }
.jump-icon-btn__svg { display: block; width: 30px; height: 30px; }
.jump-icon-btn--line .jump-icon-btn__svg { width: 34px; height: 34px; }

/* スクロールしたらヘッダーのアイコンボタンは隠す（画面下の固定CTAに電話・LINEが出るため） */
.jump-header__icons { transition: opacity 0.3s ease, visibility 0.3s, transform 0.3s ease; }
.is-cta-visible .jump-header__icons { opacity: 0; visibility: hidden; transform: translateY(-6px); pointer-events: none; }

/* 電話・LINEアイコン（jumpIcon）：文字色を引き継ぐ。文字の前に並べる */
.jump-inline-icon { display: inline-block; flex-shrink: 0; width: 1.25em; height: 1.25em; margin-right: 0.35em; vertical-align: -0.25em; }
.jump-contact-box__tel-num,
.jump-footer__tel,
.jump-spnav-tel { display: inline-flex; align-items: center; justify-content: center; }
.jump-spnav-tel::before { content: none; }
.jump-contact-box__line .jump-inline-icon,
.jump-line-items__go .jump-inline-icon,
.jump-cta-bar__btn .jump-inline-icon { width: 1.5em; height: 1.5em; margin-right: 0.2em; }
.jump-line-banner__icon .jump-inline-icon { width: 44px; height: 44px; margin: 0; }

/* スクロールでヘッダーのボタンが消えたら、ナビの帯がその分だけ右へ寄る */
.jump-header__icons { max-width: 200px; overflow: hidden; transition: opacity 0.3s ease, visibility 0.3s, max-width 0.4s ease, margin 0.4s ease; }
.is-cta-visible .jump-header__icons { max-width: 0; margin-left: -12px; transform: none; }

/* スマホだけで効かせる改行（社内標準 .spbr） */
.spbr { display: none; }
@media (max-width: 639px) {
  .spbr { display: inline; }
}
/* PCだけで効かせる改行（.spbr の逆） */
@media (max-width: 639px) {
  .pcbr { display: none; }
}

/* スマホでも見出しがPCと同じ改行になるよう、画面幅に合わせて縮める */
@media (max-width: 639px) {
  .jump-card-line .jump-heading .heading__ja { font-size: clamp(17px, 5vw, 22px); }
  .jump-heading--sm .heading__ja { font-size: clamp(18px, 5.2vw, 22px); }
}
/* 360px以下：ロゴがメニューボタンにかからないよう縮める */
@media (max-width: 360px) {
  .jump-logo { gap: 8px; }
  .jump-logo__mark { font-size: 27px; }
  .jump-logo__txt { padding-left: 8px; }
  .jump-logo__txt .header-logo__name { font-size: 11px; }
  .jump-logo__txt .header-logo__sub { font-size: 10px; }
}
/* ロゴの JUMP 横の縦線（ヘッダー・フッター共通） */
.jump-logo__txt,
.jump-header--on-photo .jump-logo__txt,
.jump-footer__brand-txt { border-left: 1px solid #cccccc; }

/* --------------------------------------------------------------------------
   スマホのハンバーガーメニュー：メインカラーのベタ地で画面いっぱい
   上にロゴ／項目は日本語＋英字を左寄せ・右に矢印／下に電話・LINEを横並び
   -------------------------------------------------------------------------- */
.jump-spnav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100vh;
  height: 100dvh;
  padding: 0 24px calc(24px + env(safe-area-inset-bottom));
  background: #1259A8;
  transition: opacity 0.4s ease, visibility 0.4s;
}
.jump-spnav__head { display: flex; align-items: center; min-height: 72px; padding-right: 56px; }
.jump-spnav__logo { display: flex; align-items: center; gap: 10px; color: #fff; }
.jump-spnav__logo:hover { color: #fff; opacity: 1; }
.jump-spnav__mark { font-family: "Roboto", sans-serif; font-size: 30px; font-weight: 900; line-height: 1; color: #fff; }
.jump-spnav__logo-txt { gap: 2px; padding-left: 10px; border-left: 1px solid #cccccc; line-height: 1.3; }
.jump-spnav__logo-txt .header-logo__name { font-size: 12px; font-weight: 700; color: #fff; }
.jump-spnav__logo-txt .header-logo__sub { font-size: 11px; letter-spacing: 0; color: rgba(255, 255, 255, 0.8); }

.jump-spnav__list { max-width: none; margin: 16px 0 0; text-align: left; }
.jump-spnav .sp-nav__item { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.jump-spnav .sp-nav__item:first-child { border-top: 1px solid rgba(255, 255, 255, 0.2); }
.jump-spnav__link { display: flex; align-items: baseline; gap: 12px; padding: 16px 36px 16px 4px; position: relative; }
.jump-spnav__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  opacity: 0.8;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s ease;
}
.jump-spnav__link:hover { background: transparent; }
.jump-spnav__link:hover::after { right: 2px; }
.jump-spnav__ja { font-size: 17px; font-weight: 700; line-height: 1.4; color: #fff; }
.jump-spnav__en { font-family: "Roboto", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.15em; color: rgba(255, 255, 255, 0.55); }

.jump-spnav__bottom { max-width: none; margin-top: auto; padding-top: 24px; text-align: center; }
.jump-spnav__lead { margin-bottom: 12px; font-size: 13px; font-weight: 700; color: #fff; }
.jump-spnav__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.jump-spnav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 54px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  transition: background 0.3s ease;
}
.jump-spnav__btn .jump-inline-icon { width: 20px; height: 20px; margin: 0; }
.jump-spnav__btn--tel { background: #fff; color: #1259A8; }
.jump-spnav__btn--tel:hover { background: #F3F8FD; color: #1259A8; }
.jump-spnav__btn--line { background: #06C755; color: #fff; }
.jump-spnav__btn--line:hover { background: #05B04B; color: #fff; }
.jump-spnav__info { margin-top: 14px; font-size: 11px; line-height: 1.8; color: rgba(255, 255, 255, 0.8); }

/* メニューを開いたらハンバーガーは白（×）にし、後ろのページはスクロールさせない */
.nav-toggle.is-active { background: rgba(255, 255, 255, 0.15); }
.nav-toggle.is-active .nav-toggle__line { background: #fff; }
body.is-menu-open { overflow: hidden; }

/* スマホ：お知らせは日付とタイトルを2段に（日付の帯が上、タイトルが下） */
@media (max-width: 639px) {
  .jump-news .blog-list__link { flex-direction: column; align-items: flex-start; gap: 8px; }
  .jump-news .blog-list__title { width: 100%; }
}

/* ==========================================================================
   スマホ（639px以下）：文字を一回り小さく・余白を詰める（制作ルール§1）
   本文は14px（小さい補足は12〜13px）を下限、セクション・カード内の余白はPCの約5〜6割
   ========================================================================== */
@media (max-width: 639px) {
  body { font-size: 14px; }

  /* セクション・下層の上下余白 */
  .jump-section { padding: 48px 0; }
  .jump-section.jump-slant { padding: calc(48px + var(--slant)) 0; }
  .jump-section.jump-slant--top { padding-bottom: 48px; }
  .jump-section.jump-slant--bottom { padding-top: 48px; }
  .jump-section--roomy { padding: calc(48px + 5.24vw) 0; }
  .jump-section--half { padding: 32px 0; }
  .jump-pt-64 { padding-top: 36px; }
  .jump-pt-56 { padding-top: 32px; }
  .jump-pt-48 { padding-top: 28px; }
  .jump-pt-40 { padding-top: 24px; }
  .jump-pt-36 { padding-top: 22px; }
  .jump-pt-32 { padding-top: 20px; }
  .jump-pt-24 { padding-top: 16px; }
  .jump-pb-88 { padding-bottom: 52px; }
  .jump-pb-80 { padding-bottom: 48px; }
  .jump-pb-40 { padding-bottom: 24px; }
  .jump-pb-32 { padding-bottom: 20px; }
  .jump-pb-24 { padding-bottom: 16px; }
  .jump-wrap-md,
  .jump-wrap-sm { padding: 0 16px; }

  /* 見出し */
  .jump-heading { margin-bottom: 24px; }
  .jump-heading .heading__en { margin-bottom: 10px; font-size: 12px; }
  .jump-heading--sm { margin-bottom: 18px; }
  .jump-sub-ttl { margin-bottom: 14px; font-size: 19px; }

  /* 本文 */
  .jump-text,
  .jump-appeal__desc,
  .jump-promise__text,
  .jump-access-box__addr,
  .jump-contact-box__lead,
  .jump-flow-step__text,
  .jump-step__text { font-size: 14px; line-height: 1.85; }
  .jump-text { margin-bottom: 20px; }
  .jump-genre__text,
  .jump-other__text,
  .jump-note__text,
  .jump-note__list li { font-size: 13px; }

  /* カード類の内側余白 */
  .jump-card-line,
  .jump-line-items,
  .jump-access-box,
  .jump-contact-box { padding: 22px 18px; }
  .jump-promise { padding: 24px 18px; }
  .jump-point { margin-top: 16px; padding: 20px 18px; }
  .jump-other,
  .jump-info-card,
  .jump-note,
  .jump-note-small { padding: 20px 18px; }
  .jump-genre__body { padding: 16px; }
  .jump-flow-steps { gap: 28px; }
  .jump-line-banner { gap: 12px; padding: 20px 18px; }

  /* カード内の見出し */
  .jump-genre__title,
  .jump-other__title { font-size: 16px; margin-bottom: 8px; }
  .jump-step__title,
  .jump-flow-step__title,
  .jump-point__title { font-size: 17px; }
  .jump-flow-step__no { font-size: 13px; margin-bottom: 6px; }
  .jump-note-small__title { font-size: 14px; }
  .jump-line-banner__main { font-size: 19px; }
  .jump-line-banner__icon { width: 52px; height: 52px; }

  /* ボタン */
  .jump-btn-outline { padding: 9px 24px; font-size: 14px; }
  .jump-pill-line,
  .jump-pill-tel { padding: 11px 22px; font-size: 15px; }
  .jump-btn-row { margin-top: 22px; }
  .jump-pop-label { padding: 4px 16px; font-size: 14px; }
  .jump-contact-box { gap: 12px; }
  .jump-contact-box__line { padding: 14px 16px; font-size: 16px; }
  .jump-contact-box__tel { padding: 12px 16px; }
  .jump-contact-box__tel-num { font-size: 19px; }
  .jump-line-items__go { margin-top: 16px; padding: 14px 12px; font-size: 16px; }

  /* 3ステップ（TOP） */
  .jump-steps { gap: 44px; margin: 20px auto; }
  .jump-step__circle { width: 100px; height: 100px; margin-bottom: 14px; }
  .jump-step__circle b { font-size: 26px; }

  /* フッター */
  .jump-footer__inner { gap: 28px; padding-top: 40px; }
  .jump-footer__brand .jump-footer__logo { font-size: 28px; }
  .jump-footer .jump-footer__info { font-size: 13px; }
  .jump-footer__tel { font-size: 20px; }
  .jump-footer-nav__group > a { font-size: 14px; }
  .jump-footer-nav__sub a { font-size: 12px; }
}

/* お知らせの日付：背景なし・青文字 */
.jump-news .blog-list__date { width: auto; padding: 0; background: none; color: #1259A8; font-family: "Roboto", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-align: left; }
@media (min-width: 640px) {
  .jump-news .blog-list__date { min-width: 96px; }
}
@media (max-width: 639px) {
  .jump-news .blog-list__link { gap: 4px; }
  .jump-news .blog-list__date { font-size: 13px; }
}

/* スクロールしてもロゴがついてくる（固定）。スクロール後は白い角丸の下地を敷いて、どの背景の上でも読めるように */
.jump-logo { position: fixed; z-index: 110; padding: 8px 14px; margin: -8px 0 0 -14px; border-radius: 50px; transition: background 0.4s ease, box-shadow 0.4s ease, top 0.4s ease, left 0.4s ease; }
.jump-header.is-fixed .jump-logo { top: 20px; left: 20px; margin: 0; background: #fff; box-shadow: 2px 0 6px rgba(28, 27, 26, 0.1); }
/* スクロール後は下層ページでも青ロゴに戻す（白い下地の上なので） */
.jump-header.is-fixed .jump-logo__mark { color: #1259A8; text-shadow: none; }
.jump-header.is-fixed .jump-logo__txt .header-logo__name { color: #1C2B3A; text-shadow: none; }
.jump-header.is-fixed .jump-logo__txt .header-logo__sub { color: #5A6E82; text-shadow: none; }
@media (max-width: 1100px) {
  .jump-header.is-fixed .jump-logo { top: 10px; left: 10px; padding: 6px 12px; }
}
@media (max-width: 639px) {
  .jump-header.is-fixed .jump-logo__mark { font-size: 24px; }
  .jump-header.is-fixed .jump-logo__txt .header-logo__name { font-size: 11px; }
  .jump-header.is-fixed .jump-logo__txt .header-logo__sub { font-size: 10px; }
}

/* ==========================================================================
   ページ末尾のお問い合わせ・アクセス（includes/access-cta.php）
   上：お問い合わせの帯（メインカラー地・LINEを主役）／下：地図＋店舗情報
   ========================================================================== */
.jump-cta .jump-heading { text-align: center; }
.jump-cta__contact {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(28px, 4vw, 52px) clamp(20px, 4vw, 56px);
  border-radius: clamp(14px, 1.6vw, 20px);
  background: #1259A8;
  color: #fff;
}
/* 右上・左下に薄い円の飾り */
.jump-cta__contact::before,
.jump-cta__contact::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.07); pointer-events: none; }
.jump-cta__contact::before { top: -120px; right: -80px; width: 320px; height: 320px; }
.jump-cta__contact::after { bottom: -140px; left: -60px; width: 260px; height: 260px; }
.jump-cta__contact > * { position: relative; z-index: 1; }
.jump-cta__catch { margin-bottom: 14px; font-size: clamp(21px, 2.3vw, 30px); font-weight: 900; line-height: 1.45; color: #fff; }
.jump-cta__lead { font-size: clamp(14px, 1.2vw, 15px); line-height: 1.9; color: rgba(255, 255, 255, 0.88); }
.jump-cta__contact-btns { display: grid; gap: 12px; }
.jump-cta__line,
.jump-cta__tel { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; border-radius: 14px; transition: background 0.3s ease, transform 0.3s ease; }
.jump-cta__line:hover,
.jump-cta__tel:hover { transform: translateY(-2px); opacity: 1; }
.jump-cta__line { min-height: 84px; padding: 14px 20px; background: #06C755; color: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18); animation: jump-pulse 1.5s ease-in-out infinite; }
.jump-cta__line:hover { background: #05B04B; color: #fff; }
.jump-cta__line .jump-inline-icon { width: 38px; height: 38px; margin: 0; }
.jump-cta__line-txt { display: flex; flex-direction: column; font-size: clamp(19px, 2vw, 24px); font-weight: 900; line-height: 1.3; }
.jump-cta__line-txt small { font-size: 12px; font-weight: 700; opacity: 0.95; }
.jump-cta__line-badge { position: absolute; top: -10px; right: 14px; padding: 2px 10px; border-radius: 999px; background: #FF8A3D; color: #fff; font-size: 11px; font-weight: 900; line-height: 1.6; }
.jump-cta__tel { min-height: 68px; padding: 12px 20px; background: #fff; color: #1259A8; }
.jump-cta__tel:hover { background: #F3F8FD; color: #1259A8; }
.jump-cta__tel .jump-inline-icon { width: 28px; height: 28px; margin: 0; }
.jump-cta__tel-txt { display: flex; flex-direction: column; font-family: "Roboto", sans-serif; font-size: clamp(20px, 2vw, 24px); font-weight: 700; line-height: 1.25; }
.jump-cta__tel-txt small { font-family: "Noto Sans JP", sans-serif; font-size: 11px; font-weight: 700; }
.jump-cta__mail { justify-self: end; font-size: 13px; font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.jump-cta__mail:hover { color: #FFC49B; }

.jump-cta__access {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0;
  margin-top: clamp(20px, 2.4vw, 28px);
  overflow: hidden;
  border-radius: clamp(14px, 1.6vw, 20px);
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.08) 0 18px 50px -10px;
}
.jump-cta__map { min-height: 300px; border-radius: 0; background: #E9F2FA; }
.jump-cta__map iframe { display: block; width: 100%; height: 100%; min-height: 300px; border: 0; }
.jump-cta__info { padding: clamp(24px, 3vw, 40px) clamp(20px, 3vw, 40px); }
.jump-cta__info-ttl { margin-bottom: 14px; font-size: clamp(17px, 1.6vw, 20px); font-weight: 900; color: #0F3F75; }
.jump-cta__dl { margin: 0; }
.jump-cta__dl > div { display: grid; grid-template-columns: 5.5em minmax(0, 1fr); gap: 8px; padding: 12px 0; border-bottom: 1px dashed #DCE8F4; }
.jump-cta__dl > div:first-child { border-top: 1px dashed #DCE8F4; }
.jump-cta__dl dt { font-size: 13px; font-weight: 700; line-height: 1.7; color: #1259A8; }
.jump-cta__dl dd { margin: 0; font-size: 14px; line-height: 1.7; }
.jump-cta__more { margin-top: 18px; text-align: right; }

@media (max-width: 900px) {
  .jump-cta__contact,
  .jump-cta__access { grid-template-columns: minmax(0, 1fr); }
  .jump-cta__contact-text { text-align: center; }
  .jump-cta__mail { justify-self: center; }
  .jump-cta__map,
  .jump-cta__map iframe { min-height: 240px; }
}
@media (max-width: 639px) {
  .jump-cta__line { min-height: 72px; gap: 10px; }
  .jump-cta__line .jump-inline-icon { width: 32px; height: 32px; }
  .jump-cta__tel { min-height: 60px; }
  .jump-cta__tel .jump-inline-icon { width: 24px; height: 24px; }
  .jump-cta__tel-txt small { font-size: 10px; }
  .jump-cta__lead br { display: none; }
  .jump-cta__map,
  .jump-cta__map iframe { min-height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .jump-cta__line { animation: none; }
}
/* お知らせ：いちばん上にも区切り線 */
.jump-news { border-top: 1px solid #ddd; }
/* CTAの説明文：1行目が「ます。」だけ落ちないよう、文字の列を少し広げる */
.jump-cta__contact { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }

/* CTAの帯：店内写真の上にメインカラーを重ねる（文字・ボタンが読める濃さ） */
.jump-cta__contact {
  background:
    linear-gradient(rgba(18, 89, 168, 0.86), rgba(13, 69, 128, 0.9)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/shop-interior.jpg) center 55% / cover no-repeat;
}
.jump-cta__catch,
.jump-cta__lead { text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25); }
@media (max-width: 900px) {
  .jump-cta__contact { grid-template-columns: minmax(0, 1fr); }
}

/* CTAエリア全体の背景を店内写真に（白を重ねて見出しを読ませる）。帯は元のメインカラーのベタに戻す */
.jump-section--pale.jump-cta {
  background:
    linear-gradient(rgba(246, 250, 253, 0.84), rgba(246, 250, 253, 0.84)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/shop-interior.jpg) center 55% / cover no-repeat;
}
.jump-cta__contact { background: #1259A8; box-shadow: 0 18px 40px -12px rgba(18, 89, 168, 0.45); }
.jump-cta__catch,
.jump-cta__lead { text-shadow: none; }

/* CTA：青い箱をなくし、中身を写真の背景に直接置く。写真にはメインカラーを重ねて白文字で読ませる */
.jump-section--pale.jump-cta {
  background:
    linear-gradient(rgba(18, 89, 168, 0.86), rgba(13, 69, 128, 0.9)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/shop-interior.jpg) center 55% / cover no-repeat;
}
.jump-cta__contact { padding: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.jump-cta__contact::before,
.jump-cta__contact::after { content: none; }
.jump-cta .jump-heading .heading__en { border-bottom-color: #fff; color: #fff; }
.jump-cta .jump-heading .heading__ja { color: #fff; }
.jump-cta .jump-heading .heading__en,
.jump-cta .jump-heading .heading__ja,
.jump-cta__catch,
.jump-cta__lead { text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25); }
.jump-cta__contact { max-width: 1060px; margin: 0 auto; }
/* スマホでもCTA説明文の改行を効かせる */
@media (max-width: 639px) {
  .jump-cta__lead br { display: inline; }
  .jump-cta__lead br.spbr { display: inline; }
}
/* CTAの見出しは説明文の上・左寄せ */
.jump-cta .jump-cta__heading { margin-bottom: 20px; text-align: left; }
@media (max-width: 900px) {
  .jump-cta .jump-cta__heading { text-align: center; }
}
.jump-cta__mail { display: inline-flex; align-items: center; gap: 6px; }
.jump-cta__mail .jump-inline-icon { width: 18px; height: 18px; margin: 0; }
/* CTAのキャッチ：PCは少し小さく、スマホは1行に収まる大きさ（16字） */
.jump-cta__catch { font-size: clamp(18px, 2vw, 26px); }
@media (max-width: 639px) {
  .jump-cta__catch { font-size: clamp(15px, 5.2vw, 20px); white-space: nowrap; }
}
/* フォームへのリンク：アイコンの下まで続く下線（text-decoration ではなく border で引く） */
.jump-cta__mail { padding-bottom: 3px; border-bottom: 1px solid currentColor; text-decoration: none; }
/* 電話ボタンとフォームへのリンクの間を広げる */
.jump-cta__mail { margin-top: 10px; }
/* CTAの電話番号を「LINEで10秒査定」と同じくらいの大きさに */
.jump-cta__tel-txt { font-size: clamp(22px, 2.4vw, 30px); }
.jump-cta__tel .jump-inline-icon { width: 32px; height: 32px; }
@media (max-width: 639px) {
  .jump-cta__tel-txt { font-size: clamp(20px, 6vw, 24px); }
  .jump-cta__tel .jump-inline-icon { width: 26px; height: 26px; }
}
/* CTAのLINE・電話アイコン：右の2行の文字と同じ高さに */
.jump-cta__line .jump-inline-icon { width: 46px; height: 46px; }
.jump-cta__tel .jump-inline-icon { width: 46px; height: 46px; }
@media (max-width: 639px) {
  .jump-cta__line .jump-inline-icon,
  .jump-cta__tel .jump-inline-icon { width: 40px; height: 40px; }
}

/* ページ内リンクで飛んだとき、固定ヘッダー（ロゴ・ナビ）に見出しが隠れないように */
[id] { scroll-margin-top: 120px; }
@media (max-width: 1100px) {
  [id] { scroll-margin-top: 80px; }
}

/* スクロール後のロゴ：ロゴを少し小さくして、白い下地の内側に余白を足す（ナビの帯と同じ高さ） */
.jump-header.is-fixed .jump-logo { padding: 14px 28px; gap: 10px; }
.jump-header.is-fixed .jump-logo__mark { font-size: 28px; }
.jump-header.is-fixed .jump-logo__txt { padding-left: 10px; }
.jump-header.is-fixed .jump-logo__txt .header-logo__name { font-size: 12px; }
.jump-header.is-fixed .jump-logo__txt .header-logo__sub { font-size: 11px; }
@media (max-width: 1100px) {
  .jump-header.is-fixed .jump-logo { padding: 10px 20px; }
  .jump-header.is-fixed .jump-logo__mark { font-size: 24px; }
}
@media (max-width: 639px) {
  .jump-header.is-fixed .jump-logo { padding: 8px 16px; gap: 8px; }
  .jump-header.is-fixed .jump-logo__mark { font-size: 21px; }
  .jump-header.is-fixed .jump-logo__txt { padding-left: 8px; }
  .jump-header.is-fixed .jump-logo__txt .header-logo__name { font-size: 10px; }
  .jump-header.is-fixed .jump-logo__txt .header-logo__sub { font-size: 9px; }
}

/* CTAは上のセクションに食い込ませない（斜めの分だけ上のコンテンツとの間が詰まっていたため） */
.jump-section.jump-cta { margin-top: 0; }

/* 査定のポイント：対応機種・状態の白枠の中に入れる */
.jump-point--inner { margin-top: 24px; }
@media (max-width: 639px) {
  .jump-point--inner { margin-top: 16px; padding: 18px 16px; }
}
.jump-point .jump-text { margin-bottom: 0; }

/* 「査定のポイント」ラベル：＼ 査定のポイント ／（両脇に斜めの線） */
.jump-point__tag { display: inline-flex; align-items: center; gap: 10px; width: fit-content; font-size: 14px; }
.jump-point__tag::before,
.jump-point__tag::after { content: ""; display: block; width: 2px; height: 16px; border-radius: 2px; background: #C4591A; }
.jump-point__tag::before { transform: rotate(-30deg); }
.jump-point__tag::after { transform: rotate(30deg); }

/* ==========================================================================
   買取の流れ（flow.php）
   ========================================================================== */
/* 1. リード文 */
.jump-flow-lead { font-size: clamp(18px, 2.2vw, 26px); font-weight: 900; line-height: 1.7; text-align: center; color: #0F3F75; }

/* 2. 3ステップ：PC横3列＋間に「›」、スマホ縦並び */
.jump-steps3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.jump-steps3__item { position: relative; overflow: visible; border-radius: 10px; background: #fff; box-shadow: rgba(0, 0, 0, 0.1) 0 18px 50px -10px; }
.jump-steps3__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #1259A8;
  border-right: 3px solid #1259A8;
  transform: translateY(-50%) rotate(45deg);
}
.jump-steps3__no { margin: 0; padding: 8px; border-radius: 10px 10px 0 0; background: #1259A8; color: #fff; font-family: "Roboto", sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0.15em; text-align: center; }
.jump-steps3__img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.jump-steps3__img--ph { background: repeating-linear-gradient(135deg, #D6E6F5 0 8px, #EAF2FA 8px 16px); }
.jump-steps3__body { padding: 20px 20px 24px; }
.jump-steps3__title { margin-bottom: 10px; font-size: 18px; font-weight: 700; line-height: 1.5; text-align: center; color: #0F3F75; }
.jump-steps3__text { font-size: 14px; line-height: 1.85; color: #435668; }
.jump-steps3__note { margin-top: 28px; font-size: 16px; font-weight: 700; text-align: center; color: #C4591A; }

/* 3. LINE査定で送る項目 */
.jump-line-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.jump-line-grid__item { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; border: 1px solid #DCE8F4; border-radius: 10px; background: #fff; }
.jump-line-grid__no { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: #06C755; color: #fff; font-family: "Roboto", sans-serif; font-size: 14px; font-weight: 700; }
.jump-line-grid__txt { display: flex; flex-direction: column; gap: 2px; padding-top: 2px; font-size: 15px; font-weight: 700; line-height: 1.6; color: #1C2B3A; }
.jump-line-grid__txt small { font-size: 12px; font-weight: 400; line-height: 1.6; color: #5A6E82; }
.jump-line-grid__btn { margin-top: 28px; }

/* 4. ご来店前の確認事項：左に見出しセル（淡い青＋青文字） */
.jump-visit-table { margin: 0; overflow: hidden; border: 1px solid #DCE8F4; border-radius: 10px; }
.jump-visit-table__row { display: grid; grid-template-columns: 220px minmax(0, 1fr); border-bottom: 1px solid #DCE8F4; }
.jump-visit-table__row:last-child { border-bottom: none; }
.jump-visit-table dt { display: flex; align-items: center; padding: 18px 20px; background: #E9F2FA; font-size: 15px; font-weight: 700; line-height: 1.6; color: #1259A8; }
.jump-visit-table dd { margin: 0; padding: 18px 22px; font-size: 15px; line-height: 1.8; color: #1C2B3A; }

@media (max-width: 900px) {
  .jump-steps3 { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 520px; margin: 0 auto; }
  .jump-steps3__item:not(:last-child)::after { content: none; }
  .jump-line-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .jump-steps3__no { font-size: 13px; padding: 6px; }
  .jump-steps3__body { padding: 16px 16px 20px; }
  .jump-steps3__title { font-size: 16px; }
  .jump-steps3__text { font-size: 13px; }
  .jump-steps3__note { margin-top: 20px; font-size: 14px; }
  .jump-line-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .jump-line-grid__item { padding: 12px 14px; }
  .jump-line-grid__txt { font-size: 14px; }
  .jump-line-grid__btn { margin-top: 20px; }
  .jump-visit-table__row { grid-template-columns: minmax(0, 1fr); }
  .jump-visit-table dt { padding: 10px 16px; font-size: 14px; }
  .jump-visit-table dd { padding: 12px 16px 16px; font-size: 14px; }
}
/* 画面には出さず、読み上げ用に見出しを残す */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 639px) {
  .jump-flow-lead { font-size: clamp(14px, 4.4vw, 18px); }
}

/* ==========================================================================
   店舗紹介：写真で見るアクセス（01→02→03 の順路）
   ========================================================================== */
.jump-photo-route__lead { margin: -8px 0 24px; font-size: 14px; line-height: 1.8; color: #435668; }
.jump-photo-route { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.jump-photo-route__item { position: relative; }
/* PC：写真の間に「›」 */
.jump-photo-route__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc((100% - 3em) / 2);
  right: -25px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #1259A8;
  border-right: 3px solid #1259A8;
  transform: translateY(-50%) rotate(45deg);
}
.jump-photo-route__img { overflow: hidden; aspect-ratio: 4 / 3; margin-bottom: 12px; border-radius: 10px; background: #E9F2FA; }
.jump-photo-route__pic { display: block; width: 100%; height: 100%; object-fit: cover; }
.jump-photo-route__pic--sign { object-position: 50% 20%; }
/* 入口：ガラス扉のまわりを拡大（01と同じ構図にしない） */
.jump-photo-route__pic--door { transform: scale(2.1); transform-origin: 59% 48%; }
.jump-photo-route__text { font-size: 14px; line-height: 1.8; color: #435668; }
.jump-photo-route__text strong { font-family: "Roboto", sans-serif; font-weight: 700; color: #1259A8; }
@media (max-width: 900px) {
  .jump-photo-route { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .jump-photo-route__item::after { content: none !important; }
}
@media (max-width: 639px) {
  .jump-photo-route { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .jump-photo-route__lead { margin: -4px 0 18px; font-size: 13px; }
  .jump-photo-route__text { font-size: 13px; }
}
/* 説明文は文節で折り返し、1〜2文字だけ落ちないように */
.jump-photo-route__text { word-break: auto-phrase; text-wrap: pretty; }
/* 写真で見るアクセス：キャプションは中央寄せ */
.jump-photo-route__text { text-align: center; }

/* CTAの背景はページタイトルと別の写真（スマホを持つ手元）にする */
.jump-section--pale.jump-cta {
  background:
    linear-gradient(rgba(18, 89, 168, 0.86), rgba(13, 69, 128, 0.9)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/genre-smartphone.jpg) center 45% / cover no-repeat;
}

/* CTAの背景：スマホ・タブレット・ノートPCの写真（cta-bg.jpg・1920×800） */
.jump-section--pale.jump-cta {
  background:
    linear-gradient(rgba(18, 89, 168, 0.86), rgba(13, 69, 128, 0.9)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28632/cta-bg.jpg) center 50% / cover no-repeat;
}

/* 買取品目：文章＋写真の2列（スマホは写真が上） */
.jump-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 38%); align-items: center; gap: clamp(20px, 3vw, 40px); }
.jump-media__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.jump-media__body .jump-text { margin-bottom: 0; }
.jump-note-small__img { width: 100%; aspect-ratio: 16 / 9; margin-bottom: 14px; object-fit: cover; border-radius: 8px; }
@media (max-width: 767px) {
  .jump-media { grid-template-columns: minmax(0, 1fr); }
  .jump-media__img { order: -1; }
}

/* ==========================================================================
   よくある質問（contact.php）：白地のシンプルなリスト（details / summary）
   左からQ（32px）／質問文／＋−（24px）。回答も同じ列にそろえる
   ========================================================================== */
.jump-qa { border-top: 1px solid #D5E2EF; }
.jump-qa__item { border-bottom: 1px solid #D5E2EF; }
.jump-qa__q {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 24px;
  align-items: start;
  gap: 12px;
  padding: 20px 12px;
  cursor: pointer;
  list-style: none;
  transition: background 0.3s ease;
}
.jump-qa__q::-webkit-details-marker { display: none; }
.jump-qa__q::marker { content: ""; }
.jump-qa__q:hover { background: #F6FAFD; }
.jump-qa__mark { font-family: "Roboto", sans-serif; font-size: 22px; font-weight: 700; line-height: 1.2; color: #1259A8; }
.jump-qa__mark--a { color: #FF8A3D; }
.jump-qa__q-text { padding-top: 2px; font-size: 16px; font-weight: 700; line-height: 1.6; color: #1C2B3A; }
/* ＋／−：1行目の高さにそろえる */
.jump-qa__toggle { position: relative; width: 24px; height: 26px; }
.jump-qa__toggle::before,
.jump-qa__toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; background: #1259A8; transform: translate(-50%, -50%); transition: transform 0.3s ease; }
.jump-qa__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.jump-qa__item[open] .jump-qa__toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
.jump-qa__a { display: grid; grid-template-columns: 32px minmax(0, 1fr) 24px; gap: 12px; padding: 0 12px 22px; }
.jump-qa__a-text { grid-column: 2; padding-top: 2px; font-size: 15px; font-weight: 400; line-height: 1.9; color: #435668; }
.jump-qa__item[open] .jump-qa__a { animation: jump-qa-open 0.3s ease; }
@keyframes jump-qa-open { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 639px) {
  .jump-qa__q { gap: 10px; padding: 16px 4px; }
  .jump-qa__a { gap: 10px; padding: 0 4px 18px; }
  .jump-qa__q-text { font-size: 15px; }
  .jump-qa__a-text { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .jump-qa__item[open] .jump-qa__a { animation: none; }
}
/* 質問・回答は文節で折り返し、「か？」など1〜2文字だけ落ちないように */
.jump-qa__q-text,
.jump-qa__a-text { word-break: auto-phrase; text-wrap: pretty; }
/* 文章＋写真の2列は上寄せ */
.jump-media { align-items: start; }

/* 対応機種・状態：状態／残債を、左に青いラベル・右に内容の行ボックスに */
.jump-cond { display: grid; gap: 10px; margin: 16px 0 0; }
.jump-cond__row { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: stretch; overflow: hidden; border: 1px solid #DCE8F4; border-radius: 10px; background: #fff; }
.jump-cond__label { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 8px; background: #1259A8; color: #fff; font-size: 14px; font-weight: 700; }
.jump-cond__label i { font-size: 14px; }
.jump-cond__text { display: flex; align-items: center; margin: 0; padding: 12px 16px; font-size: 14px; line-height: 1.7; color: #1C2B3A; }
@media (max-width: 639px) {
  .jump-cond__row { grid-template-columns: 76px minmax(0, 1fr); }
  .jump-cond__label { font-size: 13px; }
  .jump-cond__text { padding: 10px 12px; font-size: 13px; }
}
/* 「＼ 査定のポイント ／」も吹き出しラベルと同じくぴょんと跳ねる */
.jump-point__tag { animation: jump-bounce 2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .jump-point__tag { animation: none; }
}
.jump-cond__text { word-break: auto-phrase; text-wrap: pretty; }
/* 「＼ 査定のポイント ／」はサイト共通のアクセントのオレンジに */
.jump-point__tag { color: #FF8A3D; }
.jump-point__tag::before,
.jump-point__tag::after { background: #FF8A3D; }

/* お取り扱いできないもの：対象品のアイコンに ✕ 印 */
.jump-ng-icons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 4px 0 18px; }
.jump-ng-icons li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 4px 10px; border-radius: 10px; background: #F6FAFD; color: #5A6E82; font-size: 12px; font-weight: 700; text-align: center; pointer-events: none; user-select: none; }
.jump-ng-icons i { font-size: 30px; color: #9FB3C8; }
.jump-ng-icons li::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #FF8A3D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2L2 8' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 10px no-repeat;
}
@media (max-width: 639px) {
  .jump-ng-icons { gap: 6px; }
  .jump-ng-icons i { font-size: 24px; }
  .jump-ng-icons li { font-size: 11px; }
}

/* ==========================================================================
   本文サイズの底上げ（PC 15〜16px／スマホ 14px）
   ※バッジ・ボタン内の補足・画面下の固定バー・パンくず・例文など、あえて小さい箇所は対象外
   ========================================================================== */
.jump-text,
.jump-genre__text,
.jump-steps3__text,
.jump-step__text,
.jump-other__text,
.jump-note__list li,
.jump-note__text,
.jump-note-small__text,
.jump-cond__text,
.jump-photo-route__lead,
.jump-photo-route__text,
.jump-tel-note { font-size: 15px; line-height: 1.85; }
.jump-note-small__title { font-size: 16px; }
.jump-line-banner__note { font-size: 14px; }
@media (max-width: 639px) {
  .jump-text,
  .jump-genre__text,
  .jump-steps3__text,
  .jump-step__text,
  .jump-other__text,
  .jump-note__list li,
  .jump-note__text,
  .jump-note-small__text,
  .jump-cond__text,
  .jump-photo-route__lead,
  .jump-photo-route__text,
  .jump-tel-note { font-size: 14px; }
  .jump-note-small__title { font-size: 15px; }
  .jump-line-banner__note { font-size: 12px; }
}

/* お取り扱いできないもの／店頭サポート：同じ形のカード（上に絵・左にアイコン付きの見出し） */
.jump-info-box { padding: 26px; border: 1px solid #DCE8F4; border-radius: 10px; background: #fff; }
.jump-info-box__img { display: block; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 18px; object-fit: cover; border-radius: 8px; }
.jump-info-box .jump-ng-icons { aspect-ratio: 16 / 9; align-content: center; margin: 0 0 18px; padding: 0 10px; border-radius: 8px; background: #F6FAFD; }
.jump-info-box .jump-ng-icons li { background: #fff; }
.jump-info-box__title { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 17px; font-weight: 700; line-height: 1.5; color: #0F3F75; }
.jump-info-box__icon { flex-shrink: 0; font-size: 20px; color: #1259A8; }
.jump-info-box__icon--ng { color: #FF8A3D; }
/* 本文の色はサイト共通の本文（#435668）にそろえる */
.jump-info-box .jump-note__list li,
.jump-info-box .jump-note__text,
.jump-info-box .jump-note-small__text { color: #435668; }
@media (max-width: 639px) {
  .jump-info-box { padding: 18px; }
  .jump-info-box__title { font-size: 16px; }
}
/* お取り扱いできないもの：写真2枚を並べる（全体の比率は隣のサポート写真と同じ16:9） */
.jump-info-box__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; aspect-ratio: 16 / 9; margin-bottom: 18px; }
.jump-info-box__pair img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }

/* ==========================================================================
   LINE査定で送っていただく項目：左にトーク画面の送信イメージ／右に6項目（アイコン＋番号）
   ========================================================================== */
.jump-line-guide { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); align-items: start; gap: clamp(20px, 3vw, 36px); }
.jump-line-chat { overflow: hidden; border: 1px solid #DCE8F4; border-radius: 16px; background: #fff; box-shadow: rgba(0, 0, 0, 0.08) 0 18px 40px -12px; }
.jump-line-chat__head { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 16px; background: #06C755; color: #fff; font-size: 14px; font-weight: 700; }
.jump-line-chat__head .jump-inline-icon { width: 22px; height: 22px; margin: 0; }
.jump-line-chat__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 16px; background: #8CABD8; background: linear-gradient(#A6BEE0, #92AED8); }
.jump-line-chat__bubble,
.jump-line-chat__reply { position: relative; max-width: 88%; margin: 0; padding: 10px 14px; border-radius: 16px; font-size: 13px; line-height: 1.7; }
.jump-line-chat__bubble { align-self: flex-end; background: #06C755; color: #fff; border-top-right-radius: 4px; }
.jump-line-chat__reply { align-self: flex-start; background: #fff; color: #1C2B3A; border-top-left-radius: 4px; }
.jump-line-chat__photos { display: flex; justify-content: flex-end; gap: 6px; margin: 0; }
.jump-line-chat__photos span { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 8px; background: rgba(255, 255, 255, 0.85); color: #5A6E82; font-size: 18px; }
.jump-line-chat__note { margin: 0; padding: 12px 16px; font-size: 12px; line-height: 1.7; color: #435668; }

.jump-line-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jump-line-grid__item { align-items: center; gap: 14px; padding: 14px 16px; }
.jump-line-grid__icon { position: relative; display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; background: #E6F9EE; color: #05A04A; font-size: 20px; }
.jump-line-grid__icon .jump-line-grid__no { position: absolute; top: -4px; left: -4px; width: 22px; height: 22px; font-size: 12px; border: 2px solid #fff; }
.jump-line-grid__txt { padding-top: 0; }
@media (max-width: 900px) {
  .jump-line-guide { grid-template-columns: minmax(0, 1fr); }
  .jump-line-chat { max-width: 420px; width: 100%; margin: 0 auto; }
}
@media (max-width: 639px) {
  .jump-line-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .jump-line-grid__icon { width: 42px; height: 42px; font-size: 18px; }
}
/* よくある質問：開閉のふわっとした動き（JSで高さを変化させる） */
.jump-qa__a { overflow: hidden; transition: height 0.45s ease, opacity 0.45s ease; }
.jump-qa__item[open] .jump-qa__a { animation: none; }
/* 文章＋写真2枚（お取り扱いできないもの） */
.jump-media__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; aspect-ratio: 4 / 3; }
.jump-media__pair img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
@media (max-width: 767px) {
  .jump-media__pair { order: -1; }
}
.jump-card-line .jump-note__list { margin-bottom: 8px; }

/* お取り扱いできないもの：その他の買取品目と同じカード。アイコンはグレー＋右上に✕ */
.jump-other__icon--ng { position: relative; background: #EEF2F6; color: #8A9BAD; font-size: 22px; }
.jump-other__icon--ng::after {
  content: "";
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #FF8A3D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.5 2.5l5 5M7.5 2.5l-5 5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 9px no-repeat;
}
.jump-ng-note { margin-top: 16px; font-size: 15px; font-weight: 700; color: #1259A8; }

/* 店頭サポート：淡い青の帯に、左に写真・右に案内（ほかのセクションと少し違う見せ方） */
.jump-support { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); align-items: center; gap: clamp(20px, 3vw, 40px); padding: clamp(18px, 2.4vw, 28px); border-radius: 16px; background: #E9F2FA; }
.jump-support__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.jump-support__label { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; padding: 4px 14px; border-radius: 999px; background: #fff; color: #1259A8; font-size: 13px; font-weight: 700; }
.jump-support__title { margin-bottom: 12px; font-size: clamp(19px, 2vw, 24px); font-weight: 900; line-height: 1.5; color: #0F3F75; }
.jump-support__text { font-size: 15px; line-height: 1.9; color: #435668; }
@media (max-width: 767px) {
  .jump-support { grid-template-columns: minmax(0, 1fr); }
  .jump-support__body { text-align: center; }
}
@media (max-width: 639px) {
  .jump-support__text { font-size: 14px; }
  .jump-ng-note { font-size: 14px; }
}
.jump-support__text,
.jump-other__text { word-break: auto-phrase; text-wrap: pretty; }

/* その他の買取品目・お取り扱いできないもの：アイコンの横に見出し、その下に説明（左寄せ） */
.jump-other { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; align-items: center; text-align: left; }
.jump-other__icon { grid-row: 1; margin: 0; }
.jump-other__title { grid-row: 1; margin: 0; }
.jump-other__text { grid-column: 1 / -1; margin-top: 14px; }
@media (max-width: 639px) {
  .jump-other { grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; }
  .jump-other__icon { width: 44px; height: 44px; }
  .jump-other__text { margin-top: 10px; }
}
/* 説明が短いカードでも、アイコン・見出しの位置を上にそろえる */
.jump-other { align-content: start; }

/* お取り扱いできないもの：✕バッジをやめ、禁止マーク（丸＋斜め線）をアイコンに重ねる */
.jump-other__icon--ng::after {
  top: 50%;
  left: 50%;
  right: auto;
  width: 36px;
  height: 36px;
  border: 3px solid #FF8A3D;
  border-radius: 50%;
  background: linear-gradient(to top right, transparent calc(50% - 1.5px), #FF8A3D calc(50% - 1.5px), #FF8A3D calc(50% + 1.5px), transparent calc(50% + 1.5px));
  transform: translate(-50%, -50%);
}
@media (max-width: 639px) {
  .jump-other__icon--ng::after { width: 32px; height: 32px; }
}
/* お取り扱いできないもの：丸は付けず、アイコンに斜め線だけを重ねる */
.jump-other__icon--ng::after {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 0;
  background: linear-gradient(to top right, transparent calc(50% - 1.5px), #5E7288 calc(50% - 1.5px), #5E7288 calc(50% + 1.5px), transparent calc(50% + 1.5px));
}
@media (max-width: 639px) {
  .jump-other__icon--ng::after { width: 34px; height: 34px; }
}
/* カード内の小見出し（査定について → 事前確認から本査定まで透明に） */
.jump-media__title { margin-bottom: 14px; font-size: clamp(18px, 1.8vw, 22px); font-weight: 900; line-height: 1.5; color: #0F3F75; }
/* 小見出しの頭にオレンジの縦ラインを1本（シンプルなポイント） */
.jump-media__title { position: relative; padding-left: 14px; }
.jump-media__title::before { content: ""; position: absolute; top: 0.3em; bottom: 0.3em; left: 0; width: 4px; border-radius: 2px; background: #FF8A3D; }
/* LINE送信イメージ：写真の補足はトーク画面の外（下）に出す */
.jump-line-chat-wrap { min-width: 0; }
.jump-line-chat__note { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; padding: 0 4px; font-size: 13px; line-height: 1.7; color: #435668; }
.jump-line-chat__note i { flex-shrink: 0; margin-top: 0.3em; color: #06C755; }
@media (max-width: 900px) {
  .jump-line-chat-wrap { max-width: 420px; width: 100%; margin: 0 auto; }
}
/* ナビのドロップダウン：幅を中の一番長い項目に合わせて詰める（折り返さない） */
.jump-gnav .header__dropdown { width: max-content; min-width: 150px; }
.jump-gnav .header__dropdown-item a { width: auto; padding: 11px 16px 11px 26px; white-space: nowrap; }
.jump-gnav .header__dropdown-item a::before { left: 13px; }
/* hover で右に寄る分は右の余白で吸収して、幅が変わらないようにする */
.jump-gnav .header__dropdown-item a:hover { padding-left: 30px; padding-right: 12px; }
/* LINE査定の6項目：PCではLINE画面と縦幅をそろえる（行を等分に伸ばし、アイコン・文字を一回り大きく） */
@media (min-width: 901px) {
  .jump-line-guide { align-items: stretch; }
  .jump-line-grid { grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .jump-line-grid__item { gap: 18px; padding: 18px 22px; }
  .jump-line-grid__icon { width: 60px; height: 60px; font-size: 26px; }
  .jump-line-grid__icon .jump-line-grid__no { width: 24px; height: 24px; font-size: 13px; }
  .jump-line-grid__txt { font-size: 16px; }
  .jump-line-grid__txt small { font-size: 13px; }
}
.jump-nowrap { white-space: nowrap; }
/* 買取の3ステップ：数字だけSTEPより一回り大きく */
.jump-steps3__no b { margin-left: 2px; font-size: 1.4em; font-weight: 800; line-height: 1; letter-spacing: 0.05em; }
/* 買取の3ステップ：青帯の上下に余裕を持たせる */
.jump-steps3__no { padding: 13px 8px; }
@media (max-width: 639px) {
  .jump-steps3__no { padding: 10px 6px; }
}
/* よくある質問：下余白を内側に移し、開閉の高さが0まで一続きで動くようにする（外側に余白があると閉じる最後にカクッと詰まる） */
.jump-qa__a { padding-bottom: 0; transition: height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease; }
.jump-qa__a-text { padding-bottom: 22px; }
@media (max-width: 639px) {
  .jump-qa__a { padding-bottom: 0; }
  .jump-qa__a-text { padding-bottom: 18px; }
}
/* お問い合わせ方法：LINE査定の流れ（3ステップ）→ LINEボタン → 電話・フォーム */
.jump-method { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 3vw, 32px); margin: 8px 0 0; padding: 0; list-style: none; }
.jump-method::before { content: ""; position: absolute; top: 38px; left: 16.6%; right: 16.6%; border-top: 2px dashed #9FD9B6; }
.jump-method__item { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.jump-method__icon { display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border: 2px solid #06C755; border-radius: 50%; background: #fff; color: #06C755; font-size: 28px; }
.jump-method__no { position: absolute; top: -4px; left: calc(50% - 44px); z-index: 1; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 2px solid #fff; border-radius: 50%; background: #06C755; color: #fff; font-family: "Roboto", sans-serif; font-size: 13px; font-weight: 700; }
.jump-method__txt { margin-top: 12px; font-size: 15px; font-weight: 700; line-height: 1.6; color: #1C2B3A; }
.jump-method__main { margin-top: 32px; text-align: center; }
.jump-method__line { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: min(100%, 460px); padding: 18px 28px; border-radius: 50px; background: #06C755; color: #fff; font-size: clamp(18px, 2vw, 21px); font-weight: 800; box-shadow: rgba(6, 199, 85, 0.3) 0 12px 24px -10px; transition: background 0.3s ease, transform 0.3s ease; }
.jump-method__line:hover { background: #05B04B; color: #fff; transform: translateY(-2px); }
.jump-method__line .jump-inline-icon { width: 30px; height: 30px; margin: 0; }
.jump-method__line small { padding: 3px 12px; border-radius: 20px; background: #fff; color: #06A04A; font-size: 12px; font-weight: 700; }
.jump-method__sub-lead { margin-top: 32px; font-size: 14px; font-weight: 700; text-align: center; color: #435668; }
.jump-method__sub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.jump-method__tel,
.jump-method__form { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 18px; border: 1px solid #D5E2EF; border-radius: 12px; background: #fff; color: #0F3F75; transition: background 0.3s ease, border-color 0.3s ease; }
.jump-method__tel:hover,
.jump-method__form:hover { border-color: #1259A8; background: #F6FAFD; color: #0F3F75; }
.jump-method__tel .jump-inline-icon,
.jump-method__form .jump-inline-icon { flex-shrink: 0; width: 26px; height: 26px; margin: 0; color: #1259A8; }
.jump-method__tel > span,
.jump-method__form > span { display: flex; flex-direction: column; font-size: 17px; font-weight: 800; line-height: 1.4; }
.jump-method__tel > span { font-family: "Roboto", sans-serif; font-size: 22px; letter-spacing: 0.02em; }
.jump-method__tel small,
.jump-method__form small { margin-top: 2px; font-family: "Noto Sans JP", sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0; color: #5A6E82; }
@media (max-width: 639px) {
  .jump-method::before { top: 30px; }
  .jump-method__icon { width: 60px; height: 60px; font-size: 22px; }
  .jump-method__no { left: calc(50% - 38px); width: 24px; height: 24px; font-size: 12px; }
  .jump-method__txt { font-size: 13px; }
  .jump-method__line { padding: 16px 20px; }
  .jump-method__sub { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
.jump-method { max-width: 760px; margin-right: auto; margin-left: auto; }
/* 記事詳細：前後記事リンクを「次の記事／前の記事」ラベル＋タイトル1行のボタンに（JSで組み替え） */
.jump-article .pages .page_next,
.jump-article .pages .page_prev { flex: 0 1 48%; max-width: 48%; }
.jump-article .pages a.jump-pager { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border: 1px solid #D5E2EF; border-radius: 12px; background: #fff; color: #1259A8; -webkit-line-clamp: unset; transition: background 0.3s ease, border-color 0.3s ease; }
.jump-article .pages a.jump-pager:hover { border-color: #1259A8; background: #F6FAFD; }
.jump-pager__label { font-size: 14px; font-weight: 700; line-height: 1.5; }
.jump-pager__label--next::before { content: "‹"; margin-right: 6px; }
.jump-pager__label--prev::after { content: "›"; margin-left: 6px; }
.jump-pager__title { overflow: hidden; font-size: 12px; font-weight: 400; line-height: 1.6; color: #5A6E82; white-space: nowrap; text-overflow: ellipsis; }
@media (max-width: 639px) {
  .jump-article .pages a.jump-pager { padding: 12px 14px; }
}
/* お問い合わせ方法：3ステップは他のコンテンツと同じ幅で、文言は改行なし（スマホは文節で折り返す） */
.jump-method { max-width: none; }
.jump-method__txt { word-break: auto-phrase; }
@media (max-width: 639px) {
  .jump-method__txt { font-size: 12px; }
}
/* LINE・電話のpillボタン2つ並び（買取品目・お問い合わせ）：スマホでも折り返さず横並び */
@media (max-width: 639px) {
  .jump-btn-row { flex-wrap: nowrap; gap: 8px; }
  .jump-btn-row .jump-pill-line,
  .jump-btn-row .jump-pill-tel { flex: 1 1 0; min-width: 0; gap: 6px; padding: 11px 8px; font-size: clamp(12px, 3.6vw, 14px); white-space: nowrap; }
  .jump-btn-row .jump-inline-icon { flex-shrink: 0; }
}
.jump-method__lead { margin-bottom: 28px; font-size: 15px; line-height: 1.85; text-align: center; color: #435668; }
@media (max-width: 639px) {
  .jump-method__lead { margin-bottom: 20px; font-size: 14px; }
}
/* 丸数字バッジ：継承した行間で数字が下にずれるのを防ぐ */
.jump-method__no,
.jump-line-grid__no { line-height: 1; }

/* ============================================================
 * LINE公式アカウント準備中（config.php の $lineUrl が # の間だけ効く）
 * ボタンはそのまま残し、暗い膜＋「準備中」を重ねて押せないようにする。
 * $lineUrl に本番のURLを入れれば、この指定は自動で外れる。
 * ============================================================ */
:is(.jump-pill-line, .jump-contact-box__line, .jump-cta__line, .jump-footer__line, .jump-icon-btn--line, .jump-spnav__btn--line, .jump-cta-bar__btn--line, .jump-sp-bar__line, .jump-cta-line)[href="#"] {
  position: relative;
  pointer-events: none;
  cursor: default;
  animation: none;
}
:is(.jump-pill-line, .jump-contact-box__line, .jump-cta__line, .jump-footer__line, .jump-icon-btn--line, .jump-spnav__btn--line, .jump-cta-bar__btn--line, .jump-sp-bar__line, .jump-cta-line)[href="#"]::after {
  content: "準備中";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background: rgba(34, 34, 34, 0.78);
  color: #fff;
  font-size: clamp(12px, 3.6vw, 15px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  white-space: nowrap;
}
.jump-icon-btn--line[href="#"]::after { font-size: 12px; letter-spacing: 0; }
/* ボタン上の「最短10秒査定」の札は、準備中のあいだ出さない */
.jump-cta-line[href="#"] .jump-cta-line__badge,
.jump-cta__line[href="#"] .jump-cta__line-badge { display: none; }
