/* Deliberate departures from the source: font fallback, readable hero,
   accessible native menu, and a non-submitting preview form. */
/* Keep font tokens on the canvas: newly swapped page CSS can redefine :root. */
.render-canvas {
  --s-font-18a508ab: 'DIN Condensed', 'Oswald Variable', 'Arial Narrow', sans-serif;
  --s-font-8b81a079: 'DIN Condensed', 'Oswald Variable', 'Arial Narrow', sans-serif;
  --s-font-fea9a7b0: 'DIN Condensed', 'Oswald Variable', 'Arial Narrow', sans-serif;
  --s-font-f7a6a6c7: 'ヒラギノ角ゴ W6 JIS2004', 'Noto Sans JP Variable', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --s-font-abbfb9fe: 'ヒラギノ角ゴ W3 JIS2004', 'Noto Sans JP Variable', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
}
.render-canvas .faithful-headline.sd {
  display: block; white-space: nowrap; word-break: normal;
  font-size: clamp(64px, 8.1vw, 112px); line-height: 1.12;
  width: max-content; max-width: 100%; height: auto; letter-spacing: -.025em;
  font-weight: 500; margin: 0;
}
.render-canvas .hero-title-group.sd { height: auto; gap: 0; margin-bottom: 24px; }
.render-canvas [data-s-1f327c55-7d89-4ac1-b65d-3662e56f4718].sd {
  width: 920px; max-width: 100%; padding: 112px 48px 72px;
}
.render-canvas .migrated-icon { font-family: Arial, sans-serif !important; font-style: normal; }
.render-canvas .menu-button { cursor: pointer; }
.render-canvas .fa-instagram::before { display: none; }
.render-canvas .fa-instagram svg { display: block; width: 1em; height: 1em; }
.render-canvas .form-notice { display: block; width: 100%; margin: 0 0 32px; padding: 16px; border: 1px solid #283993; font: 14px/1.8 sans-serif; color: #1e3147; }
.render-canvas .form-notice a { display: block; color: #283993; text-decoration: underline; font: inherit; }
.render-canvas :disabled { cursor: not-allowed; }
@media (max-width:840px) {
  .render-canvas main h1.text.sd { font-size: clamp(32px, 11vw, 64px); word-break: normal; overflow-wrap: normal; }
  .render-canvas .faithful-headline.sd { font-size: clamp(36px, 10.5vw, 82px); }
  .render-canvas [data-s-1f327c55-7d89-4ac1-b65d-3662e56f4718].sd {
    width: 100%; padding: 144px 24px 64px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .render-canvas *, .render-canvas *::before, .render-canvas *::after { transition: none !important; animation: none !important; }
}

/* Reference 01: only this AD-design description. 16px - 2pt = 13.333px.
   Keep the same legible size on mobile instead of shrinking its old 11px. */
.render-canvas .reference-body.sd {
  font-size: calc(16px - 2pt);
}

/* References 02/03: a contained grid, not percentage widths + a fixed button. */
.render-canvas .signup-card.sd {
  display: grid;
  grid-template-columns: minmax(96px, .8fr) minmax(0, 1.8fr) 208px;
  gap: 20px;
  align-items: center;
  padding: 24px;
  box-sizing: border-box;
}
.render-canvas .signup-card.sd > .sd {
  min-width: 0;
  width: auto;
  max-width: 100%;
  margin: 0;
}
.render-canvas .signup-cta.sd {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  width: 208px;
  max-width: 100%;
  min-width: 0;
  min-height: 50px;
  height: auto;
  padding: 12px 16px;
  justify-self: end;
}
.render-canvas .signup-cta.sd > .sd {
  min-width: 0;
  width: auto;
  max-width: 100%;
  margin: 0;
}
.render-canvas .signup-cta.sd > p { text-align: center; justify-content: center; }
.render-canvas .signup-cta.sd > i { font-size: 20px; justify-self: center; }

/* Reference 04: symmetric arrow-sized columns keep the label truly centred. */
.render-canvas .contact-cta.sd {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  column-gap: 16px;
  align-items: center;
  padding: 40px 32px;
}
.render-canvas .contact-cta.sd > div.sd {
  grid-column: 2;
  min-width: 0;
  width: 100%;
  align-items: center;
  text-align: center;
}
.render-canvas .contact-cta.sd > div.sd > p.sd {
  max-width: 100%;
  text-align: center;
  justify-content: center;
}
.render-canvas .contact-cta.sd > i.sd {
  grid-column: 3;
  margin: 0;
  font-size: 36px;
  justify-self: center;
}
.render-canvas .contact-cta.sd:hover > i.sd { translate: 0 0; }
@media (max-width: 1100px) and (min-width: 841px) {
  .render-canvas .signup-card.sd { grid-template-columns: minmax(0, 1fr) 208px; }
  .render-canvas .signup-card.sd > p:first-child { grid-column: 1 / -1; }
}
@media (max-width: 840px) {
  .render-canvas .signup-card.sd { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px; }
  .render-canvas .signup-card.sd > .signup-cta.sd { width: min(100%, 240px); justify-self: center; }
  .render-canvas .contact-cta.sd { grid-template-columns: 24px minmax(0, 1fr) 24px; gap: 8px; padding: 28px 20px; }
  .render-canvas .contact-cta.sd > i.sd { font-size: 28px; }
}

/* Reference 05: data-backed slot, directly after the home mission. */
.render-canvas .home-news {
  display: block;
  box-sizing: border-box;
  width: 100%;
  background: #f5f6fa;
  padding: 72px 48px;
}
.render-canvas .home-news-inner { width: 100%; max-width: 992px; margin: 0 auto; }
.render-canvas .home-news-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.render-canvas .home-news-eyebrow { font-family: var(--s-font-18a508ab); font-size: 36px; font-weight: 600; color: #283993; letter-spacing: .04em; line-height: 1.2; margin-bottom: 8px; }
.render-canvas .home-news h2 { font-family: var(--s-font-f7a6a6c7); font-size: 18px; font-weight: 700; color: #1e3147; line-height: 1.6; }
.render-canvas .home-news-all { display: inline-flex; align-items: center; gap: 20px; color: #1e3147; font-family: var(--s-font-f7a6a6c7); font-size: 14px; line-height: 1.6; min-height: 44px; border-bottom: 1px solid #283993; }
.render-canvas .home-news-all span { color: inherit; }
.render-canvas .home-news-empty { font-family: var(--s-font-f7a6a6c7); font-size: 15px; line-height: 1.8; color: #39465a; border-top: 1px solid #cbd2e0; padding-top: 24px; }
.render-canvas .home-news-list { display: block; border-top: 1px solid #cbd2e0; }
.render-canvas .home-news-list li { display: block; border-bottom: 1px solid #cbd2e0; }
.render-canvas .home-news-list a { display: grid; grid-template-columns: 110px minmax(0, 1fr) 24px; gap: 24px; align-items: center; min-height: 80px; padding: 20px 0; font-family: var(--s-font-f7a6a6c7); color: #1e3147; }
.render-canvas .home-news-list a > * { font: inherit; line-height: 1.7; color: inherit; }
.render-canvas .home-news-list time { font-size: 13px; }
@media (max-width: 840px) {
  .render-canvas .home-news { padding: 48px 24px; }
  .render-canvas .home-news-heading { gap: 16px; align-items: flex-end; }
  .render-canvas .home-news-all { font-size: 12px; gap: 12px; }
  .render-canvas .home-news-list a { grid-template-columns: minmax(0, 1fr) 24px; gap: 8px 12px; }
  .render-canvas .home-news-list time { grid-column: 1 / -1; }
}
