.elementor-3304 .elementor-element.elementor-element-73de8dc5{--display:flex;}.elementor-3304 .elementor-element.elementor-element-73de8dc5:not(.elementor-motion-effects-element-type-background), .elementor-3304 .elementor-element.elementor-element-73de8dc5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3304 .elementor-element.elementor-element-4f945ac{--display:flex;--overlay-opacity:0.79;}.elementor-3304 .elementor-element.elementor-element-4f945ac::before, .elementor-3304 .elementor-element.elementor-element-4f945ac > .elementor-background-video-container::before, .elementor-3304 .elementor-element.elementor-element-4f945ac > .e-con-inner > .elementor-background-video-container::before, .elementor-3304 .elementor-element.elementor-element-4f945ac > .elementor-background-slideshow::before, .elementor-3304 .elementor-element.elementor-element-4f945ac > .e-con-inner > .elementor-background-slideshow::before, .elementor-3304 .elementor-element.elementor-element-4f945ac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.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-3304 .elementor-element.elementor-element-141ed2c img{width:14%;}.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-3304 .elementor-element.elementor-element-030efc9 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:600;color:#EE8ECB;}.elementor-3304 .elementor-element.elementor-element-145d20b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:600;}@media(max-width:767px){.elementor-3304 .elementor-element.elementor-element-4f945ac{--min-height:81px;}.elementor-3304 .elementor-element.elementor-element-141ed2c > .elementor-widget-container{margin:0px 0px -31px 0px;}.elementor-3304 .elementor-element.elementor-element-141ed2c img{width:19%;}.elementor-3304 .elementor-element.elementor-element-030efc9 > .elementor-widget-container{margin:21px 0px 0px 0px;}.elementor-3304 .elementor-element.elementor-element-030efc9 .elementor-heading-title{font-size:17px;}.elementor-3304 .elementor-element.elementor-element-145d20b .elementor-heading-title{font-size:17px;line-height:1.5em;letter-spacing:1.8px;}}/* Start custom CSS for container, class: .elementor-element-73de8dc5 *//* ===========================
   YU1L エントリーフォーム（Contact Form 7）
   使い方：フォームを入れたコンテナに「entry-form」クラスを付けてから貼る
   =========================== */
