.elementor-303 .elementor-element.elementor-element-c68d2d7{--display:flex;--overlay-opacity:0.5;}.elementor-303 .elementor-element.elementor-element-c68d2d7::before, .elementor-303 .elementor-element.elementor-element-c68d2d7 > .elementor-background-video-container::before, .elementor-303 .elementor-element.elementor-element-c68d2d7 > .e-con-inner > .elementor-background-video-container::before, .elementor-303 .elementor-element.elementor-element-c68d2d7 > .elementor-background-slideshow::before, .elementor-303 .elementor-element.elementor-element-c68d2d7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-303 .elementor-element.elementor-element-c68d2d7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#4486B3;--background-overlay:'';}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-be2ad63 *//* 全体の余白と可読性 */
.ls-contact-form {
  max-width: 600px;
  margin: 0 auto;
}

.ls-label {
  font-weight: bold;
  margin: 24px 0 8px;
  font-size: 16px;
}

.ls-required {
  background: #c8a0c8;
  color: #fff;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
  vertical-align: middle;
}

/* テキスト・メール・電話・テキストエリア共通 */
.ls-contact-form input[type="text"],
.ls-contact-form input[type="email"],
.ls-contact-form input[type="tel"],
.ls-contact-form textarea {
  width: 100%;
  font-size: 16px; /* iOSで自動ズームさせないため16px以上必須 */
  padding: 14px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
}

.ls-contact-form textarea {
  min-height: 140px;
  resize: vertical;
}

/* チェックボックス・ラジオボタンをタップしやすく */
.ls-contact-form .wpcf7-checkbox,
.ls-contact-form .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ls-contact-form .wpcf7-list-item {
  margin: 0;
}

.ls-contact-form .wpcf7-list-item label {
  display: flex;
  align-items: center;
  padding: 14px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  min-height: 48px; /* スマホでの推奨タップ領域 */
}

.ls-contact-form input[type="checkbox"],
.ls-contact-form input[type="radio"] {
  width: 22px;
  height: 22px;
  margin-right: 12px;
  flex-shrink: 0;
}

/* 送信ボタン */
.ls-contact-form input[type="submit"] {
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  padding: 16px;
  background-color: #c8a0c8;
  color: #fff;
  border: none;
  border-radius: 6px;
  margin-top: 24px;
  cursor: pointer;
}

.ls-contact-form input[type="submit"]:active {
  opacity: 0.8;
}

/* スマホ幅での余白調整 */
@media (max-width: 767px) {
  .ls-contact-form {
    padding: 0 16px;
  }
}/* End custom CSS */