/* 金継ぎ40点調整
   読みやすさを落とさず、同じ役割の文字とカードだけを統一する。 */

.faq-mark,
.logo,
.btn {
  font-size: 18px;
}

.hero-copy,
.lead-teal,
.ems-box p,
.check-list,
.worry-card p,
.reason-card p,
.feature-item p,
.price-desc,
.answer-card dd,
.step p,
.store-table th,
.store-table td {
  font-size: 18px;
}

.hero-label,
.firsttime .note-soft,
.status-chip,
.store-area,
.price-tag,
.hero-note,
.photo-caption,
.source-note,
.updated,
.footer-name small {
  font-size: 15px;
}

.step-num,
.reason-badge {
  font-size: 25px;
}

.ems-box strong {
  font-size: 17px;
}

.store-card h3 {
  font-size: 25px;
}

.worry-card h3,
.step h3 {
  font-size: 22px;
}

.hero-label {
  border-radius: 8px;
}

.ems-box,
.firsttime .note-soft,
.reason-card,
.boundary-card,
.price-card,
.store-card {
  border-radius: 16px;
}

.gallery-item {
  background-color: #fff;
}

.disclaimer {
  color: #39424f;
}

.site-header {
  z-index: 100;
}

/* codex-japanese-linebreak-v1:start */
/* 日本語を文節のまとまりで折り返し、語中の不自然な分断を避ける。 */
html[lang="ja"] body {
  line-break: strict;
}

html[lang="ja"] main :is(h1, h2, h3, h4, h5, h6) {
  word-break: normal;
  word-break: auto-phrase;
  overflow-wrap: normal;
  text-wrap: balance;
}

html[lang="ja"] main :is(p, li, dt, dd, blockquote, figcaption, summary) {
  word-break: normal;
  word-break: auto-phrase;
  overflow-wrap: normal;
  text-wrap: pretty;
}

@media (max-width: 760px) {
  html[lang="ja"] main :is(h1, h2, h3, h4, blockquote) > br:not([class]),
  html[lang="ja"] main p:is([class*="lead"], [class*="copy"]) > br:not([class]) {
    display: none !important;
  }
}
/* codex-japanese-linebreak-v1:end */
