.c-contactForm{max-width:720px;margin:0 auto}
.c-contactForm .form-group{margin:1rem 0}
.c-contactForm input[type="text"],.c-contactForm input[type="email"],.c-contactForm textarea{
  width:100%;box-sizing:border-box;padding:.75rem .9rem;
  border:1px solid var(--formbridge-border,rgba(0,0,0,.32))!important;
  border-radius:0!important;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease
}
.c-contactForm input:focus,.c-contactForm textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.12)}
.c-contactForm .form-group>label{font-weight:700;color:#000}
.c-contactForm label span[aria-hidden="true"]{color:#d32f2f}
.c-contactForm .form-privacy .c-checkbox{
  display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.9rem 0 .7rem
}
.c-contactForm .form-privacy .c-checkbox span{
  color:#000;font-weight:700;font-size:.95rem;line-height:1.6;text-align:center
}
.c-contactForm .c-privacyDetails{margin:.15rem 0 0}
.c-contactForm .c-privacyDetails>summary{
  display:block;width:100%;padding:.9rem 2.6rem .9rem 1rem;
  border:1px solid var(--formbridge-border,rgba(0,0,0,.32))!important;
  border-radius:0!important;background:transparent!important;text-align:center;
  font-weight:700;font-size:.95rem;line-height:1.6;position:relative;user-select:none;
  list-style:none!important;-webkit-appearance:none!important;appearance:none!important;
  background-image:none!important;cursor:pointer
}
.c-contactForm .c-privacyDetails>summary::-webkit-details-marker{display:none!important}
.c-contactForm .c-privacyDetails>summary::marker{content:""!important;font-size:0!important;color:transparent!important}
.c-contactForm .c-privacyDetails>summary::before{content:none!important;display:none!important;background:none!important;border:0!important}
.c-contactForm .c-privacyDetails>summary::after{
  content:""!important;position:absolute;right:1rem;top:50%;width:9px;height:9px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  background:none!important;transform:translateY(-60%) rotate(45deg);
  transition:transform .18s ease;pointer-events:none
}
.c-contactForm .c-privacyDetails[open]>summary::after{transform:translateY(-38%) rotate(225deg)}
.c-contactForm .c-privacyBox{
  margin-top:10px;padding:1rem 1rem 1.1rem;
  border:1px solid var(--formbridge-border,rgba(0,0,0,.32))!important;
  border-radius:0!important;background:transparent!important;color:#333;
  line-height:1.9;font-size:.95rem
}
.c-contactForm .c-privacyBox p{margin:0 0 1em}
.c-contactForm .c-privacyBox p:last-child{margin-bottom:0}
.c-contactForm .c-privacyBox p>strong:first-child{display:block;margin:0 0 .35em;font-weight:700;color:inherit}

.c-contactForm .btn-submit{
  display:block;width:100%;margin:1rem 0 0;padding:1rem;
  border:1px solid var(--formbridge-button,#000);background:var(--formbridge-button,#000);
  color:#fff;font-weight:700;border-radius:0!important;cursor:pointer
}
.c-contactForm .btn-submit:hover:not([disabled]){
  opacity:1;
  transform:scale(1.015);
  box-shadow:0 8px 20px rgba(0,0,0,.10)
}
.c-contactForm .btn-submit[disabled]{opacity:.6;cursor:not-allowed}
.c-contactForm .form-status{margin:.65rem 0 0;font-size:.9rem;line-height:1.6}
.formbridge-powered{margin:.7rem 0 0;color:#999;font-size:.78rem;font-weight:600;text-align:right;letter-spacing:.01em}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:640px){
  .c-contactForm .form-group{margin:.8rem 0}
  .c-contactForm .form-privacy .c-checkbox{margin:.8rem 0 .6rem}
  .formbridge-powered{font-size:.72rem}
}

.formbridge-complete{padding:2.3rem 1.4rem;text-align:center;border:1px solid var(--formbridge-border,rgba(0,0,0,.32));background:#fff}
.formbridge-complete__mark{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 1rem;border-radius:50%;background:var(--formbridge-button,#000);color:#fff;font-size:22px;font-weight:700}
.formbridge-complete h3{
  all:unset!important;
  display:block!important;
  margin:0 0 .7rem!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:inherit!important;
  font:inherit!important;
  font-size:1.15rem!important;
  font-weight:700!important;
  line-height:1.5!important;
  text-align:center!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  box-shadow:none!important
}
.formbridge-complete p{margin:0;line-height:1.8;color:#555}

.formbridge-complete h3::before,
.formbridge-complete h3::after{
  content:none!important;
  display:none!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  transform:none!important
}

.c-contactForm .btn-submit:active:not([disabled]){
  transform:scale(.995);
  box-shadow:0 3px 8px rgba(0,0,0,.08)
}

.c-contactForm .c-privacyDetails>summary{
  transition:background-color .18s ease,border-color .18s ease
}
.c-contactForm .c-privacyDetails>summary:hover{
  background:rgba(0,0,0,.025)!important
}
.c-contactForm .c-privacyDetails[open] .c-privacyBox{
  animation:formbridgePrivacyOpen .24s cubic-bezier(.22,.61,.36,1) both
}
to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion: reduce){
  .c-contactForm *,
  .c-contactForm *::before,
  .c-contactForm *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
}


100%{opacity:1;transform:translateY(0) scale(1)}
}


/* v1.6.2 — clean privacy accordion motion */
.c-contactForm .c-privacyDetails>summary{
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease!important;
}
.c-contactForm .c-privacyDetails>summary:hover{
  background:rgba(0,0,0,.018)!important;
}
.c-contactForm .c-privacyDetails[open]>summary{
  background:rgba(0,0,0,.018)!important;
}
.c-contactForm .c-privacyDetails[open] .c-privacyBox{
  animation:formbridgePrivacyFade .2s ease both;
}
@keyframes formbridgePrivacyFade{
  from{opacity:0}
  to{opacity:1}
}


/* =========================================================
   FormBridge v1.6.3 — smoother micro motion
========================================================= */

/* 送信ボタン：少し大きく、より滑らかに */
.c-contactForm .btn-submit{
  transition:
    transform .30s cubic-bezier(.22,.61,.36,1),
    opacity .24s ease,
    box-shadow .30s cubic-bezier(.22,.61,.36,1)!important;
  transform-origin:center center;
  will-change:transform;
}
.c-contactForm .btn-submit:hover:not([disabled]){
  opacity:1!important;
  transform:scale(1.012)!important;
  box-shadow:0 9px 22px rgba(0,0,0,.095)!important;
}
.c-contactForm .btn-submit:active:not([disabled]){
  transform:scale(.998)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.07)!important;
  transition-duration:.12s!important;
}

/* アコーディオン見出し：色変化をゆっくり */
.c-contactForm .c-privacyDetails>summary{
  transition:
    background-color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease!important;
}

/* 矢印回転を滑らかに */
.c-contactForm .c-privacyDetails>summary::after{
  transition:transform .32s cubic-bezier(.22,.61,.36,1)!important;
}

/* 本文：フェードを少し長め＋3pxだけ移動 */
.c-contactForm .c-privacyDetails[open] .c-privacyBox{
  animation:formbridgePrivacyFadeSmooth .32s cubic-bezier(.22,.61,.36,1) both!important;
}
@keyframes formbridgePrivacyFadeSmooth{
  from{
    opacity:0;
    transform:translateY(-3px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .c-contactForm .btn-submit,
  .c-contactForm .c-privacyDetails>summary,
  .c-contactForm .c-privacyDetails>summary::after,
  .c-contactForm .c-privacyDetails[open] .c-privacyBox{
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}
