/* Content-only components shared by the five general articles. */
.general-article-page .article-visual,
.general-article-page .article-image {
  margin: 42px 0;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(23,35,41,.08);
}

.general-article-page .article-visual img,
.general-article-page .article-image img {
  display: block;
  width: 100%;
  height: auto;
}

.general-article-page .article-visual figcaption,
.general-article-page .article-image figcaption {
  padding: 12px 4px 2px;
  color: rgba(23,35,41,.68);
  font-size: 14px;
  line-height: 1.8;
}

/* General article template contract: the service statement is the final article block before LINE contact. */
.general-article-page .quick-understanding,
.general-article-page .safety-summary,
.general-article-page .notice,
.general-article-page .statement,
.general-article-page .statement-section {
  margin: 32px 0;
  padding: 24px 26px;
  background: #f2eee6;
  border-left: 3px solid var(--gold);
}

.general-article-page .quick-understanding ul,
.general-article-page .safety-summary ul {
  margin: 12px 0 0;
  padding-left: 1.25em;
}

.general-article-page .risk-list {
  display: grid;
  gap: 18px;
  margin: 28px 0;
}

.general-article-page .risk-card {
  padding: 24px;
  background: #f7f4ed;
  border: 1px solid var(--line);
}

.general-article-page .risk-card h3 { margin-top: 0; }

.general-article-page .table-wrap {
  max-width: 100%;
  margin: 32px 0;
  overflow-x: auto;
  background: #fffdf8;
  border: 1px solid var(--line);
  border-radius: 18px;
}

.general-article-page table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.general-article-page th,
.general-article-page td {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
}

.general-article-page th {
  background: #ece7dd;
  font-weight: 500;
}

.general-article-page .text-link-list {
  margin: 18px 0 0;
  padding-left: 1.2em;
}

.general-article-page .text-link-list li { margin: 10px 0; }

.general-article-page .related-section {
  width: 100%;
  max-width: 760px;
  padding: 32px 34px;
  background: #eee9df;
  border-radius: 28px;
}

.general-article-page .related-section ul { margin-bottom: 0; }

.general-article-page article .related-section .text-link-list {
  padding: 0;
  background-color: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
  list-style-position: inside;
}

.general-article-page .section-divider {
  width: 64px;
  height: 1px;
  margin: 48px auto;
  background: var(--gold);
  border: 0;
}

@media (max-width: 600px) {
  .general-article-page .quick-understanding,
  .general-article-page .safety-summary,
  .general-article-page .notice,
  .general-article-page .statement,
  .general-article-page .statement-section,
  .general-article-page .risk-card {
    padding: 20px 18px;
  }

  .general-article-page .related-section { padding: 26px 24px; }
}
