:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; color: #152229; background: #fff; }
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
.header { min-height: 110px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #25464d; padding: 15px 24px; background: #0b171e; }
h1 { margin: 0; line-height: 0; }
.wordmark { display: block; width: clamp(300px, 42vw, 520px); max-width: 100%; height: auto; }
main { width: min(1360px, calc(100% - 48px)); margin: 32px auto 48px; }
.video-frame { width: 100%; aspect-ratio: 16 / 9; min-height: 200px; background: #101010; }
.video-frame > div, .video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.consultation { max-width: 560px; margin: 36px auto 0; text-align: center; outline: none; }
.consultation p { margin: 0 0 24px; font-size: 19px; line-height: 1.9; }
.consultation strong { display: inline-block; margin: 5px 0; font-size: clamp(27px, 4vw, 34px); font-weight: 800; letter-spacing: .03em; }
.line-button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; width: min(100%, 360px); min-height: 58px; border-radius: 6px; padding: 15px 22px; background: #06a94f; color: #fff; text-decoration: none; font-size: 18px; font-weight: 700; line-height: 1.5; transition: background-color .15s; }
.line-button:hover { background: #058d42; }
.line-button:focus-visible { outline: 3px solid #152229; outline-offset: 5px; }
.error { margin: 22px auto; max-width: 560px; font-size: 15px; line-height: 1.8; text-align: center; }
@media (max-width: 600px) {
  .header { min-height: 86px; padding: 14px 18px; }
  .wordmark { width: min(354px, calc(100vw - 36px)); }
  main { width: calc(100% - 24px); margin-top: 20px; }
  .consultation { margin-top: 28px; padding: 0 8px; }
  .consultation p { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .line-button { transition: none; } }
