/* talktome.co.jp かんたん見積りシミュレーター */
.tm-sim { display: flex; flex-direction: column; gap: 16px; }
.tm-card {
  background: #fff; border: 1px solid #d9e1e9; border-radius: 10px;
  padding: 18px 18px 14px;
}
.tm-card__title {
  font-size: 1.05em; font-weight: 700; margin: 0 0 12px; display: flex; align-items: center; gap: 10px;
}
.tm-step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; background: #1f5a96; color: #fff;
  font-size: 15px; font-weight: 700; flex: none;
}
.tm-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 0; border-top: 1px dashed #e2e8ee;
}
.tm-row:first-of-type { border-top: none; }
.tm-row__label { font-size: 0.95em; line-height: 1.5; }
.tm-row__price { display: block; font-size: 0.85em; color: #1f5a96; font-weight: 700; }
.tm-stepper { display: flex; align-items: center; gap: 2px; flex: none; }
.tm-stepper__btn {
  width: 44px; height: 44px; border-radius: 8px; border: 1.5px solid #1f5a96;
  background: #fff; color: #1f5a96; font-size: 22px; font-weight: 700;
  cursor: pointer; line-height: 1; padding: 0;
}
.tm-stepper__btn:active { background: #e9f0f8; }
.tm-stepper__num {
  min-width: 44px; text-align: center; font-size: 1.25em; font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.tm-note { font-size: 0.82em; color: #5d6c7b; margin: 10px 0 0; line-height: 1.7; }
.tm-check {
  display: flex; gap: 10px; align-items: flex-start; padding: 10px 0;
  border-top: 1px dashed #e2e8ee; cursor: pointer;
}
.tm-check:first-of-type { border-top: none; }
.tm-check input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: #1f5a96; }
.tm-check__label { display: block; font-size: 0.95em; font-weight: 600; }
.tm-check__label .tm-row__price { display: inline; margin-left: 8px; }
.tm-check__sub { display: none; font-size: 0.8em; color: #5d6c7b; line-height: 1.6; margin-top: 2px; }
.tm-check input:checked ~ .tm-check__body .tm-check__sub { display: block; }
.tm-check--warn input:checked ~ .tm-check__body .tm-check__sub { color: #b3541e; font-weight: 600; }
.tm-result {
  background: #e9f0f8; border: 2px solid #1f5a96; border-radius: 12px;
  padding: 20px 18px; text-align: center;
}
.tm-result__caption { margin: 0; font-size: 0.85em; font-weight: 700; color: #17497d; }
.tm-result__total {
  margin: 2px 0 10px; font-size: 2em; font-weight: 800; color: #17497d;
  font-variant-numeric: tabular-nums;
}
.tm-result__breakdown {
  list-style: none; margin: 0 0 10px; padding: 10px 12px; background: #fff;
  border-radius: 8px; font-size: 0.86em; text-align: left;
}
.tm-result__breakdown:empty { display: none; }
.tm-result__breakdown li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.tm-result__setnote {
  margin: 0 0 10px; font-size: 0.85em; background: #fdf3e3; color: #7c4a12;
  border-radius: 8px; padding: 8px 12px; line-height: 1.6;
}
.tm-result__warn {
  margin: 0 0 10px; font-size: 0.85em; background: #fbe9e4; color: #a13333;
  border-radius: 8px; padding: 8px 12px; line-height: 1.6; font-weight: 600;
}
.tm-cta {
  display: block; width: 100%; padding: 16px 20px; border: none; border-radius: 10px;
  background: #e8962e; color: #fff; font-size: 1.05em; font-weight: 800; cursor: pointer;
  box-shadow: 0 3px 0 #c47a1a;
}
.tm-cta:disabled { background: #c8cfd6; box-shadow: none; cursor: not-allowed; }
.tm-cta:not(:disabled):active { transform: translateY(2px); box-shadow: 0 1px 0 #c47a1a; }
.tm-result__fine { margin: 10px 0 0; font-size: 0.78em; color: #5d6c7b; line-height: 1.6; }
.tm-booking-notice {
  background: #fdf3e3; border: 1.5px solid #e8962e; border-radius: 10px;
  padding: 14px 18px; font-weight: 700; color: #7c4a12; margin: 0 0 16px;
}
@media (min-width: 600px) {
  .tm-result__total { font-size: 2.4em; }
}
