/* ============================================
   kaitech-form.css v9.0 — LP Unified Design
   プラグインのHTMLクラスに合わせてLPと同じデザインを適用
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');

/* ===== Variables ===== */
.kaitech-form {
  --orange: #EE7B30;
  --orange-hover: #D96A1F;
  --orange-light: #FFF4EC;
  --orange-glow: rgba(238, 123, 48, 0.15);
  --navy: #1C2B3A;
  --navy-light: #2A3F54;
  --navy-dark: #0F1922;
  --white: #FFFFFF;
  --gray-50: #F8F9FA;
  --gray-100: #F1F3F5;
  --gray-200: #E2E6EA;
  --gray-300: #CED4DA;
  --gray-400: #ADB5BD;
  --gray-500: #868E96;
  --gray-600: #6C757D;
  --gray-700: #495057;
  --gray-800: #343A40;
  --green: #2D9F5D;
  --green-light: #E8F8EF;
  --red: #E74C3C;
  --blue-info: #3B82F6;
  --blue-info-light: #EFF6FF;
  --radius: 12px;
  --radius-sm: 8px;
  --radius-lg: 16px;
}

/* ===== 横スクロール防止 ===== */
html, body {
  overflow-x: hidden;
  width: 100%;
}

/* ===== ルートコンテナ = 全幅ネイビー ===== */
/* SWELLのコンテンツ枠を突き破って画面全幅に広げる */
.kaitech-form {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  background: transparent;
  color: var(--gray-800);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  padding: 40px 16px;
  position: relative;
  /* ===== 全幅ブレイクアウト ===== */
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: -200px;
  margin-bottom: -40px;
  border: none !important;
  border-top: none !important;
}

/* ===== ルートコンテナ（追加設定） ===== */

/* 背景のオレンジグロー（LPと同じ） */
.kaitech-form::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 80%;
  height: 200%;
  background: radial-gradient(ellipse, rgba(238,123,48,0.08) 0%, transparent 70%);
  pointer-events: none;
}

.kaitech-form * {
  box-sizing: border-box;
}

.kaitech-form .container {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
  z-index: 1;
}

/* ===== フォームヘッダー（オレンジ + 三角矢印） ===== */
.kaitech-form .form-header {
  background: var(--orange);
  color: white;
  padding: 16px 24px;
  text-align: center;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  position: relative;
  margin-top: 24px;
}

.kaitech-form .form-header::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 10px solid var(--orange);
}

.kaitech-form .form-header h1 {
  font-size: 18px;
  margin-bottom: 2px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: white;
}

.kaitech-form .form-header p {
  font-size: 12px;
  opacity: 0.9;
  font-weight: 500;
  color: white;
}

/* ===== フォームカード（白背景） ===== */
.kaitech-form .form-card {
  background: var(--white);
  padding: 28px 24px 24px;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: 0 12px 40px rgba(0,0,0,0.16), 0 0 0 1px rgba(255,255,255,0.1);
}

.kaitech-form .form-section {
  display: none;
}

.kaitech-form .form-section.active {
  display: block;
  animation: ktFadeIn 0.3s ease;
}

@keyframes ktFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== セクションタイトル ===== */
.kaitech-form .section-title {
  font-size: 17px;
  color: var(--navy);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--orange);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.kaitech-form .section-subtitle {
  font-size: 16px;
  color: var(--navy);
  margin: 24px 0 16px;
  padding-top: 24px;
  border-top: 1px solid var(--gray-200);
  font-weight: 700;
}

/* ===== フォームグループ ===== */
.kaitech-form .form-group {
  margin-bottom: 22px;
}

.kaitech-form .form-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--gray-800);
  margin-bottom: 8px;
}

.kaitech-form .required {
  background: var(--red);
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  margin-left: 4px;
}

.kaitech-form .optional {
  background: var(--gray-400);
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  margin-left: 4px;
}

/* ===== ボタン選択グループ ===== */
.kaitech-form .button-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
}

.kaitech-form .button-option {
  padding: 12px 8px;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius-sm);
  background: var(--white);
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-700);
  position: relative;
}

.kaitech-form .button-option:hover {
  border-color: var(--orange);
  background: var(--orange-light);
}

.kaitech-form .button-option.selected {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
  box-shadow: 0 2px 8px rgba(238, 123, 48, 0.3);
}

