@charset "UTF-8";
/*
Template: swell
Theme Name: SWELL CHILD
Theme URI: https://swell-theme.com/
Description: SWELLの子テーマ
Version: 4.7
Author: LOOS WEB STUDIO
Author URI: https://loos-web-studio.com/

License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");

/* ============================================================
   RINC まちの自転車屋 LP  子テーマCSS  v7.29（2026-10-30・道順5の写真の切り抜きを上端に寄せて看板を入れた）。v7.28（2026-10-30・料金表の注釈の行間を詰めた）。v7.27（2026-10-30・料金表の注釈を表の右下に揃えた・道順の写真の高さを揃えた）。v7.26（2026-10-26・スマホのMV写真の切り抜きを上端に）。v7.25（2026-10-26・店舗写真をPCも横スクロールに）。v7.24（2026-10-26・道順の見出しの行の高さを1→1.4、2行目を番号ぶん字下げ）。v7.23（2026-09-17・タイヤの枠の見出しを、スマホ・タブレットだけ改行。PCは1行のまま）。v7.22＝見出しの直上の余白を1.5倍にした＝PC 84→126／SP 33→49.5。v7.21＝写真の左端を本文にそろえた＝見出しの罫線と同じ幅に収まる。v7.20＝見出しの罫線を本文と同じ位置から始め、太さをLPの他の線と同じ7［SPは3.5］にした。v7.19＝見出しにSWELLのh3の既定と同じ罫線を戻し、2色を青→オレンジにした。v7.18＝タイヤの枠の見出しと本文を、店長プロフィールの本文と行の始まりでそろえた＝字下げ27。v7.17＝スタッフ紹介の下に新設したタイヤの枠にクラスを当てた。カンプは無く、値はすべて同じセクションのスタッフ紹介の実測から取っている）。v7.16（2026-09-14・固定pxと比例pxが同居していた3か所を比例に直した。v7.15＝表の白い行罫が右端まで届いていなかったのを直した。v7.14＝店舗情報表の最下段に出ていた白い線を消した。v7.13＝表の罫線の色をカンプ通りに直し、修理例の見出しを小さく。v7.12＝ブレイクポイントをSWELLの3段に合わせた。v7.11＝FAQのQとAの丸の左端をそろえた。v7.10＝FAQのQとAを丸の中央へ。v7.9＝PCの吹き出しの三角とFAQのAの高さ。v7.8＝スマホの吹き出しの三角と料金の余白。v7.7＝スマホの余白調整。v7.5＝SPカンプ実装／v7.6＝SPバナー縦長）
   ★全値は cyclefeat_RINC_カンプ実測表.tsv（1920px基準）から。推定値は置かない
   書体＝カンプはヒラギノ角ゴ（本文W4・見出しW8）。無い環境は Noto Sans JP
   ★ブレイクポイント＝**SWELLの既定に合わせた3段**（2026-09-14に 1200／1199 の2段から変更）
     **〜599＝スマホ／600〜959＝タブレット／960〜＝PC**。SWELL本体も 599|600（本文 4vw→16px固定）と 959|960（ヘッダーがPC版へ切替）で切っている
     PCは --s で1920pxカンプを丸ごと比例縮小。★960〜1199もPC設計になる（ヘッダーがPC版なのに中身がスマホ、というちぐはぐの解消）
   ============================================================ */
/* 1920pxのカンプをそのまま縮小する倍率。1920px以上で1px、未満は画面幅に比例 */
:root { --s: 1px; }
@media (min-width: 960px) { :root { --s: min(1px, calc(100vw / 1920)); } }

:root {
  --rinc-orange-num: #ED8E1C;
  --rinc-blue: #1863A3;
  --rinc-navy: #1E568A;
  --rinc-navy-dk: #1B497A;
  --rinc-orange: #EB6225;
  --rinc-green: #55AA66;
  --rinc-green-dk: #3F9451;
  --rinc-pale: #F4F7F9;
  --rinc-text: #333333;
  --rinc-line: #1863A3;   /* ★表の罫線。2026-09-14にカンプを画素で読み直して #6E7A86 から修正＝td側の行罫も右端も外枠も **#1863A3（RINCの青）**（実測表の「行罫1px #333系」は読み違い） */
  --rinc-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  --img-machi-navy: url("https://rinc.cyclefeat.com/wp-content/uploads/2026/10/machi_kanban_navy.png");
  --icon-clock-o: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1,.cls-2%7Bfill:none;%7D.cls-2%7Bstroke:%23EB6225;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px;%7D%3C/style%3E%3C/defs%3E%3Cg id=%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22 data-name=%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC 2%22%3E%3Cg id=%22Rectangle%22%3E%3Crect class=%22cls-1%22 width=%2248%22 height=%2248%22/%3E%3C/g%3E%3Cg id=%22icon_data%22%3E%3Cpath class=%22cls-2%22 d=%22M24,6a18,18,0,1,1-8.73,2.25%22/%3E%3Cpolyline class=%22cls-2%22 points=%2224 16 24 24 30.98 30%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --icon-pin-o: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Crect width=%2248%22 height=%2248%22 fill=%22none%22/%3E%3Cpath d=%22M35,20c0,8-11,19-11,19S13,28,13,20a11,11,0,0,1,22,0Z%22 fill=%22none%22 stroke=%22%23EB6225%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-width=%221.6%22/%3E%3Ccircle cx=%2224%22 cy=%2220%22 r=%223%22 fill=%22%23EB6225%22/%3E%3Cpath d=%22M33.87,37.06C37.6,38,40,39.4,40,41c0,2.76-7.16,5-16,5S8,43.76,8,41c0-1.6,2.4-3,6.13-3.94%22 fill=%22none%22 stroke=%22%23EB6225%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-width=%221.6%22/%3E%3C/svg%3E");
  --icon-wrench-o: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1,.cls-2%7Bfill:none;%7D.cls-2%7Bstroke:%23EB6225;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px;%7D%3C/style%3E%3C/defs%3E%3Cg id=%22ia%22 data-name=%22i_a%22%3E%3Cg id=%22Rectangle%22%3E%3Crect id=%22rect%22 class=%22cls-1%22 width=%2248%22 height=%2248%22/%3E%3C/g%3E%3Cg id=%22icon_data%22%3E%3Cpath class=%22cls-2%22 d=%22M35.56,18.45,29.9,12.79l6.58-6.58a12,12,0,0,0-16.4,15%22/%3E%3Cpath class=%22cls-2%22 d=%22M27.15,28.27a12,12,0,0,0,15-16.4l-6.58,6.58%22/%3E%3Cpolyline class=%22cls-2%22 points=%2220.08 21.2 5.16 36.12 12.23 43.19 22.9 32.52%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --icon-ebike-o: url("https://rinc.cyclefeat.com/wp-content/uploads/2026/09/icon_ebike.png");
  --icon-sp-w: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E %3Cdefs%3E %3Cstyle%3E .a %7B fill: none; stroke: %23fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4px; %7D %3C/style%3E %3C/defs%3E %3Cline class=%22a%22 x1=%2214%22 y1=%2236%22 x2=%2224%22 y2=%2236%22/%3E %3Cline class=%22a%22 x1=%2214%22 y1=%2212%22 x2=%2236%22 y2=%2212%22/%3E %3Cline class=%22a%22 x1=%2224%22 y1=%228%22 x2=%2226%22 y2=%228%22/%3E %3Cpath class=%22a%22 d=%22M25.7136,44H17a3,3,0,0,1-3-3V7a3,3,0,0,1,3-3H33a3,3,0,0,1,3,3V26%22/%3E %3Ccircle class=%22a%22 cx=%2236%22 cy=%2238%22 r=%228%22/%3E %3Cpolyline class=%22a%22 points=%2233 38 35 40 39 36%22/%3E %3C/svg%3E");
  --icon-tel-w: url("https://rinc.cyclefeat.com/wp-content/uploads/2026/09/icon_phone_white.png");
}

/* ---------- 土台 ---------- */
body { font-family: var(--rinc-font); color: var(--rinc-text); font-weight: 400; }
.post_content > * + * { margin-top: 0; }
.swell-block-fullWide { margin-top: 0 !important; margin-bottom: 0 !important; }
.swell-block-fullWide__inner { max-width: calc(1854 * var(--s)); padding-left: 0; padding-right: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(100 * var(--s)); }
.home .l-topTitleArea, .home .p-articleHead, .home .c-pageTitle, .home .p-breadcrumb { display: none; }
.home .l-mainContent__inner, .home .l-content { padding-top: 0 !important; }
.home .l-content { margin-bottom: 0; }
.home .l-mainContent { padding-bottom: 0; width: 100%; max-width: none; }
.home .l-sidebar { display: none; }
.post_content img { opacity: 1 !important; }
.post_content .p-blogParts { margin: 0 !important; }

/* ---------- ヘッダー（実測：高さ178・下線1px・ロゴ174×87 左67・ナビ24px・ボタン218×67） ---------- */
.l-header { box-shadow: none; border-bottom: 1px solid rgb(136,170,200); }
.l-header__bar { display: none !important; }
/* ヘッダーはカンプ（高さ178px・ロゴ87px）より低くする（二宮さんの指示。cyclefeat.com＝80px、Cycle Rescue 札幌＝1段あたり約90pxに合わせる）。
   ★参考2サイトと同じく、ここだけ画面幅に比例させず固定pxにする */
