/**
 * sticky CTA お問い合わせポップアップ — 共通フォームスタイル（GF12 等・複数ステップ）
 * PPF の arc-ppf-sticky-modal と同じ黄背景デザイン + フォーム欄スタイル
 */

/* キャッシュ等で残った旧 #rapidContact（白モーダル）を非表示 */
#rapidContact:not([data-arc-lazy-modal='1']):not([data-wrap-lazy-modal='1']) {
  display: none !important;
}

/* キャッシュ等で残った旧 #rapidContactCompany（白モーダル）を非表示 */
#rapidContactCompany:not([data-arc-lazy-modal='1']):not([data-wrap-lazy-modal='1']) {
  display: none !important;
}

/* キャッシュ等で残った旧 #rapidContactGeneral（白モーダル）を非表示 */
#rapidContactGeneral:not([data-arc-lazy-modal='1']):not([data-wrap-lazy-modal='1']) {
  display: none !important;
}

/* キャッシュ等で残った旧 #rapidContact-ppf（白モーダル・GF13 等）を非表示 */
#rapidContact-ppf:not([data-arc-lazy-modal='1']):not([data-wrap-lazy-modal='1']):not([data-ppf-lazy-modal='1']) {
  display: none !important;
}

/* 外周パディング — PPF 価格ページと同じ（モーダル外縁の余白・角丸カード） */
body.has-wrap-sticky-cta.modal-open .arc-ppf-sticky-modal.modal,
body.has-wrap-sticky-cta .arc-ppf-sticky-modal.modal.show {
  z-index: 100050;
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  background: transparent !important;
  padding-top: clamp(0.75rem, 3vw, 1.25rem) !important;
  padding-left: clamp(0.75rem, 4vw, 1.25rem) !important;
  padding-right: clamp(0.75rem, 4vw, 1.25rem) !important;
  padding-bottom: calc(var(--wrap-sticky-cta-height, 68px) + env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
}

body.has-wrap-sticky-cta.modal-open .arc-ppf-sticky-modal .modal-dialog,
body.has-wrap-sticky-cta .arc-ppf-sticky-modal.modal.show .modal-dialog {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  max-width: min(74rem, 100%);
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
}

body.has-wrap-sticky-cta.modal-open .arc-ppf-sticky-modal .modal-content,
body.has-wrap-sticky-cta .arc-ppf-sticky-modal.modal.show .modal-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  max-height: none !important;
  overflow: hidden;
  border: none;
  border-radius: 0.75rem;
}

/* 黄背景はカード内のみ（画面全体を黄くしない） */
.arc-ppf-sticky-modal.modal.show {
  background: transparent !important;
}

