/*
 * モバイルオーダー（/solutions/mobile-order/）2026-10 作り直しの追加スタイル
 * - モバイルオーダー紹介資料（選べるモバイルオーダー）と同じ流れ: お客様の今 → 3つの約束 → 約束1〜3 → POSと一体 → LINE → 機能 → 使い方 → デモ → 事例 → よくある質問
 * - このページでだけ読み込む。既存の機能ページ共通CSS（solution-detail-v2.css）は触らない
 * - 文字組みはトップ・/benefits/ と同じ基準（見出し2 24/34px、カード見出し 18/20px、本文 14/16px・行間1.8・太さ500）
 * - 変更したら solutions/mobile-order/index.html の ?v= を上げる
 */
.p-moV2-sec {
  --mo-accent: #29baa2;
  --mo-accent-dk: #12866f;
  --mo-mint: #eafaf6;
  --mo-mint2: #f2fbf9;
  --mo-lime: #f9ffeb;
  --mo-sun: #f2af44;
  --mo-ink: #1a1a1a;
  --mo-ink2: #5a6a72;
  --mo-line: #dcece8;
  padding: 56px 0;
  color: var(--mo-ink);
}
.p-moV2-sec:nth-of-type(even) { background: var(--mo-mint2); }
.p-moV2-sec.-today { background: #fff; }
.p-moV2-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-moV2-eyebrow {
  font-family: Montserrat, sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .2em;
  color: var(--mo-accent-dk);
  margin-bottom: 8px;
}
.p-moV2-title {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 28px;
  position: relative;
  padding-bottom: 14px;
}
.p-moV2-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 3px;
  background: var(--mo-sun);
}
/* 見出しは文節（span）の区切りでだけ折り返す */
.p-moV2-nb { display: inline-block; }
.p-moV2-subTitle {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 14px;
}
.p-moV2-lead,
.p-moV2-points dd,
.p-moV2-tile p,
.p-moV2-lineCard__txt,
.p-moV2-message__txt,
.p-moV2-demo__txt,
.p-moV2-faq dd {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  color: var(--mo-ink2);
}

/* ---------- KV（2026-10-14 案B）: メインコピーが主役、製品名は小さなラベル。写真はコピーと同じ言葉のラベル付き ----------
   solution-kv-wide.css は他の機能ページと共通なので、ここでは .p-moKv* だけで上書きする */