.l-header__inner { max-width: calc(1854 * var(--s)); margin: 0 auto; height: 88px; min-height: 0; box-sizing: border-box; padding: 16px 15px 16px 0; /* 固定は意図 */ }
/* ロゴを上下中央に。SWELLは img が inline のまま h1 に入っていて、行の下に余白ができて下にずれる */
.l-header__inner .l-header__logo { margin-left: calc(34 * var(--s)); padding: 0 !important; display: flex; align-items: center; }
.l-header__logo .c-headLogo, .l-header__logo .c-headLogo__link { display: flex; align-items: center; margin: 0; padding: 0; line-height: 0; height: 56px !important; min-height: 0 !important; }
.l-header__logo img { height: 56px; max-height: none; width: auto; display: block; }
.l-header__gnav .c-gnav > li > a { font-weight: 400; font-size: 15px; letter-spacing: 0; padding: 0 16px; color: var(--rinc-text); }
.c-gnav > li.c-navBtn { margin-left: 20px; display: flex; align-items: center; }
.c-gnav > li.c-navBtn:first-of-type { margin-left: 32px; }
.c-gnav > li.c-navBtn > a {
  display: inline-flex; align-items: center; justify-content: center; gap: calc(10 * var(--s));
  color: #fff !important; font-weight: 400; font-size: 15px; letter-spacing: 0;
  width: 164px; height: 44px; padding: 0; border-radius: 4px; line-height: 1; /* 固定は意図 */
}
.l-header .c-gnav .ttl { font-size: inherit !important; line-height: 1; display: inline; }
.c-gnav > li.c-navBtn > a { flex-direction: row !important; gap: calc(10 * var(--s)); }
.c-gnav > li.c-navBtn > a::before { content: ""; width: 18px; height: 18px; background: center / contain no-repeat; }
.c-gnav > li.c-navBtn > a::after { display: none !important; }
.c-gnav > li.c-navBtn--tel > a { background: var(--rinc-orange); }
.c-gnav > li.c-navBtn--tel > a::before { background-image: var(--icon-tel-w); }
.c-gnav > li.c-navBtn--line > a { background: var(--rinc-green); }
.c-gnav > li.c-navBtn--line > a::before { background-image: var(--icon-sp-w); }
.c-gnav > li.c-navBtn > a:hover { opacity: .85; }

/* ---------- 共通部品 ---------- */
/* セクション見出し calc(46 * var(--s))/900 青 中央・下線146×7 文字下端→下線37 */
.c-secTitle.c-secTitle {
  text-align: center; color: var(--rinc-blue); font-weight: 900; font-size: calc(46 * var(--s)); line-height: 1; letter-spacing: 0;
  margin: 0; padding: 0 0 calc(44 * var(--s)); border: 0; background: none; position: relative;
}
.c-secTitle.c-secTitle::before { display: none; }
.c-secTitle.c-secTitle::after {
  display: block; content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: calc(146 * var(--s)); height: calc(7 * var(--s)); background: var(--rinc-blue);
}
/* 小見出し calc(38 * var(--s))/900 青・左縦罫8px */
.c-subTitle.c-subTitle {
  font-weight: 900; font-size: calc(38 * var(--s)); line-height: 1; color: var(--rinc-blue); border: 0; background: none;
  padding: calc(20 * var(--s)) 0 calc(20 * var(--s)) calc(24 * var(--s)); border-left: calc(8 * var(--s)) solid var(--rinc-blue); margin: 0;
}
.c-subTitle.c-subTitle::before, .c-subTitle.c-subTitle::after { display: none; }
/* リード calc(22 * var(--s))/41 中央 */
.c-lead { text-align: center; font-size: calc(22 * var(--s)); line-height: calc(41 * var(--s)); margin: 0; }
.c-em { color: var(--rinc-orange); }  /* ★2026-10-29の指示で青→オレンジ（使うのは特徴の本文の強調4か所だけ） */

