body.five-reps-contact { margin:0 !important; background:var(--paper); color:var(--ink); font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-size:17px; line-height:1.8; }
.five-reps-contact #wpadminbar { z-index:300; }
.five-reps-contact .contact-page-main { min-height:70vh; padding:88px max(24px,calc((100vw - 1120px)/2)) 110px; background:radial-gradient(circle at 92% 7%,rgba(195,154,98,.14),transparent 22%),linear-gradient(145deg,#fdfbf6,#f2f0e8); }
.five-reps-contact .contact-page-shell { max-width:1120px; margin:0 auto; }
.five-reps-contact .contact-page-heading { max-width:780px; margin-bottom:48px; }
.five-reps-contact .contact-page-heading h1 { margin:0 0 20px; font-size:clamp(2.7rem,5.4vw,4.8rem); }
.five-reps-contact .contact-page-heading > p:last-child { color:var(--muted); font-size:17px; }
.five-reps-contact .contact-page-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:26px; align-items:start; }
.five-reps-contact .contact-form-card,.five-reps-contact .contact-help { border:1px solid rgba(24,63,55,.13); background:rgba(255,255,255,.9); box-shadow:0 20px 55px rgba(24,63,55,.07); }
.five-reps-contact .contact-form-card { padding:42px; }
.five-reps-contact .contact-form-card > p { color:var(--muted); font-size:16px; line-height:1.8; }
.five-reps-contact .contact-form-card > p:first-child { color:var(--ink); font-size:17px; }
.five-reps-contact .contact-form-card .wp-block-spacer { height:18px !important; }
.five-reps-contact .contact-form-card h2 { font-size:clamp(1.7rem,3vw,2.4rem); }
.five-reps-contact .contact-help { position:sticky; top:104px; padding:30px 28px; }
.five-reps-contact .contact-help strong { display:block; margin-bottom:18px; color:var(--sage-deep); font-family:"Yu Mincho",serif; font-size:20px; }
.five-reps-contact .contact-help p { margin:0 0 14px; padding:14px 15px; border-left:3px solid var(--gold); background:#fbf7ee; color:#44514d; font-size:15px; line-height:1.75; }
.five-reps-contact .contact-help small { display:block; margin-top:20px; color:var(--muted); font-size:14px; line-height:1.75; }
.five-reps-contact .nf-form-fields-required { color:var(--muted); font-size:15px; }
.five-reps-contact .nf-field-container { margin-bottom:26px; }
.five-reps-contact .nf-field-label label { color:var(--ink); font-size:16px; font-weight:800; }
.five-reps-contact .nf-form-content input:not([type="button"]),.five-reps-contact .nf-form-content textarea,.five-reps-contact .nf-form-content select { width:100%; min-height:52px; padding:13px 14px; border:1px solid rgba(24,63,55,.24); border-radius:0; background:#fff; color:var(--ink); font:16px/1.6 inherit; }
.five-reps-contact .nf-form-content textarea { min-height:190px; }
.five-reps-contact .nf-form-content input:not([type="button"]):focus,.five-reps-contact .nf-form-content textarea:focus,.five-reps-contact .nf-form-content select:focus { border-color:var(--sage-deep); outline:3px solid rgba(215,168,78,.38); outline-offset:2px; }
.five-reps-contact .nf-form-content input[type="button"] { min-width:180px; min-height:56px; border:0; border-radius:0; background:var(--sage-deep); color:#fff; font-size:16px; font-weight:800; cursor:pointer; }
.five-reps-contact .nf-error-msg,.five-reps-contact .ninja-forms-req-symbol { color:#a23f51; }
.five-reps-contact .contact-footer { background:var(--paper); }

@media (max-width:1050px) {
  .five-reps-contact .contact-page-grid { grid-template-columns:1fr; }
  .five-reps-contact .contact-help { position:static; }
}

@media (max-width:820px) {
  body.five-reps-contact { font-size:16px; line-height:1.75; }
  .five-reps-contact .contact-page-main { padding:62px 18px 82px; }
  .five-reps-contact .contact-page-heading { margin-bottom:32px; }
  .five-reps-contact .contact-page-heading h1 { font-size:clamp(2.35rem,11vw,3.3rem); }
  .five-reps-contact .contact-page-heading > p:last-child { font-size:16px; line-height:1.75; }
  .five-reps-contact .contact-form-card { padding:28px 20px; }
  .five-reps-contact .contact-form-card > p,.five-reps-contact .contact-form-card > p:first-child { font-size:16px; line-height:1.75; }
  .five-reps-contact .contact-help { padding:26px 20px; }
  .five-reps-contact .contact-help p,.five-reps-contact .contact-help small { font-size:16px; }
  .five-reps-contact .nf-form-content input[type="button"] { width:100%; }
}
