.elementor-681 .elementor-element.elementor-element-f2a7a92{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-681 .elementor-element.elementor-element-f2a7a92:not(.elementor-motion-effects-element-type-background), .elementor-681 .elementor-element.elementor-element-f2a7a92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-681 .elementor-element.elementor-element-2b725aa{--display:flex;}.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-681 .elementor-element.elementor-element-af08c92 img{width:100%;}.elementor-681 .elementor-element.elementor-element-93d33ba{--display:flex;--position:absolute;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:179px;--margin-bottom:0px;--margin-left:053px;--margin-right:0px;top:0px;}body:not(.rtl) .elementor-681 .elementor-element.elementor-element-93d33ba{left:0px;}body.rtl .elementor-681 .elementor-element.elementor-element-93d33ba{right:0px;}.elementor-681 .elementor-element.elementor-element-90458e4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:140px;--padding-bottom:210px;--padding-left:0px;--padding-right:0px;}.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-681 .elementor-element.elementor-element-a2b9373{width:var( --container-widget-width, 24% );max-width:24%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 61px) 0px;padding:0px 0px 3px 0px;--container-widget-width:24%;--container-widget-flex-grow:0;border-style:solid;border-width:0px 0px 02px 0px;border-color:#292929;text-align:center;}.elementor-681 .elementor-element.elementor-element-a2b9373.elementor-element{--align-self:center;}.elementor-681 .elementor-element.elementor-element-a2b9373 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:36px;font-weight:700;letter-spacing:0.4px;color:#292929;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-681 .elementor-element.elementor-element-0fdb963{text-align:center;font-family:"Roboto", Sans-serif;font-size:20px;font-weight:500;}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-681 .elementor-element.elementor-element-2c89c11 .fluentform-widget-wrapper{background-color:#FFFFFF;width:56%;padding:62px 42px 62px 42px;}.elementor-681 .elementor-element.elementor-element-2c89c11 > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-681 .elementor-element.elementor-element-2c89c11 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{width:0px;background-color:#C90300 !important;color:#ffffff !important;}.elementor-681 .elementor-element.elementor-element-592a14e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-681 .elementor-element.elementor-element-a42c4b7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-681 .elementor-element.elementor-element-a42c4b7.elementor-element{--align-self:center;}.elementor-681 .elementor-element.elementor-element-a42c4b7 img{width:100%;}@media(max-width:1024px) and (min-width:768px){.elementor-681 .elementor-element.elementor-element-592a14e{--width:85%;}}@media(max-width:1024px){.elementor-681 .elementor-element.elementor-element-90458e4{--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-681 .elementor-element.elementor-element-a2b9373{--container-widget-width:370px;--container-widget-flex-grow:0;width:var( --container-widget-width, 370px );max-width:370px;}.elementor-681 .elementor-element.elementor-element-0fdb963{font-size:18px;}.elementor-681 .elementor-element.elementor-element-2c89c11 .fluentform-widget-wrapper{width:80%;}.elementor-681 .elementor-element.elementor-element-592a14e.e-con{--align-self:center;}}/* Start custom CSS for container, class: .elementor-element-93d33ba */.elementor-681 .elementor-element.elementor-element-93d33ba {
  position: absolute !important;
  inset: 52% auto auto 3.68% !important;

  --width: 30% !important;
  width: 30% !important;

  margin: 0 !important;
  z-index: 10;
}

.elementor-681 .elementor-element.elementor-element-93d33ba .elementor-widget-image {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}

.elementor-681 .elementor-element.elementor-element-93d33ba .elementor-widget-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b725aa */.elementor-681 .elementor-element.elementor-element-2b725aa {
  position: relative;
}/* End custom CSS */
/* Start custom CSS for fluent-form-widget, class: .elementor-element-2c89c11 *//*
 * Fluent Forms 求人応募フォーム用スタイル
 *
 * 使い方:
 * 1. Elementorでフォームを囲むコンテナの「CSSクラス」に recruit-form と入力します。
 *    先頭のピリオド（.）は付けません。
 * 2. Fluent Formsの各ラベルから「必須」「任意」の文字を削除します。
 * 3. 必須項目はFluent Forms側の設定で「必須」を有効にします。
 * 4. 任意バッジは、通常の任意項目のラベルに自動表示されます。
 *
 * このファイルはフォームIDに依存しません。
 */

/* ---------- フォーム全体 ---------- */
.recruit-form .fluentform,
.recruit-form .ff-default {
  width: 100%;
  max-width: 100%;
}

.recruit-form .ff-el-group {
  margin-bottom: 30px !important;
}

/* ---------- ラベル ---------- */
.recruit-form .ff-el-input--label {
  margin-bottom: 12px !important;
}

.recruit-form .ff-el-input--label label {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  color: #292929 !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em !important;
}

/* ---------- 必須バッジ ---------- */
.recruit-form .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  content: "必須" !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 26px;
  margin-left: 12px !important;
  padding: 0 9px;
  border: 1px solid #c90300;
  border-radius: 0;
  background-color: #c90300 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  box-sizing: border-box;
}

/* アスタリスクが左側に設定されている場合 */
.recruit-form .ff-el-input--label.ff-el-is-required.asterisk-left label::before {
  content: "必須" !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 26px;
  margin-right: 12px !important;
  padding: 0 9px;
  border: 1px solid #c90300;
  border-radius: 0;
  background-color: #c90300 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  box-sizing: border-box;
}

/* ---------- 任意バッジ ----------
 * 入力欄を持つ、必須ではない通常項目に「任意」を表示します。
 * チェックボックス・送信ボタンは対象外です。
 */
