.elementor-25380 .elementor-element.elementor-element-5c0e300{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:80px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-25380 .elementor-element.elementor-element-5c0e300:not(.elementor-motion-effects-element-type-background), .elementor-25380 .elementor-element.elementor-element-5c0e300 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25380 .elementor-element.elementor-element-3d66d7a{text-align:center;}.elementor-25380 .elementor-element.elementor-element-3d66d7a .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:28px;font-weight:600;line-height:40px;color:var( --e-global-color-eb2a916 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-25380 .elementor-element.elementor-element-6ddb108{text-align:center;font-family:"Noto Sans JP", Sans-serif;font-size:12px;font-weight:400;color:#ECEEF890;}.elementor-25380 .elementor-element.elementor-element-bcf1d45{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:10px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-25380 .elementor-element.elementor-element-bcf1d45:not(.elementor-motion-effects-element-type-background), .elementor-25380 .elementor-element.elementor-element-bcf1d45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-464c23f );}.elementor-25380 .elementor-element.elementor-element-8fc84bd{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.18823529411764706);--margin-top:-60px;--margin-bottom:10px;--margin-left:10px;--margin-right:10px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-25380 .elementor-element.elementor-element-8fc84bd:not(.elementor-motion-effects-element-type-background), .elementor-25380 .elementor-element.elementor-element-8fc84bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-eb2a916 );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-25380 .elementor-element.elementor-element-5c0e300{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-25380 .elementor-element.elementor-element-3d66d7a .elementor-heading-title{font-size:20px;line-height:30px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25380 .elementor-element.elementor-element-6ddb108{font-size:10px;}.elementor-25380 .elementor-element.elementor-element-bcf1d45{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:10px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-25380 .elementor-element.elementor-element-8fc84bd{--margin-top:-30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}}@media(max-width:769px){.elementor-25380 .elementor-element.elementor-element-5c0e300{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:20px;--padding-bottom:20px;--padding-left:10px;--padding-right:10px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-25380 .elementor-element.elementor-element-3d66d7a .elementor-heading-title{font-size:16px;line-height:22px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25380 .elementor-element.elementor-element-6ddb108{font-size:8px;}.elementor-25380 .elementor-element.elementor-element-bcf1d45{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:10px;--padding-bottom:20px;--padding-left:10px;--padding-right:10px;}.elementor-25380 .elementor-element.elementor-element-8fc84bd{--width:300px;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;}}@media(min-width:770px){.elementor-25380 .elementor-element.elementor-element-8fc84bd{--width:500px;}}@media(max-width:1024px) and (min-width:770px){.elementor-25380 .elementor-element.elementor-element-8fc84bd{--width:500px;}}/* Start custom CSS for shortcode, class: .elementor-element-7e9f09b *//* ========================================
全体
======================================== */
.contact-wrap {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
}


/* ========================================
タイトル
======================================== */
.form-title {
  font-size: 20px;
  font-weight: 700;
  margin: 32px 0 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #EBEBEA;
}

.form-title:first-of-type {
  margin-top: 0;
}


/* ========================================
説明文
======================================== */
.form-note {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.4;
}

.form-note + .form-row {
  margin-top: 6px;
}


/* ========================================
レイアウト
======================================== */
.form-row {
  display: flex;
  gap: 12px;
  margin-bottom: 0; /* ←マイナス削除（崩れ防止） */
}

.form-row.single {
  flex-direction: column;
}

.form-col {
  flex: 1;
}


/* ========================================
ラベル
======================================== */
.contact-wrap label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.contact-wrap label input,
.contact-wrap label select,
.contact-wrap label textarea {
  margin-top: 2px;
}


/* ========================================
必須
======================================== */
.required {
  color: #D92C2C;
  font-size: 12px;
  margin-left: 2px;
}


/* ========================================
入力欄
======================================== */
.contact-wrap input,
.contact-wrap select,
.contact-wrap textarea {
  width: 100%;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #D7D7D7;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
}

.contact-wrap textarea {
  min-height: 150px;
  padding: 10px 14px;
}

.contact-wrap input:focus,
.contact-wrap select:focus,
.contact-wrap textarea:focus {
  border-color: #1F2F8F;
  outline: none;
}


/* ========================================
無料トライアルの流れ
======================================== */
.trial-flow {
  background: #ECEEF8;
  border-radius: 16px;
  padding: 24px 28px;
  margin: 24px 0;
}

.trial-flow-title {
  font-size: 14px;
  font-weight: 700;
  color: #0E1C86;
  margin-bottom: 10px;
  line-height: 1.3;
}

.flow-item {
  font-size: 12px;
  color: #444;
  line-height: 1.5;
}

.flow-item:not(:last-child) {
  margin-bottom: 2px;
}


/* ========================================
プライバシーポリシー
======================================== */
.privacy {
  margin-top: 20px;
}

.privacy .wpcf7-list-item {
  margin: 0;
}

.privacy .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  line-height: 1.4;
}

.privacy input[type="checkbox"] {
  width: 13px;
  height: 13px;
  margin-top: 1px;
  flex-shrink: 0;
}

.privacy span {
  font-size: 12px;
  color: #666;
}

.privacy a {
  color: #1F2F8F;
  text-decoration: underline;
}


/* ========================================
送信ボタン（レスポンシブ完全対応版）
======================================== */
.submit-wrap {
  text-align: center;
  margin-top: 22px;
}

/* デフォルト（PC） */
.contact-wrap input.wpcf7-submit,
.contact-wrap input.wpcf7-form-control.wpcf7-submit,
.contact-wrap button.wpcf7-submit {
  width: 100%;
  height: auto; /* ←固定heightやめる */
  background: #1F2F8F;
  color: #FFF;
  border: none;
  border-radius: 999px;
  cursor: pointer;

  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  padding: 15px 20px; /* ←上下8px固定 */

  display: inline-flex;
  align-items: center;
  justify-content: center;

  text-align: center;
}

/* ========================================
タブレット（1024px以下）
======================================== */
@media (max-width: 1024px) {
  .contact-wrap input.wpcf7-submit,
  .contact-wrap input.wpcf7-form-control.wpcf7-submit,
  .contact-wrap button.wpcf7-submit {
    font-size: 12px;
    padding: 10px 20px;
  }
}

/* ========================================
スマホ（767px以下）
======================================== */
@media (max-width: 767px) {
  .contact-wrap input.wpcf7-submit,
  .contact-wrap input.wpcf7-form-control.wpcf7-submit,
  .contact-wrap button.wpcf7-submit {
    width: 100%;
    font-size: 10px;
    padding: 10px 14px;
  }
}


/* ========================================
下テキスト
======================================== */
.note-main,
.note-sub {
  display: block;
  text-align: center;
  font-size: 12px;
  color: #999;
  line-height: 1.4;
}


/* ========================================
CF7余白リセット
======================================== */
.wpcf7-form p {
  margin: 0;
}


/* ========================================
タブレット
======================================== */
@media (max-width: 1024px) {

  .form-title {
    font-size: 18px;
  }

  .contact-wrap label {
    font-size: 12px;
  }

  .contact-wrap input,
  .contact-wrap select,
  .contact-wrap textarea {
    font-size: 12px;
  }

  .form-note {
    font-size: 11px;
  }

  .required {
    font-size: 10px;
  }

  .privacy .wpcf7-list-item label,
  .privacy span {
    font-size: 11px;
  }

  .submit-wrap input.wpcf7-submit,
  .submit-wrap button.wpcf7-submit {
    font-size: 13px;
    height: 46px;
  }

  .note-main,
  .note-sub {
    font-size: 10px;
  }
}


/* ========================================
スマホ
======================================== */
@media (max-width: 767px) {

  .form-row {
    flex-direction: column;
    gap: 6px; /* ←詰まりすぎ改善 */
  }

  .form-title {
    font-size: 16px;
    margin: 24px 0 6px;
  }

  .contact-wrap label {
    font-size: 11px;
    line-height: 1.2;
  }

  .contact-wrap input,
  .contact-wrap select,
  .contact-wrap textarea {
    height: 36px;
    font-size: 11px;
    padding: 0 12px;
  }

  .contact-wrap textarea {
    min-height: 130px;
    padding: 10px 12px;
  }

  .form-note {
    font-size: 10px;
  }

  .required {
    font-size: 10px;
  }

  .trial-flow {
    padding: 18px 16px;
    border-radius: 12px;
  }

  .trial-flow-title {
    font-size: 12px;
  }

  .flow-item {
    font-size: 10px;
  }

  .privacy {
    margin-top: 18px;
  }

  .privacy .wpcf7-list-item label,
  .privacy span {
    font-size: 10px;
  }

  .submit-wrap {
    margin-top: 20px;
  }

  .submit-wrap input.wpcf7-submit,
  .submit-wrap button.wpcf7-submit {
    width: 100%;
    height: 44px;
    font-size: 12px;
    padding: 0 14px;
  }

  .note-main,
  .note-sub {
    font-size: 10px;
    line-height: 1.3;
  }
}
/* ========================================
フォーム全体の縦間隔を詰める
======================================== */

/* 行と行の間隔 */
.form-row {
  margin-bottom: 2px; /* ←ここで調整（今よりかなり詰まる） */
}

/* ラベルと次要素の余白をさらに詰める */
.contact-wrap label {
  margin-bottom: 0px;
}

/* 入力欄と次のブロックの余白 */
.contact-wrap label input,
.contact-wrap label select,
.contact-wrap label textarea {
  margin-top: 5px;
}
.submit-wrap {
  margin-top: 1px;
  text-align: center;
}

.submit-note {
  margin: 16px 0 0;
  line-height: 10px;
}/* End custom CSS */