/* ---------- MV（実測：高さ812＝幅の42.3%・左紺50%・文字中心は上から45%・街並み下端まで93） ---------- */
.c-mv { padding: 0 !important; }
.c-mv .swell-block-fullWide__inner { max-width: none; padding: 0; }
.c-mv .swell-block-columns__inner { margin: 0; }
.c-mv .swell-block-column { padding: 0; margin: 0; }
.c-mv .c-mv__text {
  background: var(--rinc-navy); color: #fff; display: flex; flex-direction: column; justify-content: flex-start;
  position: relative; text-align: center; padding: calc(247 * var(--s)) 6% calc(221 * var(--s)) 6%; min-height: calc(812 * var(--s)); box-sizing: border-box;
}
.post_content h1.c-mv__catch, .c-mv__catch { font-size: calc(56 * var(--s)); font-weight: 900; line-height: 1; letter-spacing: 0; margin: 0 0 calc(45 * var(--s)); color: #fff; white-space: nowrap; }
.c-mv__sub   { font-size: calc(56 * var(--s)); font-weight: 900; line-height: 1; letter-spacing: .02em; color: var(--rinc-orange); margin: 0 0 calc(65 * var(--s)); }
.c-mv__name  { font-size: calc(28 * var(--s)); font-weight: 400; line-height: 1; letter-spacing: 0; margin: 0; color: #fff; }
.c-mv__machi { position: absolute; left: 8.8%; right: 6.3%; bottom: calc(93 * var(--s)); margin: 0 !important; }
.c-mv__machi img { width: 100%; height: auto; display: block; }
.c-mv__photo { margin: 0; position: relative; }
.c-mv__photo figure { margin: 0; }
.c-mv__photo img { width: 100%; height: auto; display: block; }
@media (min-width: 960px) {
  .c-mv .swell-block-columns__inner { display: grid; grid-template-columns: 1fr 1fr; }
  .c-mv .swell-block-column { width: 100% !important; }
  .c-mv__text, .c-mv__photo { min-height: min(812px, 42.3vw); }
  .c-mv .c-mv__text { padding-top: min(247px, 12.9vw); padding-bottom: min(221px, 11.5vw); }
  .c-mv__machi { bottom: min(93px, 4.8vw); }
  .c-mv__photo figure { position: absolute; inset: 0; }
  .c-mv__photo img { width: 100%; height: 100%; object-fit: cover; }
}

/* ---------- バッジ（実測：行上端＝MV下端+42・箱436×170 角丸14・白丸128 左22 上20・アイコン87・文字24/700 行送り42 白丸→文字61） ---------- */
.c-badges { padding-top: calc(42 * var(--s)) !important; padding-bottom: 0 !important; }
.c-badges .swell-block-columns__inner { margin: 0; }
.c-badges .swell-block-column { margin: 0; padding: 0; }
@media (min-width: 960px) { .c-badges .swell-block-columns__inner { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: calc(32 * var(--s)); } .c-badges .swell-block-column { width: 100% !important; } }
.swell-block-columns .c-badge {
  background: var(--rinc-orange); color: #fff; border-radius: calc(14 * var(--s)); padding: 0 calc(16 * var(--s)) 0 calc(22 * var(--s)); height: calc(170 * var(--s));
  display: flex; align-items: center; gap: calc(61 * var(--s));
}
.c-badge::before { content: ""; flex: 0 0 auto; width: calc(128 * var(--s)); height: calc(128 * var(--s)); border-radius: 50%; background: #fff; }
.c-badge--clock::before  { background: #fff var(--icon-clock-o)  center / calc(87 * var(--s)) no-repeat; }
.c-badge--ebike::before  { background: #fff var(--icon-ebike-o)  center / calc(87 * var(--s)) no-repeat; }
.c-badge--pin::before    { background: #fff var(--icon-pin-o)    center / calc(87 * var(--s)) no-repeat; }
.c-badge--wrench::before { background: #fff var(--icon-wrench-o) center / calc(87 * var(--s)) no-repeat; }
.c-badge__text { font-weight: 700; font-size: calc(24 * var(--s)); line-height: calc(42 * var(--s)); margin: 0; color: #fff; letter-spacing: 0; }

/* ---------- 特徴（実測：バッジ下端→見出し152・番号64/900・縦罫7・見出し38/900 行送り60・本文22/42・写真855×532 角丸18・ブロック間180・本文→バナー224・バナー1548 角丸6・バナー下端→料金地126） ---------- */
.sec-feature { padding-top: calc(152 * var(--s)) !important; padding-bottom: calc(126 * var(--s)) !important; }
.sec-feature .c-secTitle { margin-bottom: calc(108 * var(--s)); }
.c-feature { margin: 0 0 calc(139 * var(--s)) !important; }
.c-feature--rev { margin-bottom: calc(171 * var(--s)) !important; }
.c-feature--rev ~ .c-feature { margin-bottom: 0 !important; }
.c-feature:last-of-type { margin-bottom: 0 !important; }
.c-feature .swell-block-columns__inner { align-items: flex-start; margin: 0; }
.c-feature .swell-block-column { padding: 0; margin: 0; }
@media (min-width: 960px) {
  .c-feature .swell-block-columns__inner { display: grid; grid-template-columns: 1fr calc(855 * var(--s)); column-gap: calc(100 * var(--s)); padding-left: calc(20 * var(--s)); padding-right: calc(32 * var(--s)); }
  .c-feature--rev .swell-block-columns__inner { grid-template-columns: calc(848 * var(--s)) 1fr; column-gap: calc(118 * var(--s)); padding-left: calc(39 * var(--s)); padding-right: calc(7 * var(--s)); }
  .c-feature .swell-block-column { width: 100% !important; }
}
.c-feature__num { color: var(--rinc-blue); font-weight: 900; font-size: calc(64 * var(--s)); line-height: 1; margin: 0; border-left: calc(7 * var(--s)) solid var(--rinc-blue); padding: 0 0 0 calc(40 * var(--s)); letter-spacing: 0; }
.c-feature__head { border-left: calc(7 * var(--s)) solid var(--rinc-blue); padding: calc(26 * var(--s)) 0 0 calc(43 * var(--s)); margin: 0 0 calc(55 * var(--s)); }
.c-feature__head h3 { border: 0; background: none; padding: 0; margin: 0; color: var(--rinc-blue); font-weight: 900; font-size: calc(38 * var(--s)); line-height: calc(60 * var(--s)); letter-spacing: 0; }
.c-feature__head h3::before, .c-feature__head h3::after { display: none; }
.c-feature__text { font-size: calc(22 * var(--s)); line-height: calc(42 * var(--s)); margin: 0 0 0 calc(47 * var(--s)); letter-spacing: 0; }
.c-feature .c-feature__img { margin: 0; padding-top: calc(74 * var(--s)) !important; }
.c-feature .c-feature__img img { height: calc(528 * var(--s)); object-fit: cover; }
.c-feature--rev .c-feature__img { padding-top: calc(33 * var(--s)) !important; }
.c-feature--rev .c-feature__img img { height: calc(556 * var(--s)); }
.c-feature--rev ~ .c-feature .c-feature__img { padding-top: calc(37 * var(--s)) !important; }
.c-feature--rev ~ .c-feature .c-feature__img img { height: calc(588 * var(--s)); }
.c-feature__img figure { margin: 0; }
.c-feature__img img { border-radius: calc(18 * var(--s)); width: 100%; height: auto; display: block; }
@media (min-width: 960px) { .c-feature .swell-block-columns__inner { align-items: stretch; } .c-feature .c-feature__img, .c-feature--rev .c-feature__img, .c-feature--rev ~ .c-feature .c-feature__img { padding-top: 0 !important; position: relative; } .c-feature .c-feature__img figure { position: absolute; inset: 0; margin: 0; } .c-feature .c-feature__img img, .c-feature--rev .c-feature__img img, .c-feature--rev ~ .c-feature .c-feature__img img { height: 100%; } }
  /* ★2026-10-29の指示＝2カラムは左右の高さを揃える（店長挨拶と同じ作り）。写真の上端・下端＝文の列（番号の縦罫の上端〜本文の最後の行）。写真の高さ528／556／588・上の余白74／33／37（カンプの実測）はPCでは使わない */
.c-banner { margin: calc(106 * var(--s)) auto 0 !important; max-width: calc(1548 * var(--s)); }
.c-banner figure { margin: 0; line-height: 0; display: block; } .c-banner a { display: block; line-height: 0; }
.c-banner img { border-radius: calc(6 * var(--s)); width: 100%; height: auto; display: block; vertical-align: top; }
.c-banner a:hover img { opacity: .9; }

/* ---------- 料金（実測：地上端→見出し103・下線→リード78・リード22/41・リード→表106・表1220（th355＋隙間3＋td862）・行78・表下端→地下端96） ---------- */
.sec-price { padding-top: calc(103 * var(--s)) !important; padding-bottom: calc(96 * var(--s)) !important; }
.sec-price .c-secTitle { margin-bottom: calc(54 * var(--s)); }
.sec-price .c-lead { margin-bottom: calc(76 * var(--s)); }
.c-priceTable.c-priceTable, .c-infoTable.c-infoTable { max-width: calc(1220 * var(--s)); margin: 0 auto; border: 0; }
.c-priceTable table, .c-infoTable table { border-collapse: separate; border-spacing: 0; width: 100%; table-layout: fixed; border-top: 1px solid var(--rinc-line); border-bottom: 1px solid var(--rinc-line); }
.c-priceTable thead, .c-infoTable thead { display: none; }
.c-priceTable th, .c-infoTable th {
  background: var(--rinc-blue); color: #fff; font-weight: 400; font-size: calc(20 * var(--s)); line-height: calc(30 * var(--s)); text-align: left; vertical-align: middle;
  width: calc(358 * var(--s)) !important; padding: calc(24 * var(--s)) calc(17 * var(--s)); border: 0; border-bottom: 1px solid #fff;
  /* ★2026-09-14修正＝①th側の行罫は **白100%**（rgba(255,255,255,.35) だと青に溶けて「水色の線」に見えていた）
     ②**border-right を捨てて幅を355→358にした**。カンプの青ベタは x350〜707＝**358px**で、白い帯も別色の帯も無い。
     ★border-right を残すと、**下のborder（白）と右のborder が角で斜めに接ぐ（mitre）ため、白い線が右端の3px手前で終わる**＝
       「青ベタの部分、ちょっとだけ白い線が足りない」の正体（2026-09-14の指摘）。幅に含めてしまえば白い線が端まで届く */
}
.c-priceTable td, .c-infoTable td {
  background: transparent; color: var(--rinc-text); font-size: calc(20 * var(--s)); line-height: calc(30 * var(--s)); text-align: center; vertical-align: middle;
  padding: calc(24 * var(--s)) calc(20 * var(--s)); border: 0; border-bottom: 1px solid var(--rinc-line); border-right: 1px solid var(--rinc-line);
}
.c-priceTable tr:last-child th, .c-infoTable tr:last-child th { border-bottom: 0; }  /* ★カンプは最後の行だけ青ベタ側の白い線が無い。2026-09-14まで .c-infoTable が抜けていて、店舗情報表の最下段に白い線が出ていた */
.c-priceTable tr:last-child td, .c-infoTable tr:last-child td { border-bottom: 0; }
.c-priceTable td small { display: block; font-size: calc(20 * var(--s)); line-height: calc(30 * var(--s)); }
.c-infoTable td ul { list-style: none; margin: 0; padding: 0; display: inline-block; text-align: left; }
.c-infoTable td ul li { line-height: calc(27 * var(--s)); }
.c-infoTable td, .c-infoTable th { line-height: calc(27 * var(--s)); padding: calc(20 * var(--s)) calc(20 * var(--s)); }
.c-priceTable td, .c-priceTable th { height: calc(70 * var(--s)); padding: calc(11 * var(--s)) calc(20 * var(--s)); vertical-align: middle; box-sizing: border-box; }
.c-infoTable td a { color: inherit; text-decoration: none; }

/* ---------- 修理料金の例（実測：地下端→見出し72・下線→カード108・カード1665 角丸20・写真右51.4%・客名28 上72 左62・破線・リスト22/53・金額64/900・カード間82・カード3下端→CTA267） ---------- */
.sec-case { padding-top: calc(72 * var(--s)) !important; padding-bottom: calc(267 * var(--s)) !important; }
.c-case + .c-case { margin-bottom: calc(70 * var(--s)) !important; }
.sec-case .c-secTitle { margin-bottom: calc(85 * var(--s)); }
.c-case { background: var(--rinc-blue); border-radius: calc(20 * var(--s)); overflow: hidden; margin: 0 calc(87 * var(--s)) calc(82 * var(--s)) calc(102 * var(--s)) !important; max-width: calc(1665 * var(--s)); box-shadow: 0 calc(8 * var(--s)) calc(20 * var(--s)) rgba(0,0,0,.18); }
.c-case:last-of-type { margin-bottom: 0 !important; }
.c-case .swell-block-columns__inner { margin: 0; align-items: stretch; }
.c-case .swell-block-column { margin: 0; }
@media (min-width: 960px) {
  .c-case .swell-block-columns__inner { display: grid; grid-template-columns: 48.6% 51.4%; }
  .c-case .swell-block-column { width: 100% !important; }
}
.swell-block-columns .c-case__body { padding: calc(72 * var(--s)) 0 calc(35 * var(--s)) calc(62 * var(--s)); color: #fff; display: flex; flex-direction: column; }
.c-case__title { font-size: calc(28 * var(--s)); font-weight: 400; line-height: 1; margin: 0; padding: 0; color: #fff; letter-spacing: 0; }
.c-case__title::after { content: ""; display: block; margin-top: calc(25 * var(--s)); width: calc(590 * var(--s)); max-width: 100%; border-top: 2px dashed rgba(255,255,255,.85); }
.post_content .c-case__list { list-style: none; margin: calc(20 * var(--s)) 0 0 !important; padding: 0 !important; }
.c-case__list li { font-size: calc(22 * var(--s)); line-height: calc(53 * var(--s)); margin: 0 !important; padding: 0 0 0 1em !important; text-indent: -1em; letter-spacing: 0; }
.c-case__list li::before { content: "・"; }
.c-case__price { margin: calc(35 * var(--s)) 0 0; padding: 0; color: #fff; display: flex; align-items: baseline; gap: calc(24 * var(--s)); }
.c-case__price .label { font-size: calc(22 * var(--s)); line-height: 1; }
.c-case__price .num { font-size: calc(64 * var(--s)); font-weight: 900; line-height: 1; color: var(--rinc-orange-num); letter-spacing: 0; }
.c-case__price .yen { font-size: calc(36 * var(--s)); font-weight: 900; line-height: 1; color: var(--rinc-orange-num); margin-left: calc(-12 * var(--s)); }  /* ★2026-09-14＝固定-12pxだと、金額（比例）が縮んでも食い込み量が縮まず、1200pxで4.4px寄りすぎた */
.c-case__note { font-size: calc(13 * var(--s)); line-height: 1; color: #fff; margin: calc(15 * var(--s)) 0 0; }
.c-case__img { margin: 0; position: relative; }
.c-case__img figure { margin: 0; }
.c-case__img img { width: 100%; height: auto; display: block; }
@media (min-width: 960px) { .c-case__img figure { position: absolute; inset: 0; } .c-case__img img { height: 100%; object-fit: cover; } }

/* ---------- CTA帯（実測：高さ426・見出し44/900 上75 左75・電話80/900 アイコン52・営業時間22/42 左190・吹き出し346×106 角丸53 文字30/900・LINEボタン576×114 文字44/900・右端1793） ---------- */
/* 帯の高さはカンプの426pxを保つ（中の文字だけ一回り小さくした＝二宮さんの指示）ので、減った分を上下の余白で足す */
.c-cta { padding-top: calc(98 * var(--s)) !important; padding-bottom: calc(69 * var(--s)) !important; color: #fff; }
.c-cta .swell-block-fullWide__inner { max-width: calc(1920 * var(--s)); padding: 0 calc(127 * var(--s)) 0 calc(75 * var(--s)); }
.c-cta .swell-block-columns__inner { margin: 0; align-items: flex-start; }
.c-cta .swell-block-column { margin: 0; }
@media (min-width: 960px) { .c-cta .swell-block-columns__inner { display: grid; grid-template-columns: 1fr calc(576 * var(--s)); } .c-cta .swell-block-column { width: 100% !important; } }
.c-cta__title { font-size: calc(37 * var(--s)); font-weight: 900; line-height: 1; margin: 0 0 calc(39 * var(--s)); color: #fff; letter-spacing: 0; }
.c-cta__tel { margin: 0 0 calc(43 * var(--s)); }
.c-cta__tel a { color: #fff; text-decoration: none; font-size: calc(68 * var(--s)); font-weight: 900; letter-spacing: 0; line-height: 1; display: inline-flex; align-items: center; gap: calc(19 * var(--s)); margin-left: calc(17 * var(--s)); }
.c-cta__tel a::before { content: ""; width: calc(44 * var(--s)); height: calc(44 * var(--s)); background: var(--icon-tel-w) center / contain no-repeat; }
.c-cta__info { font-size: calc(19 * var(--s)); line-height: calc(36 * var(--s)); margin: 0; color: #fff; padding-left: calc(98 * var(--s)); letter-spacing: 0; }
.c-cta__side { text-align: center; padding-top: calc(18 * var(--s)); }
.c-cta__balloon { display: inline-block; position: relative; background: #fff; color: var(--rinc-orange); font-weight: 900; font-size: calc(26 * var(--s)); line-height: 1; padding: calc(32 * var(--s)) calc(34 * var(--s)); border-radius: calc(53 * var(--s)); margin: 0 0 calc(29 * var(--s)); min-width: calc(346 * var(--s)); }
.c-cta__balloon::after { content: ""; position: absolute; left: 50%; top: 100%; margin-top: -1px; transform: translateX(-50%); border: calc(14 * var(--s)) solid transparent; border-top-color: #fff; border-bottom: 0; }  /* ★bottomを固定pxで置くと、borderだけ--sで縮んで幅ごとに隙間が開く（1440で3.5px）。top:100%なら丸めに関係なく必ず1px重なる */
.c-cta .c-lineBtn { margin: 0; }
.c-lineBtn.c-lineBtn .swell-block-button__link {
  background: var(--rinc-green) !important; color: #fff !important; border-radius: calc(4 * var(--s)); font-weight: 900; font-size: calc(37 * var(--s)); line-height: 1; letter-spacing: 0;
  padding: 0; height: calc(114 * var(--s)); width: 100%; max-width: calc(576 * var(--s)); box-shadow: none; display: inline-flex; align-items: center; justify-content: center; gap: calc(16 * var(--s));
}
.c-lineBtn.c-lineBtn .swell-block-button__link::before { content: ""; width: calc(34 * var(--s)); height: calc(34 * var(--s)); background: var(--icon-sp-w) center / contain no-repeat; }
.c-lineBtn.c-lineBtn .swell-block-button__link:hover { background: var(--rinc-green-dk) !important; }

/* ---------- スタッフ（実測：地上端→見出し74・下線→名前101・名前36/900 縦罫8×75・名前→本文56・本文22/42 段落間84・写真890×712 角丸20・本文下端→地下端101） ---------- */
.sec-staff { padding-top: calc(74 * var(--s)) !important; padding-bottom: calc(84 * var(--s)) !important; }
.sec-staff .c-secTitle { margin-bottom: calc(93 * var(--s)); }
.c-staff .swell-block-columns__inner { margin: 0; align-items: flex-start; }
.c-staff .swell-block-column { margin: 0; }
@media (min-width: 960px) { .c-staff .swell-block-columns__inner { display: grid; grid-template-columns: 1fr calc(890 * var(--s)); column-gap: calc(36 * var(--s)); padding-right: calc(11 * var(--s)); } .c-staff .swell-block-column { width: 100% !important; } }
.c-staff .swell-block-column.c-staff__body { padding-left: calc(27 * var(--s)); }
.c-staff__name.c-staff__name { color: var(--rinc-blue); font-weight: 900; font-size: calc(36 * var(--s)); line-height: 1; border: 0; background: none; border-left: calc(8 * var(--s)) solid var(--rinc-blue); padding: calc(20 * var(--s)) 0 calc(20 * var(--s)) calc(13 * var(--s)); margin: 0 0 calc(25 * var(--s)) calc(-21 * var(--s)); letter-spacing: 0; }  /* ★2026-09-14＝-21は border-left 8 ＋ padding-left 13 の打ち消し。打ち消す相手が比例するのに自分が固定だったので、1200pxで7.7px左に出すぎた */
.c-staff__name.c-staff__name::before, .c-staff__name.c-staff__name::after { display: none; }
.c-staff__text { font-size: calc(22 * var(--s)); line-height: calc(42 * var(--s)); margin: 0 0 calc(42 * var(--s)); letter-spacing: 0; }
.c-staff__text:last-child { margin-bottom: 0; }
.c-staff .swell-block-column.c-staff__img { margin: calc(25 * var(--s)) 0 0; }
.c-staff__img img { border-radius: calc(20 * var(--s)); width: 100%; height: calc(712 * var(--s)); object-fit: cover; display: block; }
@media (min-width: 960px) { .c-staff .swell-block-columns__inner { align-items: stretch; } .c-staff .swell-block-column.c-staff__img { margin: 0; position: relative; } .c-staff__img figure { position: absolute; inset: 0; margin: 0; } .c-staff__img img { height: 100%; } }
  /* ★2026-10-29の指示＝2カラムは左右の高さを揃える。写真の上端・下端＝本文の列（名前の縦罫の上端〜最後の段落の下端）。高さ712・上の余白25（カンプの実測）はPCでは使わない。写真は cover で上下を少し切る */

/* ---------- タイヤ（★カンプ無し＝2026-09-17に新設。スタッフ紹介の続きとして、値はすべて同じセクションの実測から取る。各行に出所） ---------- */
.c-tire__title.c-tire__title { color: var(--rinc-blue); font-weight: 900; font-size: calc(36 * var(--s)); line-height: 1.4; position: relative; border: 0; background: none; padding: 0 0 calc(18 * var(--s)) calc(27 * var(--s)); margin: calc(126 * var(--s)) 0 calc(25 * var(--s)); letter-spacing: 0; }
  /* 文字36・太さ900・色＝.c-staff__name と同値。★縦罫は付けない（縦罫は人名の印。付けると2人目の名前に見える）
     上の余白＝.sec-staff の padding-bottom 84 の1.5倍＝126（2026-09-17「もう少しだけ足す」。★1.5倍は本案件で「余白をもう少し」に使ってきた倍率）／下の余白25＝.c-staff__name の margin-bottom と同値 */
.c-tire__title.c-tire__title::before { content: ""; display: block; position: absolute; left: calc(27 * var(--s)); bottom: 0; width: calc(100% - 27 * var(--s)); height: calc(7 * var(--s)); background-image: repeating-linear-gradient(90deg, var(--rinc-blue) 0%, var(--rinc-blue) 29.3%, var(--rinc-orange) 29.3%, var(--rinc-orange) 100%); }
  /* ★SWELLのh3の既定＝下に2pxの帯、左から29.3%がメインカラー・残りが薄いグレー。★2026-09-17の指示で、残りをオレンジに置き換えて青→オレンジの2色にした
     ★線の始まり27＝本文と同じ字下げ（既定は左端から）／★太さ7＝LPの他の線と同値（.c-secTitle の下線・特徴の縦罫がいずれも7。スタッフ名の縦罫8だけが例外） */
.c-tire__title.c-tire__title::after { display: none; }
.c-tire__title.c-tire__title br { display: none; }  /* ★見出しの改行はスマホ・タブレットだけ＝PCは1行のまま（2026-09-17の指示）。本文に br を入れてあり、ここで消している */
.c-tire__text { font-size: calc(22 * var(--s)); line-height: calc(42 * var(--s)); margin: 0 0 calc(42 * var(--s)); padding-left: calc(27 * var(--s)); letter-spacing: 0; }  /* ★字下げ27＝.c-staff__body の padding-left と同値＝店長プロフィールの本文と行の始まりをそろえる（2026-09-17の指示） */  /* ＝.c-staff__text と同値（段落間42も同じ）。★最後の段落も42のまま＝下に写真が続くため 0 にしない */
.c-tire__photo.wp-block-cover { min-height: calc(712 * var(--s)); height: calc(712 * var(--s)); aspect-ratio: auto; border-radius: calc(20 * var(--s)); overflow: hidden; margin: 0 0 0 calc(27 * var(--s)) !important; width: calc(100% - 27 * var(--s)); }
  /* ★写真はカバーブロック（wp:cover）で置かれている＝中の img は背景として敷かれるので、高さは箱側で決める。
     角丸20・高さ712＝.c-staff__img img と同値（同じセクションの写真どうしで高さと角丸をそろえる＝整合検査 same() の対象）。
     ★左27＝本文と同じ字下げ／右端は器の右端のまま＝見出しの罫線とぴったり同じ幅になる（2026-09-17の指示） */

/* ---------- 店舗情報（実測：地下端→見出し74・下線→リード81・リード22/39・リード→表70・表→写真71・写真520×247 間隔80 角丸18・写真→地図167・地図1480×708・地図→道順小見出し101） ---------- */
.sec-shop { padding-top: calc(74 * var(--s)) !important; padding-bottom: calc(201 * var(--s)) !important; }
.sec-shop .c-secTitle { margin-bottom: calc(61 * var(--s)); }
.sec-shop .c-lead { line-height: calc(39 * var(--s)); margin-bottom: calc(60 * var(--s)); }
.c-infoTable.c-infoTable { margin-bottom: calc(71 * var(--s)); }
.c-shopPhotos { margin: 0 !important; }
.c-shopPhotos .swell-block-columns__inner { margin: 0; }
.c-shopPhotos .swell-block-column { margin: 0; padding: 0; }
@media (min-width: 960px) { .c-shopPhotos .swell-block-columns__inner { display: flex; flex-wrap: nowrap; column-gap: calc(80 * var(--s)); overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: calc(16 * var(--s)); padding-left: max(0px, calc((100% - 1720 * var(--s)) / 2)); scroll-padding-left: max(0px, calc((100% - 1720 * var(--s)) / 2)); } .c-shopPhotos .swell-block-columns__inner > .swell-block-column { flex: 0 0 calc(520 * var(--s)); width: calc(520 * var(--s)) !important; max-width: none !important; scroll-snap-align: start; } }  /* v7.25＝写真が4枚になったので3列の格子→横スクロール（幅520・間隔80は据え置き。左端は旧3列の中央寄せと同じ位置＝(枠−1720)/2） */
.c-shopPhotos img { border-radius: calc(18 * var(--s)); width: 100%; height: auto; aspect-ratio: 520 / 330; object-fit: cover; display: block; }
.c-map { margin: calc(85 * var(--s)) auto calc(77 * var(--s)); max-width: calc(1480 * var(--s)); }
.c-map iframe { width: 100%; height: calc(708 * var(--s)); border: 0; display: block; }
.sec-shop .c-subTitle { margin: 0 0 calc(108 * var(--s)) calc(27 * var(--s)); padding: calc(24 * var(--s)) 0 calc(24 * var(--s)) calc(22 * var(--s)); }
.c-route { margin: 0 !important; }
.c-route .swell-block-columns__inner { margin: 0; }
.c-route .swell-block-column { margin: 0; padding: 0; }
@media (min-width: 960px) {
  .c-route .swell-block-columns__inner { display: grid; grid-template-columns: repeat(3, calc(510 * var(--s))); column-gap: calc(100 * var(--s)); justify-content: start; padding-left: calc(57 * var(--s)); }
  .c-route--2 .swell-block-columns__inner { grid-template-columns: repeat(2, calc(510 * var(--s))); column-gap: calc(180 * var(--s)); justify-content: center; padding-left: 0; }
  .c-route .swell-block-column { width: 100% !important; }
}
.c-route + .c-route { margin-top: calc(158 * var(--s)) !important; }
.c-route__item { padding-left: 0; }
.c-route__title { color: var(--rinc-blue); font-weight: 400; font-size: calc(30 * var(--s)); line-height: 1.4; margin: 0 0 calc(30 * var(--s)); letter-spacing: 0; padding-left: 1.23em; text-indent: -1.23em; }  /* v7.24＝2行になったとき行が詰まるので1→1.4・2行目を番号ぶん字下げ（「1. 」の幅＝1.23em実測） */
.c-route__text { font-size: calc(22 * var(--s)); line-height: calc(40 * var(--s)); margin: 0 0 calc(33 * var(--s)); padding-left: calc(30 * var(--s)); letter-spacing: 0; }
.c-route__img { margin: 0; }
.c-route__img img { border-radius: calc(18 * var(--s)); width: 100%; aspect-ratio: 510 / 330 !important; object-fit: cover; display: block; }  /* v7.27＝画像ブロックの縦横比（style属性の 4/3）に負けて道順5だけ高くなっていた */

/* ---------- FAQ（実測：帯下端→見出し191・下線→小見出し128・小見出し→Q帯80・Q帯1606×75 左139・Q丸32 左18・文字22 左73・A丸32 Q帯下端+38・A文字22/42・項目間88・小見出し間147） ---------- */
.sec-faq { padding-top: calc(191 * var(--s)) !important; padding-bottom: calc(180 * var(--s)) !important; }
.sec-faq .c-secTitle { margin-bottom: calc(91 * var(--s)); }
.sec-faq .c-subTitle { margin: 0 0 calc(57 * var(--s)) calc(104 * var(--s)); padding: calc(22 * var(--s)) 0 calc(22 * var(--s)) calc(15 * var(--s)); }
.c-faq.c-faq { margin: 0 calc(109 * var(--s)) 0 calc(139 * var(--s)); }
.c-faq .swell-block-faq__item { margin: 0 0 calc(60 * var(--s)); border: 0; }
.c-faq .swell-block-faq__item:last-child { margin-bottom: calc(89 * var(--s)); }
.c-faq .faq_q { background: var(--rinc-blue); color: #fff; font-weight: 400; font-size: calc(22 * var(--s)); line-height: calc(75 * var(--s)); min-height: calc(75 * var(--s)); padding: 0 calc(24 * var(--s)) 0 calc(73 * var(--s)); border-radius: 0; border: 0; position: relative; letter-spacing: 0; }
.c-faq .faq_q::before { content: "Q"; position: absolute; left: calc(18 * var(--s)); top: 50%; transform: translateY(-50%); width: calc(32 * var(--s)); height: calc(32 * var(--s)); border-radius: 50%; background: #fff; color: var(--rinc-blue); font-weight: 700; font-size: calc(20 * var(--s)); line-height: calc(32.75 * var(--s)) /* ★32ではなく32.75＝字面（ベースラインから大文字の上端まで）の中心を丸の中央に合わせるため。箱の高さは32のまま */; text-align: center; }
.c-faq .faq_a { background: none; padding: calc(38 * var(--s)) calc(24 * var(--s)) 0 calc(73 * var(--s)); border: 0; position: relative; }
.c-faq .faq_a::before { content: "A"; position: absolute; left: calc(18 * var(--s)); /* ★指示で：Qの丸と左端をそろえる。カンプはQ丸x190・A丸x195で5pxずれている */ top: calc(43 * var(--s)); /* ★上端揃えではなく1行目の行ボックス（38〜80）の中央＝38+(42-32)/2 */ width: calc(32 * var(--s)); height: calc(32 * var(--s)); border-radius: 50%; background: var(--rinc-orange); color: #fff; font-weight: 700; font-size: calc(20 * var(--s)); line-height: calc(32.75 * var(--s)) /* ★32ではなく32.75＝字面（ベースラインから大文字の上端まで）の中心を丸の中央に合わせるため。箱の高さは32のまま */; text-align: center; }
.c-faq .faq_a p { margin: 0; font-size: calc(22 * var(--s)); line-height: calc(42 * var(--s)); letter-spacing: 0; }
.c-faq .faq_a p + p { margin-top: 0; }
.sec-faq .c-banner { margin-top: calc(184 * var(--s)) !important; } /* 直前のFAQ項目の下余白89とマージン相殺＝A枠下端→バナー184 */

/* ---------- フッター（実測：白地・ロゴ面 薄グレー 左178 幅233・列 610/1331・見出し24 青・本文22/43・街並み1645×340・コピーライト帯60 文字22 白） ---------- */
.l-footer { background: var(--rinc-navy-dk); }
/* 街並みは画面幅いっぱいに伸ばす（カンプは1920px中1645pxだが、広い画面だと線が途中で切れて見えるため＝二宮さんの指摘） */
.l-footer__widgetArea { background: #fff var(--img-machi-navy) no-repeat center calc(100% - calc(67 * var(--s))) / 100% auto; padding: calc(84 * var(--s)) 0 calc(476 * var(--s)); }
.l-footer__widgetArea .w-footer { max-width: calc(1854 * var(--s)); margin: 0 auto; padding: 0; display: flex; align-items: flex-start; }
.l-footer__widgetArea .w-footer__box { padding: 0; }
.l-footer__widgetArea .w-footer__box:nth-child(1) { flex: 0 0 calc(577 * var(--s)); padding-left: calc(145 * var(--s)); }
.l-footer__widgetArea .w-footer__box:nth-child(2) { flex: 0 0 calc(721 * var(--s)); }
.l-footer__widgetArea .w-footer__box:nth-child(3) { flex: 1 1 auto; }
.l-footer .widget_media_image { background: none; display: inline-block; padding: calc(7 * var(--s)) 0 0; border-radius: 0; }
.c-footLogo img, .l-footer .widget_media_image img { max-width: calc(233 * var(--s)) !important; width: calc(233 * var(--s)) !important; height: auto; display: block; }
.l-footer .c-widget__title { color: var(--rinc-blue); font-weight: 400; font-size: calc(24 * var(--s)); line-height: 1; border: 0; margin: 0 0 calc(30 * var(--s)); padding: 0; text-align: left; }
.l-footer .c-widget__title::before, .l-footer .c-widget__title::after { display: none; }
.c-footInfo { margin: 0; }
.c-footInfo p, .l-footer .widget_text p { margin: 0; line-height: calc(43 * var(--s)); font-size: calc(22 * var(--s)); color: var(--rinc-text); }
.l-footer .c-listMenu a { border: 0; padding: 0 0 0 calc(25 * var(--s)); font-size: calc(22 * var(--s)); line-height: calc(43 * var(--s)); color: var(--rinc-text); }  /* ★2026-09-14＝字下げ25pxが固定で、1200pxで9.2px広すぎた */
/* 「・」は文字（icomoonの代替字形）だと小さく薄く見える＝他の青と違って見えた（二宮さんの指摘）。CSSの丸にして見出しと同じ #1863A3 のベタにする。カンプ実測＝点6px・点の左端→文字25px・文字と上下中央 */
.l-footer .c-listMenu a::before { content: ""; color: transparent; position: absolute; left: 0; top: 50%; width: calc(7 * var(--s)); height: calc(7 * var(--s));  /* ★2026-09-14＝「・」も固定7pxで、1200pxで2.6px大きかった */ border-radius: 50%; background: var(--rinc-blue); margin: 0; transform: translateY(-50%); }
.l-footer .c-listMenu li { margin: 0; }
.l-footer__foot { background: var(--rinc-navy-dk); color: #fff; padding: 0; height: calc(64 * var(--s)); display: flex; align-items: center; justify-content: center; }
.l-footer__foot .copyright { font-size: calc(22 * var(--s)); line-height: 1; margin: 0; }

/* SP 固定フッターメニュー（SWELL標準） */
.l-fixBottomMenu { background: #fff; }

/* ============================================================
   calc(1200 * var(--s))未満（PC縮小）：文字を0.8倍・固定幅は流動化
   ============================================================ */
/* （旧 max-width:1400px の個別縮小は --s による全体比例縮小に置き換えたため撤去） */


/* ============================================================
   スマホ・タブレット（〜959）：SPカンプ準拠  v7.0（2026-09-12）／★2026-09-14に上限を1199→959へ
   ★出所＝`cyclefeat_RINC_SPカンプ実測表.tsv`（SPカンプ.pdf 375×8231px を実測）
   ★倍率 --g ＝ カンプ375pxを画面幅に比例させる。480px以上は 1.28 で頭打ち（タブレットは「大きいスマホ」＝列数はスマホと同じ・2026-08裁定）
   ★文字の基準 --spf ＝ calc(15 * var(--g))。375pxで15px＝SWELLのスマホ設定（--swl-fz--content = 4vw）と同値
     （2026-09-12 二宮さん裁定「SWELLのスマホの文字サイズを適用する」）
   ★カンプの本文は8px＝実機で判読できない。カンプの寸法比（本文8pxを1とする倍率）を --spf に掛けて出す。
     箱の幅で決まる所（バッジ文字11px・LINEボタン）だけカンプの実寸をそのまま使う＝「指示で」
   ★PC（min-width:960）の指定はこのブロックでは一切触らない
   ============================================================ */
@media (max-width: 959px) {
  :root { --g: min(calc(100vw / 375), 1.28px); --spf: calc(15 * var(--g)); }

  /* ---------- 土台 ---------- */
  /* ★カンプの1カラムは「ページ375＝本文343＋左右16」。375コマで頭打ちにして中央へ（375px未満では効かない＝素通し） */
  .swell-block-fullWide__inner { max-width: calc(375 * var(--g)); margin-left: auto; margin-right: auto; padding-left: calc(16 * var(--g)) !important; padding-right: calc(16 * var(--g)) !important; }
  .c-mv .swell-block-fullWide__inner { padding: 0 !important; }
  html { scroll-padding-top: calc(56px + 8 * var(--g)); }

  /* ---------- MV（カンプ＝写真が上・紺面が下） ---------- */
  .c-mv .swell-block-columns__inner { display: block; }
  .c-mv .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 !important; padding: 0 !important; }
  .c-mv__photo { order: -1; }
  .c-mv .c-mv__photo { display: block; }
  .c-mv .swell-block-columns__inner { display: flex; flex-direction: column; }
  .c-mv__photo img { width: 100%; height: auto; aspect-ratio: 375 / 214; object-fit: cover; object-position: 50% 0%; }  /* v7.26＝扉の「RINC」が写真の上端にあるので切り抜きを上端に寄せる（手元と靴は切れる＝二宮さん了承） */
  .c-mv .swell-block-column.c-mv__text { min-height: 0; padding: calc(26 * var(--g)) calc(16 * var(--g)) calc(28 * var(--g)) !important; }  /* ★.c-mv .swell-block-column の padding:0!important に負けるので詳細度を上げる */
  .post_content h1.c-mv__catch, .c-mv__catch { font-size: calc(24 * var(--g)); line-height: 1; margin: 0 0 calc(13 * var(--g)); white-space: nowrap; }
  .c-mv__sub { font-size: calc(24 * var(--g)); line-height: 1; margin: 0 0 calc(16 * var(--g)); }
  .c-mv__name { font-size: calc(15 * var(--g)); line-height: 1; margin: 0; }
  .c-mv__machi { position: static; left: auto; right: auto; bottom: auto; width: calc(312 * var(--g)); margin: calc(18 * var(--g)) auto 0 !important; }

  /* ---------- バッジ（カンプ＝2列・箱167.5×64・白丸43.5・文字11px2行。★文字は箱で決まるのでカンプ実寸＝「指示で」） ---------- */
  .c-badges { padding-top: calc(28 * var(--g)) !important; padding-bottom: 0 !important; }
  .c-badges .swell-block-columns__inner { display: flex; flex-wrap: wrap; gap: calc(18 * var(--g)) calc(9 * var(--g)); margin: 0; }
  .c-badges .swell-block-columns__inner > .swell-block-column { width: calc((100% - 9 * var(--g)) / 2) !important; max-width: none !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; }
  /* ★実測（SPカンプ・375px基準）＝箱166.5×63・角丸18・白丸48（箱左から8）・白丸右端→文字17・アイコン作画34.5
     （2026-09-12の1回目は 角丸8／白丸43.5／gap 6／アイコン30 で組んでいて、カンプより角が四角く・丸とアイコンが小さく・文字が丸に寄っていた） */
  /* ★.c-badge は .swell-block-column そのもの＝上の `padding: 0 !important` に負ける。詳細度を上げて !important で書く（MVの紺面と同じ罠） */
  .swell-block-columns .swell-block-column.c-badge { height: calc(63 * var(--g)); min-height: 0; border-radius: calc(18 * var(--g)); padding: 0 calc(3 * var(--g)) 0 calc(8 * var(--g)) !important; gap: calc(12 * var(--g)); flex-direction: row; text-align: left; align-items: center; }
  /* ★アイコンは background-size を一律にしてはいけない＝SVGごとに作画の余白（viewBox内の占有率）が違う。
     カンプの作画実測（時計34.5／自転車36.5×24.5／ピン31×35／レンチ29）に合わせて1つずつ出す。
     ★一律46で組んだときの実測＝時計36.0／自転車41.5／ピン32.5／レンチ38.0＝レンチが1.31倍に膨らんでいた */
  .c-badge::before { width: calc(48 * var(--g)); height: calc(48 * var(--g)); }
  /* ★★位置も部品ごと。`background-position: center` は「viewBoxの中心」を白丸の中心に合わせるだけで、
     作画がviewBoxの中で偏っている部品は白丸の中で偏る。カンプの余白（白丸48の中の上/下/左/右）に合わせる。
     カンプ＝時計 7.25/6.75・6.75/7.25／自転車 11.75/12.25・3.75/7.75／ピン 6.0/7.5・8.75/8.75／レンチ 9.25/10.25・9.75/9.75 */
  .c-badge--clock::before  { background-size: calc(44 * var(--g)) !important; }
  .c-badge--ebike::before  { background-size: calc(40.5 * var(--g)) !important; background-position: calc(50% - 2 * var(--g)) center !important; }
  .c-badge--pin::before    { background-size: calc(43.5 * var(--g)) !important; background-position: center calc(50% - 3.94 * var(--g)) !important; }
  .c-badge--wrench::before { background-size: calc(35 * var(--g)) !important; }
  /* ★マークアップが「最短で当日中に<br>修理完了」なので nowrap にすれば必ずカンプ通りの2行になる。
     （カンプはバッジごとに白丸→文字の間隔を13〜19.5と手で変えて収めている。CSSは一律なので、いちばん長い「自転車も対応可能」8字＝88pxが入る幅を確保する） */
  .c-badge__text { font-size: calc(11 * var(--g)); line-height: calc(19 * var(--g)); white-space: nowrap; }

  /* ---------- 共通見出し ---------- */
  .c-secTitle.c-secTitle { font-size: calc(var(--spf) * 1.75); line-height: 1.2; padding-bottom: calc(17 * var(--g)); }
  .c-secTitle.c-secTitle::after { width: calc(55 * var(--g)); height: calc(3.5 * var(--g)); }
  .c-subTitle.c-subTitle { font-size: calc(var(--spf) * 1.375); line-height: 1.3; padding: calc(3 * var(--g)) 0 calc(3 * var(--g)) calc(11 * var(--g)); border-left-width: calc(3.5 * var(--g)); }
  .c-lead { font-size: var(--spf); line-height: 1.75; }

  /* ---------- 特徴 ---------- */
  .sec-feature { padding-top: calc(87 * var(--g)) !important; padding-bottom: calc(50 * var(--g)) !important; }  /* ★h2の直上＝58→87（1.5倍・2026-09-14の指示） */
  .sec-feature .swell-block-fullWide__inner { padding-left: calc(30 * var(--g)) !important; padding-right: calc(30 * var(--g)) !important; }
  .sec-feature .c-secTitle { margin-bottom: calc(42 * var(--g)); }
  .c-feature, .c-feature--rev, .c-feature--rev ~ .c-feature { margin: 0 0 calc(78 * var(--g)) !important; }
  .c-feature:last-of-type { margin-bottom: 0 !important; }
  .c-feature .swell-block-columns__inner { display: block; margin: 0; padding: 0; }
  .c-feature .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 !important; padding: 0 !important; }
  .c-feature--rev .swell-block-columns__inner { display: flex; flex-direction: column; }
  .c-feature--rev .swell-block-column.c-feature__img { order: 2; }
  .c-feature__num { font-size: calc(var(--spf) * 2.6); line-height: 1; border-left-width: calc(3.5 * var(--g)); padding: 0 0 0 calc(9 * var(--g)); }
  .c-feature__head { border-left-width: calc(3.5 * var(--g)); padding: calc(10 * var(--g)) 0 0 calc(11 * var(--g)); margin: 0 0 calc(17 * var(--g)); }
  .c-feature__head h3 { font-size: calc(var(--spf) * 1.3); line-height: 1.55; }  /* ★1.375だと03「ご希望の場所に出張修理も可能」が「可／能」で折り返す */
  .c-feature__text { font-size: var(--spf); line-height: 1.75; margin: 0; }
  .c-feature .c-feature__img, .c-feature--rev .c-feature__img, .c-feature--rev ~ .c-feature .c-feature__img { padding-top: calc(26 * var(--g)) !important; margin: 0; }
  .c-feature__img figure { margin: 0; }
  .c-feature .c-feature__img img, .c-feature--rev .c-feature__img img, .c-feature--rev ~ .c-feature .c-feature__img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: calc(10 * var(--g)); }

  /* ---------- 出張バナー（カンプ＝314×203.5・3:2。素材＝SPバナー 750×500） ---------- */
  /* ★SPバナーは2026-09-12に縦長（500×750）へ差し替え＝二宮さんの指示。幅はカンプのバナーと同じ314のまま（高さは471になる） */
  .c-banner { margin: calc(49 * var(--g)) auto 0 !important; max-width: calc(314 * var(--g)); }
  .c-banner img { border-radius: calc(4 * var(--g)); }

  /* ---------- 料金（★PCカンプの縮小貼り区間。列構成はカンプ通り・文字だけ拡大＝二宮さんの指示） ---------- */
  .sec-price { padding-top: calc(40.5 * var(--g)) !important; padding-bottom: calc(49.5 * var(--g)) !important; }  /* ★h2の直上＝18→27（1.5倍）→さらに40.5（2026-09-14「もう少し広げたい」）／★料金表の直下＝33→49.5（1.5倍） */  .sec-price .swell-block-fullWide__inner { padding-left: calc(27 * var(--g)) !important; padding-right: calc(27 * var(--g)) !important; }
  .sec-price .c-secTitle { margin-bottom: calc(20 * var(--g)); }
  .sec-price .c-lead { text-align: left; margin-bottom: calc(10 * var(--g)); }
  .c-priceTable.c-priceTable, .c-infoTable.c-infoTable { max-width: none; }
  .c-priceTable th, .c-infoTable th { display: table-cell !important; width: 38% !important; font-size: var(--spf); line-height: 1.5; padding: calc(9 * var(--g)) calc(8 * var(--g)) !important; height: auto !important; text-align: left; }  /* ★border-right は持たない（上の理由。白い行罫を端まで届かせる） */
  .c-priceTable td, .c-infoTable td { display: table-cell !important; width: auto !important; font-size: var(--spf); line-height: 1.5; padding: calc(9 * var(--g)) calc(8 * var(--g)) !important; height: auto !important; text-align: center; border-right: 1px solid var(--rinc-line); }
  .c-priceTable td small { font-size: calc(var(--spf) * 0.72); line-height: 1.5; }
  /* ★料金表だけ文字を0.87倍（15.6→13.6px）にし、見出し列を38%→48%に広げる（2026-09-14の指示「1行目も2行目も改行されない程度に」）。
     ★★実測で決めた＝13.6px（0.87倍）だと 必要135.3px に対し使える136.4px で余裕1.1pxしかなく、375pxで折り返した。
     0.85倍（13.3px）なら全行1行・注記も1行（320/375/415で確認）。★フォントだけで1行にするには10.2pxまで下げる必要があり、
     本文15.6px・店舗情報表15.6pxと揃わなくなるため列幅も動かす（二宮さん裁定＝フォント少し小さく＋見出し列48%） */
  .c-priceTable th, .c-priceTable td { font-size: calc(var(--spf) * 0.85); }
  .c-priceTable th { width: 48% !important; }
  .c-infoTable td ul li { line-height: 1.5; }

  /* ---------- 修理料金の例（★PCカンプの縮小貼り区間。左テキスト＋右写真の2カラムを維持＝二宮さんの指示） ---------- */
  .sec-case { padding-top: calc(49.5 * var(--g)) !important; padding-bottom: calc(45 * var(--g)) !important; }  /* ★h2の直上＝33→49.5（1.5倍） */
  .sec-case .swell-block-fullWide__inner { padding-left: calc(14 * var(--g)) !important; padding-right: calc(14 * var(--g)) !important; }
  .sec-case .c-secTitle { margin-bottom: calc(20 * var(--g)); }
  .c-case { margin: 0 0 calc(18 * var(--g)) !important; max-width: none; border-radius: calc(10 * var(--g)); box-shadow: 0 calc(4 * var(--g)) calc(10 * var(--g)) rgba(0,0,0,.18); }
  .c-case + .c-case { margin-bottom: calc(18 * var(--g)) !important; }
  .c-case:last-of-type { margin-bottom: 0 !important; }
  /* ★★1カラム＝上に紺の面と文字・下に写真（2026-09-12 二宮さんの指示。カンプはPCカンプの縮小貼りで左右2カラムだった）。
     ★2カラムのままだと本文の列が約170pxしかなく、箇条書きが3行に折れ・金額の「円」が次の行へ落ちていた */
  .c-case .swell-block-columns__inner { display: flex; flex-direction: column; margin: 0; }
  .c-case .swell-block-columns__inner > .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 !important; }
  .swell-block-columns .c-case__body { padding: calc(16 * var(--g)) calc(12 * var(--g)) calc(16 * var(--g)) calc(12 * var(--g)); min-height: 0; }
  .c-case__title { font-size: calc(var(--spf) * 1.1); line-height: 1.4; }  /* ★指示で：1.27→1.1（375pxで19.8→17.2px）。カンプの比（PC 28/22＝1.27・SP 6.12/4.50＝1.36）より小さくする */
  .c-case__title::after { width: 100%; margin-top: calc(10 * var(--g)); border-top-width: calc(1.5 * var(--g)); }
  .post_content .c-case__list { margin: calc(12 * var(--g)) 0 0 !important; }
  .c-case__list li { font-size: var(--spf); line-height: 1.7; }
  .c-case__price { margin-top: calc(14 * var(--g)); gap: calc(10 * var(--g)); align-items: baseline; flex-wrap: nowrap; }
  .c-case__price .label { font-size: var(--spf); }
  .c-case__price .num { font-size: calc(var(--spf) * 2.9); }
  .c-case__price .yen { font-size: calc(var(--spf) * 1.64); margin-left: calc(-4 * var(--g)); }
  .c-case__note { font-size: calc(var(--spf) * 0.75); line-height: 1.4; margin-top: calc(8 * var(--g)); }
  .c-case__img { position: static; }
  .c-case__img figure { position: static; inset: auto; margin: 0; line-height: 0; }
  .c-case__img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

  /* ---------- CTA帯 ---------- */
  .c-cta { padding-top: calc(35 * var(--g)) !important; padding-bottom: calc(33 * var(--g)) !important; }
  .c-cta .swell-block-fullWide__inner { max-width: none; padding: 0 calc(16 * var(--g)) !important; }
  .c-cta .swell-block-columns__inner { display: block; margin: 0; }
  .c-cta .swell-block-columns__inner > .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 !important; padding: 0 !important; }
  .c-cta__title { font-size: calc(var(--spf) * 1.1); line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 calc(11 * var(--g)); text-align: center; }
  .c-cta__tel { margin: 0 0 calc(12 * var(--g)); text-align: center; }
  .c-cta__tel a { font-size: calc(32 * var(--g)); gap: calc(7 * var(--g)); margin-left: 0; }
  .c-cta__tel a::before { width: calc(21 * var(--g)); height: calc(21 * var(--g)); }
  .c-cta__info { font-size: calc(var(--spf) * 0.72); line-height: calc(19 * var(--g)); padding-left: 0; text-align: center; }  /* ★カンプ同様、営業時間と住所をそれぞれ1行に収める */
  /* ★.c-cta__side は .swell-block-column そのもの＝上の `padding: 0 !important` に負ける。詳細度を上げて !important で書く（MV・バッジと同じ罠で3回目）。
     ★★この罠のせいで、2026-09-14まで padding-top は 0 のままだった（20pxも効いていなかった） */
  .c-cta .swell-block-column.c-cta__side { padding-top: calc(40 * var(--g)) !important; }  /* ★来店予約の吹き出しの直上＝20→40（2倍・2026-09-14の指示） */
  .c-cta__balloon { font-size: calc(var(--spf) * 1.25); padding: calc(9 * var(--g)) calc(16 * var(--g)) !important; border-radius: calc(30 * var(--g)); min-width: 0 !important; width: auto !important; margin: 0 0 calc(16 * var(--g)); white-space: nowrap; }
  /* ★三角は `bottom: -9*--g` だと border-top-width の丸め（9.36 vs 9px）で0.36px浮き、実機（DPR3）で白い丸枠と離れて見えた。
     `top:100%` で必ず接する位置に置き、1px重ねて継ぎ目を消す（2026-09-14 実機での指摘） */
  .c-cta__balloon::after { top: 100%; bottom: auto; margin-top: -1px; border-width: calc(9 * var(--g)); border-bottom: 0; }
  .c-lineBtn.c-lineBtn .swell-block-button__link { font-size: calc(15.63 * var(--g)); height: calc(43 * var(--g)); max-width: calc(214 * var(--g)); border-radius: calc(3 * var(--g)); gap: calc(8 * var(--g)); }
  .c-lineBtn.c-lineBtn .swell-block-button__link::before { width: calc(21 * var(--g)); height: calc(21 * var(--g)); }

  /* ---------- スタッフ ---------- */
  .sec-staff { padding-top: calc(64.5 * var(--g)) !important; padding-bottom: calc(52 * var(--g)) !important; }  /* ★h2の直上＝43→64.5（1.5倍） */
  .sec-staff .swell-block-fullWide__inner { padding-left: calc(28 * var(--g)) !important; padding-right: calc(28 * var(--g)) !important; }
  .sec-staff .c-secTitle { margin-bottom: calc(43 * var(--g)); }
  .c-staff .swell-block-columns__inner { display: block; margin: 0; padding: 0; }
  .c-staff .swell-block-columns__inner > .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 !important; padding: 0 !important; }
  .c-staff .swell-block-column.c-staff__body { padding-left: 0; }
  /* ★1.375em（21.4px）だと「店長 近藤 春輝（こんどう はるき）」が2行になり「はる／き」で割れる（issues #215）。
     実測＝19.3pxで1行だが余裕7pxしかないので、18.2px（1.17em・余裕26px）にする（2026-09-14の指示「もう少しだけ小さく」） */
  .c-staff__name.c-staff__name { font-size: calc(var(--spf) * 1.17); line-height: 1.3; padding: calc(3 * var(--g)) 0 calc(3 * var(--g)) calc(10 * var(--g)); margin: 0 0 calc(20 * var(--g)); border-left-width: calc(3.5 * var(--g)); }
  .c-staff__text { font-size: var(--spf); line-height: 1.75; margin: 0 0 calc(14 * var(--g)); }
  .c-staff .swell-block-column.c-staff__img { margin-top: calc(33 * var(--g)) !important; }
  .c-staff__img img { height: auto; aspect-ratio: 5 / 4; border-radius: calc(10 * var(--g)); }

  /* ---------- タイヤ（SP・★カンプ無し。スタッフ紹介のSP値に合わせる） ---------- */
  .c-tire__title.c-tire__title { font-size: calc(var(--spf) * 1.17); line-height: 1.3; padding: 0 0 calc(9 * var(--g)) 0; margin: calc(49.5 * var(--g)) 0 calc(20 * var(--g)); }
  .c-tire__title.c-tire__title::before { left: 0; width: 100%; height: calc(3.5 * var(--g)); }
  .c-tire__title.c-tire__title br { display: inline; }  /* ★〜959だけ「見えにくい部分にも、／ちゃんと理由があります」で改行する */  /* ★SPは本文も器の左端から始まるので線も左端から。太さ3.5＝SPの他の線と同値 */  /* 文字・行送り＝.c-staff__name のSPと同値／上の余白＝.c-staff__img の margin-top 33 の1.5倍＝49.5 */
  .c-tire__text { font-size: var(--spf); line-height: 1.75; margin: 0 0 calc(14 * var(--g)); padding-left: 0; }  /* ★SPは器の padding 28 が全要素に等しくかかるので字下げは要らない */  /* ＝.c-staff__text のSPと同値 */
  .c-tire__photo.wp-block-cover { min-height: 0; height: auto; aspect-ratio: 5 / 4; border-radius: calc(10 * var(--g)); margin-left: 0 !important; width: 100%; }  /* 比・角丸＝.c-staff__img img のSPと同値 */

  /* ---------- 店舗情報（★表・写真3列は縮小貼り区間。列構成はカンプ通り・文字だけ拡大＝二宮さんの指示） ---------- */
  .sec-shop { padding-top: calc(60 * var(--g)) !important; padding-bottom: calc(54 * var(--g)) !important; }  /* ★h2の直上＝40→60（1.5倍） */
  .sec-shop .c-secTitle { margin-bottom: calc(18 * var(--g)); }
  .sec-shop .c-lead { text-align: center; line-height: 1.75; margin-bottom: calc(14 * var(--g)); }
  .c-infoTable.c-infoTable { margin-bottom: calc(20 * var(--g)); }
  .c-infoTable th { width: 34% !important; }
  .c-infoTable td { text-align: left; }
  .c-infoTable td ul { display: block; }
  .c-shopPhotos { margin: 0 !important; }
  /* ★3枚を横スクロールにして1枚を大きく見せる（2026-09-14の指示。カンプは3列並びで1枚107px＝小さすぎた）。
     ★枠そのものは本文幅に収まり、はみ出すのは中身だけ＝ページ全体の横スクロールは出ない */
  .c-shopPhotos .swell-block-columns__inner { display: flex; flex-wrap: nowrap; gap: calc(10 * var(--g)); margin: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: calc(8 * var(--g)); }
  .c-shopPhotos .swell-block-columns__inner > .swell-block-column { flex: 0 0 calc(240 * var(--g)); width: calc(240 * var(--g)) !important; max-width: none !important; flex-basis: calc(240 * var(--g)) !important; margin: 0 !important; padding: 0 !important; scroll-snap-align: start; }
  .c-shopPhotos img { aspect-ratio: 16 / 9; border-radius: calc(6 * var(--g)); }
  .c-map { margin: calc(26 * var(--g)) auto 0; max-width: none; }
  .c-map iframe { height: calc(165 * var(--g)); }
  .sec-shop .c-subTitle { margin: calc(37 * var(--g)) 0 calc(17 * var(--g)) !important; }
  .c-route { margin: 0 !important; }
  .c-route .swell-block-columns__inner { display: block; margin: 0; padding: 0; }
  .c-route .swell-block-columns__inner > .swell-block-column { width: 100% !important; max-width: none !important; flex-basis: auto !important; margin: 0 0 calc(35 * var(--g)) !important; padding: 0 !important; }
  .c-route + .c-route { margin-top: 0 !important; }
  .c-route__item { padding-left: 0; }
  .c-route__title { font-size: calc(var(--spf) * 1.375); line-height: 1.3; margin: 0 0 calc(10 * var(--g)); }
  .c-route__text { font-size: var(--spf); line-height: 1.75; margin: 0 0 calc(10 * var(--g)); padding-left: calc(10 * var(--g)); }
  .c-route__img img { aspect-ratio: 3 / 2; border-radius: calc(10 * var(--g)); }

  /* ---------- FAQ ---------- */
  .sec-faq { padding-top: calc(75 * var(--g)) !important; padding-bottom: 0 !important; }  /* ★h2の直上＝50→75（1.5倍） */
  .sec-faq .swell-block-fullWide__inner { padding-left: calc(20 * var(--g)) !important; padding-right: calc(20 * var(--g)) !important; }
  .sec-faq .c-secTitle { margin-bottom: calc(37 * var(--g)); }
  .sec-faq .c-subTitle { margin: calc(27 * var(--g)) 0 calc(23 * var(--g)) !important; }
  .sec-faq .c-secTitle + .c-subTitle { margin-top: 0 !important; }
  .c-faq.c-faq { margin: 0 !important; }
  .c-faq .swell-block-faq__item { margin: 0 0 calc(12 * var(--g)); }
  .c-faq .swell-block-faq__item:last-child { margin-bottom: 0; }
  .c-faq .faq_q { font-size: var(--spf); line-height: 1.4; min-height: 0; padding: calc(7 * var(--g)) calc(10 * var(--g)) calc(7 * var(--g)) calc(38 * var(--g)); }
  .c-faq .faq_q::before { left: calc(10 * var(--g)); width: calc(20 * var(--g)); height: calc(20 * var(--g)); line-height: calc(20.75 * var(--g)) /* ★20ではなく20.75＝字面の中心を丸の中央に合わせる */; font-size: calc(var(--spf) * 0.8); }
  .c-faq .faq_a { padding: calc(10 * var(--g)) calc(10 * var(--g)) 0 calc(38 * var(--g)); }
  .c-faq .faq_a::before { left: calc(10 * var(--g)); top: calc(12.75 * var(--g)); /* ★1行目の行ボックス（10〜35.5）の中央＝10+(25.5-20)/2 */ width: calc(20 * var(--g)); height: calc(20 * var(--g)); line-height: calc(20.75 * var(--g)) /* ★20ではなく20.75＝字面の中心を丸の中央に合わせる */; font-size: calc(var(--spf) * 0.8); }
  .c-faq .faq_a p { font-size: var(--spf); line-height: 1.7; }
  .sec-faq .c-banner { margin-top: calc(46 * var(--g)) !important; }

  /* ---------- フッター ---------- */
  .l-footer__widgetArea { padding: calc(28 * var(--g)) calc(20 * var(--g)) calc(110 * var(--g)); background-position: center bottom; background-size: 100% auto; }
  .l-footer__widgetArea .w-footer { display: block; max-width: none; padding: 0; }
  .l-footer__widgetArea .w-footer__box, .l-footer__widgetArea .w-footer__box:nth-child(1), .l-footer__widgetArea .w-footer__box:nth-child(2), .l-footer__widgetArea .w-footer__box:nth-child(3) { flex: none; padding: 0 !important; margin: 0 0 calc(32 * var(--g)); }
  .l-footer__widgetArea .w-footer__box:nth-child(1) { text-align: center; margin-bottom: calc(47 * var(--g)); }
  .l-footer .widget_media_image { padding: 0; }
  .c-footLogo img, .l-footer .widget_media_image img { width: calc(171 * var(--g)) !important; max-width: calc(171 * var(--g)) !important; margin: 0 auto; }
  .l-footer .c-widget__title { font-size: calc(var(--spf) * 1.25); margin-bottom: calc(14 * var(--g)); }
  .c-footInfo p, .l-footer .widget_text p, .l-footer .c-listMenu a { font-size: var(--spf); line-height: 1.9; }
  .l-footer .c-listMenu a { padding-left: calc(15 * var(--g)); }
  .l-footer .c-listMenu a::before { width: calc(5 * var(--g)); height: calc(5 * var(--g)); }
  .l-footer__foot { height: auto; padding: calc(6 * var(--g)) 0; }
  .l-footer__foot .copyright { font-size: calc(var(--spf) * 0.9); line-height: 1.5; }
}

/* ------------------------------------------------------------
   ★本文の幅の頭打ちは上のブロックで 375*--g（＝480px）にかけている。
   ここはその例外＝MVは画面幅いっぱい／フッターは335コマで中央
   ★2026-09-12の1回目は「600〜1199だけ・500コマ」で掛けていたため、480〜599で本文が横に伸び、
     箱の高さはそのままで幅だけ広がって、バッジがカンプより平たく見えていた
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  /* ★MVだけは写真も紺の面も画面幅いっぱいのまま（頭打ちにしない） */
  .c-mv .swell-block-fullWide__inner { max-width: none; }
  .l-footer__widgetArea .w-footer { max-width: calc(335 * var(--g)); margin: 0 auto; }
}

/* ------------------------------------------------------------
   600〜959：タブレット（2026-09-14に新設。SWELLの3段に合わせた）
   ★上のスマホ用ブロックをそのまま使い、拡大の上限だけ変える。
   ★上限1.6の根拠＝SWELLは599pxで本文 4vw＝**24px**、600pxから16px固定に切り替える。
     こちらは「375pxのカンプを拡大」方式なので、599pxのSWELLと同じ**24px**になる 1.6 で頭打ちにする（15 × 1.6 ＝ 24）。
     これで中身は 375×1.6＝**600px** まで広がる（600pxの画面では左右の余白が0になる）。
   ★1.28のままだと中身が480pxで頭打ちになり、768pxの画面で左右に144pxずつ余る（2026-09-14の指摘）
   ------------------------------------------------------------ */
@media (min-width: 600px) and (max-width: 959px) {
  :root { --g: min(calc(100vw / 375), 1.6px); }
}

/* ------------------------------------------------------------
   〜959：SWELLがSPヘッダー（ハンバーガー）に切り替わる幅＝スマホ・タブレット帯の上限と一致する。
   ここはカンプのヘッダー＝白・ロゴ中央・メニュー無しにする（高さ56pxは二宮さんの指示）。
   ★960以上はPCのヘッダー（ロゴ左＋ナビ）で、中身もPC設計
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .l-header__inner { max-width: none; height: 56px; min-height: 0; padding: 0 16px; justify-content: center; }
  .l-header__inner .l-header__logo { margin: 0 !important; padding: 0 !important; }
  .l-header__logo .c-headLogo, .l-header__logo .c-headLogo__link { height: 40px !important; }
  .l-header__logo img { height: 40px; }
  .l-header__customBtn, .l-header__menuBtn { display: none !important; }
}

/* ------------------------------------------------------------
   出張バナーのPC/SP出し分け（2026-09-12）
   ★本文（固定ページID 39）にバナーを2枚ずつ置いている。PC＝banner_outreach_1550x550.png（横長2.82:1）／
     SP＝sp_banner_outreach_500x750.png（2:3の縦長・2026-09-12 近藤さん納品・メディアID 149。★旧 750x500＝ID 146 は未使用だがメディアには残してある）
   ★★このブロックだけは min-width:1200 に触るが、指定は「新しく足した c-banner--sp を隠す」だけ。
     PCの既存の見た目は変わらない（バナー自体は従来どおり c-banner--pc が出る）
   ------------------------------------------------------------ */
@media (min-width: 960px) { .c-banner--sp { display: none !important; } }
@media (max-width: 959px) { .c-banner--pc { display: none !important; } }

/* v7.27（2026-10-30）料金表の下の注釈＝PCは表と同じ幅にして、右寄せの端を表の右端に揃える。959px以下は表も全幅なので触らない */
@media (min-width: 960px) { .c-priceTable + p { max-width: calc(1220 * var(--s)); margin-left: auto; margin-right: auto; } }
/* v7.28 注釈の行間＝段落の文字を注釈と同じ xs にし（中の xs は inherit）、行の高さを1.6倍に（16pxの段落の行の高さ28.8pxが、12pxの注釈の行間を広げていた） */
.c-priceTable + p { font-size: var(--swl-fz--xs); line-height: 1.6; }
.c-priceTable + p .u-fz-xs { font-size: inherit !important; line-height: inherit; }  /* xs は親の0.75倍なので、段落を xs にした上で中の xs を効かせると二重に縮む（12→9px） */

/* v7.29（2026-10-30）道順5（お店のアップ）は看板が写真の上端にあるので、切り抜きを上端に寄せる（下の自転車が少し切れる）。写真を差し替えたら見直す */
.c-route--2 .c-route__item:last-child .c-route__img img { object-position: 50% 0%; }
