.elementor-704 .elementor-element.elementor-element-13609b6{--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-704 .elementor-element.elementor-element-326574a{--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-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{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-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button-content-wrapper{flex-direction:row;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group.recaptcha_v3-bottomleft, .elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-704 .elementor-element.elementor-element-2c984ce .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-704 .elementor-element.elementor-element-2c984ce .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-704 .elementor-element.elementor-element-2c984ce .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-type-html{padding-bottom:0px;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button[type="submit"]{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-704 .elementor-element.elementor-element-2c984ce{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS for form, class: .elementor-element-2c984ce *//* フォーム全体のコンテナ */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-form {
    background: #ffffff;
    padding: 50px 45px 45px 45px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(255, 165, 0, 0.1);
    border: 1px solid #fff5e6;
    position: relative;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* フォーム最上部のタイトル */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-form::before {
    content: 'お問い合わせフォーム';
    display: block;
    font-size: 1.4rem;
    font-weight: 800;
    color: #5d4037;
    margin-bottom: 35px;
    text-align: center;
    border-bottom: 2px solid #ffcc80;
    padding-bottom: 15px;
}

/* 項目ごとのマージン */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-group {
    margin-bottom: 28px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ラベルのスタイル（アイコン付き） */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-label {
    font-weight: 700;
    color: #5d4037;
    margin-bottom: 12px;
    font-size: 0.95rem;
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    min-height: 24px;
    opacity: 1 !important;
}

/* ラベル前のアクセントアイコン */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-label::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 16px;
    background-color: #ff9800;
    margin-right: 10px;
    border-radius: 2px;
}

/* 必須・任意バッジの共通スタイル */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-label::after {
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 10px; /* 右端ではなくテキストのすぐ横に配置 */
    font-weight: 700;
    line-height: 1.2;
    display: inline-block;
}

/* デフォルト状態（任意バッジ） */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-label::after {
    content: '任意';
    background-color: #f5f5f5;
    color: #9e9e9e;
    border: 1px solid #e0e0e0;
}

/* 必須バッジへの切り替え（クラスベースの判定で安定化） */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-required .elementor-field-label::after {
    content: '必須' !important;
    background-color: #ff9800 !important;
    color: #ffffff !important;
    border: 1px solid #f57c00 !important;
}

/* 標準のアスタリスクを隠す */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-mark-required {
    display: none !important;
}

/* 入力フィールド・セレクトボックスの共通スタイル */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-textual,
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-type-select select {
    border: 2px solid #ffe0b2;
    background-color: #fffaf0 !important;
    padding: 15px 20px !important;
    transition: all 0.4s ease;
    border-radius: 12px;
    color: #4e342e;
    box-sizing: border-box;
    width: 100%;
}

/* フォーカス時 */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-textual:focus,
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-type-select select:focus {
    border-color: #ff9800;
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(255, 152, 0, 0.1);
    outline: none;
}

/* チェックボックス・ラジオボタンのカスタマイズ */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-option input[type="checkbox"],
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-option input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0;
    border: 2px solid #ffcc80;
    background-color: #fffaf0;
    cursor: pointer;
    position: relative;
    display: inline-block;
    appearance: none !important;
    -webkit-appearance: none !important;
    border-radius: 6px;
    margin-right: 10px;
}

.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-option input:checked {
    background-color: #ff9800 !important;
    border-color: #ff9800 !important;
}

.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-field-option input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2.5px 2.5px 0;
    transform: rotate(45deg);
}

/* 送信ボタン */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button {
    background: linear-gradient(135deg, #ffb74d, #ff9800);
    border-radius: 12px;
    padding: 18px 40px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(255, 152, 0, 0.3);
    border: none;
    margin-top: 10px;
    width: 100%;
    transition: 0.3s;
}

.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-button:hover {
    background: linear-gradient(135deg, #ff9800, #f57c00);
    transform: translateY(-2px);
}
/* 送信成功メッセージのコンテナ */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-message-success {
    background-color: #fff9f0 !important; /* 薄いオレンジ背景 */
    border: 2px solid #ff9800 !important; /* オレンジの境界線 */
    color: #5d4037 !important; /* 既存の茶色テキスト */
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 25px !important;
    font-weight: 700 !important;
    text-align: center;
    line-height: 1.6;
    box-shadow: 0 5px 15px rgba(255, 152, 0, 0.1);
    animation: fadeIn 0.5s ease-out; /* ふわっと表示させるアニメーション */
}

/* 成功メッセージの前にチェックアイコンを追加（装飾） */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-message-success::before {
    content: '✔';
    display: block;
    font-size: 2rem;
    color: #ff9800;
    margin-bottom: 10px;
}

/* エラーメッセージ（送信失敗時）もデザインを合わせる場合 */
.elementor-704 .elementor-element.elementor-element-2c984ce .elementor-message-danger {
    background-color: #fff5f5 !important;
    border: 2px solid #ff5252 !important;
    color: #c62828 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 25px !important;
    font-weight: 700 !important;
    text-align: center;
}

/* 表示時のアニメーション設定 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}/* End custom CSS */