@charset "UTF-8";
@layer project {
  /* Intro (55:93) — py 100px。下余白が「説明文 → 内訳枠」のセクション間隔になる */
  .p-price-intro.l-section {
    padding-block: 6.25rem;
  }
  /* Breakdown (63:144) — 上は Intro の padding-bottom に任せる */
  .p-price-breakdown.l-section {
    padding-block: 0;
  }
  /* Vehicles (68:2) — pt 100px が「内訳枠 → 車種別見出し」の間隔 */
  .p-price-vehicles.l-section {
    padding-block: 6.25rem 0;
  }
  /* Payment (75:387) — pt 100px が「対象外車両ブロック → お支払い」の間隔 */
  .p-price-payment.l-section {
    padding-block: 6.25rem 0;
  }
  /* FAQ (78:64) */
  .p-price-faq.l-section {
    padding-block: 6.25rem 0;
  }
  /* Closing (80:160) — pt 100px。下余白が「締め文案 → 共通CTA」まで（CTA は l-section 既定の上余白） */
  .p-price-closing.l-section {
    padding-block: 6.25rem;
  }
  /* Tablet: セクション間は片側 4rem 前後（PC 100px をそのまま使わない） */
  @media (max-width: 1023px) {
    .p-price-intro.l-section {
      padding-block: 4rem;
    }
    .p-price-vehicles.l-section,
    .p-price-payment.l-section,
    .p-price-faq.l-section {
      padding-block: 4rem 0;
    }
    .p-price-closing.l-section {
      padding-block: 4rem;
    }
  }
  /* SP: 768px未満（767.x 幅の漏れを防ぐ） */
  @media not all and (min-width: 768px) {
    .p-price-intro.l-section {
      padding-block: clamp(3.5rem, 12vw, 4.5rem);
    }
    .p-price-vehicles.l-section,
    .p-price-payment.l-section,
    .p-price-faq.l-section {
      padding-block: clamp(3.5rem, 12vw, 4.5rem) 0;
    }
    .p-price-closing.l-section {
      padding-block: clamp(3.5rem, 12vw, 4.5rem);
    }
  }
}
@layer project {
  .p-price-intro {
    text-align: center;
  }
  .p-price-intro__inspection {
    margin: 0 0 0.75rem;
    color: var(--color-ink);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 3.5rem;
  }
  .p-price-intro__inspection .p-price-intro__emphasis-red {
    color: var(--color-red);
    font-weight: 700;
  }
  .p-price-intro__inspection .p-price-intro__amount {
    color: var(--color-orange);
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: -0.02em;
  }
  .p-price-intro__inspection .p-price-intro__unit {
    color: var(--color-ink);
    font-size: 1.875rem;
    font-weight: 900;
  }
  .p-price-intro__inspection .p-price-intro__tax {
    font-size: 1.125rem;
    font-weight: 700;
  }
  .p-price-intro__obd {
    margin: 0 0 1.75rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.875rem;
  }
  .p-price-intro__obd .p-price-intro__obd-amount {
    color: var(--color-orange);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 900;
  }
  .p-price-intro__body {
    margin: 0;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-intro__body p {
    margin: 0;
  }
  @media not all and (min-width: 768px) {
    .p-price-intro__inspection {
      font-size: clamp(1.125rem, 4.5vw, 1.5rem);
      line-height: 1.65;
    }
    .p-price-intro__inspection .p-price-intro__amount {
      font-size: clamp(2rem, 9vw, 3rem);
    }
    .p-price-intro__inspection .p-price-intro__unit {
      font-size: clamp(1.25rem, 5.5vw, 1.875rem);
    }
    .p-price-intro__obd {
      margin-bottom: 1.25rem;
      font-size: 1rem;
      line-height: 1.75;
    }
    .p-price-intro__obd .p-price-intro__obd-amount {
      font-size: 1.375rem;
    }
    .p-price-intro__body {
      font-size: 1rem;
      line-height: 1.75;
      text-align: left;
    }
  }
}
@layer project {
  .p-price-breakdown__panel {
    padding: 1rem 0.85rem 1.1rem;
    border: 2px solid var(--color-orange);
    border-radius: 12px;
  }
  .p-price-breakdown__title {
    display: flex;
    justify-content: center;
    margin: 0 0 0.625rem;
  }
  .p-price-breakdown__title span {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0.1875rem 0.75rem;
    color: var(--color-white);
    background: var(--color-orange);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 2rem;
    text-align: center;
  }
  .p-price-breakdown__items {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 56.25rem;
    margin: 0 auto;
    padding: 0.15rem 0;
  }
  .p-price-breakdown__plus {
    position: static;
    padding: 0.15rem 0;
    color: var(--color-ink);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    pointer-events: none;
  }
  .p-price-breakdown__item {
    display: grid;
    align-items: start;
    box-sizing: border-box;
    width: 100%;
    padding: 0.4rem 0;
    gap: 0.2rem 0.625rem;
    /*
     * SP/Tablet(768px未満): [余白 | アイコン | テキスト | 余白]。左右の 1fr が余りを均等に取るので
     * 「アイコン+テキスト」のまとまりが項目の中央に来る。テキスト列は固定幅にして、
     * 項目ごとの文字量に関わらずアイコンの x 位置を3項目で揃える（11.5rem ≒ 「車種等により異なります」が収まる幅）。
     */
    grid-template-columns: minmax(0, 1fr) 2.75rem minmax(0, 11.5rem) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    text-align: left;
  }
  .p-price-breakdown__icon {
    display: grid;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    place-items: center;
    background: var(--color-orange);
    grid-column: 2;
    grid-row: 1/3;
    align-self: start;
    margin-top: 0.05rem;
  }
  .p-price-breakdown__icon img {
    display: block;
    width: auto;
    height: auto;
    max-width: 1.625rem;
    max-height: 2.125rem;
  }
  .p-price-breakdown__item h2 {
    margin: 0;
    grid-column: 3;
    grid-row: 1;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
  }
  .p-price-breakdown__value {
    margin: 0;
    grid-column: 3;
    grid-row: 2;
    color: var(--color-orange);
    font-size: clamp(0.875rem, 3.8vw, 1rem);
    font-weight: 700;
    line-height: 1.35;
  }
  .p-price-breakdown__value--multiline {
    max-width: none;
    line-height: 1.35;
  }
  .p-price-breakdown__list {
    margin: 0;
    padding: 0;
    grid-column: 3;
    grid-row: 3;
    list-style: none;
    text-align: left;
    font-size: clamp(0.8125rem, 3.5vw, 0.9375rem);
    line-height: 1.4;
  }
  /* 説明文を「に」の後ろ（Figma の改行位置）で折り返し、語の途中で切れないようにする */
  .p-price-breakdown__phrase {
    display: inline-block;
  }
  .p-price-breakdown__desc {
    margin: 0;
    grid-column: 1/-1;
    grid-row: 4;
    max-width: none;
    color: var(--color-ink);
    font-size: clamp(0.8125rem, 3.5vw, 0.9375rem);
    line-height: 1.45;
    /* 項目いっぱいの幅を使い、1行に収まれば1行、収まらなければフレーズ単位で改行して中央揃え */
    text-align: center;
  }
  /* 481px以上〜768px未満: 狭幅パネル中央（max-width:767px 条件は使わない） */
  @media (min-width: 481px) {
    .p-price-breakdown__panel {
      width: min(100%, clamp(18rem, 88vw, 28rem));
      margin-inline: auto;
    }
  }
  @media (min-width: 768px) {
    .p-price-breakdown__panel {
      width: auto;
      margin-inline: 0;
      padding: 1.375rem;
    }
    .p-price-breakdown__title span {
      width: auto;
      min-width: 25rem;
      font-size: 1.625rem;
      line-height: 2.75rem;
    }
    /*
     * 項目 | ＋ | 項目 | ＋ | 項目 の5列Grid。
     * HTML は article・span(＋)・article・span(＋)・article の順なので、明示的な配置指定なしで
     * 各セルに入る。「＋」は絶対配置せず列として幅を確保する（Figma の項目間 gap 32px = ＋列の幅）。
     */
    .p-price-breakdown__items {
      display: grid;
      padding: 0.625rem;
      grid-template-columns: minmax(0, 1fr) 2rem minmax(0, 1fr) 2rem minmax(0, 1fr);
      gap: 0;
    }
    /* 行の中央＝金額行の高さ付近（Figma 63:210）。最も背の高い「法定費用」が行高を決める */
    .p-price-breakdown__plus {
      position: static;
      align-self: center;
      padding: 0;
      font-size: 1.5rem;
      line-height: 1;
    }
    .p-price-breakdown__item {
      display: flex;
      width: auto;
      margin-inline: 0;
      min-width: 0;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
      padding: 1rem;
      text-align: center;
    }
    .p-price-breakdown__icon {
      width: 3.375rem;
      height: 3.375rem;
      margin-top: 0;
      /* 768px未満用の align-self: start を打ち消す。残すと縦flexの中央揃えが効かず左端に寄る */
      align-self: center;
      grid-column: auto;
      grid-row: auto;
    }
    .p-price-breakdown__icon img {
      max-width: 2.125rem;
      max-height: 2.8125rem;
    }
    .p-price-breakdown__item h2 {
      grid-column: auto;
      grid-row: auto;
      font-size: 1.25rem;
      line-height: 1.875rem;
    }
    .p-price-breakdown__value {
      grid-column: auto;
      grid-row: auto;
      font-size: 1.5rem;
    }
    .p-price-breakdown__value--multiline {
      max-width: 10rem;
      line-height: 1.9375rem;
    }
    .p-price-breakdown__desc {
      grid-column: auto;
      grid-row: auto;
      /*
       * Figma は 230px 幅だが、17px×14字（「交換・修理などが必要な場合に」）が 238px で収まらず
       * 「に」だけ次行に落ちるため、列内幅いっぱい（240px）まで許容する。
       * 1024px 前後で列が狭くなる分は font-size を縮めて同じ折り返し位置を保つ。
       */
      max-width: 15rem;
      font-size: clamp(0.875rem, 1.6vw, 1.0625rem);
      line-height: 1.625rem;
    }
    .p-price-breakdown__list {
      grid-column: auto;
      grid-row: auto;
      /* リスト全体は中央、項目は左揃え（Figma 63:184） */
      width: -moz-fit-content;
      width: fit-content;
      margin-inline: auto;
      white-space: nowrap;
      text-align: left;
      font-size: 1.0625rem;
      line-height: 1.625rem;
    }
  }
  @media (min-width: 768px) and (max-width: 900px) {
    .p-price-breakdown__items {
      grid-template-columns: minmax(0, 1fr) 1.25rem minmax(0, 1fr) 1.25rem minmax(0, 1fr);
      padding: 0.5rem 0.35rem;
    }
    .p-price-breakdown__plus {
      font-size: 1.125rem;
    }
    .p-price-breakdown__item {
      gap: 0.5rem;
      padding: 0.5rem 0.25rem;
    }
    .p-price-breakdown__icon {
      width: 2.875rem;
      height: 2.875rem;
    }
    .p-price-breakdown__icon img {
      max-width: 1.75rem;
      max-height: 2.25rem;
    }
    .p-price-breakdown__item h2 {
      font-size: 0.9375rem;
      line-height: 1.35;
    }
    .p-price-breakdown__value {
      font-size: clamp(0.8125rem, 2.2vw, 1.0625rem);
    }
    .p-price-breakdown__value--multiline {
      max-width: none;
    }
    .p-price-breakdown__desc {
      max-width: none;
      font-size: 0.8125rem;
      line-height: 1.45;
    }
    .p-price-breakdown__list {
      font-size: 0.75rem;
      line-height: 1.4;
    }
  }
  /* 480px以下: パネルはフル幅（481px ルールの上書き） */
  @media (max-width: 480px) {
    .p-price-breakdown__panel {
      width: auto;
      margin-inline: 0;
    }
  }
}
@layer project {
  .p-price-vehicles__heading {
    margin-bottom: 1.5rem;
  }
  .p-price-vehicles__eyebrow {
    margin: 0 0 0.65rem;
    color: var(--color-orange);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 2.1875rem;
  }
  .p-price-vehicles__title-wrap {
    max-width: 32rem;
  }
  .p-price-vehicles__title {
    margin: 0;
    font-size: 4.375rem;
    font-weight: 900;
    line-height: 4.75rem;
  }
  .p-price-vehicles__title-line {
    display: block;
    color: var(--color-ink);
  }
  .p-price-vehicles__title-line--accent {
    color: var(--color-orange);
  }
  /* 黄色マーカーは TOP と同じ .c-heading-marker（文字幅追従） */
  .p-price-vehicles__title-line--accent .c-heading-marker {
    color: var(--color-orange);
  }
  .p-price-vehicles__lead {
    margin: 0 0 2rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-vehicles__cards {
    display: grid;
    margin-bottom: 2.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }
  .p-price-vehicle-card {
    overflow: hidden;
    border: 1px solid var(--color-orange);
    border-radius: 12px;
    background: var(--color-white);
  }
  .p-price-vehicle-card__head {
    padding: 1rem 1.25rem 0;
  }
  .p-price-vehicle-card__head h3 {
    margin: 0;
    padding: 0.375rem 0.5rem;
    color: var(--color-white);
    background: var(--color-orange);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2.125rem;
    text-align: center;
  }
  .p-price-vehicle-card__media {
    display: grid;
    min-height: 11.875rem;
    margin: 0;
    padding: 0.5rem 0.75rem;
    place-items: center;
    /* 小型の下方向オフセット時に、画像の透明部分が枠外（料金エリア側）へ出ないようにする */
    overflow: hidden;
    background: var(--color-surface);
  }
  .p-price-vehicle-card__media img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .p-price-vehicle-card--kei .p-price-vehicle-card__media img {
    max-width: min(100%, 170px);
    max-height: 134px;
  }
  /*
   * 小型の PNG は上下の透明余白が大きく（車体の高さは画像の約68%。中型77%・大型80%）、
   * 同じ幅だと低く小さく見える。車体の幅が中型・大型（約200px）と並ぶよう 220px を上限にする。
   */
  .p-price-vehicle-card--small .p-price-vehicle-card__media img {
    max-width: min(100%, 220px);
    max-height: 165px;
    /*
     * 上の透明余白も大きく、枠中央に置くとタイヤ下端が他車種より約20px高く浮いて見える。
     * 見えているタイヤ下端が軽・中・大とほぼ揃うよう、画像高さの12.5%だけ下げる
     * （%指定なので PC/SP どちらの表示サイズでも同じ比率で効く）。
     */
    transform: translateY(12.5%);
  }
  .p-price-vehicle-card--medium .p-price-vehicle-card__media img,
  .p-price-vehicle-card--large .p-price-vehicle-card__media img {
    max-width: min(100%, 210px);
    max-height: 165px;
  }
  .p-price-vehicle-card__body {
    padding: 1rem 1rem 1.25rem;
    border-top: 1px dashed var(--color-orange);
    text-align: center;
  }
  .p-price-vehicle-card__price {
    display: inline-flex;
    margin: 0 0 1rem;
    align-items: baseline;
    justify-content: center;
    gap: 0.25rem; /* 金額と「円～」の間 ≈4px */
    color: var(--color-red);
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.1;
    white-space: nowrap;
  }
  .p-price-vehicle-card__price small {
    color: var(--color-ink);
    font-family: var(--font-base);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
  }
  .p-price-vehicle-card__note {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.68rem;
    line-height: 1.2;
  }
  .p-price-vehicles__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem 2.5rem;
    margin-bottom: 2rem;
  }
  .p-price-detail {
    min-width: 0;
  }
  .p-price-detail__head h3 {
    margin: 0 0 0.35rem;
    color: var(--color-orange);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 2.5rem;
  }
  .p-price-detail__example {
    margin: 0 0 1rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-detail__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-detail__table th,
  .p-price-detail__table td {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--color-line);
    vertical-align: middle;
  }
  .p-price-detail__table tr:first-child th,
  .p-price-detail__table tr:first-child td {
    padding-block: 0.8125rem;
  }
  .p-price-detail__table tr:not(.p-price-detail__row--group):not(.p-price-detail__row--total) th,
  .p-price-detail__table tr:not(.p-price-detail__row--group):not(.p-price-detail__row--total) td {
    padding-block: 0.6875rem;
  }
  .p-price-detail__table th {
    width: 12.5rem;
    background: var(--color-orange-soft);
    border-right: 1px solid var(--color-line);
    font-weight: 700;
    text-align: left;
  }
  .p-price-detail__table th.p-price-detail__label--sub {
    padding-left: 2.75rem;
    font-weight: 400;
  }
  .p-price-detail__table tr.p-price-detail__row--group th {
    font-weight: 700;
    line-height: 1.625rem;
  }
  .p-price-detail__table tr.p-price-detail__row--total th,
  .p-price-detail__table tr.p-price-detail__row--total td {
    padding-block: 0.8125rem;
    color: var(--color-red);
    font-weight: 700;
  }
  .p-price-detail__table tr.p-price-detail__row--total {
    border-bottom-width: 2px;
  }
  .p-price-vehicles__notes {
    margin: 0 0 2rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.625rem;
  }
  .p-price-vehicles__notes p {
    margin: 0;
  }
  .p-price-vehicles__excluded {
    display: flex;
    align-items: center;
    gap: 4.375rem;
    padding: 1.25rem 4.375rem;
    background: var(--color-blue-soft);
  }
  .p-price-vehicles__excluded-title {
    margin: 0;
    flex-shrink: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.625rem;
  }
  .p-price-vehicles__excluded-body {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-vehicles__excluded-body p {
    margin: 0;
  }
  /* 4列のまま幅が狭いときだけ金額を縮小（1440px Figma の 2.5rem は維持） */
  @media (min-width: 901px) and (max-width: 1199px) {
    .p-price-vehicles__cards {
      gap: 0.75rem;
    }
    .p-price-vehicle-card__head {
      padding-inline: 0.75rem;
    }
    .p-price-vehicle-card__body {
      padding-inline: 0.5rem;
    }
    .p-price-vehicle-card__price {
      font-size: clamp(1.5rem, 2.15vw, 2.5rem);
    }
    .p-price-vehicle-card__price small {
      font-size: clamp(0.875rem, 1.05vw, 1.25rem);
    }
  }
  /* 900px以下: カード2列（TOP .p-pricing__cards と同系）・詳細テーブル2列 */
  @media (max-width: 900px) {
    .p-price-vehicles__cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.625rem;
    }
    .p-price-vehicles__title {
      font-size: clamp(2.25rem, 6vw, 4.375rem);
      line-height: 1.12;
    }
    .p-price-vehicle-card {
      border-radius: 9px;
    }
    .p-price-vehicle-card__head {
      padding: 0.5rem 0.35rem 0;
    }
    .p-price-vehicle-card__head h3 {
      padding: 0.3rem 0.25rem;
      font-size: clamp(0.72rem, 2.25vw, 1.125rem);
      line-height: 1.25;
    }
    .p-price-vehicle-card__media {
      min-height: clamp(7.25rem, 28vw, 10rem);
      padding: 0.25rem 0.35rem;
    }
    .p-price-vehicle-card--kei .p-price-vehicle-card__media img {
      max-width: min(100%, 110px);
      max-height: 86px;
      transform: none;
    }
    .p-price-vehicle-card--small .p-price-vehicle-card__media img {
      max-width: min(100%, 138px); /* PC の 220px : 210px の比率を中型 132px に合わせて縮小 */
      max-height: 104px;
    }
    .p-price-vehicle-card--medium .p-price-vehicle-card__media img,
    .p-price-vehicle-card--large .p-price-vehicle-card__media img {
      max-width: min(100%, 132px);
      max-height: 104px;
    }
    .p-price-vehicle-card__body {
      padding: 0.65rem 0.35rem 0.75rem;
    }
    .p-price-vehicle-card__price {
      margin-bottom: 0.65rem;
      font-size: clamp(1.1rem, 6.5vw, 1.85rem);
    }
    .p-price-vehicle-card__price small {
      font-size: clamp(0.65rem, 2.2vw, 0.875rem);
    }
    .p-price-vehicle-card__note {
      font-size: clamp(0.55rem, 1.8vw, 0.68rem);
    }
    .p-price-vehicles__details {
      gap: 1.75rem 1.25rem;
    }
    .p-price-detail__table {
      font-size: 0.9375rem;
      line-height: 1.65;
    }
    .p-price-detail__table th,
    .p-price-detail__table td {
      padding: 0.5625rem 0.75rem;
    }
    .p-price-detail__table th {
      width: auto;
      min-width: 0;
    }
    .p-price-detail__table th.p-price-detail__label--sub {
      padding-left: 1.5rem;
    }
  }
  /* SP見出し: 768px未満で中央（767.x 幅も含む） */
  @media not all and (min-width: 768px) {
    .p-price-vehicles__eyebrow {
      font-size: 0.9375rem;
      line-height: 1.5;
      text-align: center;
    }
    .p-price-vehicles__title-wrap {
      max-width: none;
      margin-inline: auto;
    }
    .p-price-vehicles__title {
      font-size: clamp(1.85rem, 9vw, 2.75rem);
      line-height: 1.2;
      text-align: center;
    }
    .p-price-vehicles__lead {
      font-size: 1rem;
      line-height: 1.75;
    }
  }
  @media not all and (min-width: 768px) {
    .p-price-detail__head h3 {
      font-size: 1.375rem;
      line-height: 1.5;
    }
    .p-price-detail__example {
      font-size: 1rem;
      line-height: 1.65;
    }
    .p-price-vehicles__notes {
      font-size: 0.9375rem;
      line-height: 1.625;
    }
    .p-price-vehicles__excluded {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
      padding: 1rem 1.25rem;
    }
    .p-price-vehicles__excluded-body {
      font-size: 1rem;
      line-height: 1.75;
    }
  }
  @media (max-width: 600px) {
    .p-price-vehicles__details {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .p-price-detail__table {
      font-size: 0.9375rem;
      line-height: 1.5;
    }
    .p-price-detail__table th,
    .p-price-detail__table td {
      padding: 0.625rem 0.75rem;
    }
    .p-price-detail__table th {
      width: 42%;
      min-width: 0;
      word-break: keep-all;
      overflow-wrap: anywhere;
    }
    .p-price-detail__table th.p-price-detail__label--sub {
      padding-left: 1.25rem;
    }
  }
}
@layer project {
  .p-price-payment__heading {
    margin: 0 0 1.5rem;
    font-size: 2.375rem;
    font-weight: 900;
    line-height: 2.5rem;
    text-align: left;
  }
  .p-price-payment__intro {
    margin: 0 0 2.5rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-payment__intro p {
    margin: 0;
  }
  .p-price-payment__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
  }
  .p-price-payment__column h3 {
    margin: 0 0 0.35rem;
    color: var(--color-orange);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 2.5rem;
  }
  .p-price-payment__methods {
    margin: 0 0 0.65rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-payment__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.25rem; /* Figma 78:63 / 78:60 — 20px */
  }
  .p-price-payment__logo {
    display: block;
    flex: 0 0 auto;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  /* Figma 164:357 — 90×57.59 */
  .p-price-payment__logo--cash {
    width: 5.625rem;
    height: 3.6rem;
  }
  /* Figma 165:373 — 70×70（公式PNGの余白を含め contain） */
  .p-price-payment__logo--paypay {
    width: 4.375rem;
    height: 4.375rem;
  }
  /* Figma 164:366 — 88×57.75 */
  .p-price-payment__logo--credit {
    width: 5.5rem;
    height: 3.609375rem;
  }
  @media (max-width: 1023px) {
    .p-price-payment__columns {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
  }
  @media not all and (min-width: 768px) {
    .p-price-payment__heading {
      font-size: clamp(1.5rem, 6.5vw, 2.375rem);
      line-height: 1.35;
    }
    .p-price-payment__intro {
      margin-bottom: 1.75rem;
      font-size: 1rem;
      line-height: 1.75;
    }
    .p-price-payment__columns {
      grid-template-columns: 1fr;
      gap: 1.75rem;
    }
    .p-price-payment__column h3 {
      font-size: 1.375rem;
      line-height: 1.5;
    }
    .p-price-payment__methods {
      font-size: 1rem;
      line-height: 1.75;
    }
  }
}
@layer project {
  .p-price-faq__heading {
    margin: 0 0 1.875rem;
    font-size: 2.375rem;
    font-weight: 900;
    line-height: 2.5rem;
    text-align: center;
  }
  .p-price-faq__lead {
    margin: 0 auto 1.875rem;
    max-width: 40rem;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
    text-align: center;
  }
  .p-price-faq__list {
    max-width: 56.25rem;
    margin: 0 auto;
  }
  .p-price-faq .p-faq__item {
    background: var(--color-white);
    border-bottom: 1px solid var(--color-line);
  }
  .p-price-faq .p-faq__item:first-child {
    border-top: 0.274rem solid var(--color-orange);
  }
  .p-price-faq .p-faq__summary {
    display: grid;
    align-items: center;
    padding: 1.2rem 3rem 1.2rem 1rem;
    list-style: none;
    cursor: pointer;
    grid-template-columns: 2rem minmax(0, 1fr) 1.5rem;
    gap: 0.7rem 1.5rem;
  }
  .p-price-faq .p-faq__summary::-webkit-details-marker {
    display: none;
  }
  .p-price-faq .p-faq__summary::marker {
    content: "";
  }
  .p-price-faq .p-faq__q,
  .p-price-faq .p-faq__a {
    color: var(--color-orange);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 2.625rem;
  }
  .p-price-faq .p-faq__question {
    color: var(--color-ink);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.625rem;
  }
  .p-price-faq .p-faq__toggle {
    color: var(--color-orange);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.625rem;
    text-align: center;
  }
  .p-price-faq .p-faq__toggle::before {
    content: "＋";
  }
  .p-price-faq .p-faq__item[open] > .p-faq__summary .p-faq__toggle::before {
    content: "ー";
  }
  .p-price-faq .p-faq__answer {
    display: grid;
    padding: 0 3rem 1.2rem 1rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.7rem 1.5rem;
  }
  .p-price-faq .p-faq__answer-body {
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-faq .p-faq__answer-body p {
    margin: 0;
  }
  .p-price-faq__more {
    margin-top: 1.875rem;
    text-align: center;
  }
  .p-price-faq__more .c-button--section-link {
    width: min(100%, 27.5rem);
  }
  @media not all and (min-width: 768px) {
    .p-price-faq__heading {
      margin-bottom: 1.25rem;
      font-size: clamp(1.35rem, 6vw, 2.375rem);
      line-height: 1.35;
    }
    .p-price-faq__lead {
      margin-bottom: 1.5rem;
      font-size: 1rem;
      line-height: 1.75;
    }
    .p-price-faq .p-faq__summary {
      align-items: start;
      padding: 1rem 2.25rem 1rem 0.7rem;
      grid-template-columns: 1.8rem minmax(0, 1fr) 1.5rem;
      gap: 0.5rem 0.65rem;
    }
    .p-price-faq .p-faq__q {
      line-height: 1.75rem;
    }
    .p-price-faq .p-faq__question {
      font-size: 1rem;
      line-height: 1.5;
    }
    .p-price-faq .p-faq__toggle {
      align-self: center;
      font-size: 1.35rem;
      line-height: 1.75rem;
    }
    .p-price-faq .p-faq__answer {
      padding: 0 1.25rem 1rem 0.7rem;
      grid-template-columns: 1.8rem minmax(0, 1fr);
      gap: 0.5rem 0.65rem;
    }
    .p-price-faq .p-faq__answer-body {
      font-size: 1rem;
      line-height: 1.75;
    }
    .p-price-faq__more {
      margin-top: 1.5rem;
    }
    .p-price-faq__more .c-button--section-link {
      width: 100%;
      max-width: none;
    }
  }
}
@layer project {
  .p-price-closing {
    text-align: center;
  }
  .p-price-closing__title {
    margin: 0 0 1.75rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 3.5rem;
  }
  .p-price-closing__title-emphasis {
    color: var(--color-red);
  }
  .p-price-closing__note {
    margin: 0;
    color: var(--color-ink);
    font-size: 1.0625rem;
    line-height: 1.875rem;
  }
  .p-price-closing__note p {
    margin: 0;
  }
  @media not all and (min-width: 768px) {
    .p-price-closing__title {
      margin-bottom: 1.25rem;
      font-size: clamp(1.125rem, 4.8vw, 1.5rem);
      line-height: 1.65;
    }
    .p-price-closing__note {
      font-size: 1rem;
      line-height: 1.75;
      text-align: left;
    }
  }
}
/*# sourceMappingURL=_maps/price.css.map */
