.conditions { padding-block: 104px 128px; scroll-margin-top: 32px; }
.conditions__header { max-width: 820px; }
.conditions__eyebrow { display: flex; align-items: center; gap: 24px; margin-bottom: 28px; color: var(--color-accent); font-size: 20px; font-weight: 500; letter-spacing: 0.1em; }
.conditions__eyebrow::after { width: 56px; height: 3px; background: var(--color-olive); content: ""; }
.conditions__title { margin: 0; font-size: clamp(32px, 3.2vw, 48px); line-height: 1.6; letter-spacing: 0.015em; }
.conditions__title span { display: block; }
.conditions__intro { margin-top: 28px; font-size: 18px; line-height: 2; }
.conditions__body { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: center; margin-top: 64px; }
.conditions__details { margin: 0; }
.conditions__details > div { display: grid; grid-template-columns: 136px minmax(0, 1fr); align-items: baseline; gap: 24px; padding-block: 30px; border-bottom: 1px solid #a6a578; }
.conditions__details > div:last-child { border-bottom: 0; }
.conditions__details dt { color: var(--color-accent); font-size: 20px; font-weight: 700; }
.conditions__details dd { margin: 0; font-size: 19px; line-height: 1.9; font-variant-numeric: tabular-nums; }
.conditions__details dd > span { display: block; }
.conditions__detail-note { margin-top: 6px; font-size: 14px; }
.pricing { min-width: 0; padding: 40px; background: #a64e35; color: #fffaf4; }
.pricing__title { margin: 0 0 12px; font-size: 23px; font-weight: 500; line-height: 1.6; }
.pricing__plans { margin: 0; }
.pricing__plans > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; column-gap: 24px; row-gap: 6px; padding-block: 22px; border-top: 1px solid rgb(255 250 244 / 42%); }
.pricing__plans dt { font-size: 16px; font-weight: 500; }
.pricing__plans dd { display: inline-flex; align-items: baseline; gap: 6px; margin: 0 0 0 auto; white-space: nowrap; }
.pricing__amount { font-size: clamp(30px, 2.8vw, 40px); font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.pricing__plans dd > span:last-child { font-size: 14px; }
.pricing__note { margin-top: 16px; font-size: 13px; line-height: 1.9; }

@media (max-width: 1100px) {
  .conditions { padding-block: 80px 104px; }
  .conditions__body { gap: 32px; }
  .conditions__details > div { grid-template-columns: 110px minmax(0, 1fr); gap: 20px; }
  .conditions__details dt, .conditions__details dd { font-size: 17px; }
  .pricing { padding: 32px; }
}

@media (max-width: 800px) {
  .conditions__body { grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
  .conditions__details > div { grid-template-columns: 136px minmax(0, 1fr); padding-block: 26px; }
  .pricing__amount { font-size: 36px; }
}

@media (max-width: 600px) {
  .conditions { padding-block: 56px 80px; scroll-margin-top: 24px; }
  .conditions__eyebrow { gap: 18px; font-size: 16px; margin-bottom: 24px; }
  .conditions__eyebrow::after { width: 40px; }
  .conditions__title { font-size: clamp(28px, 7.6vw, 38px); }
  .conditions__intro { font-size: 16px; }
  .conditions__details > div { grid-template-columns: 100px minmax(0, 1fr); gap: 16px; }
  .conditions__details dt, .conditions__details dd { font-size: 16px; }
  .pricing { padding: 28px 24px; }
  .pricing__plans > div { column-gap: 16px; }
  .pricing__amount { font-size: 32px; }
}

/* 最終更新: 2026-11-04 00:37 */
