.elementor-1498 .elementor-element.elementor-element-5c3fe84{--display:flex;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-b70fea3{--display:flex;--min-height:25vh;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1498 .elementor-element.elementor-element-c784ba5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -100px) 0px;}.elementor-1498 .elementor-element.elementor-element-c784ba5 img{width:100vw;}.elementor-1498 .elementor-element.elementor-element-2bb88b7{--display:flex;--min-height:15vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:0px 30px 0px 0px;box-shadow:9px -9px 10px -12px rgba(0,0,0,0.5);--z-index:10;}.elementor-1498 .elementor-element.elementor-element-2bb88b7:not(.elementor-motion-effects-element-type-background), .elementor-1498 .elementor-element.elementor-element-2bb88b7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor4 );}.elementor-1498 .elementor-element.elementor-element-f06a897{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-7d93394 img{max-width:5em;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1498 .elementor-element.elementor-element-3cbe896{z-index:20;}.elementor-1498 .elementor-element.elementor-element-3cbe896 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:3em;font-weight:900;line-height:70px;color:#D71F18;}.elementor-1498 .elementor-element.elementor-element-0e0a164{--display:flex;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-9770b78{--display:flex;--min-height:25vh;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-7bb353c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -100px) 0px;}.elementor-1498 .elementor-element.elementor-element-7bb353c img{width:100vw;}.elementor-1498 .elementor-element.elementor-element-bd49e6a{--display:flex;--min-height:15vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:0px 30px 0px 0px;box-shadow:9px -9px 10px -12px rgba(0,0,0,0.5);--z-index:10;}.elementor-1498 .elementor-element.elementor-element-bd49e6a:not(.elementor-motion-effects-element-type-background), .elementor-1498 .elementor-element.elementor-element-bd49e6a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor4 );}.elementor-1498 .elementor-element.elementor-element-23c4edc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-02151f3 img{max-width:150px;}.elementor-1498 .elementor-element.elementor-element-c8ab27d{z-index:20;}.elementor-1498 .elementor-element.elementor-element-c8ab27d .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:5.5rem;font-weight:900;line-height:70px;color:#D71F18;}.elementor-1498 .elementor-element.elementor-element-4a1c06e{--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:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-b6e919d{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1498 .elementor-element.elementor-element-b6e919d:not(.elementor-motion-effects-element-type-background), .elementor-1498 .elementor-element.elementor-element-b6e919d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}@media(max-width:1024px){.elementor-1498 .elementor-element.elementor-element-b70fea3{--justify-content:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-c784ba5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -30px) 0px;}.elementor-1498 .elementor-element.elementor-element-c784ba5 img{width:100vw;}.elementor-1498 .elementor-element.elementor-element-2bb88b7{--min-height:11vh;}.elementor-1498 .elementor-element.elementor-element-f06a897{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-7d93394 img{max-width:70px;}.elementor-1498 .elementor-element.elementor-element-3cbe896 .elementor-heading-title{font-size:2.5em;line-height:1.5em;}.elementor-1498 .elementor-element.elementor-element-9770b78{--justify-content:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-bd49e6a{--min-height:11vh;}.elementor-1498 .elementor-element.elementor-element-23c4edc{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-c8ab27d .elementor-heading-title{font-size:35px;line-height:1.5em;}}@media(max-width:767px){.elementor-1498 .elementor-element.elementor-element-5c3fe84{--min-height:40vh;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-b70fea3{--width:100%;}.elementor-1498 .elementor-element.elementor-element-c784ba5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1498 .elementor-element.elementor-element-2bb88b7{--width:74%;}.elementor-1498 .elementor-element.elementor-element-f06a897{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-1498 .elementor-element.elementor-element-7d93394 img{max-width:51px;}.elementor-1498 .elementor-element.elementor-element-3cbe896{padding:0px 0px 0px 0px;}.elementor-1498 .elementor-element.elementor-element-3cbe896 .elementor-heading-title{font-size:26px;}.elementor-1498 .elementor-element.elementor-element-0e0a164{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1498 .elementor-element.elementor-element-9770b78{--width:100%;}.elementor-1498 .elementor-element.elementor-element-7bb353c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1498 .elementor-element.elementor-element-bd49e6a{--width:95%;}.elementor-1498 .elementor-element.elementor-element-23c4edc{--flex-wrap:nowrap;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-1498 .elementor-element.elementor-element-02151f3 img{max-width:51px;}.elementor-1498 .elementor-element.elementor-element-c8ab27d{padding:0px 0px 0px 0px;}.elementor-1498 .elementor-element.elementor-element-c8ab27d .elementor-heading-title{font-size:26px;}.elementor-1498 .elementor-element.elementor-element-4a1c06e{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1498 .elementor-element.elementor-element-b6e919d{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}@media(min-width:768px){.elementor-1498 .elementor-element.elementor-element-5c3fe84{--width:100vw;}.elementor-1498 .elementor-element.elementor-element-b70fea3{--width:100%;}.elementor-1498 .elementor-element.elementor-element-2bb88b7{--width:50%;}.elementor-1498 .elementor-element.elementor-element-f06a897{--width:100%;}.elementor-1498 .elementor-element.elementor-element-0e0a164{--width:100vw;}.elementor-1498 .elementor-element.elementor-element-9770b78{--width:100%;}.elementor-1498 .elementor-element.elementor-element-bd49e6a{--width:65%;}.elementor-1498 .elementor-element.elementor-element-23c4edc{--width:100%;}.elementor-1498 .elementor-element.elementor-element-4a1c06e{--content-width:100%;}.elementor-1498 .elementor-element.elementor-element-b6e919d{--width:80%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1498 .elementor-element.elementor-element-b70fea3{--width:100%;}.elementor-1498 .elementor-element.elementor-element-2bb88b7{--width:70%;}.elementor-1498 .elementor-element.elementor-element-9770b78{--width:66%;}.elementor-1498 .elementor-element.elementor-element-b6e919d{--width:95%;}}/* Start custom CSS for heading, class: .elementor-element-3cbe896 */{
    margin: 0;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-c8ab27d */{
    margin: 0;
}/* End custom CSS */
/* Start custom CSS *//* ===================================
 * Elementor内のContact Form 7 スタイル
 * (cf7msm プラグイン対応版)
 * フォームID: .elementor-element-8b225f0 (※新しいIDに変更)
 * =================================== */

/* --- フォーム全体のフォント --- */
div.elementor-element-8b225f0 .wpcf7 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  line-height: 1.6;
}

/* --- 必須・任意バッジのスタイル --- */
div.elementor-element-8b225f0 .cf7-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  margin-right: 10px;
  color: #fff;
  vertical-align: middle;
}
div.elementor-element-8b225f0 .cf7-badge-required {
  background-color: #c73c31; 
}
div.elementor-element-8b225f0 .cf7-badge-optional {
  background-color: #f3f4f5;
  color: #555;
  border: 1px solid #ddd;
}