.p-moKv__h1 { display: block; }
.p-moKv__label { display: inline-flex; align-items: center; gap: 8px; font-size: 1.4rem; font-weight: 700; color: #12866f; background: #fff; border: 1px solid #bfe9e1; border-radius: 99px; padding: 6px 14px 6px 10px; margin-bottom: 14px; }
.p-moKv__label img { width: 76px; height: auto; }
.p-moKv__catch { display: block; font-size: 3rem; line-height: 1.45; font-weight: 700; color: #1a1a1a; letter-spacing: .01em; }
.p-moKv__txt { font-size: 1.4rem; line-height: 1.9; font-weight: 500; color: #3c4a50; margin-top: 16px; }
.p-moKv__visual { position: relative; padding: 16px 20px 40px; }
.p-moKv__ph { margin: 0; position: relative; overflow: hidden; border-radius: 16px; box-shadow: 0 6px 20px rgba(0,0,0,.10); }
.p-moKv__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.p-moKv__ph figcaption { position: absolute; left: 10px; bottom: 10px; white-space: nowrap; background: #29baa2; color: #fff; font-weight: 700; font-size: 1.2rem; line-height: 1.4; border-radius: 99px; padding: 5px 12px; }
.p-moKv__ph.-table { aspect-ratio: 4 / 3; }
.p-moKv__ph.-table figcaption { top: 12px; bottom: auto; }
.p-moKv__ph.-inset { position: absolute; right: 28px; bottom: 0; width: 46%; aspect-ratio: 1 / 1; border: 4px solid #fff; }
.p-moKv__ph.-inset figcaption { background: #f2af44; color: #1a1a1a; left: 50%; transform: translateX(-50%); }
@media screen and (min-width: 768px) {
  /* パンくずとラベルの間を空け、文字のまとまりを写真の上下中央に寄せる */
  .p-moKv__head { margin-top: 36px; }
  .p-moKv__label { font-size: 1.6rem; margin-bottom: 22px; }
  .p-moKv__label img { width: 96px; }
  .p-moKv__catch { font-size: clamp(2.8rem, 3.3vw, 4.8rem); line-height: 1.4; }
  .p-moKv__txt { font-size: 1.6rem; margin-top: 24px; }
  .p-moKv__visual { display: flex; align-items: center; justify-content: center; padding: 48px 40px; }
  .p-moKv__ph.-table { width: 100%; }
  .p-moKv__ph.-inset { right: 24px; bottom: 28px; width: 40%; transform: none; }
  .p-moKv__ph figcaption { font-size: 1.5rem; left: 16px; bottom: 16px; padding: 8px 16px; }
  .p-moKv__ph.-inset figcaption { left: 50%; }
}

/* ---------- お客様の今 ---------- */
.p-moV2-stats {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
.p-moV2-stat {
  background: var(--mo-mint);
  border-radius: 12px;
  padding: 18px 20px;
}
.p-moV2-stat__label { font-size: 1.4rem; font-weight: 700; line-height: 1.5; }
.p-moV2-stat__num {
  font-family: Montserrat, sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: var(--mo-accent-dk);
  line-height: 1.2;
  margin: 4px 0;
}
.p-moV2-stat__num span { font-size: 1.6rem; margin-left: 2px; }
.p-moV2-stat__note { font-size: 1.2rem; line-height: 1.6; color: var(--mo-ink2); }
.p-moV2-message {
  background: var(--mo-accent);
  color: #fff;
  border-radius: 12px;
  padding: 20px 22px;
}
.p-moV2-message__title { font-size: 1.6rem; font-weight: 700; line-height: 1.6; margin-bottom: 6px; }
.p-moV2-message__txt { color: #fff; }

/* ---------- 3つの約束 ---------- */
.p-moV2-promises { display: grid; gap: 14px; margin-bottom: 20px; }
.p-moV2-promise__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--mo-mint);
  border-radius: 12px;
  padding: 22px 22px 24px;
  color: inherit;
  text-decoration: none;
  transition: box-shadow .2s;
}
.p-moV2-promise__link:hover { box-shadow: 0 4px 16px rgba(18, 134, 111, .15); }
.p-moV2-promise__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mo-accent);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 12px;
}
.p-moV2-promise__name {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--mo-accent-dk);
  margin-bottom: 10px;
}
.p-moV2-promise__txt { font-size: 1.4rem; line-height: 1.8; font-weight: 500; color: var(--mo-ink2); }
.p-moV2-lead { color: var(--mo-ink); font-weight: 700; }

/* ---------- 2カラム（文章＋スマホ画面） ---------- */
.p-moV2-split { display: grid; gap: 28px; }
.p-moV2-split + .p-moV2-split { margin-top: 48px; }
.p-moV2-points { display: grid; gap: 16px; margin-bottom: 20px; }
.p-moV2-point dt {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  padding-left: 22px;
  position: relative;
  margin-bottom: 4px;
}
.p-moV2-point dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--mo-accent);
}
.p-moV2-point dd { padding-left: 22px; }
.p-moV2-fact {
  background: var(--mo-mint);
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 500;
  margin-bottom: 16px;
}
.p-moV2-fact strong { color: var(--mo-accent-dk); font-size: 1.8rem; }
.p-moV2-fact span { display: block; font-size: 1.2rem; color: var(--mo-ink2); }
.p-moV2-quote {
  margin: 0;
  background: #fff;
  border: 1px solid var(--mo-line);
  border-radius: 12px;
  padding: 18px 20px 16px;
  position: relative;
}
.p-moV2-quote::before {
  content: "“";
  font-family: Montserrat, sans-serif;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--mo-sun);
  font-weight: 700;
  display: block;
  height: 22px;
}
.p-moV2-quote blockquote { font-size: 1.5rem; line-height: 1.75; font-weight: 700; margin: 0 0 8px; }
.p-moV2-quote figcaption { font-size: 1.2rem; color: var(--mo-ink2); }
.p-moV2-quote figcaption a { color: inherit; text-decoration: underline; }
.p-moV2-phones {
  display: flex;
  justify-content: center;
  gap: 16px;
  background: var(--mo-mint);
  border-radius: 14px;
  padding: 20px 16px 14px;
  align-self: start;
}
.p-moV2-phone { margin: 0; text-align: center; width: 44%; max-width: 190px; }
.p-moV2-phone img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  border: 4px solid #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
.p-moV2-phone figcaption { font-size: 1.2rem; font-weight: 700; margin-top: 8px; line-height: 1.5; }