.recruit-form .ff-el-group:not(:has(.ff-el-is-required)):not(:has(input[type="checkbox"])):not(:has(button[type="submit"])) > .ff-el-input--label label::after {
  content: "任意" !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 26px;
  margin-left: 12px !important;
  padding: 0 9px;
  border: 2px solid #c90300;
  border-radius: 0;
  background-color: transparent !important;
  color: #c90300 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  box-sizing: border-box;
}

/* ---------- 入力欄 ---------- */
.recruit-form input[type="text"],
.recruit-form input[type="email"],
.recruit-form input[type="number"],
.recruit-form input[type="tel"],
.recruit-form input[type="url"],
.recruit-form input[type="date"],
.recruit-form textarea,
.recruit-form select {
  width: 100% !important;
  min-height: 62px !important;
  padding: 14px 20px !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #292929 !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.recruit-form textarea {
  min-height: 180px !important;
  padding-top: 16px !important;
  resize: vertical;
}

.recruit-form input::placeholder,
.recruit-form textarea::placeholder {
  color: #9299a3 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.recruit-form input:focus,
.recruit-form textarea:focus,
.recruit-form select:focus {
  border-color: #c90300 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #c90300 !important;
}

/* ---------- プライバシーポリシー ---------- */
.recruit-form .ff-el-group:has(input[type="checkbox"]) > .ff-el-input--label {
  display: none !important;
}

.recruit-form .ff-el-form-check {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.recruit-form input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 10px 0 0 !important;
  accent-color: #c90300;
  cursor: pointer;
}

.recruit-form .ff-el-form-check-label {
  margin: 0 !important;
  color: #292929 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  cursor: pointer;
}

.recruit-form .ff-el-form-check-label a {
  color: #292929;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.recruit-form .ff-el-form-check-label a:hover {
  color: #c90300;
}

/* ---------- 送信ボタン ---------- */
.recruit-form .ff_submit_btn_wrapper {
  margin-top: 65px !important;
  text-align: center !important;
}

.recruit-form .ff-btn-submit,
.recruit-form .ff-btn,
.recruit-form button[type="submit"] {
  display: block !important;
  width: min(70%, 401px) !important;
  min-height: 60px !important;
  margin: 0 auto !important;
  padding: 18px 32px !important;
  border: 2px solid #c90300 !important;
  border-radius: 0 !important;
  background: #c90300 !important;
  background-image: none !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(20px, 2vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.recruit-form .ff-btn-submit:hover,
.recruit-form .ff-btn:hover,
.recruit-form button[type="submit"]:hover,
.recruit-form .ff-btn-submit:focus,
.recruit-form .ff-btn:focus,
.recruit-form button[type="submit"]:focus {
  border-color: #c90300 !important;
  background: #fff !important;
  color: #c90300 !important;
  opacity: 1 !important;
  outline: none !important;
}

/* ---------- エラー表示 ---------- */
.recruit-form .error,
.recruit-form .text-danger,
.recruit-form .ff-el-is-error .text-danger {
  margin-top: 7px !important;
  color: #c90300 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.recruit-form .ff-el-is-error input,
.recruit-form .ff-el-is-error textarea,
.recruit-form .ff-el-is-error select {
  border-color: #c90300 !important;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 1024px) {
  .recruit-form .ff-btn-submit,
  .recruit-form .ff-btn,
  .recruit-form button[type="submit"] {
    width: 80% !important;
    min-height: 82px !important;
  }
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 767px) {
  .recruit-form .ff-el-group {
    margin-bottom: 22px !important;
  }

  .recruit-form .ff-el-input--label {
    margin-bottom: 9px !important;
  }

  .recruit-form .ff-el-input--label label {
    font-size: 16px !important;
  }

  .recruit-form .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
  .recruit-form .ff-el-input--label.ff-el-is-required.asterisk-left label::before,
  .recruit-form .ff-el-group:not(:has(.ff-el-is-required)):not(:has(input[type="checkbox"])):not(:has(button[type="submit"])) > .ff-el-input--label label::after {
    min-width: 42px;
    height: 22px;
    padding: 0 6px;
    font-size: 11px !important;
  }

  .recruit-form .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
  .recruit-form .ff-el-group:not(:has(.ff-el-is-required)):not(:has(input[type="checkbox"])):not(:has(button[type="submit"])) > .ff-el-input--label label::after {
    margin-left: 9px !important;
  }

  .recruit-form input[type="text"],
  .recruit-form input[type="email"],
  .recruit-form input[type="number"],
  .recruit-form input[type="tel"],
  .recruit-form input[type="url"],
  .recruit-form input[type="date"],
  .recruit-form textarea,
  .recruit-form select {
    min-height: 54px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
  }

  .recruit-form textarea {
    min-height: 150px !important;
  }

  .recruit-form input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }

  .recruit-form .ff-el-form-check-label {
    font-size: 14px !important;
  }

  .recruit-form .ff_submit_btn_wrapper {
    margin-top: 45px !important;
  }

  .recruit-form .ff-btn-submit,
  .recruit-form .ff-btn,
  .recruit-form button[type="submit"] {
    width: 100% !important;
    min-height: 64px !important;
    padding: 14px 20px !important;
    font-size: 22px !important;
  }
}

/* プライバシーポリシーリンクの点線を消す */
.recruit-form a[href*="/privacy-policy/"]:focus,
.recruit-form a[href*="/privacy-policy/"]:active {
  outline: none !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-a42c4b7 */.recruit-image img {
  transition: opacity 0.3s ease;
}

.recruit-image img:hover {
  opacity: 0.8;
}/* End custom CSS */