.elementor-4495 .elementor-element.elementor-element-7df5e86{--display:flex;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-4495 .elementor-element.elementor-element-ab7c7c1{--display:flex;--position:fixed;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );top:0px;--z-index:1000;}body:not(.rtl) .elementor-4495 .elementor-element.elementor-element-ab7c7c1{left:0px;}body.rtl .elementor-4495 .elementor-element.elementor-element-ab7c7c1{right:0px;}.elementor-4495 .elementor-element.elementor-element-24269dc{--display:flex;}.elementor-4495 .elementor-element.elementor-element-9aeba91{--display:flex;}.elementor-4495 .elementor-element.elementor-element-b6ed14e{--display:flex;}.elementor-4495 .elementor-element.elementor-element-ed1d180.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-4495 .elementor-element.elementor-element-e0f57c6{--display:flex;}.elementor-4495 .elementor-element.elementor-element-bc3cbc5{--display:flex;}.elementor-4495 .elementor-element.elementor-element-9eca07c{--display:flex;}.elementor-4495 .elementor-element.elementor-element-2095325{--display:flex;}.elementor-4495 .elementor-element.elementor-element-bf2b626{--display:flex;}.elementor-4495 .elementor-element.elementor-element-ee2efb0{--display:flex;}.elementor-4495 .elementor-element.elementor-element-9af2f40{--display:flex;}.elementor-4495 .elementor-element.elementor-element-bb6d00c{--display:flex;}.elementor-4495 .elementor-element.elementor-element-3a0d5a8{width:var( --container-widget-width, 53% );max-width:53%;--container-widget-width:53%;--container-widget-flex-grow:0;}.elementor-4495 .elementor-element.elementor-element-3a0d5a8.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){.elementor-4495 .elementor-element.elementor-element-ed1d180{width:var( --container-widget-width, 346.333px );max-width:346.333px;--container-widget-width:346.333px;--container-widget-flex-grow:0;}.elementor-4495 .elementor-element.elementor-element-3a0d5a8{width:var( --container-widget-width, 457.615px );max-width:457.615px;--container-widget-width:457.615px;--container-widget-flex-grow:0;}}/* Start custom CSS for shortcode, class: .elementor-element-3a0d5a8 *//* ===== 応募フォーム（Contact Form 7） ===== */
.apply-form {
  background: #261A17;            /* 濃いブラウン背景 */
  color: #fff;
  padding: 28px 24px 36px;
  max-width: 720px;
  margin: 0 aut
}



/* 見出しと赤いアンダーライン */
.apply-form .apply-title {
  font-size: 20px;
  letter-spacing: .25em;
  text-align: center;
  margin: 4px 0 20px;
  position: relative;
  color: white;
}
.apply-form .apply-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  background: #C82817;
  margin: 10px auto 0;
}

/* ラベルを白文字に */
.apply-form label { 
  display: block; 
  margin-bottom: 8px; 
  font-weight: 600; 
  color: #fff;   /* ←追加 */
}

/* 行ブロック */
.apply-form .form-row { margin: 16px 0; }

/* ラベル＆必須表示 */
.apply-form label { 
  display: block; 
  margin-bottom: 8px; 
  font-weight: 600; 
}
.apply-form .badge-required { color: #f35a4a; font-weight: 700; }
.apply-form .badge-optional { color: #bfbfbf; }

/* 入力共通（テキスト/メール/数値/電話/セレクト） */
.apply-form .cf-input,
.apply-form select.cf-input,
.apply-form .wpcf7-form-control.wpcf7-text,
.apply-form .wpcf7-form-control.wpcf7-email,
.apply-form .wpcf7-form-control.wpcf7-number,
.apply-form .wpcf7-form-control.wpcf7-tel,
.apply-form .wpcf7-form-control.wpcf7-select {
  width: 100%;
  height: 48px;
  background: #fff;
  color: #222;
  border: none;
  border-radius: 12px;
  padding: 0 14px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset, 0 2px 6px rgba(0,0,0,.12);
}

/* セレクト（ブラウザ差の軽減） */
.apply-form select.cf-input {
  -webkit-appearance: none;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #888 50%),
    linear-gradient(135deg, #888 50%, transparent 50%);
  background-position: calc(100% - 20px) 18px, calc(100% - 14px) 18px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* テキストエリア */
.apply-form .cf-textarea,
.apply-form .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  min-height: 220px;               /* 画像に合わせて大きめ */
  background: #fff;
  color: #222;
  border: none;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset, 0 2px 6px rgba(0,0,0,.12);
  resize: vertical;
}

/* プレースホルダー色 */
.apply-form ::placeholder { color: #b9b9b9; }

/* CF7のエラー表示（見やすい色に） */
.apply-form .wpcf7-not-valid-tip { color: #ffd2ce; }
.apply-form .wpcf7-response-output { 
  border-color: #C82817 !important; 
  color: #fff; 
}

/* 送信ボタン（赤・丸ボタン） */
.apply-form .cf-submit,
.apply-form input.wpcf7-submit {
  width: 100%;
  max-width: 520px;
  display: block;
  margin: 10px auto 0;
  height: 56px;
  border: none;
  border-radius: 28px;
  font-size: 18px;
  font-weight: 700;
  background: #D22B17;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0,0,0,.25) inset, 0 4px 10px rgba(0,0,0,.25);
  cursor: pointer;
  transition: filter .15s ease;
}
.apply-form .cf-submit:hover,
.apply-form input.wpcf7-submit:hover {
  filter: brightness(1.05);
}

/* テーマのフォーム系スタイルを最小限で打ち消し */
.apply-form .wpcf7-form-control { 
  font-size: 16px; 
  line-height: 1.4;
  box-sizing: border-box;
}
.apply-form .wpcf7-spinner { display: none; } /* お好みで非表示 */

/* レスポンシブ微調整 */
@media (min-width: 560px) {
  .apply-form { padding: 36px 32px 44px; }
}/* End custom CSS */