.rc-page-composition[data-composition-key="contact"] {
  --ink:#0E1B2C; --navy:#16304F; --ink-soft:#4A5562; --mist:#F2F4F6;
  --line:#DCE1E6; --line-strong:#C9D1DA; --night:#0A1320; --pin:#D23A33; --line-green:#06C755;
  background:#fff; color:var(--ink); font-family:"Zen Kaku Gothic New",sans-serif; font-size:17px; line-height:1.9;
}
.rc-page-composition[data-composition-key="contact"] *, .rc-page-composition[data-composition-key="contact"] *::before, .rc-page-composition[data-composition-key="contact"] *::after { box-sizing:border-box; }
.rc-page-composition[data-composition-key="contact"] :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-container { width:min(100%,1280px); padding-inline:64px; margin-inline:auto; }
.rc-page-composition[data-composition-key="contact"] :is(h1,h2,h3,p,dl,dd,ol) { margin:0; }
.rc-page-composition[data-composition-key="contact"] :is(h1,h2,h3) { color:inherit; }
.rc-page-composition[data-composition-key="contact"] h1 { font-size:56px; line-height:1.4; font-weight:900; letter-spacing:-.02em; text-wrap:balance; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-hero h1 { max-width:14em; }
.rc-page-composition[data-composition-key="contact"] h2 { font-size:42px; line-height:1.5; font-weight:900; text-wrap:balance; margin-bottom:32px; }
.rc-page-composition[data-composition-key="contact"] h3 { font-size:26px; line-height:1.5; font-weight:900; }
.rc-page-composition[data-composition-key="contact"] .rc-heading-phrase { display:inline-block; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-hero { padding:80px 0; background:#fff; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-lead { max-width:48em; margin-top:24px; color:var(--ink-soft); }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-chapter { font-size:14px; font-weight:700; color:var(--ink-soft); margin-bottom:24px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-section { padding:64px 0; border-top:1px solid var(--line); }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:64px; padding:14px 28px; border:2px solid transparent; border-radius:8px; color:#fff; background:var(--navy); font-weight:700; font-size:17px; text-decoration:none; text-align:center; white-space:nowrap; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-cta--line { background:transparent; border-color:var(--line-green); color:var(--ink); }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-cta { line-height:1.4; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-cta { transition:transform .18s ease; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-cta__arrow { transition:transform .18s ease; }
@media (hover:hover) and (min-width:768px) {
  .rc-page-composition[data-composition-key="contact"]:not(.foundation-motion-off) .rc-foundation-cta:hover .rc-foundation-cta__arrow { transform:translateX(3px); }
}
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form { max-width:760px; display:grid; gap:28px; background:#fff; border:1px solid var(--line-strong); border-radius:6px; padding:32px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form label { display:block; font-weight:700; margin-bottom:10px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form :is(input,textarea,select) { width:100%; min-height:52px; border:1px solid var(--line-strong); background:#fff; border-radius:6px; font:inherit; padding:12px 16px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-required { color:var(--navy); font-size:12px; margin-left:8px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form .rc-foundation-checkbox { display:flex; align-items:center; gap:12px; min-height:44px; font-size:14px; }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form .rc-foundation-checkbox input { width:20px; min-height:20px; height:20px; flex-shrink:0; padding:0; accent-color:var(--navy); }
.rc-page-composition[data-composition-key="contact"] .rc-foundation-form button:disabled { opacity:.6; cursor:not-allowed; }
.rc-page-composition[data-composition-key="contact"].foundation-motion-off :is(.rc-foundation-cta,.rc-foundation-cta__arrow) { transition:none; }
@media (max-width:1100px) {
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-container { padding-inline:32px; }
  .rc-page-composition[data-composition-key="contact"] h1 { font-size:44px; }
  .rc-page-composition[data-composition-key="contact"] h2 { font-size:34px; }
}
@media (max-width:767px) {
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-container { padding-inline:20px; }
  .rc-page-composition[data-composition-key="contact"] h1 { font-size:32px; line-height:1.5; }
  .rc-page-composition[data-composition-key="contact"] h2 { font-size:28px; line-height:1.5; margin-bottom:24px; }
  .rc-page-composition[data-composition-key="contact"] h3 { font-size:21px; }
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-hero { padding:48px 0; }
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-section { padding:44px 0; }
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-form { padding:24px 22px; }
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-cta { width:100%; min-height:56px; padding:12px 10px; font-size:15px; }
  .rc-page-composition[data-composition-key="contact"] .rc-foundation-cta--line { min-height:52px; }
}
@media (prefers-reduced-motion:reduce) {
  .rc-page-composition[data-composition-key="contact"] :is(.rc-foundation-cta,.rc-foundation-cta__arrow) { transition:none!important; transform:none!important; }
}
@media(max-width:1100px){.rc-page-composition[data-composition-key="contact"]{font-size:16px}}
@media(max-width:767px){.rc-page-composition[data-composition-key="contact"]{font-size:15px}}