/* --- フォームの行レイアウト (入力・確認 共通) --- */
div.elementor-element-8b225f0 .cf7-form-row,
div.elementor-element-8b225f0 .cf7-confirm-row {
  display: grid;
  grid-template-columns: 30% 1fr; 
  grid-gap: 12px;
  border-bottom: 1px solid #f0f0f0;
  padding: 18px 0;
}
div.elementor-element-8b225f0 .cf7-form-row:first-of-type,
div.elementor-element-8b225f0 .cf7-confirm-row:first-of-type {
  border-top: 1px solid #f0f0f0;
}

/* --- ラベル列 (入力・確認 共通) --- */
div.elementor-element-8b225f0 .cf7-form-label,
div.elementor-element-8b225f0 .cf7-confirm-label {
  display: flex;
  align-items: center; 
  font-weight: 700; 
  font-size: 17px; 
  color: #333;
  padding-right: 12px;
  box-sizing: border-box;
}
div.elementor-element-8b225f0 .cf7-form-label label {
  font-weight: inherit; 
  font-size: inherit; 
  color: inherit;
  margin: 0;
}

/* --- 入力列 --- */
div.elementor-element-8b225f0 .cf7-form-input {
  display: flex;
  flex-direction: column; 
  justify-content: center; 
}

/* --- 確認画面のデータ列 --- */
div.elementor-element-8b225f0 .cf7-confirm-data {
  display: flex;
  align-items: center;
  white-space: pre-wrap;
  word-break: break-all;
  font-size: 16px;
}

/* --- 入力欄 (テキスト、メール、テキストエリア) --- */
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-text,
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-email,
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-tel,
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s, box-shadow 0.3s;
}
div.elementor-element-8b225f0 .wpcf7-form-control:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
}
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-textarea {
  min-height: 160px;
}

