
  html { scroll-behavior: smooth; }
  html, body { margin: 0; padding: 0; background: rgb(245,242,238); }
  * { box-sizing: border-box; }
  #go5-contact a { transition: transform .3s cubic-bezier(.2,.75,.3,1), box-shadow .3s ease, color .25s ease, border-color .25s ease, background-color .25s ease; }
  #go5-contact button { transition: transform .25s cubic-bezier(.2,.75,.3,1), box-shadow .25s ease, background-color .25s ease; }
  #go5-contact { --g5-content: 1500px; --g5-gutter: 48px; }
  @media (min-width: 1025px) {
    #go5-contact header, #go5-contact > main > section, #go5-contact > main > nav.g5-crumb, #go5-contact footer {
      padding-left:  max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
      padding-right: max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
    }
  }
  .g5-field label { font-family: 'Noto Sans JP', sans-serif; font-weight: 600; font-size: 13px; color: rgb(60,60,60); display: flex; align-items: center; gap: 6px; }
  .g5-field .g5-req { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: .5px; color: rgb(231,100,122); background: rgba(231,100,122,0.1); padding: 2px 7px; border-radius: 100px; }
  .g5-field .g5-opt { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 10px; letter-spacing: .5px; color: rgb(150,150,150); background: rgb(238,235,230); padding: 2px 7px; border-radius: 100px; }
  .g5-field input, .g5-field select, .g5-field textarea { font-family: 'Noto Sans JP', sans-serif; font-size: 15px; color: rgb(30,30,30); border: 1px solid rgb(222,219,214); border-radius: 10px; padding: 13px 16px; background: rgb(255,255,255); width: 100%; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
  .g5-field input:focus, .g5-field select:focus, .g5-field textarea:focus { border-color: rgb(100,190,220); box-shadow: 0 0 0 3px rgba(100,190,220,0.18); }
  .g5-field input:invalid:not(:placeholder-shown), .g5-field textarea:invalid:not(:placeholder-shown) { border-color: rgb(210,90,90); }
  .g5-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(231,100,122,.5); }
  .g5-submit:disabled { opacity: .55; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
  .g5-consent input:focus-visible, .g5-submit:focus-visible, .g5-field input:focus-visible, .g5-field select:focus-visible, .g5-field textarea:focus-visible { outline: 2px solid rgb(38,150,175); outline-offset: 2px; }
  .g5-faq-item summary { cursor: pointer; list-style: none; }
  .g5-faq-item summary::-webkit-details-marker { display: none; }
  .g5-faq-item .g5-faq-icon { transition: transform .3s ease; }
  .g5-faq-item[open] .g5-faq-icon { transform: rotate(45deg); }
  @media (max-width: 1024px) {
    #go5-contact > main > section, #go5-contact > main > nav.g5-crumb, #go5-contact footer { padding-left: 44px !important; padding-right: 44px !important; }
    #go5-contact section[data-screen-label="Contact Hero"] h1 { font-size: 34px !important; }
    #go5-contact .g5-contact-grid { grid-template-columns: 1fr !important; }
    #go5-contact .g5-form-row { grid-template-columns: 1fr !important; }
  }
  @media (max-width: 640px) {
    #go5-contact > main > section, #go5-contact > main > nav.g5-crumb, #go5-contact footer { padding-left: 22px !important; padding-right: 22px !important; }
    #go5-contact section[data-screen-label="Contact Hero"] { padding-top: 56px !important; padding-bottom: 56px !important; }
    #go5-contact section[data-screen-label="Contact Form"] { padding: 40px 22px 64px !important; }
    #go5-contact form { padding: 26px 22px !important; }
  }
