/* 基本の色・余白・カード・ボタンは ../business/style.css と共通です。 */

.page-shell { width: min(100% - 32px, 800px); }

h1 { font-size: clamp(1.65rem, 6.4vw, 2.35rem); }

.section h2 {
  align-items: flex-start;
  gap: 9px;
}

.section h2::before { display: none; }

.section-number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  margin-top: .08em;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  font-size: .82rem;
  line-height: 1;
}

.section p { margin: 0 0 1em; }
.section p:last-child { margin-bottom: 0; }

h3 {
  margin: 1.3em 0 .65em;
  color: var(--green-dark);
  font-size: 1.05rem;
  line-height: 1.5;
}

ul {
  margin: .7em 0 1.1em;
  padding-left: 1.4em;
}

li + li { margin-top: .35em; }

.value-text {
  overflow-wrap: anywhere;
  font-size: 1.06rem;
  font-weight: 700;
}

.sub-value { color: var(--muted); }

.contact-list {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.contact-list p {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfc;
}

.item-label {
  color: var(--muted);
  font-size: .88rem;
  font-weight: 700;
}

.contact-link {
  color: var(--green-dark);
  overflow-wrap: anywhere;
  font-weight: 700;
  text-underline-offset: 3px;
}

.price-list {
  margin: 0 0 1.2em;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfc;
}

.price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 11px 14px;
  border-top: 1px solid var(--line);
}

.price-row:first-child { border-top: 0; }
.price-row dt { margin: 0; color: var(--ink); font-size: 1rem; font-weight: 600; }
.price-row dd { text-align: right; font-weight: 700; }

.setting-note,
.config-alert {
  margin: 1em 0;
  padding: 13px 14px;
  border: 1px solid #d29b38;
  border-radius: 12px;
  background: #fff8e7;
}

.setting-note {
  display: grid;
  gap: 3px;
}

.config-warning {
  color: #7a3d00;
  font-weight: 700;
}

.return-area { margin-top: 26px; }

@media (max-width: 420px) {
  .section { padding: 21px 18px; }
  .price-row { grid-template-columns: minmax(0, 1fr); gap: 1px; }
  .price-row dd { text-align: left; }
}