.entry-form .wpcf7 form { max-width: 760px; margin: 0 auto; }
.entry-form .wpcf7 p { margin: 12px 0 18px; }
.entry-form .wpcf7 .req { color:#d97aa6; margin-left:.3em; }

/* ラベル */
.entry-form .wpcf7 label {
  display:block;
  font-weight:700;
  font-size:14px;
  color:#333;
  margin:0 0 6px;
  letter-spacing:.02em;
}

/* 入力系（テキスト/メール/日付/セレクト/テキストエリア） */
.entry-form .wpcf7 input[type="text"],
.entry-form .wpcf7 input[type="email"],
.entry-form .wpcf7 input[type="date"],
.entry-form .wpcf7 select,
.entry-form .wpcf7 textarea{
  width:100%;
  border:1px solid #ead6e0;
  border-radius:12px;
  padding:12px 14px;
  background:#fff;
  font-size:14px;
  color:#333;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.03), 0 8px 18px rgba(0,0,0,.04);
}
.entry-form .wpcf7 textarea{ min-height:140px; resize:vertical; }
.entry-form .wpcf7 ::placeholder{ color:#9aa0a6; }

/* フォーカス時 */
.entry-form .wpcf7 input:focus,
.entry-form .wpcf7 select:focus,
.entry-form .wpcf7 textarea:focus{
  outline: none;
  border-color:#d97aa6;
  box-shadow: 0 0 0 3px rgba(217,122,166,.16);
}

/* 2カラム行（生年月日 + 都道府県 などに使う）
   → フォームマークアップ側で <p class="inline-2"> … </p> を使っている想定 */
.entry-form .inline-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 767px){ .entry-form .inline-2{ grid-template-columns:1fr; } }

/* ラジオ/チェックの見栄え */
.entry-form .wpcf7-list-item { display:inline-flex; align-items:center; gap:8px; margin:4px 14px 4px 0; }
.entry-form input[type="radio"],
.entry-form input[type="checkbox"]{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  width:18px; height:18px; border-radius:50%;
  border:2px solid #d97aa6; position:relative; background:#fff; cursor:pointer;
}
.entry-form input[type="checkbox"]{ border-radius:6px; } /* チェックは角丸四角 */
.entry-form input[type="radio"]:checked::after{
  content:""; position:absolute; inset:3px; background:#d97aa6; border-radius:50%;
}
.entry-form input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:4px; top:1px; width:5px; height:10px; border:2px solid #fff;
  border-top:0; border-left:0; transform:rotate(45deg);
  background:#d97aa6; /* 見えないけどクリック領域担保 */
}
.entry-form input[type="checkbox"]:checked{ background:#d97aa6; border-color:#d97aa6; }

/* 同意チェック行 */
.entry-form .agree{ font-size:13px; color:#555; }
.entry-form .agree .wpcf7-list-item-label{ line-height:1.6; }

/* 送信ボタン */
.entry-form .wpcf7 input[type="submit"]{
  width:100%;
  background:#d97aa6;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:14px 18px;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow: 0 10px 22px rgba(217,122,166,.28);
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.entry-form .wpcf7 input[type="submit"]:hover{ transform: translateY(-1px); box-shadow:0 14px 26px rgba(217,122,166,.34); }
.entry-form .wpcf7 input[type="submit"]:active{ transform: translateY(0); box-shadow:0 8px 18px rgba(217,122,166,.28); }

/* エラーメッセージ/バリデーション */
.entry-form .wpcf7-not-valid-tip{ color:#d6455d; font-size:12px; margin-top:6px; }
.entry-form .wpcf7 form.invalid input.wpcf7-not-valid,
.entry-form .wpcf7 form.invalid select.wpcf7-not-valid,
.entry-form .wpcf7 form.invalid textarea.wpcf7-not-valid{
  border-color:#d6455d !important;
  box-shadow:0 0 0 3px rgba(214,69,93,.12);
}

/* 送信結果メッセージ */
.entry-form div.wpcf7-response-output{
  margin:14px 0 0;
  border-radius:10px;
  border:1px solid #ead6e0;
  padding:10px 12px;
  background:#fff;
  font-size:13px;
}
.entry-form div.wpcf7-mail-sent-ok{ border-color:#9dd29a; background:#f1fbf1; }
.entry-form div.wpcf7-validation-errors,
.entry-form div.wpcf7-acceptance-missing{ border-color:#dcb28c; background:#fff8f1; }

/* セクションタイトル（ページのH1/H2等が細いとき用・任意） */
.entry-form .section-title{
  text-align:center; font-weight:800; font-size:20px; margin:0 0 12px; letter-spacing:.02em;
}

/* 微調整（余白・行間） */
.entry-form .wpcf7 select{ background-image: none; }
.entry-form .wpcf7 .wpcf7-list-item-label{ font-size:14px; color:#333; }



/* PCだけ：名前＋生年月日ブロックを確実に左寄せ＆均等2カラム */
@media (min-width: 768px){
  .entry-form .wpcf7 form .inline-2{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 16px !important;
    justify-content: start !important;  /* グリッド全体を左寄せ */
    align-items: start !important;      /* 縦位置も先頭に */
    justify-items: start !important;    /* 各要素の横寄せ */
  }

  /* 内側要素の右寄せや自動マージンを打ち消す */
  .entry-form .wpcf7 form .inline-2 > *{
    margin: 0 !important;
    text-align: left !important;
    justify-self: stretch !important;   /* できる限り横幅を使う */
  }

  /* フィールド自体の幅とマージンを統一 */
  .entry-form .wpcf7 form .inline-2 input,
  .entry-form .wpcf7 form .inline-2 select,
  .entry-form .wpcf7 form .inline-2 textarea{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* dateフィールド特有の右寄せをリセット（ブラウザ差異対策） */
  .entry-form .wpcf7 form .inline-2 input[type="date"]{
    text-align: left !important;
    text-align-last: left !important;
  }
}/* End custom CSS */