.arc-ppf-sticky-modal.modal.show .modal-content,
.arc-ppf-sticky-modal.modal.show .modal-body,
.arc-ppf-sticky-modal.modal.show .arc-ppf-sticky-modal__content,
.arc-ppf-sticky-modal.modal.show .arc-ppf-sticky-modal__body {
  background: var(--arc-brand-yellow, #ffe900) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section--modal,
.arc-ppf-sticky-modal__body .ppf-quote-section {
  --arc-editing-type-body: 1.05rem;
  --arc-editing-type-body-lh: 2.205rem;
  --arc-editing-type-body-tracking: normal;
  --ppf-gold: var(--arc-brand-yellow, #ffe900);
  --ppf-quote-text: #1a1a1a;
  --ppf-quote-muted: #424242;
  --ppf-quote-accent: #0d0d0d;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: var(--ppf-gold) !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* 横スクロール防止 — モーダル内のみ縦スクロール */
.arc-ppf-sticky-modal__body {
  overflow-x: hidden !important;
}

/* ページ側 GF legacy CSS（contact-form 等）からモーダル内フォームを隔離 */
.arc-ppf-sticky-modal__body .ppf-quote-section .ppf-gravity-form-slot,
.arc-ppf-sticky-modal__body .ppf-quote-section .ppf-gravity-form-slot .gform_wrapper,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper.gravity-theme,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper.gform_legacy_markup_wrapper {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_fields,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_body,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_page_fields,
.arc-ppf-sticky-modal__body .ppf-quote-section .ginput_container,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform-grid-row,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform-grid-col {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield {
  max-width: 100% !important;
  min-width: 0 !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html img,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html figure,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html iframe {
  max-width: 100% !important;
  height: auto;
}

/* GF 12 — 黄背景フォーム（ppf-price.css と同等・モーダル内スコープ） */
.arc-ppf-sticky-modal__body .ppf-quote-section .ppf-gravity-form-slot .gform_wrapper,
.arc-ppf-sticky-modal__body .ppf-quote-section .ppf-gravity-form-slot .gform_wrapper.gravity-theme {
  margin: 0;
  max-width: none;
  background: transparent !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield_label,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform-field-label {
  color: var(--ppf-quote-text) !important;
  font-weight: 600;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-radio > .gfield_label,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-radio > legend.gfield_label,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-checkbox > .gfield_label,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-checkbox > legend.gfield_label {
  font-weight: 700 !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield_required,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield_required_asterisk {
  color: var(--ppf-quote-accent) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']),
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper textarea,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper select {
  background: #fff !important;
  border: 0.0625rem solid rgba(0, 0, 0, 0.22) !important;
  border-radius: 0 !important;
  color: var(--ppf-quote-text) !important;
  padding: 0.75rem 1rem !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

@media (max-width: 991.98px) {
  .arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']),
  .arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper textarea,
  .arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper select {
    font-size: 16px !important;
  }
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper input:focus,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper textarea:focus,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper select:focus {
  border-color: var(--ppf-quote-accent) !important;
  outline: none;
  box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.15) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform-field-label--type-sub {
  color: var(--ppf-quote-muted) !important;
  text-align: left !important;
  font-size: calc(var(--arc-editing-type-body, 1.05rem) * 2 / 3) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

/* 姓名・メール等 — sublabel_below 時の「姓」「名」を左揃え（GF theme grid の中央寄せを上書き） */
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .ginput_complex,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .ginput_complex .gform-grid-col,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .ginput_complex .name_first,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .ginput_complex .name_last {
  text-align: left !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_footer input[type='submit'],
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_button,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_next_button,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_previous_button {
  background: #0d0d0d !important;
  border: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 0 !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_footer input[type='submit']:hover,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_button:hover,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_next_button:hover,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gform_previous_button:hover {
  background: #333 !important;
  color: #fff !important;
}

/* ラジオ/チェックカード → assets/arc-gf-choice-cards.css */

/* プログレスバー — 黄背景に合わせて調整 */
.arc-ppf-sticky-modal__body .ppf-quote-section .gf_progressbar_wrapper {
  margin-bottom: 1.25rem;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gf_progressbar_title {
  color: var(--ppf-quote-text) !important;
  font-weight: 600;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gf_progressbar {
  background: rgba(0, 0, 0, 0.12) !important;
  border-radius: 0 !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gf_progressbar_percentage {
  background: #0d0d0d !important;
  color: #fff !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html h3 {
  color: var(--ppf-quote-text) !important;
  text-align: center;
  font-weight: 700;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html .gfield_html,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html .gfield_html_formatted,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-consent .gfield_consent_description,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-consent .gfield_description,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .ginput_container_consent label {
  color: var(--ppf-quote-text) !important;
  font-size: var(--arc-editing-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--arc-editing-type-body-tracking, normal) !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html .gfield_html *,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html .gfield_html_formatted *,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-consent .gfield_consent_description *,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-consent .gfield_description * {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-html a,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield--type-consent a {
  color: var(--arc-brand-blue, #005fb0) !important;
  text-decoration: underline;
}

.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .gfield_validation_message,
.arc-ppf-sticky-modal__body .ppf-quote-section .gform_wrapper .validation_message {
  color: #b42318 !important;
}