/* ===== フォーム入力 ===== */
.kaitech-form .form-input,
.kaitech-form .form-select,
.kaitech-form .form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius-sm);
  font-size: 15px;
  font-family: inherit;
  color: var(--gray-800);
  background: var(--white);
  transition: all 0.2s;
  -webkit-appearance: none;
}

.kaitech-form .form-input:focus,
.kaitech-form .form-select:focus,
.kaitech-form .form-textarea:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px var(--orange-glow);
}

.kaitech-form .form-input::placeholder {
  color: var(--gray-400);
}

.kaitech-form .form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23868E96' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}

.kaitech-form .form-select:disabled {
  background-color: var(--gray-50);
  color: var(--gray-400);
  cursor: not-allowed;
}

.kaitech-form .form-textarea {
  min-height: 80px;
  resize: vertical;
  font-family: inherit;
}

/* ===== ヘルプテキスト ===== */
.kaitech-form .help-text {
  font-size: 12px;
  color: var(--gray-500);
  margin-top: 4px;
  line-height: 1.6;
}

/* ===== 補助金ボックス ===== */
.kaitech-form .subsidy-box {
  display: none;
  background: var(--orange-light);
  border: 1px solid rgba(238, 123, 48, 0.25);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin-top: 12px;
  text-align: center;
}

.kaitech-form .subsidy-box.show {
  display: block;
  animation: ktFadeIn 0.3s ease;
}

.kaitech-form .subsidy-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--orange);
  margin-bottom: 6px;
}

.kaitech-form .subsidy-description {
  font-size: 13px;
  color: var(--gray-600);
  line-height: 1.7;
}

/* ===== LINEボックス ===== */
.kaitech-form .line-box {
  display: none;
  background: var(--blue-info-light);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin-top: 12px;
  text-align: center;
}

.kaitech-form .line-box.show {
  display: block;
  animation: ktFadeIn 0.3s ease;
}

.kaitech-form .line-qr {
  width: 140px;
  height: 140px;
  background: var(--gray-100);
  margin: 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  color: var(--gray-400);
  font-size: 13px;
}

.kaitech-form .line-button {
  display: inline-block;
  background: #00B900;
  color: white;
  padding: 12px 28px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: 700;
  margin-top: 8px;
  transition: all 0.2s;
  font-size: 14px;
}

.kaitech-form .line-button:hover {
  background: #009900;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 185, 0, 0.3);
}

/* ===== ラジオボタン ===== */
.kaitech-form .radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kaitech-form .radio-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 10px 14px;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius-sm);
  transition: all 0.2s;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
}

.kaitech-form .radio-label:hover {
  border-color: var(--orange);
  background: var(--orange-light);
}

.kaitech-form .radio-label input[type="radio"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--orange);
}

/* ===== チェックボックス ===== */
.kaitech-form .checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kaitech-form .checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 10px 14px;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius-sm);
  transition: all 0.2s;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
}

.kaitech-form .checkbox-label:hover {
  border-color: var(--orange);
  background: var(--orange-light);
}

.kaitech-form .checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--orange);
}

/* ===== 地図 ===== */
.kaitech-form .map-container {
  width: 100%;
  height: 400px;
  background: var(--gray-50);
  border: 2px solid var(--gray-200);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  overflow: hidden;
}

.kaitech-form .map-placeholder {
  text-align: center;
  color: var(--gray-400);
  font-size: 14px;
}

.kaitech-form #map {
  border: 2px solid var(--gray-200);
  border-radius: var(--radius);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.kaitech-form #mapSection {
  margin-top: 16px;
}

.kaitech-form #mapSection label {
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  transition: all 0.2s;
}

.kaitech-form #mapSection label:hover {
  background-color: var(--orange-light);
}

input[type="radio"][name="mapConfirm"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--orange);
}

.kaitech-form #mapSection input[type="radio"]:checked + span {
  color: var(--orange);
  font-weight: 700;
}

/* ===== ファイルアップロード ===== */
.kaitech-form .file-upload {
  border: 2px dashed var(--gray-300);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  background: var(--gray-50);
  color: var(--gray-500);
  font-size: 14px;
}

.kaitech-form .file-upload:hover {
  border-color: var(--orange);
  background: var(--orange-light);
  color: var(--orange);
}

.kaitech-form .file-upload input[type="file"] {
  display: none;
}

/* ===== ナビゲーションボタン ===== */
.kaitech-form .button-row {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}

