.about-principles { margin-top: 40px; }
.about-principle { display: grid; grid-template-columns: 240px 1fr; align-items: center; gap: 32px; padding: 44px 40px; margin-top: 36px; border-radius: 20px; background: #f7f7f7; }
.about-principle > div:first-child { text-align: center; }
.about-principle > div:last-child { padding-left: 32px; border-left: 1px solid #edb0aa; }
.about-principle h3 { margin: 0 0 8px; }
.about-principle p { margin: 0; }
.about-principle p[lang="en"], .about-principle small { color: var(--color-accent); font-size: 12px; }
.about-principle img { display: block; margin: auto; object-fit: contain; }
.about-certification { display: grid; grid-template-columns: 1fr 169px 123px; gap: 32px; align-items: center; }
.about-certification img { height: auto; }
.about-swatches { display: flex; justify-content: center; gap: 12px; }
.about-swatches span { width: 80px; height: 80px; background: var(--color-accent); }
.about-swatches span + span { background: #fff; }
.about-trademark { display: flex; align-items: center; justify-content: center; gap: 48px; margin: 64px 0; }
.about-trademark img { object-fit: contain; }
.about-president { display: block; width: 960px; height: auto; margin-bottom: 36px; }
.about-signature { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin-top: 32px !important; }
.about-office { margin-top: 36px; }
.about-office__images { display: grid; grid-template-columns: 466px 469px; gap: 25px; }
.about-office__images img { display: block; height: 275px; }
.about-office__images iframe { display: block; width: 469px; height: 275px; border: 0; }
.about-margin { margin: 48px 0; text-align: center; }
.about-margin > img { display: block; width: 700px; max-width: 100%; height: auto; margin-inline: auto; }
.about-note { padding: 40px 48px; border-radius: 20px; background: #f7f7f7; font-size: 13px; }
.about-note p:last-child { margin-bottom: 0; }
.about-disclosure { margin-top: 36px; font-size: 12px; }
.about-disclosure th, .about-disclosure td { padding: 16px; }
.about-disclosure thead th { background: #f5f5f5; color: var(--color-text); }
.about-disclosure thead th:first-child { width: 510px; }
.about-disclosure td { text-align: center; vertical-align: middle; }
.about-disclosure__office { display: flex; align-items: center; gap: 16px; font-weight: var(--font-weight-regular); color: var(--color-text); }
.about-disclosure__office img { flex: none; }
.about-disclosure .about-period { padding: 8px 16px; text-align: right; font-size: 11px; }
.about-pdf { display: inline-block; width: 100px; padding: 8px; background: var(--color-accent); color: #fff; }
.about-pdf--2 { background: #24559a; }
.about-pdf--3 { background: #85b83d; }
.about-disclosure__links { margin-top: 48px; }
.about-disclosure__links a { text-decoration: underline; overflow-wrap: anywhere; }

.about-history th { width: 300px; }

.about-profile-heading__line { color: var(--color-accent); }

/* SP共通ブレイクポイント：PCの既存指定は維持する。 */
@media (max-width: 480px) {
  .about-principle { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 24px; }
  .about-principle > div:last-child { padding-left: 0; padding-top: 24px; border-left: 0; border-top: 1px solid #edb0aa; }
  .about-certification, .about-trademark { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; align-items: center; }
  .about-certification > div { grid-column: 1 / -1; margin-bottom: 10px; }
  .about-certification > img, .about-trademark > img { max-width: 70%; height: auto; justify-self: center; margin-inline: auto; }
  .about-certification > img:last-child:nth-of-type(odd), .about-trademark > img:last-child:nth-of-type(odd) { grid-column: 1 / -1; max-width: calc((100% - 24px) * .35); }
  .about-trademark { margin-block: 40px; }
  .about-signature { flex-wrap: wrap; gap: 12px; }
  .about-office__images { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .company-about .about-office__images > img { width: 100%; max-width: none; height: auto; }
  .about-office__images iframe { width: 100%; height: 275px; }
  .about-margin { margin-block: 32px; }
  .about-margin > img { width: 100%; max-width: 700px; height: auto; }
  .about-note { padding: 24px; font-size: 14px; }
  /* 旧margin.phpと同じ44% / 28% / 28%の幅内表示。写真は住所の上。 */
  .company-table.about-disclosure { display: table; width: 100%; table-layout: fixed; font-size: 12px; overflow-wrap: normal; }
  .about-disclosure thead th:first-child { width: 44%; }
  .about-disclosure thead th:not(:first-child) { width: 28%; }
  .about-disclosure th, .about-disclosure td { padding: 15px 8px; }
  .about-disclosure thead th { text-align: center; font-size: 11px; }
  .about-disclosure__office { flex-direction: column; align-items: stretch; gap: 12px; font-size: 10px; line-height: 1.7; }
  .about-disclosure__office > img { width: 90px; max-width: 100%; height: auto; align-self: center; }
  .about-disclosure__name { font-size: 15px; font-weight: var(--font-weight-bold); }
  .about-disclosure__contact { display: block; white-space: nowrap; }
  .about-disclosure__separator { display: none; }
  .about-disclosure .about-pdf { width: 100%; max-width: 90px; padding-inline: 4px; }
  .about-disclosure .about-period { padding: 8px; font-size: 10px; }
}