/* --- ラジオボタンの調整 --- */
div.elementor-element-8b225f0 .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
div.elementor-element-8b225f0 .wpcf7-radio .wpcf7-list-item {
  display: inline-block; 
  margin: 0 20px 5px 0;
}
div.elementor-element-8b225f0 .wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  font-weight: normal; 
  cursor: pointer;
  margin: 0;
}
div.elementor-element-8b225f0 .wpcf7-radio input[type="radio"] {
  margin-right: 6px;
}

/* --- ボタンエリア --- */
div.elementor-element-8b225f0 .cf7-form-submit {
  text-align: center;
  padding: 40px 0;
}
div.elementor-element-8b225f0 .cf7-form-navigation {
  display: flex;
  justify-content: space-between;
  padding: 40px 0;
}

/* --- ボタンのスタイル --- */
/* [submit] と [multistep] の両方に対応 */
div.elementor-element-8b225f0 .wpcf7-multistep,
div.elementor-element-8b225f0 .wpcf7-submit {
  width: auto;
  min-width: 300px; 
  padding: 16px 24px;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  background-color: #D71F18; /* ご指定の赤色 */
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
div.elementor-element-8b225f0 .wpcf7-multistep:hover,
div.elementor-element-8b225f0 .wpcf7-submit:hover {
  background-color: #b01a14; /* 濃い赤 */
}

/* [back] 戻るボタン */
div.elementor-element-8b225f0 .wpcf7-back {
  background-color: #6c757d;
  color: #fff;
  border: none;
  padding: 14px 24px;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 600;
}
div.elementor-element-8b225f0 .wpcf7-back:hover {
  background-color: #5a6268;
}

/* 確認画面の送信ボタン */
div.elementor-element-8b225f0 .cf7-form-navigation .wpcf7-submit {
  min-width: 200px;
  margin-left: 15px;
}

/* --- 確認画面のタイトル --- */
.cf7-confirm-title {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
  border-bottom: 2px solid #D71F18;
  padding-bottom: 10px;
}

/* ===================================
 * エラー表示 (入力不備) のスタイル
 * =================================== */

/* エラーメッセージのspan (入力してください。) */
div.elementor-element-8b225f0 span.wpcf7-not-valid-tip {
  color: #D71F18; /* 赤色 */
  font-size: 13px;
  font-weight: 600;
  margin-top: 6px;
}

/* エラーが出た時の入力欄の枠線 */
div.elementor-element-8b225f0 .wpcf7-not-valid {
  border-color: #D71F18 !important; /* 枠線を赤色に */
}

/* エラーが出た時のラジオボタン (枠線は不要) */
div.elementor-element-8b225f0 .wpcf7-radio .wpcf7-not-valid {
   border: none !important;
}

/* フォーム全体のエラーメッセージ */
div.elementor-element-8b225f0 div.wpcf7-validation-errors {
  border: 2px solid #D71F18;
  background-color: #fceeee;
  color: #D71F18;
  font-weight: 600;
  margin-bottom: 20px;
}

/* ===================================
 * レスポンシブ (スマホ) 対応
 * =================================== */
@media (max-width: 767px) {
  /* フォームの行 (入力・確認 共通) */
  div.elementor-element-8b225f0 .cf7-form-row,
  div.elementor-element-8b225f0 .cf7-confirm-row {
    grid-template-columns: 1fr; 
    grid-gap: 4px; 
    padding: 12px 0;
  }
  
  /* ラベル (入力・確認 共通) */
  div.elementor-element-8b225f0 .cf7-form-label,
  div.elementor-element-8b225f0 .cf7-confirm-label {
    align-items: flex-start;
    padding-right: 0;
    font-size: 16px; 
  }
  
  /* ボタン */
  div.elementor-element-8b225f0 .wpcf7-multistep,
  div.elementor-element-8b225f0 .wpcf7-submit {
    width: 100%;
    min-width: auto;
  }
  
  /* 確認画面のボタンエリア */
  div.elementor-element-8b225f0 .cf7-form-navigation {
    flex-direction: column-reverse; /* 送信を上、戻るを下に */
  }
  div.elementor-element-8b225f0 .cf7-form-navigation .wpcf7-submit {
    width: 100%;
    margin: 0 0 15px 0;
  }
  div.elementor-element-8b225f0 .cf7-form-navigation .wpcf7-back {
    width: 100%;
    text-align: center;
  }
}/* End custom CSS */