.kaitech-form .btn {
  flex: 1;
  padding: 16px 24px;
  border: none;
  border-radius: var(--radius);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
  letter-spacing: 0.02em;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.kaitech-form .btn-primary {
  background: var(--orange);
  color: white;
  box-shadow: 0 4px 14px rgba(238, 123, 48, 0.4);
}

.kaitech-form .btn-primary:hover {
  background: var(--orange-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(238, 123, 48, 0.5);
}

.kaitech-form .btn-primary:active {
  transform: translateY(0);
}

/* シマーアニメーション */
.kaitech-form .btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation: ktShimmer 2.5s infinite;
}

@keyframes ktShimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.kaitech-form .btn-secondary {
  flex: 0 0 100px;
  background: var(--gray-200);
  color: var(--gray-700);
  box-shadow: none;
  font-size: 14px;
  padding: 14px;
}

.kaitech-form .btn-secondary:hover {
  background: var(--gray-300);
}

.kaitech-form .btn-secondary::after {
  display: none;
}

/* ===== サンクスページ ===== */
.kaitech-form .thanks-page {
  display: none;
  background: var(--white);
  padding: 40px 28px;
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 40px rgba(0,0,0,0.16);
  text-align: center;
  margin-top: 0;
}

.kaitech-form .thanks-page.active {
  display: block;
  animation: ktFadeIn 0.4s ease;
}

/* サンクスページ表示時にform-headerを非表示 */
.kaitech-form .thanks-page.active ~ .form-card,
.kaitech-form:has(.thanks-page.active) .form-header {
  display: none;
}

.kaitech-form .thanks-header {
  font-size: 22px;
  color: var(--green);
  margin-bottom: 16px;
  font-weight: 800;
}

.kaitech-form .thanks-message {
  font-size: 14px;
  color: var(--gray-700);
  margin-bottom: 32px;
  line-height: 1.8;
}

.kaitech-form .thanks-steps {
  text-align: left;
  max-width: 100%;
  margin: 0 auto 32px;
}

.kaitech-form .thanks-step {
  background: var(--gray-50);
  padding: 16px 18px;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
  border-left: 4px solid var(--orange);
}

.kaitech-form .thanks-step-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}

.kaitech-form .thanks-step-description {
  font-size: 13px;
  color: var(--gray-600);
  line-height: 1.7;
}

.kaitech-form .thanks-contact {
  background: var(--blue-info-light);
  padding: 18px;
  border-radius: var(--radius-sm);
  margin-top: 20px;
  border: 1px solid rgba(59, 130, 246, 0.15);
}

.kaitech-form .thanks-contact-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
}

.kaitech-form .thanks-contact-info {
  font-size: 13px;
  color: var(--gray-600);
  line-height: 1.8;
}

/* ===== サポートボックス ===== */
.kaitech-form .support-box {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
  color: white;
  padding: 24px;
  border-radius: var(--radius);
  margin-top: 24px;
  text-align: left;
}

.kaitech-form .support-box-title {
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 14px;
  text-align: center;
}

.kaitech-form .support-box ul {
  list-style: none;
  line-height: 2;
  padding: 0;
  margin: 0;
}

.kaitech-form .support-box ul li:before {
  content: "✓ ";
  color: var(--orange);
  font-weight: bold;
  margin-right: 8px;
}

/* ===== LP Prefill メッセージ ===== */
.kaitech-form .lp-prefill-msg {
  background: var(--green-light);
  border: 1px solid rgba(45, 159, 93, 0.2);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  margin-bottom: 18px;
  font-size: 13px;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

/* ===== ズーム防止 ===== */
.kaitech-form input[type="text"],
.kaitech-form input[type="email"],
.kaitech-form input[type="tel"],
.kaitech-form select,
.kaitech-form textarea {
  font-size: 16px;
}

/* ===== プログレスバー非表示 ===== */
.kaitech-form .progress-bar,
.kaitech-form .progress-step,
.kaitech-form .progress-arrow {
  display: none !important;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
  .kaitech-form .container {
    padding: 0 8px;
  }

  .kaitech-form .form-header {
    padding: 14px 20px;
    border-radius: var(--radius) var(--radius) 0 0;
  }

  .kaitech-form .form-header h1 {
    font-size: 16px;
  }

  .kaitech-form .form-card {
    padding: 24px 16px 20px;
    border-radius: 0 0 var(--radius) var(--radius);
  }

  .kaitech-form .button-group {
    grid-template-columns: 1fr;
  }

  .kaitech-form .button-row {
    flex-direction: column;
  }

  .kaitech-form .btn-secondary {
    flex: unset;
  }

  .kaitech-form .thanks-page {
    padding: 28px 16px;
    border-radius: var(--radius);
  }

  .kaitech-form .section-title {
    font-size: 16px;
  }
}

/* ===== 初期表示設定 ===== */
.kaitech-form #step1 {
  display: none;
}

