@charset "UTF-8";
/* ============================================================
   nicotto 愛車買取 TOPページ
   Figmaデザイン: PC 1440px / SP 390px
   remスケーリング: 1rem = デザイン上の10px
   ============================================================ */

/* ---------- トークン ---------- */
:root {
  --c-text: #231816;
  --c-black: #222222;
  --c-red: #A7161E;
  --c-green: #41A736;
  --c-green-hero: #6BA642;
  --c-bg-green: #EEF4E9;
  --c-bg-off: #F8F9F7;
  --c-rose: #C36067;
  --c-rose-light: #EA7B82;
  --c-rose-pale: #DB8687;
  --c-yellow: #ECECAB;
  --c-white: #FFFFFF;
  --font-base: "Noto Sans JP", sans-serif;
  --font-kiwi: "Kiwi Maru", serif;
  --font-en: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- フォント ---------- */
/* Noto Sans JP はセルフホスト固定版 (noto-cjk Sans2.004 静的OTF)。
   Google Fonts配信版の更新で字送り・ベースラインがドリフトするのを防ぐ (2026-08-07)。
   バリアブル版は太字の縦メトリクスがFigma(静的版)と合わないため静的5ウェイトを使用 */
@font-face { font-family: "Noto Sans JP"; src: url("../fonts/NotoSansJP-DemiLight.sub.woff2") format("woff2"); font-weight: 350; font-display: swap; }
@font-face { font-family: "Noto Sans JP"; src: url("../fonts/NotoSansJP-Regular.sub.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Noto Sans JP"; src: url("../fonts/NotoSansJP-Medium.sub.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Noto Sans JP"; src: url("../fonts/NotoSansJP-Bold.sub.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Noto Sans JP"; src: url("../fonts/NotoSansJP-Black.sub.woff2") format("woff2"); font-weight: 900; font-display: swap; }
/* Kiwi Maru もセルフホスト固定 (使用文字は＼／のみ→極小サブセット。Google Fonts CSSのレンダーブロック解消) */
@font-face { font-family: "Kiwi Maru"; src: url("../fonts/KiwiMaru-Medium.sub.woff2") format("woff2"); font-weight: 500; font-display: swap; }

/* ---------- リセット ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
h1, h2, h3, h4 { font-weight: inherit; font-size: inherit; }

/* ---------- remスケーリング ---------- */
html { font-size: 10px; }
@media (max-width: 1440px) { html { font-size: calc(10 * 100vw / 1440); } }
/* SP(〜767px)は390pxのデザインを比例拡大する。ただし**上限1.2倍**で止める。
   青天井にすると767px付近で文字が31pxまで巨大化し、2x素材も等倍まで薄まって
   Retinaでボケる（タブレット縦持ち・PCのウィンドウ縮小で発生）。
   拡大を止めた分は .inner を390デザイン幅(39rem)で中央寄せして受ける。
   ※390pxちょうど / 1440pxちょうど の描画は一切変わらない＝カンプ照合に影響しない。 */
@media (max-width: 767px)  { html { font-size: min(calc(10 * 100vw / 390), 12px); } }

body {
  font-family: var(--font-base);
  color: var(--c-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
}

.inner {
  position: relative;
  width: 144rem;
  max-width: 100%;
  margin: 0 auto;
  height: 100%;
}

/* 回転した透かし文字のはみ出しをFigmaのフレーム同様にクリップ */
.voices, .nagare { overflow-x: clip; }

/* ---------- 重なり順 (Figmaレイヤー順) ---------- */
.about__head-wave, .cases__wave, .faq__wave { z-index: 1; }
.cases__wm, .voices__wm { z-index: 2; }
.about__head-en, .cases__title, .faq__title { z-index: 3; }
.about__head-car, .cases__head-car, .faq__head-car { z-index: 4; }
.faq__wm { z-index: 5; }
/* Figmaではフッター側波線が車より前面だが、2026-07-27クライアント指示で車(アイコン)を前面に変更 */
.about__foot-car { z-index: 1; }
.nagare__illust { z-index: 1; }

/* ---------- 共通部品 ---------- */
/* セクション見出し 60px/72 */
.sec-title {
  position: absolute;
  font-size: 6rem;
  font-weight: 700;
  line-height: 7.2rem;
  color: var(--c-text);
  white-space: nowrap;
}
.g { color: var(--c-green); }

/* 透かし英字 110px/132 */
.wm {
  position: absolute;
  font-size: 11rem;
  font-weight: 700;
  line-height: 13.2rem;
  white-space: nowrap;
  pointer-events: none;
}

/* ボタン: 325x75 r20 白インセット枠 + 影 */
.btn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 5rem;
  padding-right: 3rem;
  width: 32.5rem;
  height: 7.5rem;
  border-radius: 2rem;
  color: var(--c-white);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0.4rem 0.6rem 0 rgba(0, 0, 0, 0.08);
}
.btn--red { background: var(--c-red); box-shadow: 0.4rem 0.6rem 0 rgba(0, 0, 0, 0.08), inset 0 0 0 0.2rem var(--c-white); }
.btn--green { background: var(--c-green); box-shadow: 0.4rem 0.6rem 0 rgba(0, 0, 0, 0.08), inset 0 0 0 0.3rem var(--c-white); }
.btn--thin { font-size: 2.396rem; font-weight: 500; box-shadow: 0.4rem 0.6rem 0 rgba(0, 0, 0, 0.08), inset 0 0 0 0.3rem var(--c-white); }

/* シェブロン(>) 6x12相当 線4px */
.carret {
  display: block;
  width: 5rem;
  height: 5rem;
  position: relative;
}
.carret::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 1rem;
  height: 1.6rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 2 L8 8 L2 14' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 2 L8 8 L2 14' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translate(-50%, -50%);
}
.carret--rose { color: #CE7E65; width: 5rem; height: 5rem; }

/* ============================================================
   ヘッダー (h130)
   ============================================================ */
.site-header { background: var(--c-bg-green); height: 13rem; }
.site-header__nav {
  position: absolute;
  top: 0; right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 4.8rem;
  padding-right: 8rem;
}
.site-header__link {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: -0.2rem;
}
.site-header__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22rem;
  height: 5.8rem;
  border-radius: 4.5rem;
  background: var(--c-red);
  color: var(--c-white);
  font-size: 2.4rem;
  font-weight: 500;
  margin-top: 0;
  padding-bottom: 0.4rem; /* 実測: 文字が2px低い(フォント固定後) → flex中央を2px上へ */
}
.site-header__logo {
  position: absolute;
  top: 0; left: 0;
  width: 37.1rem;
  height: 13rem;
  background: var(--c-white);
}
.site-header__logo img {
  position: absolute;
  left: 6rem; top: 2.2rem;
  width: 25rem;
  height: 8.5rem;
}

/* ============================================================
   HERO (h650)
   ============================================================ */
.hero { background: var(--c-bg-green); height: 65rem; }
.hero .inner { overflow: hidden; }
.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__ribbon {
  position: absolute;
  left: 0;
  height: 10.328rem;
  background: var(--c-green-hero);
  border-radius: 0 1.119rem 1.119rem 0;
}
.hero__ribbon--1 { top: 6.91rem;  width: 53.593rem; }
.hero__ribbon--2 { top: 18.272rem; width: 29.723rem; }
.hero__title {
  position: absolute;
  left: 4.461rem;
  top: 6.05rem;
  font-size: 6.5rem;
  font-weight: 500;
  line-height: 11.098rem;
  letter-spacing: 0.537rem;
  color: var(--c-white);
  white-space: nowrap;
}
.hero__title .lg { font-size: 7.2rem; }
.hero__bubble {
  position: absolute;
  left: 102.25rem;
  top: 4.74rem;
  width: 25.65rem;
  height: 22.95rem;
}
.hero__family {
  position: absolute;
  left: 16rem;
  top: 17.4rem;
  width: 51.7rem;
  height: 49rem;
}

/* ============================================================
   ABOUT (h2373)
   ============================================================ */
.about { background: var(--c-bg-off); height: 237.3rem; }
.about__head-en {
  position: absolute;
  left: 8.3rem; top: 10.3rem;
  font-family: var(--font-en);
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 8.791rem;
  letter-spacing: 0.18rem;
  color: var(--c-rose-pale);
}
.about__head-wave { position: absolute; left: 7.8rem; top: 17.1rem; width: 127.8rem; height: 1.5rem; opacity: 0.8; }
.about__head-car { position: absolute; left: 119.3rem; top: 9.4rem; width: 13.9rem; height: 9.3rem; }
.about__lead {
  position: absolute;
  left: 7.8rem; top: 23.5rem;
  width: 48.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.2rem;
  letter-spacing: 0.024rem;
}
.about__lead .q { font-size: 3.2rem; color: #B85C5C; letter-spacing: 0.032rem; line-height: 5rem; }
.about__lead .num { font-size: 3rem; letter-spacing: 0.03rem; line-height: 1; }
.about__btn { left: 25.8rem; top: 62rem; }
.about__nico { position: absolute; left: 66.3rem; top: 24.5rem; width: 70rem; height: 44.8rem; }

.about__yellow { position: absolute; left: 16rem; top: 89.2rem; width: 120rem; height: 113.7rem; }
.about__card {
  position: absolute;
  left: 12rem; top: 85.3rem;
  width: 120rem; height: 113.7rem;
  background: var(--c-white);
  box-shadow: inset 0 0 0 0.4rem var(--c-text);
  border-radius: 5rem;
}
.about__photo { position: absolute; left: 7.5rem; top: 6rem; width: 105rem; height: 70rem; border-radius: 4rem; }
.about__badge { position: absolute; width: 27.55rem; height: 25rem; }
.about__badge--1 { left: 29.4rem; top: 58.3rem; }
.about__badge--2 { left: 90rem; top: 58.3rem; }
.about__col-title {
  position: absolute;
  font-size: 4rem;
  font-weight: 700;
  line-height: 4.8rem;
  letter-spacing: 0.18rem;
  white-space: nowrap;
}
.about__col-title--1 { left: 7.5rem; top: 83.6rem; color: var(--c-rose-pale); }
.about__col-title--2 { left: 63.5rem; top: 84rem; color: var(--c-rose-light); }
.about__col-car { position: absolute; width: 9.6rem; height: 6.4rem; }
.about__col-car--1 { left: 38.1rem; top: 82.8rem; }
.about__col-car--2 { left: 98.2rem; top: 83.2rem; width: 10.4rem; height: 7.8rem; z-index: 5; }
.about__col-text {
  position: absolute;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
}
.about__col-text--1 { left: 7.5rem; top: 90.2rem; width: 52rem; }
.about__col-text--2 { left: 63.5rem; top: 90.6rem; width: 49.4rem; }

.about__btn2 { left: 34.6rem; top: 212.9rem; }
.about__btn3 { left: 77rem; top: 212.9rem; width: 32.4rem; }
.about__btn3, .partner__btn { letter-spacing: 0.18rem; }
.about__foot-car { position: absolute; left: 118.5rem; top: 212.9rem; width: 15.3rem; height: 14.9rem; }
.about__foot-wave { position: absolute; left: 8.1rem; top: 227.5rem; width: 127.8rem; height: 1.5rem; opacity: 0.8; }

/* ============================================================
   選ばれる３つの理由 (h915)
   ============================================================ */
.reasons { background: var(--c-bg-green); height: 91.5rem; }
.reasons__title {
  position: absolute;
  left: 0; top: 8rem;
  width: 100%;
  height: 11.6rem;
}
.slash {
  position: absolute;
  font-family: var(--font-kiwi);
  font-size: 8rem;
  font-weight: 500;
  line-height: 11.584rem;
  color: var(--c-rose);
}
.slash--l { left: 36rem; top: 0; }
.slash--r { left: 100rem; top: 0; }
.reasons__title-main {
  position: absolute;
  left: 0; right: 0;
  top: 2rem;
  text-align: center;
  font-size: 6rem;
  font-weight: 700;
  line-height: 7.2rem;
  color: var(--c-text);
}
.reasons__card {
  position: absolute;
  top: 27.6rem;
  width: 38rem;
  height: 56.5rem;
  background: var(--c-white);
  box-shadow: inset 0 0 0 0.813rem #96CB8C;
  border-radius: 4.063rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reasons__card--1 { left: 12rem; }
.reasons__card--2 { left: 53rem; }
.reasons__card--3 { left: 94rem; }
.reasons__card-title {
  position: absolute;
  top: 29.1rem;
  left: 0; right: 0;
  text-align: center;
  font-size: 3.251rem;
  font-weight: 700;
  line-height: 5.079rem;
  letter-spacing: 0.033rem;
  color: #B85C5C;
}
.reasons__card-text {
  position: absolute;
  top: 35.2rem;
  left: 3rem;
  width: 32rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
}
.reasons__bubble { position: absolute; }
/* 2026-08-21 カンプ改版: 1つ目の吹き出しが右へ+27px、2つ目が「何でもOK！」→「まずは相談！」
   (Figma アセット19[311b34bd] → アセット39[310ecf48]) で +6px右・3px下 */
.reasons__bubble--1 { left: 9.3rem;  top: 26rem; width: 23.49rem; height: 14.03rem; }
.reasons__bubble--2 { left: 50rem; top: 26.1rem; width: 25.61rem; height: 14.62rem; }
.reasons__bubble--3 { left: 92.6rem; top: 26.1rem; width: 23.49rem; height: 14.05rem; }

/* ============================================================
   お客様の声 (h899)
   ============================================================ */
.voices { background: var(--c-bg-off); height: 89.9rem; }
.voices__wm {
  left: 1.4rem; top: 5.7rem;
  color: rgba(220, 172, 172, 0.5);
  writing-mode: vertical-rl;
  transform: rotate(1.6deg);
}
.voices__title { left: 0; right: 0; text-align: center; top: 7.8rem; color: var(--c-black); }
.voices__sparkle { position: absolute; left: 87.5rem; top: 5.7rem; width: 4.6rem; height: 4.6rem; }
.voices__card {
  position: absolute;
  left: 16rem;
  width: 112rem;
  height: 18.5rem;
  background: var(--c-white);
  border-radius: 4rem;
}
.voices__card--1 { top: 18.4rem; }
.voices__card--2 { top: 40.9rem; }
.voices__card--3 { top: 63.4rem; }
.voices__card > img {
  position: absolute;
  left: 6.6rem; top: 2rem;
  width: 21.2rem;
  height: 14.5rem;
  border-radius: 16.6rem;
}
.voices__body {
  position: absolute;
  left: 36.4rem; top: 0;
  width: 59rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.voices__quote {
  width: 59.4rem;
  margin-top: -0.4rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
  color: var(--c-black);
}
.voices__name {
  position: relative; top: 0.1rem; left: 0.1rem; /* 実測1px上左 */
  margin-top: 0.4rem;
  font-weight: 500;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
  text-align: right;
}

/* ============================================================
   買取の流れ (h1170)
   ============================================================ */
.nagare { background: var(--c-bg-green); height: 117rem; }
.nagare__wm {
  left: 129.1rem; top: 5.5rem;
  color: var(--c-white);
  writing-mode: vertical-rl;
  transform: rotate(1.6deg);
}
.nagare__illust { position: absolute; left: 2.6rem; top: 11.3rem; width: 36.2rem; height: 95.9rem; }
.nagare__title { left: 57rem; top: 15.9rem; }
.nagare__heart { position: absolute; left: 77.5rem; top: 11.3rem; width: 14rem; height: 6.6rem; }
.nagare__num {
  position: absolute;
  top: 28.1rem;
  width: 7.9rem;
  height: 7.9rem;
  border-radius: 50%;
  background: var(--c-rose-light);
  color: var(--c-white);
  font-size: 4.93rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  padding: 1.3rem 0 0 1rem;
  z-index: 2;
}
.nagare__num--1 { left: 48.8rem; }
.nagare__num--2 { left: 78.2rem; }
.nagare__num--3 { left: 107.6rem; }
.nagare__step {
  position: absolute;
  width: 23.3rem;
  height: 23.3rem;
  background: var(--c-white);
  box-shadow: inset 0 0 0 0.5rem #99B386;
  border-radius: 4rem;
}
.nagare__step--1 { left: 41.1rem; top: 33.5rem; height: 22.8rem; }
.nagare__step--2 { left: 70.5rem; top: 33.6rem; }
.nagare__step--3 { left: 100rem; top: 33.4rem; }
.nagare__step img { position: absolute; left: 2.6rem; top: 2rem; width: 18rem; height: 18rem; }
.nagare__step span {
  position: absolute;
  left: 0; right: 0;
  top: 18rem;
  text-align: center;
  font-size: 2.006rem;
  font-weight: 700;
  line-height: 2.407rem;
  letter-spacing: 0.09rem;
  color: var(--c-black);
}
.nagare__arrow { position: absolute; top: 41.8rem; }
.nagare__arrow--1 { left: 65.1rem; width: 4.7rem; height: 6.2rem; }
.nagare__arrow--2 { left: 94.5rem; width: 4.8rem; height: 6.1rem; }
.nagare__h3 {
  position: absolute;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 5.76rem;
  color: var(--c-text);
  white-space: nowrap;
}
.nagare__h3--1 { left: 38.1rem; top: 59.5rem; }
.nagare__h3--2 { left: 73.1rem; top: 59.5rem; }
.nagare__text {
  position: absolute;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
}
.nagare__text--1 { left: 38.2rem; top: 67rem; width: 33rem; }
.nagare__text--2 { left: 73.1rem; top: 67.1rem; width: 55.3rem; }
.nagare__btn { left: 95.9rem; top: 93.9rem; }

/* ============================================================
   パートナーシップ (h512)
   ============================================================ */
.partner { background: var(--c-bg-off); height: 51.2rem; }
.partner__photo { position: absolute; left: 16rem; top: 7.8rem; width: 53.2rem; height: 35.5rem; border-radius: 4rem; }
.partner__deco { position: absolute; left: 123.3rem; top: 0.6rem; width: 12.5rem; height: 16.4rem; }
.partner__title { left: 77.2rem; top: 7.8rem; }
.partner__text {
  position: absolute;
  left: 77.2rem; top: 18.5rem;
  width: 50.99rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
}
.partner__btn { left: 95.5rem; top: 35.7rem; }
.partner__btn .carret::before { margin-top: -0.2rem; }

/* ============================================================
   買取事例 (h1288)
   2026-08-21 カンプ改版: カード中身が「車種名＋お客様の声」から
   「Sさま/在住地 ＋【車種名】＋車両スペック箇条書き」に差し替わり、
   カード高 701→623 (1枚目 693.9→618) / セクション 1366→1288 (-78px)
   ============================================================ */
.cases { background: var(--c-bg-green); height: 128.8rem; }
.cases__wm { left: 98.1rem; top: 13.9rem; color: rgba(255, 255, 255, 0.6); }
.cases__title { left: 11.1rem; top: 18.3rem; }
.cases__wave { position: absolute; left: 9.5rem; top: 24.5rem; width: 125rem; height: 1.5rem; opacity: 0.8; }
.cases__head-car { position: absolute; left: 120.9rem; top: 17.9rem; width: 12rem; height: 8rem; }
.cases__lead {
  position: absolute;
  left: 9.6rem; top: 29.8rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
}
.cases__card {
  position: absolute;
  top: 37rem;
  width: 38rem;
  height: 62.3rem;
  background: var(--c-white);
  border-radius: 4rem;
}
.cases__card--1 { left: 12rem; height: 61.8rem; } /* Figma 2120:8009 h=618 (2/3枚目は623) */
.cases__card--2 { left: 53rem; }
.cases__card--3 { left: 94rem; }
.cases__photo {
  position: absolute;
  left: 0; top: 0;
  width: 38rem;
  height: 24.1rem;
  border-radius: 4rem 4rem 0 0;
}
.cases__card-title {
  position: absolute;
  left: 3rem; top: 27.6rem;
  width: 32rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 5rem;
  letter-spacing: 0.032rem;
  color: var(--c-text); /* 2026-08-21 改版で #000000 → #231816 (Figma 2120:8014/8026/8039) */
  white-space: nowrap;
}
.cases__card-text {
  position: absolute;
  left: 3rem; top: 33.4rem;
  width: 32rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
  /* Chrome既定の text-spacing-trim:normal は行頭の【 の左アキ0.5emをツメる。
     Figmaはツメないので space-all で全角ベタ組みに揃える (【 のlsbは実測0.66em) */
  text-spacing-trim: space-all;
  /* 折返しは全行 <br> で明示。ブラウザは最終文字にも letter-spacing を足すので
     【スズキ スペーシアギア】(Figmaの実幅318.2) が箱320を1.9px超えて折れてしまう */
  white-space: nowrap;
}
/* 1行目【車種名】: 26px Bold 緑。括弧だけ ls1.95 / 車種名は個別 (Figma 2120:8016 ほか) */
.cases__spec-car { font-size: 2.6rem; font-weight: 700; color: var(--c-green); letter-spacing: 0.195rem; }
.cases__spec-name { letter-spacing: 0.18rem; }
/* 車種名の欧文だけ Figma の空白送りが1px広い (実測: ref の N は x272 / 実装 271。
   CJK部は全字ぴったり一致するので空白1文字ぶんの差)。word-spacing で1px足すと
   この行の差分画素が 870→530 (カード1) / 470→380 (カード3) に落ちる */
.cases__card--1 .cases__spec-name,
.cases__card--3 .cases__spec-name { word-spacing: 0.1rem; }
.cases__card--2 .cases__spec-name { letter-spacing: 0.013rem; } /* Figma 2120:8028 ov58 ls0.13 */
/* グレード注記の▼だけ 18px/ls1.35 (Figma ov57 / ov21)。
   line-height:1 は必須 — 継承した42pxのままだと18px用の下半分(13.15px)が
   strutの10.54pxを超えて行ボックスが2.6px伸び、以降の行が下がる */
.cases__spec-tri { font-size: 1.8rem; letter-spacing: 0.135rem; line-height: 1; }
/* Figmaは行ごとに lineHeight が違う (グレード注記まわりだけ 42→32)。
   単一<p>の行送りは strut の 42px 固定なので、32px送りになる行を実測差ぶん引き上げる。
   card2: L4/L5 が -10px / card3: L3 -10px・L4/L5 -20px (ベースライン実測 7469/7501/7543 ほか) */
.cases__spec-line--up1 { position: relative; top: -1rem; }
.cases__spec-line--up2 { position: relative; top: -2rem; }
.cases__more {
  position: absolute;
  left: 19.25rem; top: 55.2rem;
  display: flex;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
  color: var(--c-rose);
}
.cases__more .carret { margin-left: -0.1rem; }
.cases__btn { left: 55.8rem; top: 105.3rem; }
.cases__foot-car { position: absolute; left: 111.77rem; top: 103.4rem; width: 22.07rem; height: 21.41rem; }

/* ============================================================
   よくある質問 (h1476)
   ============================================================ */
.faq { background: var(--c-bg-off); height: 147.6rem; }
.faq__wm { left: 99.8rem; top: 13.5rem; color: rgba(65, 167, 54, 0.12); }
.faq__title { left: 9.6rem; top: 18.4rem; color: var(--c-black); }
.faq__wave { position: absolute; left: 9.6rem; top: 24.4rem; width: 124.8rem; height: 1.5rem; opacity: 0.8; }
.faq__head-car { position: absolute; left: 121.1rem; top: 17.9rem; width: 11.7rem; height: 8rem; }
.faq__lead {
  position: absolute;
  left: 9.6rem; top: 29.1rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
}
.faq__item { position: absolute; left: 12rem; width: 120rem; }
.faq__item--1 { top: 36.7rem; }
.faq__item--2 { top: 65.5rem; }
.faq__item--3 { top: 94.3rem; }
.faq__q {
  position: relative;
  height: 10.8rem;
  background: var(--c-bg-green);
  border-radius: 4rem 4rem 0 0;
}
.faq__a {
  position: relative;
  height: 13rem;
  background: var(--c-white);
  border-radius: 0 0 4rem 4rem;
}
.faq__q-mark, .faq__a-mark {
  position: absolute;
  left: 5rem; top: 2.8rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 4.8rem;
  letter-spacing: 0.18rem;
}
.faq__a-mark { color: var(--c-green); }
.faq__q p {
  position: absolute;
  left: 11.6rem; top: 3.1rem;
  width: 83rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.2rem;
  letter-spacing: 0.18rem;
}
.faq__a p {
  position: absolute;
  left: 11.1rem; top: 2.8rem;
  width: 103.9rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.5rem;
  letter-spacing: 0.18rem;
}
.faq__btn { left: 55.8rem; top: 124.1rem; }

/* ============================================================
   フッター (h304) + コピーライト (h63)
   ============================================================ */
.site-footer { background: #D4E9CE; height: 30.4rem; }
.site-footer__logo {
  position: absolute;
  left: 26rem; top: 3rem;
  width: 37.1rem; height: 13rem;
}
.site-footer__logo img { position: absolute; left: 6rem; top: 2.2rem; width: 25rem; height: 8.5rem; }
.site-footer__company {
  position: absolute;
  left: 18.1rem; top: 17.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.92rem;
}
.site-footer__addr {
  position: absolute;
  left: 18.1rem; top: 19.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.92rem;
}
.site-footer__tel {
  position: absolute;
  left: 18.1rem; top: 23.2rem; /* 実測: 文字1px低(フォント固定後) → -0.1rem */
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 4.2rem;
  letter-spacing: 0.158rem;
}
.site-footer__btn {
  left: 46.9rem; top: 20rem;
  padding-left: 2.5rem;
  padding-right: 1rem;
  width: 25.1rem;
  height: 7.5rem;
  font-size: 2.5rem;
  padding-bottom: 0.2rem; /* 実測: 文字1px低(フォント固定後) → flex中央を1px上へ */
  box-shadow: 0.278rem 0.556rem 0.833rem rgba(0, 0, 0, 0.08), inset 0 0 0 0.278rem var(--c-white);
}
.site-footer__btn .carret { width: 5.7rem; height: 5.8rem; }
.site-footer__btn .carret::before { width: 1.12rem; height: 1.83rem; }
.site-footer__catch {
  position: absolute;
  left: 77.1rem; top: 6.6rem; /* 実測: 1px左 */
  width: 39rem;
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  line-height: 4.8rem;
  letter-spacing: 0.18rem;
}
.site-footer__nav a {
  position: absolute;
  top: 20.9rem;
  font-size: 1.704rem;
  font-weight: 500;
  line-height: 2.044rem;
  white-space: nowrap;
}
.site-footer__nav a:nth-child(1) { left: 76.6rem; }
.site-footer__nav a:nth-child(2) { left: 86.9rem; }
.site-footer__nav a:nth-child(3) { left: 97.2rem; }
.site-footer__nav a:nth-child(4) { left: 110.9rem; }
.site-footer__policy {
  position: absolute;
  left: 77rem; top: 24.6rem;
  font-size: 1.704rem;
  font-weight: 500;
  line-height: 2.044rem;
}
.copyright { background: #5A5957; height: 6.3rem; }
.copyright p {
  position: absolute;
  left: 55.3rem; top: 2.1rem;
  font-size: 1.704rem;
  font-weight: 500;
  line-height: 2.044rem;
  color: var(--c-white);
}
.bottom-divider { height: 0.3rem; background: #E0E0E0; }

/* カード3の個別座標 (Figma上3pxずれ) */
.reasons__card--3 .reasons__card-title { top: 29.3rem; }
.reasons__card--3 .reasons__card-text { top: 34.9rem; }


/* ステップ内アイコンの個別位置 (Figma上で1-3pxずれ) */
.nagare__step--1 img { left: 2.7rem; }
.nagare__step--2 img { top: 2.3rem; }

.about__sp-heart { display: none; }
.sp-only { display: none; }
.br-pc { display: inline; }
.site-header__menu, .nagare__arrow-sp { display: none; }
.br-sp { display: none; }

/* 実測ズレ補正 (probe_shift) — PC限定。min-widthでSPへの漏れを防ぐ */
@media (min-width: 768px) {
  .reasons__card--1 .reasons__card-text { top: 35.1rem; }
  .reasons__card--1 .reasons__icon { position: relative; left: -0.1rem; }
  .reasons__card--3 .reasons__icon { position: relative; top: -0.1rem; }
  .about__btn3 { padding-left: 5.2rem; }
  .about__btn .carret::before, .about__btn2 .carret::before, .about__btn3 .carret::before {
    transform: translate(calc(-50% - 0.1rem), calc(-50% - 0.1rem)); /* 実測: シェブロン1px低右 */
  }
  .about__lead .q-open, .about__lead .q-close { position: relative; top: 0.3rem; } /* 実測: PC引用記号のみ3px高 */

  /* ---- 2026-08-20 トリアージ収束 (8/19の新TOPカンプに対する再実測) ----
     Chromeはグリフのベースラインを整数pxにしかスナップできない
     (0.25/0.5/0.75pxのCSS移動では描画が1bitも変わらず、1pxでちょうど1px動くことを実測)。
     下記は「カンプに遠い方の整数」に落ちていた要素を、近い方の整数へ1px送る。
     カッコ内は補正前のインク重心実測値(+=カンプが下 / -=カンプが上)。 */
  .about__col-title--1 { top: 83.5rem; }   /* dy -0.63 */
  .about__col-title--2 { top: 83.9rem; }   /* dy -0.63 */
  .about__col-text--1 { top: 90.1rem; }    /* dy -0.97 */
  .about__col-text--2 { top: 90.5rem; }    /* dy -1.00 */
  .slash--l, .slash--r { top: 0.1rem; }    /* dy +1.03 */
  .reasons__card--1 .reasons__card-title,
  .reasons__card--2 .reasons__card-title { top: 29rem; }  /* dy -0.97 / -1.00 */
  .reasons__card--2 .reasons__card-text { top: 35.1rem; } /* dy -1.01 */
  .voices__card--1 .voices__name { top: 0.2rem; }         /* dy +0.85 */
  .voices__card--1 .voices__quote { transform: translateY(0.1rem); } /* dy +1.01 */
  .partner__text { top: 18.4rem; }         /* dy -0.94 */
  .reasons__bubble--1 { top: 26.1rem; }    /* dy +0.79 */
  .about__badge--2 { left: 89.9rem; }      /* dx -0.62 (マスク走査 dx=+1) */
  .nagare__text--1 { left: 38.1rem; }      /* マスク走査 dx=+1 (90.4→10.6) */
  /* 数字01-03: マスク走査 dx=-1。+0.5px/+1px/+1.5px を実測し +1px が最良 (47.2→37.1) */
  .nagare__num--1 { left: 48.9rem; }
  .nagare__num--2 { left: 78.3rem; }
  .nagare__num--3 { left: 107.7rem; }
  .reasons__card--3 .reasons__card-title { transform: translateX(0.1rem); } /* マスク走査 dx=-1 (56.0→20.5) */
  /* 透かし "Voice" はインク実測で ref y4122-4403 x30-121 / site y4125-4406 x27-120
     ＝3px下・2px左。しきい値32未満なので全体差分には出ないが実ズレなので直す */
  .voices__wm { left: 1.6rem; top: 5.4rem; }
  /* ボタンのシェブロンは実測1px低い → 1px上げる */
  .nagare__btn .carret::before,
  .cases__btn .carret::before,
  .faq__btn .carret::before { transform: translate(-50%, calc(-50% - 0.1rem)); } /* dy -0.99 / -0.98 / -0.98 */
}

/* ============================================================
   SP (〜767px) — デザイン390px基準
   ============================================================ */
@media (max-width: 767px) {

/* --- PC専用要素の非表示 --- */
.site-header__link,
.about__foot-car, .about__foot-wave,
.about__badge,
.nagare__arrow,
.cases__foot-car,
.site-footer__catch,
.bottom-divider { display: none; }

/* --- ヘッダー (h64) --- */
.site-header { height: 6.4rem; box-shadow: inset 0 -0.1rem 0 #E0E0E0; }
.site-header__logo { width: 14.5rem; height: 6.4rem; }
.site-header__logo img { left: 2rem; top: 1.4rem; width: 10.5rem; height: 3.6rem; }
.site-header__nav { gap: 0.8rem; padding-right: 1.5rem; }
.site-header__cta {
  width: 12rem; height: 3rem;
  border-radius: 1.5rem;
  font-size: 1.2rem; font-weight: 700;
}
.site-header__menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.6rem;
  width: 4rem; height: 4rem;
  padding: 0.8rem 1rem;
  background: none; border: none;
  cursor: pointer;
}
.site-header__menu span { display: block; width: 2rem; height: 0.2rem; border-radius: 0.1rem; background: var(--c-text); }

/* --- HERO (h419) --- */
.hero__inner { height: 41.9rem; }
.hero { height: 41.9rem; }
.hero__bg { }
.hero__ribbon { height: 6rem; border-radius: 0 0.646rem 0.646rem 0; }
.hero__ribbon--1 { top: 4.5rem; width: 30.9rem; }
.hero__ribbon--2 { top: 11rem; width: 17.2rem; }
.hero__title {
  left: 2.6rem; top: 3.97rem; /* 実測: 1px上左 */
  font-size: 3.753rem;
  line-height: 6.524rem;
  letter-spacing: 0.31rem;
}
.hero__title .lg { font-size: 4.157rem; }
.hero__l2 { position: relative; top: -0.1rem; left: -0.1rem; } /* 実測: SP2行目のみ1px低右 */
.hero__bubble { left: 26.72rem; top: 12.99rem; width: 10.66rem; height: 9.53rem; }
.hero__family { left: 1.0rem; top: 17.5rem; width: 23.4rem; height: 22.2rem; }

/* --- ABOUT (h700+963=1663) --- */
.about { height: 166.3rem; }
.about__head-en {
  left: 2.1rem; top: 4.9rem;
  font-family: var(--font-base);
  font-size: 3.6rem;
  line-height: 4.32rem;
  letter-spacing: 0;
}
.about__head-wave { left: 1.6rem; top: 8.3rem; width: 36rem; height: 1rem; }
.about__head-car { left: 32.1rem; top: 5.6rem; width: 5rem; height: 3.3rem; }
.about__lead {
  left: 1.6rem; top: 11.85rem;
  width: 36rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.02rem;
  letter-spacing: 0;
}
.about__lead .q { font-size: 2rem; font-weight: 900; line-height: 3.02rem; letter-spacing: 0; position: relative; top: 0.1rem; /* 実測: 引用行のみ1px高 */ }
.about__lead .q-close { position: relative; top: 0.1rem; } /* 実測: 閉じ引用符のみさらに1px高 */
.about__lead .num { font-size: 2rem; letter-spacing: 0; }
.about__btn { left: 6.6rem; top: 62.1rem; }
.about__nico { left: 1.6rem; top: 35.5rem; width: 36rem; height: 23.1rem; }
.about__yellow { left: 2.8rem; top: 73.7rem; width: 34.8rem; height: 71.3rem; }
.about__card {
  left: 1.5rem; top: 72.4rem;
  width: 35rem; height: 71.3rem;
  box-shadow: inset 0 0 0 0.15rem var(--c-text);
  border-radius: 1.5rem;
}
.about__photo { left: 1.5rem; top: 1.5rem; width: 32rem; height: 21.3rem; border-radius: 1.219rem; }
.about__sp-heart { display: block; position: absolute; width: 7rem; height: 6.4rem; }
.about__sp-heart--1 { left: 1.5rem; top: 24.8rem; }
.about__sp-heart--2 { left: 1.5rem; top: 46.2rem; }
.about__col-title { font-size: 2rem; line-height: 2.4rem; letter-spacing: 0; }
.about__col-title--1 { left: 1.5rem; top: 31.2rem; color: var(--c-rose-light); }
.about__col-title--2 { left: 1.5rem; top: 52.5rem; }
.about__col-car { width: 5.2rem; height: 3.2rem; }
.about__col-car--1 { left: 16rem; top: 30.4rem; }
.about__col-car--2 { left: 18rem; top: 51.7rem; }
.about__col-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0;
}
.about__col-text--1 { left: 1.5rem; top: 34.6rem; width: 32rem; }
.about__col-text--2 { left: 1.5rem; top: 55.9rem; width: 32rem; }
.about__btn2 { left: 6.6rem; top: 148.5rem; }
.about__btn3 { left: 6.6rem; top: 155.9rem; width: 26rem; }

/* --- SPボタン共通 (260x54 r18) --- */
.btn {
  width: 26rem; height: 5.4rem;
  border-radius: 1.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  box-shadow: 0.2rem 0.4rem 0.6rem rgba(0, 0, 0, 0.08);
}
.btn--red, .btn--green, .btn--thin { font-size: 1.8rem; font-weight: 700; box-shadow: 0.2rem 0.4rem 0.6rem rgba(0, 0, 0, 0.08), inset 0 0 0 0.2rem var(--c-white); }
.carret { width: 4.2rem; height: 4.2rem; }
.carret::before { width: 0.8rem; height: 1.3rem; }
.about__btn3, .partner__btn { letter-spacing: 0; }
.partner__btn .carret::before { margin-top: 0; }

/* --- 選ばれる３つの理由 (h1308) --- */
.reasons { height: 130.8rem; }
.reasons__title { top: 5rem; height: 5.5rem; }
.slash { font-size: 3.8rem; line-height: 5.502rem; }
.slash--l { left: 2.1rem; font-family: var(--font-kiwi); }
.slash--r { left: 33.1rem; }
.reasons__title-main { top: 1rem; font-size: 2.8rem; line-height: 3.36rem; }
.reasons__card {
  left: 1.5rem !important;
  width: 36rem;
  border-radius: 1.8rem;
  box-shadow: inset 0 0 0 0.25rem #96CB8C, 0 0 0 0.25rem #96CB8C;
}
.reasons__card--1 { top: 13.2rem; height: 35.9rem; }
.reasons__card--2 { top: 55.1rem; height: 31.9rem; }
.reasons__card--3 { top: 93.1rem; height: 33rem; }
.reasons__card--1 .reasons__icon { width: 13.5rem !important; height: 14.9rem !important; margin-top: 3rem !important; }
.reasons__card--2 .reasons__icon { width: 13.5rem !important; height: 13.3rem !important; margin-top: 3rem !important; }
.reasons__card--3 .reasons__icon { width: 13.5rem !important; height: 14.4rem !important; margin-top: 3rem !important; }
.reasons__card-title { top: 19.9rem; font-size: 2.1rem; line-height: 3.36rem; letter-spacing: 0.021rem; }
.reasons__card--3 .reasons__card-title { top: 19.4rem; }
.reasons__card--2 .reasons__card-title { top: 18.4rem; }
.reasons__card-text {
  top: 23.3rem; left: 2rem;
  width: 32rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.12rem;
}
.reasons__card--2 .reasons__card-text { top: 21.8rem; }
.reasons__card--3 .reasons__card-text { top: 22.8rem; }
.reasons__bubble--1 { left: 0.5rem; top: 11.7rem; width: 18rem; height: 10.8rem; }
.reasons__bubble--2 { left: 0.5rem; top: 53.6rem; width: 18rem; height: 10.3rem; }
.reasons__bubble--3 { left: 0.5rem; top: 91.6rem; width: 18rem; height: 10.8rem; }

/* --- お客様の声 (h1239) --- */
.voices { height: 123.9rem; }
.voices__wm { left: 0.6rem; top: 2rem; font-size: 5rem; line-height: 6rem; }
.voices__title { top: 6rem; font-size: 2.8rem; line-height: 3.64rem; }
.voices__sparkle { left: 29.1rem; top: 5.4rem; width: 1.9rem; height: 1.9rem; }
.voices__card { left: 1.5rem; width: 36rem; border-radius: 1.8rem; }
.voices__card--1 { top: 12.8rem; height: 31.1rem; }
.voices__card--2 { top: 47.9rem; height: 33.5rem; }
.voices__card--3 { top: 85.4rem; height: 33.5rem; }
.voices__card > img { left: 7.4rem; top: 3rem; width: 21.2rem; height: 14.5rem; }
.voices__body { position: static; width: auto; }
.voices__quote {
  position: absolute;
  left: 5rem; top: 23.3rem;
  width: 26.4rem;
  margin: 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: 0.12rem;
}
.voices__name {
  position: absolute;
  left: 0; right: 0;
  top: 18.1rem;
  margin: 0;
  text-align: center;
  font-size: 2.1rem;
  line-height: 4.2rem;
  letter-spacing: 0.158rem;
}

/* --- 買取の流れ (h1143) --- */
.nagare { height: 114.3rem; }
.nagare__wm { left: auto; right: 0; top: 2rem; font-size: 5rem; line-height: 6rem; }
.nagare__title { left: 0; right: 0; text-align: center; top: 6rem; font-size: 2.8rem; line-height: 3.64rem; }
.nagare__heart { left: 25rem; top: 3.5rem; width: 3.5rem; height: 3.4rem; }
.nagare__illust { z-index: auto; }
.faq__wm { z-index: 2; }
.nagare__illust { left: 1.5rem; top: 12.8rem; width: 20.9rem; height: 21.4rem; }
.nagare__num { font-size: 3.2rem; line-height: 1; padding: 0.9rem 0 0 0.7rem; } /* 実測: 数字3-4px高→padding-top+0.4 */
.nagare__num--1 { left: 26.6rem; top: 15.8rem; width: 5.2rem; height: 5.2rem; }
.nagare__num--2 { left: 7.6rem; top: 62.3rem; width: 5.2rem; height: 5.2rem; }
.nagare__num--3 { left: 26.1rem; top: 62.2rem; width: 5.4rem; height: 5.4rem; }
.nagare__step { border-radius: 2.61rem; box-shadow: inset 0 0 0 0.33rem #99B386; }
.nagare__step--1 { left: 21.6rem; top: 19.5rem; width: 15.2rem; height: 15.2rem; }
.nagare__step--2 { left: 2.4rem; top: 66rem; width: 15.6rem; height: 15.6rem; }
.nagare__step--3 { left: 20.9rem; top: 65.7rem; width: 15.9rem; height: 15.9rem; }
.nagare__step img { width: 11.5rem; height: 11.5rem; }
.nagare__step--1 img { left: 1.5rem; top: 1.5rem; }
.nagare__step--2 img { left: 2.4rem; top: 1.9rem; }
.nagare__step--3 img { left: 2.1rem; top: 1.7rem; }
.nagare__step span { font-size: 1.308rem; line-height: 1.57rem; letter-spacing: 0.059rem; }
.nagare__step--1 span { top: 12rem; }
.nagare__step--2 span { top: 12.1rem; font-size: 1.341rem; }
.nagare__step--3 span { top: 12.3rem; font-size: 1.368rem; } /* 実測: 2px低 */
.nagare__arrow-sp { display: block; position: absolute; left: 17.5rem; top: 57.1rem; width: 4.1rem; height: 3.1rem; }
.nagare__h3 { font-size: 2.3rem; line-height: 2.99rem; }
.nagare__h3--1 { left: 1.5rem; top: 36.7rem; }
.nagare__h3--2 { left: 1.5rem; top: 84.4rem; }
.nagare__text {
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: 0.12rem;
}
.nagare__text--1 { left: 1.5rem; top: 40.6rem; width: 36.3rem; } /* 実測: 1px低→-0.1rem */
.nagare__text--2 { left: 1.5rem; top: 88.3rem; width: 36.3rem; } /* 実測: 1px低→-0.1rem */
.nagare__btn { left: 6.5rem; top: 103.9rem; }
.nagare__btn .carret { margin-left: 1rem; }

/* --- パートナーシップ (h544 / 背景白) --- */
.partner { height: 54.4rem; background: var(--c-white); }
.partner__title { left: 0; right: 0; text-align: center; top: 6.1rem; font-size: 2.8rem; line-height: 3.64rem; }
.partner__deco { left: 29.8rem; top: 2.9rem; width: 5.7rem; height: 7.5rem; }
.partner__photo { left: 1.5rem; top: 12.8rem; width: 36rem; height: 18rem; border-radius: 1.8rem; }
.partner__text {
  left: 1.5rem; top: 33.3rem;
  width: 36rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0;
}
.partner__btn { left: 6.5rem; top: 44rem; }

/* --- 買取事例 (h1632) ---
   2026-08-21 SPカンプ改版: カード中身が「Sさま/在住地＋【車種名】＋スペック箇条書き」に。
   カード 436→414(1枚目)/412(2・3枚目)、左右パディング 16→35、
   セクション 1702→1632 (-70)。カード間ギャップ40は不変 */
.cases { height: 163.2rem; }
.cases__wm { left: 25.4rem; top: 5rem; font-size: 3.161rem; line-height: 3.793rem; color: var(--c-white); }
.cases__title { left: 2rem; top: 5.5rem; font-size: 2.8rem; line-height: 3.64rem; }
.cases__wave { left: 1.5rem; top: 8.1rem; width: 36rem; height: 1rem; }
.cases__head-car { left: 32rem; top: 5.4rem; width: 5rem; height: 3.3rem; }
.cases__lead { left: 1.5rem; top: 12.1rem; font-size: 1.8rem; line-height: 2.88rem; letter-spacing: 0.135rem; }
.cases__card { left: 1.5rem !important; width: 36rem; height: 41.2rem !important; border-radius: 1.8rem; }
.cases__card--1 { top: 18rem; height: 41.4rem !important; }
.cases__card--2 { top: 63.4rem; }
.cases__card--3 { top: 108.6rem; }
.cases__photo { width: 36rem; height: 20.5rem !important; border-radius: 1.8rem 1.8rem 0 0; }
.cases__card-title { left: 3.5rem; top: 22.1rem !important; width: 29rem; font-size: 1.8rem; line-height: 2.16rem; letter-spacing: 0; color: var(--c-text); } /* SPカンプは #231816 */
/* SPは行送りがフォントサイズ比例 (150%)。1枚目の1行目だけ17px＝25.5px送りで、
   PCのような固定px送りではない → line-height は無次元の 1.5 にする (Figma 2120:8462 ほか) */
.cases__card-text { left: 3.5rem; top: 25rem !important; width: 29rem; font-size: 1.6rem; font-weight: 500; line-height: 1.5; letter-spacing: 0; }
/* SPカンプの【車種名】は Medium 500 (PCは Bold 700。Figma 2120:8462 ov7 は fontWeight 未指定＝基底500) */
.cases__spec-car { font-size: 1.7rem; font-weight: 500; letter-spacing: 0; }
/* 1枚目だけ1行目が17px＝行送り25.5pxで、以降の24px送りとの端数(0.31px)が
   ブラウザのベースライン整数丸めで1px化する。本文ブロックは4/5行が合う位置に置き、
   1行目だけ1px戻す (実測: ref y6816 / 補正前 6815) */
.cases__card--1 .cases__spec-car { position: relative; top: 0.1rem; }
.cases__card--2 .cases__spec-car,
.cases__card--3 .cases__spec-car { font-size: 1.6rem; }
.cases__spec-name,
.cases__card--2 .cases__spec-name { letter-spacing: 0; }
.cases__spec-tri { font-size: 1.3rem; letter-spacing: 0; }
/* SPは全行が同じ行送り比なので、PCの行送り差の引き上げは打ち消す */
.cases__spec-line--up1,
.cases__spec-line--up2 { position: static; top: auto; }
.cases__more { left: auto; right: 3.5rem; top: 38.1rem !important; font-size: 1.4rem; line-height: 1.68rem; letter-spacing: 0; }
/* 2・3枚目はカードが2px低い(412 vs 414)ぶん「続きを読む」もカード上端から379px (1枚目は381px) */
.cases__card--2 .cases__more,
.cases__card--3 .cases__more { top: 37.9rem !important; }
.voices__card--2 .voices__quote { transform: translateY(-0.1rem); } /* 実測: 引用文のみ1px低 */
.cases__more .carret { position: relative; top: 0.1rem; margin-left: 0.4rem; } /* 実測: 文字と間隔4px詰まり→gap拡張で文字を-4px */
.cases__more .carret { width: 1.6rem; height: 1.6rem; }
.cases__btn { left: 6.5rem; top: 152.8rem; }

/* --- FAQ (h1043) --- */
.faq { height: 104.3rem; }
.faq__wm { left: 25.2rem; top: 5rem; font-size: 3.161rem; line-height: 3.793rem; color: #E2EFE0; }
.faq__title { left: 2rem; top: 5.5rem; font-size: 2.8rem; line-height: 3.64rem; } /* 実測: 1px低→-0.1rem */
.faq__wave { left: 1.5rem; top: 8.2rem; width: 36rem; height: 1rem; }
.faq__head-car { left: 32rem; top: 5.5rem; width: 5rem; height: 3.3rem; }
.faq__lead { left: 1.5rem; top: 12.2rem; font-size: 1.8rem; line-height: 2.88rem; letter-spacing: 0.135rem; }
.faq__item { left: 1.5rem; width: 36rem; }
.faq__item--1 { top: 18.1rem; }
.faq__item--2 { top: 44.5rem; }
.faq__item--3 { top: 68.5rem; }
.faq__q { height: 7.6rem; border-radius: 1.8rem 1.8rem 0 0; }
.faq__a { border-radius: 0 0 1.8rem 1.8rem; }
.faq__item--1 .faq__a { height: 14.8rem; }
.faq__item--2 .faq__a { height: 12.4rem; }
.faq__item--3 .faq__a { height: 14.8rem; }
.faq__q-mark, .faq__a-mark { left: 1.6rem; font-size: 2rem; font-weight: 900; line-height: 2.4rem; letter-spacing: 0; }
.faq__q-mark { top: 2.6rem; }
.faq__a-mark { top: 1.4rem; }
.faq__q p { left: 4.4rem; top: 1.4rem; width: 30rem; font-size: 1.6rem; line-height: 2.4rem; letter-spacing: 0; }
.faq__a p { left: 4.2rem; top: 1.4rem; width: 30.2rem; font-size: 1.6rem; font-weight: 400; line-height: 2.4rem; letter-spacing: 0; }
.faq__btn { left: 6.5rem; top: 93.9rem; }
.sp-only { display: inline; }
.pc-only { display: none; }
.br-pc { display: none; }
.br-sp { display: inline; }
.about__col-text--2 br { display: none; }
.carret::before { width: 0.8rem; height: 1.3rem; }

/* --- フッター (h431+37) --- */
.site-footer { height: 43.1rem; }
.site-footer__logo { left: 6.5rem; top: 4rem; width: 26rem; height: 8.9rem; }
.site-footer__logo img { left: 0; top: 0; width: 26rem; height: 8.9rem; }
.site-footer__company { left: 6.5rem; top: 14.5rem; font-size: 1.4rem; font-weight: 700; line-height: 1.68rem; }
.site-footer__addr { left: 6.5rem; top: 16.8rem; font-size: 1.3rem; font-weight: 400; line-height: 1.56rem; }
.site-footer__tel { left: 6.5rem; top: 20.6rem; font-size: 2.4rem; font-weight: 900; line-height: 2.88rem; letter-spacing: 0; }
.site-footer__btn {
  left: 6.5rem; top: 26.7rem;
  width: 26rem; height: 5.4rem;
  padding-left: 5rem; padding-right: 3rem;
  font-size: 1.8rem;
  box-shadow: 0.2rem 0.4rem 0.6rem rgba(0, 0, 0, 0.08), inset 0 0 0 0.2rem var(--c-white);
}
.site-footer__btn .carret { width: 4.2rem; height: 4.2rem; }
.site-footer__btn .carret::before { width: 0.8rem; height: 1.3rem; }
.site-footer__nav a { top: 35.3rem; font-size: 1.4rem; line-height: 1.68rem; }
.site-footer__nav a:nth-child(1) { left: 6.5rem; }
.site-footer__nav a:nth-child(2) { left: 13.7rem; }
.site-footer__nav a:nth-child(3) { left: 20.9rem; }
.site-footer__nav a:nth-child(4) { left: 6.5rem; top: 38.2rem; }
.site-footer__policy { left: 12.6rem; top: 38.2rem; font-size: 1.4rem; line-height: 1.68rem; }
.copyright { height: 3.7rem; }
.copyright p { left: 7.1rem; top: 1.2rem; font-size: 1.1rem; font-weight: 350; line-height: 1.32rem; }

/* ---- 2026-08-20 トリアージ収束 (SP) ----
   Chromeはグリフのベースラインを整数pxにしかスナップできない (0.25/0.5/0.75pxのCSS移動では
   描画が1bitも変わらないことを実測)。下記は「カンプに遠い方の整数」に落ちていた要素を
   近い方の整数へ1px送る。カッコ内はインク重心の実測値 (+=カンプが下 / -=カンプが上)。 */
.about__col-text--1 { top: 34.5rem; }                            /* dy -1.15 */
.reasons__card--1 .reasons__card-text { top: 23.2rem; }          /* dy -0.75 */
.reasons__card--2 .reasons__card-text { top: 21.7rem; }          /* dy -1.31 */
.reasons__card--3 .reasons__card-text { top: 22.7rem; }          /* dy -1.32 */
.voices__wm { left: 0.9rem; top: 1.9rem; }                       /* dy -0.56 dx +1.81 */
.voices__title { top: 6.1rem; }                                  /* dy +0.67 */
.voices__name { top: 18.2rem; transform: translateX(0.1rem); }   /* dy +0.70 dx +0.66 */
.cases__wm, .cases__title { transform: translateY(-0.1rem); }    /* Frame172 マスク走査 dy=+1 */
.voices__card--1 .voices__quote,
.voices__card--3 .voices__quote { transform: translateY(-0.1rem); } /* dy -1.30 */
.nagare__title { top: 6.1rem; }                                  /* dy +0.65 */
.partner__text { top: 33.2rem; }                                 /* dy -1.15 */
.faq__q p, .faq__a p { top: 1.3rem; }                            /* dy -1.0 前後 */
/* フッターCTAのシェブロンのみ1px高い (ボタン枠は現在位置が最良＝枠ごと動かすと悪化する)。
   TOPのSPカンプ限定の差なので、下層3ページでは打ち消す (下層は補正前が最良を実測済み) */
.site-footer__btn .carret::before { margin-top: 0.1rem; }        /* base 83.4→43.0 */
.company .site-footer__btn .carret::before,
.faq-page .site-footer__btn .carret::before,
.contact-page .site-footer__btn .carret::before { margin-top: 0; }

}

/* ============================================================
   404ページ (デザイン未定義 → トークン流用の提案ベース実装)
   ============================================================ */
.nf404 { background: var(--c-bg-off); min-height: 60rem; display: flex; align-items: center; justify-content: center; }
.nf404__box { text-align: center; padding: 8rem 2rem; max-width: 68rem; margin: 0 auto; }
/* 日本語の折返しは文節を割りやすい。対応ブラウザでは文節単位で折り、
   非対応ブラウザ向けには 404.php 側の <br class="br-sp"> が効く。 */
.nf404__title, .nf404__text { word-break: auto-phrase; text-wrap: balance; }
.nf404__code { font-family: var(--font-en); font-size: 10rem; font-weight: 700; color: var(--c-green); line-height: 1; letter-spacing: 0.3rem; }
.nf404__title { margin-top: 2rem; font-size: 3.2rem; font-weight: 700; color: var(--c-text); line-height: 1.5; }
.nf404__text { margin-top: 1.6rem; font-size: 1.8rem; line-height: 2; color: var(--c-text); }
.nf404__btn { position: static; display: inline-flex; margin-top: 4rem; }
.nf404__car { width: 15.3rem; height: 14.9rem; margin: 3rem auto 0; }
@media (max-width: 767px) {
  .nf404 { min-height: 44rem; }
  .nf404__code { font-size: 7rem; }
  .nf404__title { font-size: 2.2rem; }
  .nf404__text { font-size: 1.5rem; }
}

/* ============================================================
   SPドロワーメニュー (デフォルト閉。開閉はmain.js)
   ============================================================ */
.sp-drawer {
  display: none;
  position: absolute;
  left: 0; right: 0; top: 100%;
  background: #fff;
  box-shadow: 0 0.8rem 1.6rem rgba(0,0,0,.12);
  padding: 1rem 2rem 2rem;
  z-index: 90;
}
.sp-drawer__link {
  display: block;
  padding: 1.4rem 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text);
  text-decoration: none;
  border-bottom: 0.1rem solid #E0E0E0;
}
.sp-drawer__cta {
  display: block;
  margin-top: 1.6rem;
  padding: 1.2rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background: var(--c-red, #E60012);
  border-radius: 0.6rem;
  text-decoration: none;
}
@media (max-width: 767px) {
  .site-header { position: relative; }
  .sp-drawer:not([hidden]) { display: block; }
  .site-header__menu.is-open span:nth-child(1) { transform: translateY(0.8rem) rotate(45deg); }
  .site-header__menu.is-open span:nth-child(2) { opacity: 0; }
  .site-header__menu.is-open span:nth-child(3) { transform: translateY(-0.8rem) rotate(-45deg); }
  .site-header__menu span { transition: transform .25s ease, opacity .2s ease; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__menu span { transition: none; }
}

/* ============================================================
   カード別実測値 (旧インラインstyleをCSS化 2026-08-09 規約対応)
   末尾配置=インラインと同じカスケード位置(!important以外に勝つ)
   ============================================================ */
.reasons__card--1 .reasons__icon { width: 20.01rem; height: 22.09rem; margin-top: 4rem; }
.reasons__card--2 .reasons__icon { width: 20.01rem; height: 19.76rem; margin-top: 6.3rem; }
.reasons__card--3 .reasons__icon { width: 19.2rem; height: 20.45rem; margin-top: 5.7rem; }
/* 2026-08-21 改版で買取事例カードのカード別上書きは消滅
   (写真高・見出し/本文/リンクの縦位置が3枚とも同値になった) */

/* ============================================================
   CMS(お知らせ/ブログ) — Figma未定義のためトークン流用の提案ベース (2026-08-09)
   対象: home.php / archive.php / single.php (手動メンテ・build_theme生成対象外)
   ============================================================ */
.cms-hero { background: var(--c-bg-green); padding: 6rem 2rem 5rem; text-align: center; }
.cms-hero__title { font-family: var(--font-kiwi); font-size: 3.6rem; font-weight: 500; color: var(--c-text); line-height: 1.4; }
.cms-hero__title .g { color: var(--c-green); }
.cms-hero__sub { font-family: var(--font-en); font-size: 1.4rem; font-weight: 700; color: var(--c-green); letter-spacing: 0.2rem; margin-top: 0.8rem; }

.news { background: var(--c-white); padding: 6rem 2rem 8rem; }
.news__inner { max-width: 90rem; margin: 0 auto; }
.news__list { list-style: none; }
.news__item { border-bottom: 0.1rem solid #E5E5E0; }
.news__link { display: flex; align-items: baseline; gap: 2rem; padding: 2.4rem 1rem; transition: background-color 0.2s; }
.news__link:hover { background: var(--c-bg-off); }
.news__date { font-family: var(--font-en); font-size: 1.4rem; font-weight: 700; color: var(--c-green); white-space: nowrap; }
.news__cat { font-size: 1.2rem; font-weight: 700; color: var(--c-white); background: var(--c-green); border-radius: 999rem; padding: 0.3rem 1.4rem; white-space: nowrap; }
.news__title { font-size: 1.6rem; font-weight: 500; color: var(--c-text); line-height: 1.6; }
.news__empty { text-align: center; font-size: 1.6rem; color: var(--c-text); padding: 6rem 0; }

/* WP出力のページネーション(.nav-links)はクラス名変更不可 → ラッパー配下で装飾 */
.news__pagination { margin-top: 4rem; }
.news__pagination .nav-links { display: flex; justify-content: center; gap: 1rem; }
.news__pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 4rem; height: 4rem; border-radius: 50%; font-family: var(--font-en); font-size: 1.5rem; font-weight: 700; color: var(--c-text); box-shadow: inset 0 0 0 0.1rem #E5E5E0; padding: 0 1rem; }
.news__pagination a.page-numbers:hover { color: var(--c-green); box-shadow: inset 0 0 0 0.1rem var(--c-green); }
.news__pagination .page-numbers.current { color: var(--c-white); background: var(--c-green); box-shadow: none; }
.news__pagination .page-numbers.dots { box-shadow: none; }

.post { background: var(--c-white); padding: 6rem 2rem 8rem; }
.post__inner { max-width: 80rem; margin: 0 auto; }
.post__meta { display: flex; align-items: center; gap: 1.6rem; }
.post__date { font-family: var(--font-en); font-size: 1.4rem; font-weight: 700; color: var(--c-green); }
.post__cat { font-size: 1.2rem; font-weight: 700; color: var(--c-white); background: var(--c-green); border-radius: 999rem; padding: 0.3rem 1.4rem; }
.post__title { font-size: 3rem; font-weight: 700; color: var(--c-text); line-height: 1.5; margin-top: 1.6rem; padding-bottom: 2.4rem; border-bottom: 0.2rem solid var(--c-bg-green); }
.post__thumb { margin-top: 3.2rem; }
.post__thumb img { width: 100%; height: auto; border-radius: 1.2rem; }

/* 本文タイポグラフィ: the_content()のWP出力(クラスなしタグ)に当てる */
.post__body { margin-top: 3.2rem; font-size: 1.6rem; line-height: 2; color: var(--c-text); }
.post__body > * + * { margin-top: 1.6em; }
.post__body h2 { font-size: 2.4rem; font-weight: 700; line-height: 1.5; margin-top: 2.4em; padding: 0.6em 1em; background: var(--c-bg-green); border-radius: 0.8rem; }
.post__body h3 { font-size: 2rem; font-weight: 700; line-height: 1.5; margin-top: 2em; padding-left: 1em; border-left: 0.4rem solid var(--c-green); }
.post__body ul, .post__body ol { padding-left: 1.6em; }
.post__body ul { list-style: disc; }
.post__body ol { list-style: decimal; }
.post__body li + li { margin-top: 0.4em; }
.post__body a { color: var(--c-green); text-decoration: underline; }
.post__body img { max-width: 100%; height: auto; border-radius: 1.2rem; }
.post__body blockquote { padding: 1em 1.5em; background: var(--c-bg-off); border-left: 0.4rem solid #E5E5E0; border-radius: 0.4rem; }
.post__body table { border-collapse: collapse; width: 100%; }
.post__body th, .post__body td { border: 0.1rem solid #E5E5E0; padding: 0.8em 1em; text-align: left; }
.post__body th { background: var(--c-bg-green); }

.post__foot { margin-top: 5rem; text-align: center; }
.post__back { display: inline-flex; align-items: center; justify-content: center; min-width: 24rem; height: 5.6rem; border-radius: 999rem; font-size: 1.6rem; font-weight: 700; color: var(--c-white); background: var(--c-red); box-shadow: 0.2rem 0.4rem 0.6rem rgba(0, 0, 0, 0.08), inset 0 0 0 0.2rem var(--c-white); transition: opacity 0.2s; }
.post__back:hover { opacity: 0.85; }

@media (max-width: 767px) {
  .cms-hero { padding: 4rem 2rem 3.2rem; }
  .cms-hero__title { font-size: 2.6rem; }
  .news { padding: 4rem 2rem 6rem; }
  .news__link { flex-wrap: wrap; gap: 1rem 1.4rem; padding: 2rem 0.5rem; }
  .news__title { width: 100%; font-size: 1.5rem; }
  .post { padding: 4rem 2rem 6rem; }
  .post__title { font-size: 2.2rem; }
  .post__body { font-size: 1.5rem; }
  .post__body h2 { font-size: 2rem; }
  .post__body h3 { font-size: 1.8rem; }
}
/* ============================================================
   会社情報ページ (company.html / Figma 2093:21 PC・2093:729 SP)
   既存TOPに一切影響させないため、すべて .company / .co-* にスコープする。
   座標は Figma のページ絶対座標からセクション先頭を引いた値 (px/10 = rem)。
   Figma側に小数座標が多いので、丸めずそのまま rem に落とす。
   ============================================================ */

/* ---------- ヘッダー: companyカンプ仕様 (TOPと高さ・ロゴ枠が違う) ---------- */
.company .site-header__logo { width: 13rem; height: 13rem; }
.company .site-header__logo img { left: 2.1rem; top: 2.25rem; width: 8.8rem; height: 8.5rem; }
.company .site-header__link { line-height: 3.5rem; margin-top: -0.1rem; }
.company .site-header__cta {
  width: 22rem; height: 6.35rem;
  border-radius: 4rem;
  padding-bottom: 0.25rem;
}
.company .bottom-divider { display: none; }
.company .site-footer__catch { top: 6.7rem; }
/* フッター/コピーライトの帯はFigmaの実寸どおり(304 / 63)。
   2026-08-20: 旧refは 8372.734 以降を1px上に丸めて描いており 30.33/6.31rem で合わせていたが、
   新ref(2100:3053)はFigma座標そのままで描く。コピーライト境界の実測 = 8676.746
   (ref y8676 の混色 181,197,176 = 暗色25.4% → 8676+0.746) ＝ Figmaの 8676.734。
   総高も 8676.7+63 = 8739.7 → 8740 で ref(8740) と一致する。SPには効かせない */
@media (min-width: 768px) {
  .company .site-footer { height: 30.4rem; }
  .company .copyright { height: 6.3rem; }
}

/* Figmaのルートフレームは1440/390でクリップする。装飾のはみ出しを同じ位置で切る */
.company .inner { overflow-x: clip; }

/* Chromeは CSS Text L4 の text-spacing-trim を既定ON(normal)で実装しており、
   和文の約物(、。「」“”)の内側アキを自動的に詰める。Figmaは詰めない(全角ベタ組み)ため
   字送り・折返し位置が食い違う → 詰めを無効化してFigmaに合わせる。 */
.company main { text-spacing-trim: space-all; }

/* ---------- 共通部品 ---------- */
.co-sec-en {            /* セクション英字見出し 72px/86.4 #DB8687 */
  position: absolute;
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 8.6rem;
  color: var(--c-rose-pale);
  white-space: nowrap;
}
.co-wm {                /* 黄色の透かし英字 */
  position: absolute;
  font-weight: 700;
  color: var(--c-yellow);
  white-space: nowrap;
  pointer-events: none;
}
.co-hatch { position: absolute; opacity: 0.8; }   /* 見出し下の黄色マーカー */
.co-car { position: absolute; }                   /* 緑の車イラスト */
.co-ring { position: absolute; display: block; }  /* 巨大楕円リング(白い帯) */
.co-ring::before {
  content: "";
  position: absolute;
  inset: -7.5rem;
  border: 15rem solid #FAFCF8;
  border-radius: 50%;
  box-sizing: border-box;
}
/* 角丸写真 + Figmaのinside stroke。
   img自身に inset shadow を掛けると画像本体に隠れて描画されないので、
   <picture> をフレームにして疑似要素でリングを描く */
.co-frame { display: block; position: absolute; overflow: hidden; }
.co-frame img { display: block; width: 100%; height: 100%; }
.co-frame::after { content: ""; position: absolute; inset: 0; border: 0.1rem solid #D6E1CD; border-radius: inherit; }

/* ---------- Figma↔ブラウザのベースライン差の一括補正 ----------
   Figmaとブラウザは行ボックス内のベースライン位置が食い違い、
   実測でブラウザ側が「0.5px + 0.0265em」低い(フォントサイズ比例＝縦メトリクスの解釈差)。
   TOPは要素ごとに個別補正しているが、ここは em 指定で一括補正する(還元候補)。 */
.co-sec-en, .co-wm, .co-hero__label, .co-hero__title,
.co-rinen__title, .co-rinen__p,
.co-mv__title, .co-mv__p,
.co-service__title, .co-service__h, .co-service__p,
.co-partner__title, .co-partner__p,
.co-company__title, .co-tbl__k, .co-tbl__v,
.company .site-header__link,
.company .site-footer__company, .company .site-footer__addr, .company .site-footer__tel,
.company .site-footer__catch, .company .site-footer__nav a, .company .site-footer__policy { transform: translateY(calc(-0.05rem - 0.0265em)); }
.co-rinen__wm { transform: rotate(90deg) translateY(calc(-0.05rem - 0.0265em)); }

/* ---------- HERO (ページタイトル帯) y=130..943 ---------- */
.co-hero { background: var(--c-bg-green); height: 81.3rem; }
.co-hero__band { position: absolute; left: 0; top: 0; width: 144rem; height: 43.7rem; overflow: hidden; }
.co-hero__ellipse { position: absolute; left: 58.2rem; top: 2.2rem; width: 99.1rem; height: 81.9rem; border-radius: 50%; background: var(--c-white); }
.co-hero__town { position: absolute; left: 1.2rem; top: 20.9rem; width: 96.5881rem; height: 19.9733rem; }
.co-hero__nico { position: absolute; left: 103.2rem; top: 13.7rem; width: 26.1rem; height: 25.3rem; }
.co-hero__hello { position: absolute; left: 88.1rem; top: 6.5rem; width: 25.1rem; height: 16.6rem; }
.co-hero__label {
  position: absolute; left: 9.4rem; top: 9.5rem;
  font-size: 3rem; font-weight: 700; line-height: 3.6rem; letter-spacing: 0.1rem;
  color: var(--c-green-hero);
}
.co-hero__title {
  position: absolute; left: 9.4rem; top: 13.1rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem; letter-spacing: 0.1rem;
  white-space: nowrap;
}

/* ---------- 理念 (PHILOSOPHY) y=943..2493 ---------- */
.co-rinen { background: var(--c-bg-green); height: 155rem; }
.co-rinen__hero-clip { position: absolute; left: 0; top: -37.6rem; width: 144rem; height: 37.6rem; overflow: hidden; }
.co-rinen__hero-photo { position: absolute; left: 0; top: 0; width: 144rem; height: 37.6rem; }
.co-rinen__card {
  position: absolute; left: 8rem; top: -7.0849rem;
  width: 128rem; height: 162.0849rem;
  background: var(--c-bg-off);
  border-radius: 4rem;
}
.co-rinen__illust { position: absolute; left: 72.7rem; top: 13.0481rem; width: 51.2349rem; height: 72.3368rem; }
.co-rinen__en { left: 8rem; top: 9.6rem; opacity: 0.7; }
.co-rinen__hatch { left: 6.2rem; top: 30.3151rem; width: 65rem; height: 1.5rem; }
.co-rinen__title {
  position: absolute; left: 8rem; top: 19rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem;
  white-space: nowrap;
}
.co-rinen__p {
  position: absolute; left: 8rem; width: 62rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.04rem;
}
.co-rinen__p--1 { top: 36.8rem; }
.co-rinen__p--2 { top: 49.9rem; }
.co-rinen__p--3 { top: 70rem; }
.co-rinen__photo {
  position: absolute; left: -8rem; top: 94.9849rem;
  width: 65.2rem; height: 57.5rem;
  border-radius: 0 4rem 4rem 0;
}
.co-rinen__p--4, .co-rinen__p--5, .co-rinen__p--6, .co-rinen__p--7 { left: 61.9rem; width: 60.4rem; }
.co-rinen__p--4 { top: 104.0849rem; }
.co-rinen__p--5 { top: 117.1849rem; }
.co-rinen__p--6 { top: 126.7849rem; }
.co-rinen__p--7 { top: 136.3849rem; }
.co-rinen__wm {
  position: absolute; left: 141.5rem; top: 0.4rem;
  width: 50.2rem; height: 10.6rem;
  transform-origin: 0 0;
  font-size: 8.8rem; font-weight: 700; line-height: 10.56rem; letter-spacing: 0.176rem;
  color: #CCDEBA; opacity: 0.5;
  white-space: nowrap; pointer-events: none;
}

/* ---------- MISSION / VISION y=2493..4729 ---------- */
.co-mv { background: var(--c-bg-green); height: 223.6rem; }
.co-mv__band { position: absolute; left: 0; width: 144rem; overflow: hidden; }
.co-mv__band--1 { top: 0; height: 105rem; }
.co-mv__band--2 { top: 105rem; height: 118.6rem; }
.co-ring--1 {   /* Ellipse 8: size 1328.266x3444.389 rot -80.5637deg stroke150 */
  left: -157.8273rem; top: 132.8006rem;
  width: 132.8266rem; height: 344.4389rem;
  transform: rotate(-80.5637deg); transform-origin: 0 0;
}
.co-ring--2 {   /* Ellipse 9: size 2742.391x5217.670 rot 81.5588deg stroke250 */
  left: 250.414453rem; top: -2.8rem;
  width: 274.2391rem; height: 521.767rem;
  transform: rotate(81.5588deg); transform-origin: 0 0;
}
.co-ring--2::before { inset: -12.5rem; border-width: 25rem; }
.co-ring--3 { display: none; }

.co-mv__en--m { left: 16rem; top: 9.6rem; opacity: 0.7; }
.co-mv__en--v { left: 16rem; top: 119.4rem; }
.co-mv__hatch--m1 { left: 14.5rem; top: 39.0151rem; width: 87.3rem; height: 1.5rem; }
.co-mv__hatch--m2 { display: none; }
.co-mv__hatch--v1 { left: 14.5rem; top: 143.4151rem; width: 115.9rem; height: 2.1rem; }
.co-mv__hatch--v2 { display: none; }
.co-mv__title {
  position: absolute; left: 16rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem;
  white-space: nowrap;
}
.co-mv__title--m { top: 21.2rem; }
.co-mv__title--v { top: 132rem; }
.co-mv__photo--m { left: 16rem; top: 47.2rem; width: 61.9rem; height: 49.6rem; border-radius: 4rem; }
.co-mv__photo--v { left: 16rem; top: 150.6rem; width: 53.2rem; height: 47rem; border-radius: 4rem; }
.co-mv__p {
  position: absolute;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.04rem;
}
.co-mv__p--m1, .co-mv__p--m2, .co-mv__p--m3 {
  left: 72rem; width: 62rem;
  /* Figma: 白のDROP_SHADOW 3枚(spread付き)。CSSにspreadが無いので同径を重ねて近似 */
  text-shadow: 0 0 0.6rem #fff, 0 0 0.6rem #fff, 0 0 0.6rem #fff, 0 0 1.4rem #fff, 0 0 1.4rem #fff, 0 0 2.4rem #fff;
}
.co-mv__p--m1 { top: 55.4rem; }
.co-mv__p--m2 { top: 68.5rem; }
.co-mv__p--m3 { top: 81.6rem; }
.co-mv__p--v1, .co-mv__p--v2, .co-mv__p--v3 { left: 74.8rem; width: 55.2rem; }
.co-mv__p--v1 { top: 155.65rem; }
.co-mv__p--v2 { top: 172.25rem; }
.co-mv__p--v3 { top: 185.35rem; }
.co-mv__car--1 { left: -4.8rem; top: 19.4rem; width: 17.6rem; height: 11.7rem; transform: scaleX(-1); }
.co-mv__car--2 { left: 130.4rem; top: 131.4rem; width: 30.7rem; height: 20.4rem; }
.co-mv__illust { position: absolute; left: 58.2rem; top: 85.8rem; width: 65.7rem; height: 38.9rem; }
.co-mv__btn { left: 55.75rem; top: 207.1rem; }
/* Figmaは“ ”(U+201C/D)を約0.08em低く組む(TOPの引用記号と同じ癖) */
.co-mv__title .q { position: relative; top: 0.08em; }

/* ---------- SERVICE (出張中古車買取事業) y=4729..6196.734 ---------- */
.co-service { background: var(--c-bg-off); height: 146.7734rem; }
.co-service__family { position: absolute; left: 83.2rem; top: -7.2rem; width: 65.7rem; height: 43.8rem; }
.co-service__en { left: 16rem; top: 9.6rem; width: 112rem; text-align: center; }
.co-service__wm { left: 16rem; top: 26.2rem; font-size: 5rem; line-height: 6.5rem; letter-spacing: 0.1rem; }
.co-service__title {
  position: absolute; left: 16rem; top: 33rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem;
  white-space: nowrap;
}
.co-service__photo--1 { left: 16rem; top: 45.6367rem; width: 53.2rem; height: 43rem; border-radius: 4rem; }
.co-service__photo--2 { left: 74.5rem; top: 94.1734rem; width: 53.2rem; height: 43rem; border-radius: 4rem; }
.co-service__icon { position: absolute; }
.co-service__icon--1 { left: 74.8rem; top: 45.1rem; width: 9.485rem; height: 9.485rem; }
.co-service__icon--2 { left: 74.8rem; top: 70.285rem; width: 7.1884rem; height: 7.1884rem; }
.co-service__icon--3 { left: 16rem; top: 103.5234rem; width: 8.2rem; height: 9.1rem; }
.co-service__h {
  position: absolute;
  font-size: 4.2rem; font-weight: 700; line-height: 5rem;
  white-space: nowrap;
}
.co-service__h--1 { left: 85.485rem; top: 47.3425rem; }
.co-service__h--2 { left: 83.1884rem; top: 71.3792rem; }
.co-service__h--3 { left: 25.4rem; top: 105.5734rem; }
.co-service__p {
  position: absolute; width: 55.2rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.04rem;
}
.co-service__p--1 { left: 74.8rem; top: 55.785rem; }
.co-service__p--2 { left: 74.8rem; top: 78.5734rem; }
.co-service__p--3 { left: 16rem; top: 113.8234rem; }

/* ---------- パートナーシップ事業 y=6196.734..7022.734 ---------- */
.co-partner { background: var(--c-bg-off); height: 82.6rem; }
.co-partner__wm { left: 16rem; top: 9.6rem; font-size: 5rem; line-height: 6.5rem; letter-spacing: 0.1rem; }
.co-partner__title {
  position: absolute; left: 16rem; top: 16.1rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem;
  white-space: nowrap;
}
.co-partner__photo { left: 16rem; top: 28.2rem; width: 53.2rem; height: 44.8rem; border-radius: 4rem; } /* Figma 2100:3620 h=448 (旧refは1px上に丸めていた) */
.co-partner__p {
  position: absolute; left: 74.8rem; width: 55.2rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.04rem;
}
.co-partner__p--1 { top: 30.25rem; }
.co-partner__p--2 { top: 53.85rem; }
.co-partner__btn { left: 74.8rem; top: 63.45rem; letter-spacing: 0.18rem; }
.co-partner__thanks { position: absolute; left: 107.1rem; top: 2.5266rem; width: 16.2rem; height: 20.2rem; }

/* ---------- COMPANY (会社概要) y=7022.734..8107.734 ---------- */
.co-company { background: var(--c-bg-green); height: 108.5rem; }
.co-company__en { left: 15.95rem; top: 9.5rem; }
.co-company__title {
  position: absolute; left: 16rem; top: 19rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem;
  white-space: nowrap;
}
.co-company__yellow { position: absolute; left: 18rem; top: 30.6695rem; width: 112rem; height: 74.9rem; }
.co-company__car { left: 100.7rem; top: 20.3266rem; width: 17.9rem; height: 11.9rem; }
.co-company__card {
  position: absolute; left: 16rem; top: 30.3rem;
  width: 112rem; height: 72.8rem;
  background: var(--c-white);
  border-radius: 4rem;
  padding: 4.4rem 7rem;
}
.co-tbl__row {
  display: flex;
  align-items: flex-start;
  height: 9.5rem;
  padding: 2.9rem 2.4rem 3.1rem 3.6rem;
  box-shadow: inset 0 -0.1rem 0 #E2E2DE;
}
.co-tbl__row--biz { height: 16.5rem; }
.co-tbl__row--last { box-shadow: none; }
.co-tbl__k {
  width: 23rem; flex: none;
  margin-right: 2rem;
  font-size: 2.4rem; font-weight: 700; line-height: 3.5rem;
}
.co-tbl__v {
  width: 67rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem;
}
.co-tbl__v.num { font-variant-numeric: tabular-nums; }
.co-tbl__note {
  margin-top: 0.7rem;
  font-size: 1.8rem; font-weight: 500; line-height: 2.9rem;
  color: #5A5957;
  font-variant-numeric: tabular-nums;
}

/* ---------- CTA y=8107.734..8372.734 ---------- */
.co-cta { background: var(--c-bg-green); height: 26.5rem; }
.co-cta__btn { left: 55.75rem; top: 7rem; } /* Figma 8177.734-8107.734=70 */

/* ---------- 実測ズレ補正 (probe_shift) — PC限定。min-widthでSPへの漏れを防ぐ ---------- */
@media (min-width: 768px) {
  /* 見出し系はベースライン一括補正が1px効きすぎるので戻す
     (2026-08-20: 新refでは co-service__h は --1 だけでなく3本とも同じ扱いが正) */
  .co-hero__title, .co-rinen__title, .co-mv__title, .co-service__title,
  .co-service__h { transform: translateY(calc(0.05rem - 0.0265em)); }
  /* ボタン内テキストは一括補正の対象外なので padding で1px上げる */
  .company .btn { padding-bottom: 0.2rem; }
  /* 2026-08-20: 旧refはフッター(8372.734)以降を1px上に丸めて描いていたが、新refはFigma座標どおり
     → -1px の逃がしを外し、Figmaの実値に戻す (btn 8572.734-8372.734=200 / logo 8425.234-8402.734=22.5) */
  .company .site-footer__btn { top: 20rem; }
  .company .site-footer__logo img { top: 2.25rem; }
  .company .copyright p { top: 2.09rem; }
  .co-cta__btn .carret::before { transform: translate(-50%, calc(-50% + 0.1rem)); }
  /* ls:1.8 の末尾送りが中央寄せを0.9px左へずらす → padding-left で戻す (Figma 802.5 / 実装 802.5) */
  .co-partner__btn { padding-left: 5.18rem; }
  .co-partner__btn .carret::before { transform: translate(calc(-50% - 0.1rem), -50%); }
  /* フッターCTAのシェブロンは下層3ページ共通で1px下 → 末尾の共通ブロックで一括補正 */

  /* 2026-08-20 トリアージ収束: ref更新(8/19)後に再実測したところ、下記はカンプのインクが
     実装より 0.7〜0.95px 低い＝-0.05rem版の一括補正が1px効きすぎている。
     Chromeはグリフを整数pxにしかスナップできない (padding 0.25/0.5/0.75px を与えても
     描画が1bitも変わらず、1pxでちょうど1px動くことを実測) ため、
     「遠い方の整数」を選んでいた要素を +0.05rem版 に差し替えて「近い方の整数」へ送る。
     補正後の残差は -0.25px前後＝到達可能な最小値 (contact/co-service__h と同じ処方) */
  .co-company__en, .co-company__title, .co-tbl__k, .co-tbl__v,
  .co-partner__title, .co-service__p--2,
  .company .site-footer__catch, .company .site-footer__company,
  .company .site-footer__addr, .company .site-footer__tel,
  .company .site-footer__nav a,
  .company .site-footer__policy { transform: translateY(calc(0.05rem - 0.0265em)); }
}

/* ============================================================
   会社情報ページ SP (〜767px) — デザイン390px基準
   ============================================================ */
@media (max-width: 767px) {

/* --- ヘッダー (companyはロゴ枠が正方形64・下線なし) --- */
.company .site-header { box-shadow: none; }
.company .site-header__logo { width: 6.4rem; height: 6.4rem; }
.company .site-header__logo img { left: 0.8rem; top: 0.9rem; width: 4.8rem; height: 4.6rem; }
.company .site-header__cta { width: 12rem; height: 3rem; border-radius: 1.5rem; padding-bottom: 0; }
.company .site-footer__btn { padding-bottom: 0; }

/* ヘッダー/フッターはTOP側SPで既に個別補正済み → em一括補正を打ち消す */
.company .site-header__link,
.company .site-footer__company, .company .site-footer__addr, .company .site-footer__tel,
.company .site-footer__catch, .company .site-footer__nav a, .company .site-footer__policy,
.company .copyright p { transform: none; }
/* Figmaのフレーム高 7068.1733 を ref PNG は ceil して 7069 で描き、最終行(y7068)を帯色で埋める。
   ブラウザは scrollHeight を四捨五入するので 7068 止まり＝refの最終1行が欠ける。
   帯を 0.84px 伸ばして総高を 7069.0 ちょうどにし、同じ最終行を描く
   (実測: ref y7068 = (88,88,88) / 帯色 (90,89,87) → 差2で閾値32以下)。SP・会社情報のみ */
@media (max-width: 767px) {
  .company .copyright { height: 3.784rem; }
}

/* --- 共通 --- */
.co-sec-en { font-size: 3.6rem; line-height: 4.3rem; }
.co-hatch { opacity: 1; }
.co-mv__photo--m::after, .co-mv__photo--v::after,
.co-service__photo--1::after, .co-partner__photo::after { display: none; }

/* --- HERO y=64..531.437 --- */
.co-hero { height: 46.7437rem; }
.co-hero__band { width: 39rem; height: 33.6169rem; }
.co-hero__ellipse { left: 11.6rem; top: 9.338rem; width: 33.8rem; height: 29.2225rem; background: var(--c-bg-off); }
.co-hero__town { left: 0; top: 16.8rem; width: 24.9rem; height: 6.7rem; }
.co-hero__nico { display: none; }
.co-hero__hello { left: 22.5rem; top: 12.4rem; width: 14.2rem; height: 10.7rem; }
.co-hero__label { left: 1.5rem; top: 4.3944rem; font-size: 1.88665rem; line-height: 2.3rem; letter-spacing: 0; }
.co-hero__title { left: 1.5rem; top: 7.9521rem; font-size: 2.93478rem; line-height: 3.5rem; letter-spacing: 0; }

/* --- 理念 y=531.437..1942 --- */
.co-rinen { height: 141.0563rem; }
.co-rinen__hero-clip { left: 0; top: -20.883rem; width: 39rem; height: 24.5514rem; }
.co-rinen__hero-photo { left: -27.5134rem; top: 0; width: 94.0268rem; height: 24.5514rem; }
.co-rinen__card { left: 1.25rem; top: 0; width: 36.5rem; height: 136.4rem; border-radius: 1.88665rem; }
.co-rinen__illust { left: 13.973rem; top: 0.995rem; width: 25.1238rem; height: 13.9577rem; }
.co-rinen__en { left: 1.5722rem; top: 5.031rem; opacity: 1; font-size: 3.77329rem; line-height: 4.5rem; }
.co-rinen__hatch { left: 0.7721rem; top: 17.5496rem; width: 30.1rem; height: 1.4282rem; }
.co-rinen__title { left: 1.5721rem; top: 11.8369rem; font-size: 2.3059rem; line-height: 3.6rem; }
.co-rinen__p {
  left: 1.5722rem; width: 35.4rem;
  font-size: 1.677rem; font-weight: 400; line-height: 2.9rem; letter-spacing: 0;
}
.co-rinen__p--1 { top: 21.6132rem; }
.co-rinen__p--2 { top: 35.5191rem; }
/* 2026-08-20 トリアージ収束 (実測): --2 だけカンプのインクが実装より +0.66px 低い
   → -0.05rem版の一括補正が1px効きすぎている。+0.05rem版に差し替えて1px下げる */
.co-rinen__p--2 { transform: translateY(calc(0.05rem - 0.0265em)); }
.co-rinen__p--3 { top: 55.8191rem; }
.co-rinen__photo { left: 1.5722rem; top: 69.7251rem; width: 33.3556rem; height: 24.169rem; border-radius: 1.88665rem; }
.co-rinen__p--4, .co-rinen__p--5, .co-rinen__p--6 { left: 1.5722rem; width: 35.4rem; }
.co-rinen__p--4 { top: 96.3rem; }
.co-rinen__p--5 { top: 110.8rem; }
.co-rinen__p--6 { top: 122.4rem; }
.co-rinen__wm { display: none; }

/* --- MISSION / VISION y=1942..3822 --- */
.co-mv { height: 188rem; }
.co-mv__band { width: 39rem; }
.co-mv__band--1 { top: 0; height: 188rem; }
.co-mv__band--2 { top: 0; height: 188rem; display: block; }
.co-ring--2 { display: none; }
.co-ring--1 {   /* SP Ellipse 9: size 233.374x948.158 rot -80.5637deg stroke80 */
  left: -21.631641rem; top: 35.121631rem;
  width: 23.3374rem; height: 94.8158rem;
}
.co-ring--1::before { inset: -4rem; border-width: 8rem; }
.co-ring--3 {   /* SP Ellipse 10: size 1196.398x2099.553 rot 115.0176deg stroke80 */
  display: block;
  left: 182.7625rem; top: 162.3764rem;
  width: 119.6398rem; height: 209.9553rem;
  transform: rotate(115.0176deg); transform-origin: 0 0;
}
.co-ring--3::before { inset: -4rem; border-width: 8rem; }

.co-mv__en--m { left: 1.5rem; top: 1.4rem; opacity: 1; }
.co-mv__en--v { left: 1.5rem; top: 103.6rem; }
.co-mv__hatch--m1 { left: 0.7rem; top: 16.5rem; width: 23.2rem; height: 1.3rem; }
.co-mv__hatch--m2 { display: block; left: 0.7rem; top: 19.9rem; width: 16rem; height: 1.3rem; }
.co-mv__hatch--v1 { left: 0.5rem; top: 115.4rem; width: 33.2rem; height: 1.3rem; }
.co-mv__hatch--v2 { display: block; left: 0.7rem; top: 118.7rem; width: 20.6rem; height: 1.3rem; }
.co-mv__title { left: 1.5rem; font-size: 2.2rem; line-height: 3.4rem; }
.co-mv__title--m { top: 7.9rem; }
.co-mv__title--v { top: 110.1rem; }
.co-mv__photo--m { left: 1.5rem; top: 23.7rem; width: 36rem; height: 22rem; border-radius: 1.8rem; }
.co-mv__photo--v { left: 1.5rem; top: 122.5rem; width: 36rem; height: 22rem; border-radius: 1.8rem; }
.co-mv__p { font-size: 1.6rem; font-weight: 400; line-height: 2.8rem; letter-spacing: 0; }
.co-mv__p--m1, .co-mv__p--m2, .co-mv__p--m3 { left: 1.5rem; width: 37.4rem; text-shadow: none; }
.co-mv__p--m1 { top: 47.9rem; }
.co-mv__p--m2 { top: 59.1rem; }
.co-mv__p--m3 { top: 70.3rem; }
.co-mv__p--v1, .co-mv__p--v2, .co-mv__p--v3 { left: 1.5rem; width: 37.4rem; }
.co-mv__p--v1 { top: 146.7rem; }
.co-mv__p--v2 { top: 157.9rem; }
.co-mv__p--v3 { top: 169.1rem; }
.co-mv__car--1 { left: 27.5rem; top: 16.9rem; width: 8.9rem; height: 5.9rem; }
/* 2026-08-20: 新カンプでSPにも2台目が入った (Figma 2100:4259 (257,2936 102x68)。旧カンプはPCのみ) */
.co-mv__car--2 { left: 25.7rem; top: 99.4rem; width: 10.2rem; height: 6.8rem; }
.co-mv__illust { left: 1.5rem; top: 78.1rem; width: 36rem; height: 21.3rem; }
.co-mv__btn { left: 6.5rem; top: 177.7rem; }

/* --- SERVICE y=3822..4984 --- */
.co-service { height: 116.2rem; }
.co-service__en { left: 1.5rem; top: 4.8rem; width: auto; text-align: left; }
.co-service__wm { left: 1.5rem; top: 11.1rem; font-size: 2rem; line-height: 2.6rem; letter-spacing: 0.04rem; }
.co-service__title { left: 1.5rem; top: 13.7rem; font-size: 2.6rem; line-height: 3.1rem; }
.co-service__photo--1 { left: 1.5rem; top: 18.8rem; width: 36rem; height: 21rem; border-radius: 1.8rem; }
.co-service__photo--2 { left: 1.5rem; top: 73.4rem; width: 36rem; height: 21rem; border-radius: 1.8rem; }
.co-service__icon--1 { left: 1.5rem; top: 42.2rem; width: 4.4rem; height: 4.4rem; }
.co-service__icon--2 { left: 1.5rem; top: 58.8rem; width: 4.2rem; height: 4.2rem; }
.co-service__icon--3 { left: 1.5rem; top: 97.2rem; width: 3.9648rem; height: 4.4rem; }
.co-service__h { font-size: 1.9rem; line-height: 2.3rem; }
.co-service__h--1 { left: 7.1rem; top: 43.25rem; }
.co-service__h--2 { left: 6.9rem; top: 59.75rem; }
.co-service__h--3 { left: 6.6648rem; top: 98.25rem; }
.co-service__p { width: 37.4rem; font-size: 1.6rem; font-weight: 400; line-height: 2.8rem; letter-spacing: 0; }
.co-service__p--1 { left: 1.5rem; top: 47.6rem; }
.co-service__p--2 { left: 1.5rem; top: 64rem; }
.co-service__p--3 { left: 1.5rem; top: 102.6rem; }

/* --- パートナーシップ事業 y=4984..5826.173 --- */
.co-partner { height: 84.2173rem; }
.co-partner__wm { left: 1.5rem; top: 19.3173rem; font-size: 2rem; line-height: 2.6rem; letter-spacing: 0.04rem; }
.co-partner__title { left: 1.5rem; top: 21.9173rem; font-size: 2.6rem; line-height: 3.1rem; }
.co-partner__photo { left: 1.5rem; top: 27.2173rem; width: 36rem; height: 22rem; border-radius: 1.8rem; }
.co-partner__p { left: 1.5rem; width: 37.4rem; font-size: 1.6rem; font-weight: 400; line-height: 2.8rem; letter-spacing: 0; }
.co-partner__p--1 { top: 51.4173rem; }
.co-partner__p--2 { top: 65.4173rem; }
.co-partner__btn { left: 6.5rem; top: 74.0173rem; letter-spacing: 0; }
.co-partner__thanks { left: 13.6rem; top: -0.2rem; width: 11.8rem; height: 14.8rem; }

/* --- COMPANY y=5826.173..6493.173 --- */
.co-company { height: 66.7rem; }
.co-company__en { left: 1.5rem; top: 4.8rem; font-size: 3.4rem; line-height: 4.1rem; }
.co-company__title { left: 1.5rem; top: 9.9rem; font-size: 2.6rem; line-height: 3.1rem; }
.co-company__yellow { left: 2.35rem; top: 15rem; width: 35rem; height: 48rem; }
.co-company__car { left: 24.5rem; top: 8.8827rem; width: 8.5799rem; height: 5.7199rem; }
.co-company__card {
  left: 1.5rem; top: 14rem;
  width: 35rem; height: 48.4rem;
  background: var(--c-bg-off);
  border-radius: 1.8rem;
  padding: 2rem 1.5rem;
}
.co-tbl__row { height: 5.5rem; padding: 1.5rem 0 1.3rem; box-shadow: inset 0 -0.1rem 0 #E2DED6; }
.co-tbl__row:nth-child(2) { height: 8.2rem; }
.co-tbl__row--biz { height: 13.6rem; }
.co-tbl__row:first-child { box-shadow: inset 0 -0.1rem 0 #E2DED6, inset 0 0.1rem 0 #E2DED6; }
.co-tbl__row--last { box-shadow: inset 0 -0.1rem 0 #E2DED6; }
.co-tbl__k { width: 9.2rem; margin-right: 1.2rem; font-size: 1.6rem; line-height: 1.9rem; }
.co-tbl__v { width: 21.6rem; font-size: 1.6rem; font-weight: 400; line-height: 2.7rem; }
.co-tbl__note { margin-top: 0; font-size: 1.6rem; font-weight: 400; line-height: 2.7rem; color: var(--c-text); }

/* --- CTA y=6493.173..6600.173 --- */
.co-cta { height: 10.7rem; }
.co-cta__btn { left: 6.5rem; top: 0; }

}

/* ============================================================
   お問い合わせページ (contact.html / Figma PC 2100:5610・SP 2100:6211)
   既存TOP・会社情報・よくある質問に一切影響させないため、
   すべて .contact-page / .ct-* にスコープする（既存セレクタは書き換えない）。
   座標は Figma のページ絶対座標からセクション先頭を引いた値 (px/10 = rem)。
   ヘッダー・フッター・ヒーロー帯は会社情報ページのカンプと機械比較して
   完全一致を確認済み → 同じ部品(.site-header / .site-footer / .co-hero)を流用する。
   ============================================================ */

/* ---------- ヘッダー/フッター: contactカンプ仕様 (= companyカンプと同値) ---------- */
.contact-page .site-header__logo { width: 13rem; height: 13rem; }
.contact-page .site-header__logo img { left: 2.1rem; top: 2.25rem; width: 8.8rem; height: 8.5rem; }
.contact-page .site-header__link { line-height: 3.5rem; margin-top: -0.1rem; }
.contact-page .site-header__cta {
  width: 22rem; height: 6.35rem;
  border-radius: 4rem;
  padding-bottom: 0.25rem;
}
.contact-page .bottom-divider { display: none; }
.contact-page .site-footer__catch { top: 6.7rem; }

/* Figmaのルートフレームは1440/390でクリップする。装飾のはみ出しを同じ位置で切る */
.contact-page .inner { overflow-x: clip; }

/* Chrome既定ONの text-spacing-trim(和文約物の自動詰め)を無効化してFigmaのベタ組みに合わせる */
.contact-page main { text-spacing-trim: space-all; }

/* Figma↔ブラウザのベースライン差の一括補正 (co-* と同じ 0.5px + 0.0265em) */
.ct-intro__title, .ct-intro__lead, .ct-label,
.contact-page .site-header__link,
.contact-page .site-footer__company, .contact-page .site-footer__addr, .contact-page .site-footer__tel,
.contact-page .site-footer__catch, .contact-page .site-footer__nav a, .contact-page .site-footer__policy { transform: translateY(calc(-0.05rem - 0.0265em)); }

/* ---------- HERO (ページタイトル帯) y=130..567 ---------- */
/* .co-hero* の座標・画像は会社情報ページと同一。高さ(=クリップ位置)だけ違う */
.contact-page .co-hero { height: 43.7rem; }

/* ---------- 見出し + リード y=567..862 ---------- */
.ct-intro { background: var(--c-bg-green); height: 29.5rem; }
.ct-intro__title {
  position: absolute;
  left: 16.031rem; top: 11rem;
  font-size: 4rem; font-weight: 700; line-height: 4.8rem;
  white-space: nowrap;
}
.ct-intro__lead {
  position: absolute;
  left: 16.031rem; top: 18.3rem;
  width: 104rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.0096rem;
}

/* ---------- フォーム y=862..2396 ---------- */
.ct-form { background: var(--c-bg-green); height: 153.4rem; }
/* 黄色パターン背景(#ECECAB 80% + 敷き詰めタイル)。カード下に敷き、右20px・下13pxだけが見える。
   タイルは 360x218.70 を -19.05 の負ギャップで重ねる組み方でCSSのrepeatでは再現できないため、
   カンプ(平坦な#EEF4E9地)からの実寸クロップを使う */
.ct-form__yellow {
  position: absolute;
  left: 18rem; top: 1.3rem;
  width: 112.1rem; height: 124.7rem;
}
.ct-form__card {
  position: absolute;
  left: 16.031rem; top: 0;
  width: 112rem; height: 124.7rem;
  background: var(--c-white);
  border-radius: 5rem;
}
.ct-label {
  position: absolute;
  left: 26.031rem;
  width: 25rem;
  font-size: 2.2rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.0088rem;
  color: var(--c-text);
}
.ct-label__main, .ct-label__sub { display: block; }
.ct-label__sub { margin-top: 3.5rem; }   /* PCは「備考欄」の下に1行空く */
.ct-input {
  position: absolute;
  left: 54.531rem;
  width: 61rem; height: 6.5rem;
  padding: 0 2rem;
  background: var(--c-bg-off);
  border: 0;
  border-radius: 1.4rem;
  font-family: inherit;
  font-size: max(2.2rem, 16px);   /* iPad(768〜)の入力フォーカス時ズーム防止。空欄なのでピクセルには出ない */
  line-height: 3.5rem;
  color: var(--c-text);
  appearance: none;
}
.ct-input--area {
  height: 19.6rem;
  padding: 1.5rem 2rem;
  resize: none;
}
/* 必須表示はカンプに存在しない → 視覚は変えずスクリーンリーダーにだけ伝える */
.ct-req {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ct-field--1 .ct-label { top: 9.9rem; }   .ct-field--1 .ct-input { top: 8.4rem; }
.ct-field--2 .ct-label { top: 19.1rem; }  .ct-field--2 .ct-input { top: 17.6rem; }
.ct-field--3 .ct-label { top: 28.3rem; }  .ct-field--3 .ct-input { top: 26.8rem; }
.ct-field--4 .ct-label { top: 37.5rem; }  .ct-field--4 .ct-input { top: 36rem; }
.ct-field--5 .ct-label { top: 46.7rem; }  .ct-field--5 .ct-input { top: 45.2rem; }
.ct-field--6 .ct-label { top: 55.9rem; }  .ct-field--6 .ct-input { top: 54.4rem; }
.ct-field--7 .ct-label { top: 65.1rem; }  .ct-field--7 .ct-input { top: 63.6rem; }
.ct-field--8 .ct-label { top: 73.85rem; } .ct-field--8 .ct-input { top: 72.8rem; }

.ct-submit {
  left: 55.281rem; top: 108.8rem;
  border: 0;
  font-family: inherit;
  cursor: pointer;
  appearance: none;
}

.ct-recaptcha {
  position: absolute;
  color: var(--c-text);
  transform: translateY(calc(0.05rem - 0.0265em));
}
/* Figmaの下線は「細く・ベースラインから離れている」。Chrome既定は太く・近いので実測で合わせる */
.ct-recaptcha a {
  text-decoration: underline;
  text-decoration-thickness: 0.1rem;
  text-underline-offset: 0.15rem;
}
.ct-recaptcha--pc {
  left: 40.231rem; top: 129.7rem;
  width: 65.6rem;
  font-size: 2.4rem; font-weight: 500; line-height: 2.88rem;
  white-space: nowrap;   /* 改行は<br>で確定。Figmaの箱幅656はテキスト実寸ぴったりで、
                            ブラウザの字送り差だと1語こぼれて3行になる */
}
.ct-recaptcha--sp { display: none; }

/* ---------- 実測ズレ補正 (ink実測) — PC限定。min-widthでSPへの漏れを防ぐ ---------- */
@media (min-width: 768px) {
  /* 見出し・フッター文字はem一括補正が1px効きすぎる → co-* の見出しと同じ +0.05rem 版に差し替え */
  .ct-intro__title,
  .contact-page .site-footer__company, .contact-page .site-footer__addr, .contact-page .site-footer__tel,
  .contact-page .site-footer__catch, .contact-page .site-footer__nav a,
  .contact-page .site-footer__policy { transform: translateY(calc(0.05rem - 0.0265em)); }
  /* コピーライト行は実測で1px高い (ref ink y2724 / site y2723) */
  .contact-page .copyright p { top: 2.2rem; }
  /* 送信ボタンのシェブロンが実測1px低い (ref y1979-1995 / site y1980-1996) */
  .ct-submit .carret::before { transform: translate(-50%, calc(-50% - 0.1rem)); }
}

/* ============================================================
   お問い合わせページ SP (〜767px) — デザイン390px基準
   ============================================================ */
@media (max-width: 767px) {

/* --- ヘッダー/フッター (contactはロゴ枠が正方形64・下線なし) --- */
.contact-page .site-header { box-shadow: none; }
.contact-page .site-header__logo { width: 6.4rem; height: 6.4rem; }
.contact-page .site-header__logo img { left: 0.8rem; top: 0.9rem; width: 4.8rem; height: 4.6rem; }
.contact-page .site-header__cta { width: 12rem; height: 3rem; border-radius: 1.5rem; padding-bottom: 0; }
.contact-page .site-footer__btn { padding-bottom: 0; }

/* ヘッダー/フッターはTOP側SPで既に個別補正済み → em一括補正を打ち消す */
.contact-page .site-header__link,
.contact-page .site-footer__company, .contact-page .site-footer__addr, .contact-page .site-footer__tel,
.contact-page .site-footer__catch, .contact-page .site-footer__nav a, .contact-page .site-footer__policy,
.contact-page .copyright p { transform: none; }

/* --- HERO y=64..315 (楕円はcompanyの#F8F9F7ではなく#FFFFFF) --- */
.contact-page .co-hero { height: 25.1rem; }
.contact-page .co-hero__band { height: 25.1rem; }
.contact-page .co-hero__ellipse { background: var(--c-white); }

/* --- 見出し + リード y=315..526 --- */
/* --- 実測ズレ補正 (ink実測) — SPのみ --- */
.contact-page .co-hero__title { transform: translateY(calc(-0.15rem - 0.0265em)); }
.ct-intro__lead, .ct-label { transform: translateY(calc(0.05rem - 0.0265em)); }

.ct-intro { height: 21.1rem; }
.ct-intro__title { left: 1.5rem; top: 2rem; font-size: 2.3rem; line-height: 3.22rem; white-space: normal; }
.ct-intro__lead { left: 1.5rem; top: 10.7rem; width: 36rem; font-size: 1.8rem; font-weight: 400; line-height: 2.79rem; letter-spacing: 0; }

/* --- フォーム y=526..1551 (白地・カード/黄色背景なし) --- */
.ct-form { height: 102.5rem; background: var(--c-white); }
.ct-form__yellow, .ct-form__card { display: none; }
.ct-label { left: 1.5rem; width: 36rem; font-size: 1.6rem; line-height: 1.92rem; letter-spacing: 0; }
.ct-label__sub { margin-top: 0; font-size: 1.4rem; line-height: 1.68rem; }
.ct-input {
  left: 1.5rem;
  width: 36rem; height: 4.8rem;
  padding: 0 1.4rem;
  font-size: max(1.6rem, 16px);   /* iOSの自動ズーム防止 (空欄なのでピクセルには出ない) */
  line-height: 1.92rem;
}
.ct-input--area { height: 12rem; padding: 1.2rem 1.4rem; }
.ct-field--1 .ct-label { top: 4rem; }     .ct-field--1 .ct-input { top: 6.7rem; }
.ct-field--2 .ct-label { top: 13.1rem; }  .ct-field--2 .ct-input { top: 15.8rem; }
.ct-field--3 .ct-label { top: 22.2rem; }  .ct-field--3 .ct-input { top: 24.9rem; }
.ct-field--4 .ct-label { top: 31.3rem; }  .ct-field--4 .ct-input { top: 34rem; }
.ct-field--5 .ct-label { top: 40.4rem; }  .ct-field--5 .ct-input { top: 43.1rem; }
.ct-field--6 .ct-label { top: 49.5rem; }  .ct-field--6 .ct-input { top: 52.2rem; }
.ct-field--7 .ct-label { top: 58.6rem; }  .ct-field--7 .ct-input { top: 61.3rem; }
.ct-field--8 .ct-label { top: 67.7rem; }  .ct-field--8 .ct-input { top: 72.1rem; }

.ct-submit { left: 6.5rem; top: 87.3rem; }

.ct-recaptcha--pc { display: none; }
.ct-recaptcha--sp {
  display: block;
  left: 1.5rem; top: 95.9rem;
  width: 36rem;
  text-align: center;
  font-size: 1.1rem; font-weight: 500; line-height: 1.32rem;
}

}


/* ============================================================
   よくある質問ページ (faq.html) — Figma 2100:4428 / 2100:5024
   既存ページに一切影響させないため、すべて .faq-page / .fq-* にスコープする。
   座標は Figma のページ絶対座標からセクション先頭を引いた値 (px/10 = rem)。
   ============================================================ */

/* ---------- ヘッダー: faqカンプ仕様 (companyカンプと同一・TOPと高さ/ロゴ枠が違う) ---------- */
.faq-page .site-header__logo { width: 13rem; height: 13rem; }
.faq-page .site-header__logo img { left: 2.1rem; top: 2.2rem; width: 8.8rem; height: 8.5rem; }
.faq-page .site-header__link { line-height: 3.5rem; margin-top: -0.1rem; }
.faq-page .site-header__cta {
  width: 22rem; height: 6.35rem;
  border-radius: 4rem;
  padding-bottom: 0.25rem;
}
/* カンプ最下端はコピーライト帯で終わる (PC 4754 / SP 3870) → TOPの3px罫は出さない */
.faq-page .bottom-divider { display: none; }
.faq-page .site-footer__catch { top: 6.7rem; }

/* Figmaのルートフレームは1440/390でクリップする。装飾のはみ出しを同じ位置で切る */
.faq-page .inner { overflow-x: clip; }

/* Chrome既定の text-spacing-trim (和文約物の自動アキ詰め) はFigmaの全角ベタ組みと
   字送り・折返しが食い違う → 詰めを無効化してFigmaに合わせる (スコープ限定) */
.faq-page main { text-spacing-trim: space-all; }

/* ---------- Figma↔ブラウザのベースライン差の一括補正 ----------
   実測でブラウザ側が「0.5px + 0.0265em」低い (会社情報ページで確立した係数)。 */
.fq-hero__label, .fq-hero__title,
.fq-intro__title-i, .fq-intro__lead,
.fq-q__mark, .fq-q__text, .fq-a__mark, .fq-a__text,
.faq-page .site-header__link,
.faq-page .site-footer__company, .faq-page .site-footer__addr, .faq-page .site-footer__tel,
.faq-page .site-footer__catch, .faq-page .site-footer__nav a, .faq-page .site-footer__policy { transform: translateY(calc(-0.05rem - 0.0265em)); }
/* 大きい字面(35px〜)とQ/Aマークは em一括補正が1px効きすぎる → 実測で1px戻す */
.fq-q__mark, .fq-a__mark,
.faq-page .site-footer__tel, .faq-page .site-footer__catch,
.faq-page .site-footer__nav a, .faq-page .site-footer__policy { transform: translateY(calc(0.05rem - 0.0265em)); }

/* ---------- HERO (ページタイトル帯) y=130..567 ---------- */
.fq-hero { background: var(--c-bg-green); height: 43.7rem; }
.fq-hero__band { position: absolute; left: 0; top: 0; width: 144rem; height: 43.7rem; overflow: hidden; }
.fq-hero__ellipse { position: absolute; left: 58.2rem; top: 2.2rem; width: 99.1rem; height: 81.9rem; border-radius: 50%; background: var(--c-white); }
.fq-hero__town { position: absolute; left: 1.2rem; top: 20.9rem; width: 96.5881rem; height: 19.9733rem; }
.fq-hero__nico { position: absolute; left: 103.2rem; top: 13.7rem; width: 26.1rem; height: 25.3rem; }
.fq-hero__hello { position: absolute; left: 88.2rem; top: 6.6rem; width: 24.9rem; height: 16.6rem; }
.fq-hero__label {
  position: absolute; left: 9.4rem; top: 9.5rem;
  font-size: 3rem; font-weight: 700; line-height: 3.6rem; letter-spacing: 0.1rem;
  color: var(--c-green-hero);
}
.fq-hero__title {
  position: absolute; left: 9.4rem; top: 13.1rem;
  font-size: 5rem; font-weight: 700; line-height: 6.5rem; letter-spacing: 0.1rem;
  white-space: nowrap;
}

/* ---------- 本文帯 y=567..4387 (#F8F9F7 + 末尾3pxのフレーム地色) ---------- */
.fq-body { background: var(--c-bg-off); }
/* Figmaの外枠フレーム(Frame 223)の地色が、内側の#F8F9F7とフッターの隙間3pxだけ露出する。
   カンプ実測どおり再現 (y=4384..4387 の黒帯)。SPには無い。 */
.fq-body::after { content: ""; display: block; height: 0.3rem; background: #000000; }

/* ---------- イントロ y=567..966 ---------- */
.fq-intro { height: 39.9rem; }
.fq-intro__title {
  position: absolute; left: 12rem; top: 14.4rem;
  font-size: 5rem; font-weight: 700; line-height: 4.2rem;
}
.fq-intro__title-i { display: block; }
.fq-intro__lead {
  position: absolute; left: 12rem; top: 21.4rem; width: 124.8rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.04rem;
  color: #000000;
}

/* ---------- Q&A リスト y=966..4384 ---------- */
.fq-list { padding-bottom: 7.5rem; }
.fq-items { width: 120rem; margin: 0 auto; display: flex; flex-direction: column; gap: 5rem; }
.fq-item { border-radius: 4rem; overflow: hidden; background: var(--c-white); }

.fq-q {
  position: relative;
  display: flex; align-items: center; gap: 3.5rem;
  padding: 3rem 5rem;
  background: var(--c-bg-green);
}
.fq-q__mark {
  flex: none; width: 3.1rem;
  font-size: 4rem; font-weight: 700; line-height: 4.8rem; letter-spacing: 0.18rem;
}
.fq-q__text {
  width: 95rem;
  font-size: 2.4rem; font-weight: 700; line-height: 4.2rem; letter-spacing: 0.18rem;
}
.fq-a {
  display: flex; align-items: flex-start; gap: 3.5rem;
  padding: 3rem 5rem;
  background: var(--c-white);
}
.fq-a__mark {
  flex: none; width: 3.1rem;
  font-size: 4rem; font-weight: 700; line-height: 4.8rem; letter-spacing: 0.18rem;
  color: var(--c-green);
}
.fq-a__text {
  width: 103.4rem;
  font-size: 2.4rem; font-weight: 500; line-height: 3.5rem; letter-spacing: 0.18rem;
}
/* 01のみ Figma上の字間が 0.4px (他は 1.8px) */
.fq-item--01 .fq-q__text, .fq-item--01 .fq-a__text { letter-spacing: 0.04rem; }
/* 3行回答(10/11)はFigma上の下パディングが35px */
.fq-item--10 .fq-a, .fq-item--11 .fq-a { padding-bottom: 3.5rem; }

/* アコーディオン矢印 (パス 22x11 / 線5px CENTER 丸端 → 実描画 27x16) */
.fq-arrow {
  position: absolute;
  right: 3.85rem; top: 5.4rem;
  width: 2.7rem; height: 1.6rem;
  transform: translateY(-50%);
  background: var(--c-red);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 16'%3E%3Cpath d='M2.5 2.5 L13.5 13.5 L24.5 2.5' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 16'%3E%3Cpath d='M2.5 2.5 L13.5 13.5 L24.5 2.5' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
/* JSアコーディオン(任意)。既定は全開＝カンプの静止状態 */
.fq-item.is-closed .fq-a { display: none; }
.fq-item.is-closed .fq-arrow { transform: translateY(-50%) rotate(180deg); }
.fq-q[role="button"] { cursor: pointer; }

/* ---------- CTA ---------- */
.fq-cta { position: static; margin: 7rem auto 0; }

/* PC限定の実測ズレ補正 (min-widthでSPへの漏れを防ぐ) */
@media (min-width: 768px) {
  .fq-hero__title, .fq-q__text { transform: translateY(calc(0.05rem - 0.0265em)); }
  /* Figmaの "FAQ Intro" フレーム(y=711..851)がクリップする。50px/lh42 の見出しは
     グリフ上端が2pxはみ出すのでref同様に切る (SPのフレームはクリップ無し)。
     ベースライン補正は内側spanに掛ける(外箱ごと動かすとクリップ位置もズレるため) */
  .fq-intro__title { overflow: hidden; height: 14rem; }
  /* 2026-08-20 トリアージ収束 (実測): フッター社名/住所はカンプのインクが実装より
     +1.03px / +0.89px 低い → -0.05rem版が1px効きすぎ。tel/catch/nav/policy と同じ +0.05rem版へ */
  .faq-page .site-footer__company,
  .faq-page .site-footer__addr { transform: translateY(calc(0.05rem - 0.0265em)); }
  /* CTAボタンのシェブロンは実測1px低い (重心Δ dy=-0.99px) */
  .fq-cta .carret::before { transform: translate(-50%, calc(-50% - 0.1rem)); }
}

/* ============================================================
   よくある質問ページ SP (〜767px) — デザイン390px基準
   ============================================================ */
@media (max-width: 767px) {

/* --- ヘッダー (faqはロゴ枠が正方形64・下線あり) --- */
.faq-page .site-header__logo { width: 6.4rem; height: 6.4rem; }
.faq-page .site-header__logo img { left: 0.8rem; top: 0.9rem; width: 4.8rem; height: 4.6rem; }
/* 2026-08-20 トリアージ収束 (実測): CTA文字がカンプより1px低い(重心Δ dy=-0.99px)
   → flex中央を1px上げる (padding-bottom 0.2rem = 2px の半分) */
.faq-page .site-header__cta { width: 12rem; height: 3rem; border-radius: 1.5rem; padding-bottom: 0.2rem; }
.faq-page .site-footer__btn { padding-bottom: 0; }

/* ヘッダー/フッターはTOP側SPで既に個別補正済み → em一括補正を打ち消す */
.faq-page .site-header__link,
.faq-page .site-footer__company, .faq-page .site-footer__addr, .faq-page .site-footer__tel,
.faq-page .site-footer__catch, .faq-page .site-footer__nav a, .faq-page .site-footer__policy,
.faq-page .copyright p { transform: none; }

/* --- HERO y=64..315 --- */
.fq-hero { height: 25.1rem; }
.fq-hero__band { width: 39rem; height: 25.1rem; }
.fq-hero__ellipse { left: 11.6rem; top: 9.34rem; width: 33.8rem; height: 29.22rem; }
.fq-hero__town { left: 0; top: 16.81rem; width: 24.9rem; height: 6.7rem; }
.fq-hero__nico { left: 27.5rem; top: 14.1rem; width: 9.2rem; height: 8.9rem; }
.fq-hero__hello { left: 22.5rem; top: 12.4rem; width: 8.8rem; height: 6.4rem; }
.fq-hero__label { left: 1.5rem; top: 4.3944rem; font-size: 1.88665rem; line-height: 2.3rem; letter-spacing: 0; }
.fq-hero__title { left: 1.5rem; top: 7.9521rem; font-size: 2.93478rem; line-height: 3.5rem; letter-spacing: 0; }

/* --- 本文帯: SPは黒帯なし --- */
.fq-body::after { display: none; }

/* --- イントロ y=315..546 --- */
.fq-intro { height: 23.1rem; }
.fq-intro__title { left: 1.5rem; top: 2rem; width: 36rem; font-size: 2.3rem; line-height: 3.22rem; letter-spacing: 0; }
.fq-intro__lead {
  left: 1.5rem; top: 10.7rem; width: 36rem;
  font-size: 1.8rem; font-weight: 400; line-height: 2.79rem; letter-spacing: 0;
  color: var(--c-text);
}

/* --- Q&A リスト y=546..3402 --- */
.fq-list { padding-bottom: 5rem; }
.fq-items { width: 36rem; gap: 4rem; }
.fq-item { border-radius: 1.8rem; }
.fq-q { align-items: flex-start; gap: 1.2rem; padding: 1.4rem 1.6rem; }
.fq-q__mark { width: 1.6rem; font-size: 2rem; font-weight: 900; line-height: 2.4rem; letter-spacing: 0; }
.fq-q__text { width: 24.3rem; font-size: 1.6rem; font-weight: 700; line-height: 2.4rem; letter-spacing: 0; }
.fq-a { gap: 1.2rem; padding: 1.4rem 1.6rem; }
.fq-a__mark { width: 1.4rem; font-size: 2rem; font-weight: 900; line-height: 2.4rem; letter-spacing: 0; }
.fq-a__text { width: 30.2rem; font-size: 1.6rem; font-weight: 400; line-height: 2.8rem; letter-spacing: 0; }
.fq-item--01 .fq-q__text, .fq-item--01 .fq-a__text { letter-spacing: 0; }
.fq-item--10 .fq-a, .fq-item--11 .fq-a { padding-bottom: 1.4rem; }
/* 設問の行高: Figma上で 24 と 28 が混在 */
.fq-item--04 .fq-q__text, .fq-item--05 .fq-q__text, .fq-item--07 .fq-q__text,
.fq-item--10 .fq-q__text, .fq-item--11 .fq-q__text { line-height: 2.8rem; }
/* 回答の行高: 同上 */
.fq-item--04 .fq-a__text, .fq-item--05 .fq-a__text, .fq-item--07 .fq-a__text,
.fq-item--10 .fq-a__text, .fq-item--11 .fq-a__text { line-height: 2.4rem; }
/* 08だけ設問の折返し幅が広い (Figma実測 256px) */
.fq-item--08 .fq-q__text { width: 25.6rem; }

/* 矢印: パス 15x7.5 / 線3.409px CENTER → 実描画 18.4x10.9 */
.fq-arrow { right: 2.13rem; top: 2.6rem; width: 1.84rem; height: 1.09rem; }
/* 09だけ設問がオートレイアウト内で右詰めされず、テキスト直後に置かれている */
.fq-item--09 .fq-arrow { right: 4.43rem; }
/* SPは本文16pxの一括補正がそのまま合う → 1px戻しはリード文だけ */
.fq-intro__lead { transform: translateY(calc(0.05rem - 0.0265em)); }

.fq-cta { margin: 4rem auto 0; }

}

/* ============================================================
   下層ページ共通の実測ズレ補正 (2026-08-20 トリアージ収束)
   ページ固有ブロックではなく「header-sub を使う3ページ共通」の事情なのでここに集約する。
   ※ contact 系のフォームスタイル(.ct-*)には一切触れていない
   ============================================================ */
@media (min-width: 768px) {
  /* フッターCTAのシェブロンがカンプより1px高い。全探索の実測(base→最良):
     会社情報 補正前(+0.2rem)から -1px / よくある質問・お問い合わせ 74.6 → dy=-1 で 41.6。
     TOPだけは無補正が最良(54.7 / どちらへ動かしても悪化)なので対象から外す */
  .company .site-footer__btn .carret::before,
  .faq-page .site-footer__btn .carret::before,
  .contact-page .site-footer__btn .carret::before { transform: translate(-50%, calc(-50% + 0.1rem)); }
}

/* ============================================================
   FC募集（準備中）— カンプ未定義。既存トークンを流用した提案ベース
   （404ページと同じ扱い。デザイン確定後に差し替える）
   ============================================================ */
.fc-prep { padding: 12rem 0 14rem; background: var(--c-bg-green); text-align: center; }
/* .inner の基本は width:144rem 固定。max-width だけ上書きすると SP で 84rem(840px) の
   ままはみ出すので、width ごと指定して max-width:100% を効かせる。 */
.fc-prep .inner { width: 84rem; max-width: 100%; }
/* 日本語の折返しを文節単位に（非対応ブラウザ向けには fc.html の <br class="br-sp">）*/
.fc-prep__title, .fc-prep__lead, .fc-prep__note { word-break: auto-phrase; text-wrap: balance; }
.fc-prep__en { font-size: 1.4rem; letter-spacing: 0.2em; color: var(--c-green); font-weight: 700; }
.fc-prep__title { margin-top: 1.6rem; font-size: 4rem; line-height: 1.4; color: var(--c-text); }
.fc-prep__lead { margin-top: 3.2rem; font-size: 2rem; line-height: 1.9; color: var(--c-text); }
.fc-prep__note { margin-top: 2.4rem; font-size: 1.6rem; line-height: 2; color: var(--c-text); }
/* .btn の基本は position:absolute（カンプ準拠）なので、通常フローで置くページでは
   必ず static に戻す。戻し忘れると後続要素と重なる（404で同じ処置。fcで再発）*/
/* .btn の基本は position:absolute（カンプ準拠）なので、通常フローで置くページでは
   必ず static に戻す。戻し忘れると後続要素と重なる（404で同じ処置。fcで再発）。
   さらに inline-flex のままだと次のリンクが同じ行に並ぶので block にして中央寄せする。 */
.fc-prep__btn { position: static; display: flex; align-items: center; justify-content: center;
  margin: 4rem auto 0; width: 32.5rem; height: 7.5rem; font-size: 1.8rem; }
.fc-prep__back { display: block; margin-top: 2.4rem; font-size: 1.5rem;
  color: var(--c-text); text-decoration: underline; }
@media (max-width: 767px) {
  .fc-prep { padding: 8rem 1.5rem 10rem; }
  .fc-prep__title { font-size: 2.8rem; }
  .fc-prep__lead { margin-top: 2.4rem; font-size: 1.6rem; }
  .fc-prep__note { font-size: 1.4rem; }
  .fc-prep__btn { margin: 3.2rem auto 0; width: 100%; max-width: 32.5rem; height: 6rem; font-size: 1.6rem; }
}

/* --- SP拡大の上限に伴う中央寄せ（.inner の基本定義より後に置く必要がある） --- */
@media (max-width: 767px)  { .inner { width: 39rem; max-width: 100%; margin-inline: auto; } }