/* ---------- タイル（約束2・POSと一体） ---------- */
.p-moV2-tiles { display: grid; gap: 12px; }
.p-moV2-tile {
  background: #fff;
  border-radius: 12px;
  padding: 18px 20px;
  border: 1px solid var(--mo-line);
}
.p-moV2-sec.-allinone .p-moV2-tile { background: var(--mo-mint2); }
.p-moV2-tile h3 {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--mo-accent-dk);
  margin-bottom: 6px;
}

/* ---------- 約束3 の図 ---------- */
.p-moV2-flows { display: grid; gap: 14px; align-self: start; }
.p-moV2-flow { background: var(--mo-mint); border-radius: 12px; padding: 14px 14px 12px; }
.p-moV2-flow.-off { background: var(--mo-lime); }
.p-moV2-flow__label {
  display: inline-block;
  background: var(--mo-accent);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 99px;
  padding: 2px 12px;
  margin-bottom: 10px;
}
.p-moV2-flow.-off .p-moV2-flow__label { background: var(--mo-sun); color: var(--mo-ink); }
.p-moV2-flow__row { display: flex; align-items: center; gap: 10px; }
.p-moV2-flow__in { display: grid; gap: 6px; flex: 0 0 34%; }
.p-moV2-flow__in li {
  background: #fff;
  border: 1px solid var(--mo-accent);
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 8px 8px;
  line-height: 1.4;
}
.p-moV2-flow__in li.-stop { border-color: var(--mo-line); color: #9aa7ac; }
.p-moV2-flow__in li span { display: block; color: #c0392b; font-size: 1.1rem; }
.p-moV2-flow__in li span::before { content: "✕ "; }
.p-moV2-flow__steps { display: flex; gap: 6px; flex: 1; }
.p-moV2-flow__steps li {
  flex: 1;
  background: #fff;
  border: 1px solid var(--mo-accent);
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  padding: 12px 2px;
  position: relative;
}
.p-moV2-flow__steps li.-hub { background: var(--mo-accent); color: #fff; }
.p-moV2-flow__steps li + li::before {
  content: "›";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translate(-50%, -50%);
  color: var(--mo-accent);
  font-weight: 700;
  font-size: 1.6rem;
}
.p-moV2-flow__txt { font-size: 1.2rem; font-weight: 700; color: var(--mo-accent-dk); margin-top: 8px; line-height: 1.5; }
.p-moV2-note { font-size: 1.2rem; line-height: 1.6; color: var(--mo-ink2); }

/* ---------- LINE ---------- */
.p-moV2-lineCards { display: grid; gap: 14px; }
.p-moV2-lineCard { background: var(--mo-mint2); border-radius: 12px; padding: 22px; }
.p-moV2-lineCard.-line { background: var(--mo-mint); }
.p-moV2-sec.-line { background: #fff; }
.p-moV2-lineCard__tag {
  display: inline-block;
  background: var(--mo-accent);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 99px;
  padding: 2px 12px;
  margin-bottom: 10px;
}
.p-moV2-lineCard__title { font-size: 1.8rem; line-height: 1.4; font-weight: 700; color: var(--mo-accent-dk); margin-bottom: 8px; }
.p-moV2-lineCard__for { font-size: 1.3rem; line-height: 1.7; margin-top: 12px; }
.p-moV2-lineCard__for b { display: block; font-size: 1.4rem; }
.p-moV2-lineCard__result {
  background: #fff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 1.3rem;
  line-height: 1.7;
  margin: 14px 0 12px;
}
.p-moV2-lineCard__result span {
  font-family: Montserrat, sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  color: #c46f0c;
}
.p-moV2-lineCard__result a { display: block; font-size: 1.2rem; color: var(--mo-ink2); text-decoration: underline; }
.p-moV2-lineCard__link,
.p-moV2-faq__more a {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--mo-accent-dk);
  text-decoration: underline;
}

/* ---------- デモ ---------- */
.p-moV2-demo { background: var(--mo-lime); border-radius: 14px; padding: 24px 22px; }
.p-moV2-demo .p-moV2-title { margin-bottom: 14px; }
.p-moV2-demo__btn {
  display: inline-block;
  margin-top: 16px;
  background: var(--mo-accent);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 99px;
  padding: 12px 28px;
  text-decoration: none;
}
.p-moV2-demo__btn::after { content: " →"; }

/* ---------- よくある質問 ---------- */
.p-moV2-faq { display: grid; gap: 12px; margin-bottom: 16px; }
.p-moV2-faq__item { background: #fff; border-radius: 12px; padding: 16px 20px; border: 1px solid var(--mo-line); }
.p-moV2-faq dt { font-size: 1.6rem; line-height: 1.6; font-weight: 700; margin-bottom: 6px; }
.p-moV2-faq dt::before { content: "Q. "; color: var(--mo-accent-dk); font-family: Montserrat, sans-serif; }

@media screen and (max-width: 767px) {
  /* 約束3の図: スマホでは入口（スマホ・ハンディ）を上に並べ、流れを下に通す */
  .p-moV2-flow__row { flex-direction: column; align-items: stretch; }
  .p-moV2-flow__in { grid-template-columns: 1fr 1fr; }
  .p-moV2-flow__steps li { font-size: 1.2rem; }
}
@media screen and (min-width: 768px) {
  .p-moV2-sec { padding: 88px 0; }
  .p-moV2-title { font-size: 3.4rem; margin-bottom: 36px; }
  .p-moV2-subTitle { font-size: 2rem; }
  .p-moV2-lead,
  .p-moV2-points dd,
  .p-moV2-tile p,
  .p-moV2-lineCard__txt,
  .p-moV2-message__txt,
  .p-moV2-demo__txt,
  .p-moV2-faq dd { font-size: 1.6rem; }
  .p-moV2-stats { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .p-moV2-message__title { font-size: 1.8rem; }
  .p-moV2-promises { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .p-moV2-promise__name { font-size: 2rem; }
  .p-moV2-promise__txt { font-size: 1.5rem; }
  .p-moV2-split { grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: start; }
  .p-moV2-split.-reverse > .p-moV2-phones { order: -1; }
  .p-moV2-sec.-p3 .p-moV2-split { grid-template-columns: 1.1fr 1fr; }
  .p-moV2-tiles { grid-template-columns: 1fr 1fr; gap: 14px; align-self: start; }
  .p-moV2-tiles.-four { grid-template-columns: repeat(4, 1fr); }
  .p-moV2-tile h3 { font-size: 1.8rem; }
  .p-moV2-flow__in li { font-size: 1.3rem; }
  .p-moV2-flow__steps li { font-size: 1.3rem; padding: 16px 4px; }
  .p-moV2-lineCards { grid-template-columns: 1fr 1fr; gap: 20px; }
  .p-moV2-lineCard { padding: 28px; }
  .p-moV2-lineCard__title { font-size: 2rem; }
  .p-moV2-demo { padding: 36px 40px; }
  .p-moV2-faq dt { font-size: 1.8rem; }
}

/* ---------- 2026-10-14 PC幅の揃え（ユーザー確認済み）: 左端・見出し・本文・機能カード・KV・背景・約束カード・途中の帯 ---------- */
@media screen and (min-width: 768px) {
  /* 1. 横幅と左端: 既存セクション（機能・使い方・導入事例）と同じ 1280px の箱に。左端が 180px→80px でそろう */
  .p-moV2-inner { max-width: 1280px; padding: 0; width: calc(100% - 40px); }  /* 既存セクションと同じ: 1440px で左端80px、1024px で20px */
  .p-moV2-sec { padding: 96px 0; }

  /* 2. 見出し: トップと同じ「英字ラベル＋日本語見出し」。既存の見出しにも同じ形（英字・下線）を付ける */
  .p-solutionDetail-feature__title,
  .p-solutionDetail-howToUse__title,
  .p-lower-detailCaseStudy__title {
    font-size: 3.4rem; line-height: 1.5; font-weight: 700; color: #1a1a1a;
    position: relative; padding-bottom: 14px; margin-bottom: 36px;
  }
  .p-solutionDetail-feature__title::before,
  .p-solutionDetail-howToUse__title::before,
  .p-lower-detailCaseStudy__title::before {
    display: block; font-family: Montserrat, sans-serif; font-size: 1.2rem; font-weight: 600;
    letter-spacing: .2em; color: #12866f; margin-bottom: 8px; line-height: 1.4;
  }
  .p-solutionDetail-feature__title::before { content: "FEATURES"; }
  .p-solutionDetail-howToUse__title::before { content: "HOW TO USE"; }
  .p-lower-detailCaseStudy__title::before { content: "CASE STUDY"; }
  .p-solutionDetail-feature__title::after,
  .p-solutionDetail-howToUse__title::after,
  .p-lower-detailCaseStudy__title::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: #f2af44;
  }

  /* 3. 本文の色と大きさ: /benefits/ と同じ 16px・行間1.8・太さ500・黒。灰色は注記だけ */
  .p-moV2-points dd, .p-moV2-tile p, .p-moV2-lineCard__txt, .p-moV2-promise__txt,
  .p-moV2-faq dd, .p-moV2-demo__txt { color: #1a1a1a; font-size: 1.6rem; }
  .p-moV2-point dt { font-size: 1.8rem; color: #12866f; }
  .p-solutionDetail-feature__lead { font-size: 1.6rem; color: #1a1a1a; }

  /* 4. 機能カード: 1枚だけ大きい LINE カードも含め、見出し 20px・本文 16px にそろえる */
  .p-card-feature__title { font-size: 2rem !important; line-height: 1.4; }
  .p-card-feature__txt { font-size: 1.6rem !important; line-height: 1.8; }


  /* 6. 背景のリズム: 白とミントの交互にそろえ、既存の黄緑（機能・導入事例）をやめる */
  .l-section-lowerFeature { background: #f2fbf9 !important; }
  .l-section-lowerDetailCaseStudy { background: #fff !important; }
  .p-moV2-sec.-demo { background: #fff; }

  /* 7. 3つの約束: 押せることが分かるように「詳しく見る」を付ける */
  .p-moV2-promise__link::after {
    content: "詳しく見る ↓"; margin-top: auto; padding-top: 14px; font-size: 1.4rem; font-weight: 700; color: #12866f;
  }
}

/* 8. 途中の行動の帯（LINEのあと） */
.p-moV2-sec.-cta { padding: 0 0 56px; background: #fff; }
.p-moV2-ctaBand { display: flex; flex-direction: column; gap: 16px; background: #29baa2; border-radius: 14px; padding: 24px 22px; color: #fff; }
.p-moV2-ctaBand__title { font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
.p-moV2-ctaBand__txt { font-size: 1.4rem; margin-top: 4px; line-height: 1.6; }
.p-moV2-ctaBand__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.p-moV2-ctaBand__btn { background: #fff; color: #12866f; font-weight: 700; font-size: 1.5rem; border-radius: 99px; padding: 12px 24px; text-decoration: none; }
.p-moV2-ctaBand__btn.-line { background: transparent; color: #fff; border: 2px solid #fff; padding: 10px 24px; }
@media screen and (min-width: 768px) {
  .p-moV2-sec.-cta { padding: 0 0 96px; }
  .p-moV2-ctaBand { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 40px; }
  .p-moV2-ctaBand__title { font-size: 2rem; }
  .p-moV2-ctaBand__btns { flex-shrink: 0; }
}

/* ---------- 2026-10-14 文章のメリハリ（ユーザー決定）
 * 段1 目に止める: 各セクションの要点（見出しの下の1文）、項目の見出し、お客様の声、数字
 * 段2 読ませる : 説明文。少し小さく・色を落とし・行の長さを抑える。大事な言葉だけ太字＋マーカー */
.p-moV2-sectionLead {
  font-size: 1.7rem; line-height: 1.7; font-weight: 700; color: #1a1a1a;
  margin: -8px 0 28px; max-width: 40em;
}
.p-moV2-hl {
  font-style: normal; font-weight: 700; color: #1a1a1a;
  background: linear-gradient(transparent 60%, #e4f6b0 60%);
}
.p-moV2-points dd, .p-moV2-tile p, .p-moV2-lineCard__txt, .p-moV2-promise__txt, .p-moV2-faq dd {
  color: #4b5a61; font-weight: 400; max-width: 36em;
}
.p-moV2-point dt { color: #1a1a1a; }
@media screen and (min-width: 768px) {
  .p-moV2-sectionLead { font-size: 2.2rem; line-height: 1.6; margin: -12px 0 40px; }
  .p-moV2-point dt { font-size: 2rem; line-height: 1.5; margin-bottom: 6px; }
  .p-moV2-points { gap: 22px; }
  .p-moV2-points dd, .p-moV2-tile p, .p-moV2-lineCard__txt, .p-moV2-faq dd { font-size: 1.5rem; line-height: 1.9; }
  .p-moV2-promise__name { font-size: 2.4rem; }
  .p-moV2-promise__txt { font-size: 1.5rem; }
  .p-moV2-tile h3 { font-size: 2rem; color: #1a1a1a; }
  .p-moV2-tile h3::before { content: ""; display: block; width: 24px; height: 3px; background: #29baa2; margin-bottom: 10px; }
  .p-moV2-quote blockquote { font-size: 1.9rem; line-height: 1.7; }
  .p-moV2-lineCard__title { font-size: 2.4rem; }
  .p-moV2-faq dt { font-size: 1.9rem; }
  .p-moV2-subTitle { font-size: 2.6rem; }
  .p-card-feature__txt { color: #4b5a61 !important; font-size: 1.5rem !important; }
}

/* ---------- 使い方（2026-10-14 作り替え。旧 .p-solutionDetail-howToUse__list は使わない） ---------- */
.p-moHowto { display: grid; gap: 14px; counter-reset: none; }
.p-moHowto__step {
  display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center;
  background: #fff; border: 1px solid #dcece8; border-radius: 14px; padding: 12px; position: relative;
}
.p-moHowto__step + .p-moHowto__step::before {
  content: ""; position: absolute; left: 67px; top: -15px; width: 2px; height: 14px; background: #29baa2;
}
.p-moHowto__visual { border-radius: 10px; overflow: hidden; background: #eafaf6; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.p-moHowto__visual.-photo img { width: 100%; height: 100%; object-fit: cover; }
.p-moHowto__visual.-screen { padding: 8px 0 0; align-items: flex-start; }
.p-moHowto__visual.-screen img { width: 62%; border-radius: 10px 10px 0 0; border: 3px solid #fff; border-bottom: 0; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.p-moHowto__meta { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.p-moHowto__num { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 1.2rem; color: #12866f; letter-spacing: .08em; }
.p-moHowto__who { font-size: 1.1rem; font-weight: 700; border-radius: 99px; padding: 1px 10px; line-height: 1.6; }
.p-moHowto__who.-guest { background: #29baa2; color: #fff; }
.p-moHowto__who.-shop { background: #f2af44; color: #1a1a1a; }
.p-moHowto__title { font-size: 1.7rem; font-weight: 700; line-height: 1.4; margin-bottom: 4px; color: #1a1a1a; }
.p-moHowto__txt { font-size: 1.3rem; line-height: 1.7; color: #4b5a61; }
.p-moHowto__loop { margin-top: 16px; background: #f9ffeb; border-radius: 12px; padding: 14px 16px; font-size: 1.4rem; line-height: 1.7; color: #4b5a61; }
.p-moHowto__loop span { display: block; font-weight: 700; color: #1a1a1a; font-size: 1.5rem; }
.p-moHowto__loop span::before { content: "↺ "; color: #29baa2; }
@media screen and (min-width: 768px) {
  .p-moHowto { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
  .p-moHowto__step { grid-template-columns: 1fr; align-items: start; padding: 14px 14px 20px; }
  .p-moHowto__step + .p-moHowto__step::before {
    left: -22px; top: 50%; width: 0; height: 0; background: none;
    border-left: 10px solid #29baa2; border-top: 8px solid transparent; border-bottom: 8px solid transparent;
  }
  .p-moHowto__visual { aspect-ratio: 4 / 3; }
  .p-moHowto__visual.-screen { padding-top: 14px; }
  .p-moHowto__visual.-screen img { width: 58%; }
  .p-moHowto__body { padding: 4px 4px 0; }
  .p-moHowto__meta { margin-bottom: 8px; }
  .p-moHowto__num { font-size: 1.3rem; }
  .p-moHowto__who { font-size: 1.2rem; }
  .p-moHowto__title { font-size: 2rem; margin-bottom: 8px; }
  .p-moHowto__txt { font-size: 1.5rem; line-height: 1.8; }
  .p-moHowto__loop { margin-top: 24px; padding: 18px 24px; font-size: 1.5rem; display: flex; gap: 16px; align-items: baseline; }
  .p-moHowto__loop span { display: inline; font-size: 1.7rem; }
  /* STEP 2〜4 の下に「くり返し」の囲み線 */
}
/* 写真の比率を枠で固定（写真で枠が伸びて文字がずれるため） */
.p-moHowto__visual { position: relative; min-height: 0; }
.p-moHowto__visual.-photo img { position: absolute; inset: 0; display: block; }
.p-solutionDetail-howToUse .p-moV2-sectionLead { margin-top: 10px; }
@media screen and (min-width: 768px) {
  .p-solutionDetail-howToUse .p-moV2-sectionLead { margin-top: -12px; }
}
@media screen and (min-width: 768px) {
  .p-moHowto__step { grid-template-rows: auto 1fr; align-content: start; }
}
/* STEP 3: キッチンプリンタの絵（ディスプレイを使わずプリンタだけのお店もあるため）。STEP 4: 料理を運ぶ写真 */
.p-moHowto__visual.-illust img { height: 76%; width: auto; max-width: 70%; object-fit: contain; }
.p-moHowto__visual.-photo.-serve img { object-position: 40% 50%; }