.kaitech-form #step1.active {
  display: block !important;
}

.kaitech-form #step2 {
  display: none !important;
}

.kaitech-form #step2.active {
  display: block !important;
}

.kaitech-form #thanksPage {
  display: none !important;
}

.kaitech-form #thanksPage.active {
  display: block !important;
}

.kaitech-form #lineBox {
  display: none !important;
}

.kaitech-form #lineBox.show {
  display: block !important;
}

.kaitech-form #firstFloorAreaGroup {
  display: none;
}

.kaitech-form #siteVisitImpossibleQuestions,
.kaitech-form #siteVisitPossibleQuestions,
.kaitech-form #photoUploadGroup {
  display: none;
}

.kaitech-form #residentRelationGroup {
  display: none;
}

/* ===== SWELLテーマ干渉対策 ===== */
.kaitech-form .form-header,
.kaitech-form .form-card,
.kaitech-form .button-option,
.kaitech-form .form-input,
.kaitech-form .form-select,
.kaitech-form .form-textarea,
.kaitech-form .radio-label,
.kaitech-form .checkbox-label,
.kaitech-form .btn,
.kaitech-form .thanks-page,
.kaitech-form .thanks-step,
.kaitech-form .subsidy-box,
.kaitech-form .line-box,
.kaitech-form .support-box,
.kaitech-form .thanks-contact {
  border-top: none;
  border-bottom: none;
}

/* 必要なボーダーを明示的に再設定 */
.kaitech-form .button-option {
  border: 2px solid var(--gray-200) !important;
}
.kaitech-form .button-option:hover {
  border-color: var(--orange) !important;
}
.kaitech-form .button-option.selected {
  border-color: var(--orange) !important;
}
.kaitech-form .form-input,
.kaitech-form .form-select,
.kaitech-form .form-textarea {
  border: 2px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
}
.kaitech-form .form-input:focus,
.kaitech-form .form-select:focus,
.kaitech-form .form-textarea:focus {
  border-color: var(--orange) !important;
}
.kaitech-form .radio-label,
.kaitech-form .checkbox-label {
  border: 2px solid var(--gray-200) !important;
}
.kaitech-form .radio-label:hover,
.kaitech-form .checkbox-label:hover {
  border-color: var(--orange) !important;
}
.kaitech-form .section-title {
  border-bottom: 3px solid var(--orange) !important;
}
.kaitech-form .section-subtitle {
  border-top: 1px solid var(--gray-200) !important;
}
.kaitech-form .thanks-step {
  border-left: 4px solid var(--orange) !important;
}
.kaitech-form #map {
  border: 2px solid var(--gray-200) !important;
  border-radius: var(--radius) !important;
}

/* ===== フォームページのみ：背景をネイビーに ===== */
/* JavaScriptでbodyに追加される.kaitech-form-pageクラスがある場合だけ適用 */

/* ページ全体の背景を統一されたネイビーに */
body.kaitech-form-page {
  background: #2A3F54 !important;
  min-height: 100vh;
}

/* 固定背景（スクロールしても背景が動かない） */
body.kaitech-form-page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2A3F54;
  z-index: -1;
}

/* ===== ヘッダーの追従を完全に無効化（超強力版） ===== */

/* すべてのヘッダー要素を静的配置に強制 */
body.kaitech-form-page header,
body.kaitech-form-page header *,
body.kaitech-form-page .l-header,
body.kaitech-form-page .c-header,
body.kaitech-form-page .p-header,
body.kaitech-form-page .site-header,
body.kaitech-form-page #header,
body.kaitech-form-page #masthead {
  position: static !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: auto !important;
  background: #FFFFFF !important;
}

/* ヘッダーのすべての状態クラスを無効化 */
body.kaitech-form-page header.is-fixed,
body.kaitech-form-page header.fixed,
body.kaitech-form-page header.sticky,
body.kaitech-form-page header.is-sticky,
body.kaitech-form-page header.l-header--fixed,
body.kaitech-form-page .l-header.is-fixed,
body.kaitech-form-page .l-header.fixed,
body.kaitech-form-page .l-header--fixed,
body.kaitech-form-page .c-header.is-fixed,
body.kaitech-form-page .p-header.is-fixed {
  position: static !important;
  top: auto !important;
  transform: none !important;
  z-index: auto !important;
}

/* ===== スクロール時の追従ヘッダーを完全に非表示 ===== */
/* position: fixed のヘッダーをすべて非表示にする */
body.kaitech-form-page header[style*="position: fixed"],
body.kaitech-form-page header[style*="position:fixed"],
body.kaitech-form-page .l-header[style*="position: fixed"],
body.kaitech-form-page .l-header[style*="position:fixed"],
body.kaitech-form-page .c-header[style*="position: fixed"],
body.kaitech-form-page .c-header[style*="position:fixed"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 固定ヘッダーのクラスを持つ要素を非表示 */
body.kaitech-form-page .l-header--fixed,
body.kaitech-form-page .l-headerFixed,
body.kaitech-form-page .header-fixed,
body.kaitech-form-page .fixed-header,
body.kaitech-form-page header.is-fixed,
body.kaitech-form-page header.fixed {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* グローバルメニューを非表示 */
body.kaitech-form-page header nav,
body.kaitech-form-page header .p-globalNav,
body.kaitech-form-page header .c-globalNav,
body.kaitech-form-page header .l-header__nav,
body.kaitech-form-page header .gnav,
body.kaitech-form-page header .global-nav,
body.kaitech-form-page header .header-nav,
body.kaitech-form-page header ul.menu,
body.kaitech-form-page header .menu-global-container {
  display: none !important;
}

/* ヘッダーの検索ボタン・その他ボタンを非表示 */
body.kaitech-form-page header .c-searchBtn,
body.kaitech-form-page header .p-headerBtn,
body.kaitech-form-page header .c-headerBtn,
body.kaitech-form-page header .header-search,
body.kaitech-form-page header button {
  display: none !important;
}

/* ロゴのリンクを無効化 */
body.kaitech-form-page header .c-logo a,
body.kaitech-form-page header .p-logo a,
body.kaitech-form-page header .site-logo a,
body.kaitech-form-page header .logo a,
body.kaitech-form-page header .l-header__logo a {
  pointer-events: none !important;
  cursor: default !important;
}

/* WordPressテーマのコンテンツエリアの背景を透明に（ヘッダーとフッター以外） */
body.kaitech-form-page main,
body.kaitech-form-page article,
body.kaitech-form-page .l-container,
body.kaitech-form-page .l-content,
body.kaitech-form-page .c-container,
body.kaitech-form-page .p-article,
body.kaitech-form-page #content,
body.kaitech-form-page .content,
body.kaitech-form-page .site-content,
body.kaitech-form-page .post,
body.kaitech-form-page .page {
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* フッターの背景を透明に、文字を白に */
body.kaitech-form-page footer {
  background: transparent !important;
  color: #FFFFFF !important;
}

/* フッター内の全ての要素の文字色を白に */
body.kaitech-form-page footer *,
body.kaitech-form-page footer a,
body.kaitech-form-page footer p,
body.kaitech-form-page footer span,
body.kaitech-form-page footer div {
  color: #FFFFFF !important;
}

/* 上部・下部の白い余白を消す */
body.kaitech-form-page #wpadminbar {
  background: transparent !important;
}

/* ===== SWELLテーマのページタイトルの境界線を削除 ===== */
body.kaitech-form-page h1.c-pageTitle,
body.kaitech-form-page .c-pageTitle {
  border: none !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* c-pageTitleの::after疑似要素も削除 */
body.kaitech-form-page h1.c-pageTitle::after,
body.kaitech-form-page .c-pageTitle::after {
  display: none !important;
  border: none !important;
  background: none !important;
  content: none !important;
}

/* ===== 見積もりフォーム画面だけパンくずリストを非表示 ===== */
body.kaitech-form-page .p-breadcrumb,
body.kaitech-form-page .breadcrumb,
body.kaitech-form-page .breadcrumbs,
body.kaitech-form-page nav.breadcrumb,
body.kaitech-form-page #breadcrumb,
body.kaitech-form-page .c-breadcrumb {
  display: none !important;
}
