.elementor-3661 .elementor-element.elementor-element-18be42c{--display:flex;--min-height:200px;--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;--overlay-opacity:0.48;}.elementor-3661 .elementor-element.elementor-element-18be42c:not(.elementor-motion-effects-element-type-background), .elementor-3661 .elementor-element.elementor-element-18be42c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://r-base.jp/wp-content/uploads/2026/04/Gemini_Generated_Image_g20tm0g20tm0g20t-1.png");background-position:center left;}.elementor-3661 .elementor-element.elementor-element-18be42c::before, .elementor-3661 .elementor-element.elementor-element-18be42c > .elementor-background-video-container::before, .elementor-3661 .elementor-element.elementor-element-18be42c > .e-con-inner > .elementor-background-video-container::before, .elementor-3661 .elementor-element.elementor-element-18be42c > .elementor-background-slideshow::before, .elementor-3661 .elementor-element.elementor-element-18be42c > .e-con-inner > .elementor-background-slideshow::before, .elementor-3661 .elementor-element.elementor-element-18be42c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-3661 .elementor-element.elementor-element-2fb3e3f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-3661 .elementor-element.elementor-element-2fb3e3f.elementor-element{--align-self:center;}.elementor-3661 .elementor-element.elementor-element-2fb3e3f .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:36px;font-weight:400;line-height:1.2em;letter-spacing:0.02em;color:#FFFFFF;}.elementor-3661 .elementor-element.elementor-element-ed3df45{text-align:center;}.elementor-3661 .elementor-element.elementor-element-ed3df45 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:100;line-height:1.2em;letter-spacing:0.01em;color:#FFFFFF;}.elementor-3661 .elementor-element.elementor-element-12d541b{--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;--overlay-opacity:0.48;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3661 .elementor-element.elementor-element-12d541b::before, .elementor-3661 .elementor-element.elementor-element-12d541b > .elementor-background-video-container::before, .elementor-3661 .elementor-element.elementor-element-12d541b > .e-con-inner > .elementor-background-video-container::before, .elementor-3661 .elementor-element.elementor-element-12d541b > .elementor-background-slideshow::before, .elementor-3661 .elementor-element.elementor-element-12d541b > .e-con-inner > .elementor-background-slideshow::before, .elementor-3661 .elementor-element.elementor-element-12d541b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-3661 .elementor-element.elementor-element-73ab90f{--display:flex;--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;--border-radius:0px 0px 0px 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-3661 .elementor-element.elementor-element-5b718f6{margin:3px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:2px 5px 2px 5px;border-style:solid;border-width:1px 1px 1px 1px;}.elementor-3661 .elementor-element.elementor-element-5b718f6.elementor-element{--align-self:flex-start;}.elementor-3661 .elementor-element.elementor-element-5b718f6 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:400;line-height:1.2em;color:#000000;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-0166e61.elementor-element{--align-self:flex-end;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-icon{width:14px;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-icon i{font-size:14px;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-text, .elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-text a{color:#000000;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-item{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;line-height:1.8em;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-3661 .elementor-element.elementor-element-b3dae7b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;padding:0px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;}.elementor-3661 .elementor-element.elementor-element-b3dae7b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:24px;font-weight:700;line-height:1.2em;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-f4eb650{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;line-height:1.8em;}.elementor-3661 .elementor-element.elementor-element-c8249ae{--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;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3661 .elementor-element.elementor-element-90c69a9{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#BBBBBB;--border-color:#BBBBBB;--border-radius:3px 3px 3px 3px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__label{text-align:left;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__desc{text-align:left;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group{flex-direction:row;gap:0.7em 0.7em;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder input{color-scheme:normal;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__action-button{transition:all 0.3s;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__next-page-wrap{text-align:left;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message--success{text-align:center;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message--error{text-align:center;}.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-address-autocomplete + .jet-adr-list{text-align:left;}@media(min-width:768px){.elementor-3661 .elementor-element.elementor-element-12d541b{--content-width:850px;}.elementor-3661 .elementor-element.elementor-element-c8249ae{--content-width:800px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-post-info .elementor-icon-list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-theme-post-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-2fb3e3f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;}.elementor-3661 .elementor-element.elementor-element-2fb3e3f .elementor-heading-title{font-size:24px;}.elementor-3661 .elementor-element.elementor-element-ed3df45 .elementor-heading-title{font-size:12px;}.elementor-3661 .elementor-element.elementor-element-5b718f6 .elementor-heading-title{font-size:14px;}.elementor-widget-post-info .elementor-icon-list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-0166e61{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3661 .elementor-element.elementor-element-0166e61 .elementor-icon-list-item{font-size:14px;}.elementor-widget-theme-post-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-b3dae7b .elementor-heading-title{font-size:16px;}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3661 .elementor-element.elementor-element-f4eb650{font-size:14px;}.elementor-3661 .elementor-element.elementor-element-90c69a9{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for jet-form-builder-form, class: .elementor-element-b9bd44d *//* ====================================================
   🌟 1. フォーム全体のベース設定
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder {
    font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
    color: #333;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__label {
    font-size: 14px;
    font-weight: bold;
    color: #555;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

/* ====================================================
   🌟 2. 入力欄（テキスト・セレクト・テキストエリア）
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.text-field,
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.select-field {
    width: 100%;
    padding: 10px 15px !important;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.textarea-field {
    width: 100%;
    min-height: 180px !important;
    padding: 15px !important;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

/* 入力中のオレンジ発光 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field:focus {
    border-color: #ff8c00;
    box-shadow: 0 0 5px rgba(255, 140, 0, 0.3);
    outline: none;
}

/* ====================================================
   🌟 3. ラジオボタンの横並び設定
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 10px;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-label.for-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    cursor: pointer;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.checkradio-field {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* ====================================================
   🌟 4. 「必須」→「OK」の自動切り替えギミック
   （※テキスト入力欄専用に設定）
==================================================== */
/* デフォルトの必須マークを消去 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__label .jet-form-builder__required {
    display: none !important;
}

/* 親要素の基準化 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]) {
    position: relative;
}

/* 🔴 未入力（エラー）＝ 必須バッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]:invalid)::after {
    content: "必須";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #e57373;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* 🔘 入力完了 ＝ OKバッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]:valid)::after {
    content: "OK";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #9e9e9e;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 12px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* ====================================================
   🌟 5. 送信ボタン（文字の中央揃え完璧版）
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__action-button-wrapper {
    width: 100% !important;
    display: block !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__submit {
    background: #d32f2f !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    width: 100% !important;
    padding: 18px !important;
    border-radius: 6px !important;
    border: none !important;
    box-shadow: none !important;
    margin-top: 15px !important;
    letter-spacing: 2px !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__submit:hover {
    background: #b71c1c !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.2) !important;
}

/* ====================================================
   🌟 6. サンクスメッセージ（送信完了・エラー）のモダン化
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message {
    border: none !important;
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    padding: 16px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-align: center !important;
    margin-top: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message--error {
    background-color: #fef2f2 !important;
    color: #991b1b !important;
}


/* ====================================================
   🌟 追加：ラジオボタン全体に「1つだけ」必須/OKバッジを出す
==================================================== */
/* ラジオボタン全体の箱を横幅100%にして基準にする */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
    position: relative;
    width: 100%;
    padding-right: 50px; /* 右側にバッジ用のスペースを確保 */
    box-sizing: border-box;
}

/* 🔴 未入力（エラー）＝ 右端に1つだけ必須バッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required]:invalid)::after {
    content: "必須";
    position: absolute;
    right: 10px; /* 上下のテキスト入力欄のバッジと縦のラインを揃える */
    top: 50%;
    transform: translateY(-50%);
    background-color: #e57373;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* 🔘 どれか1つを選択（入力完了） ＝ OKバッジに切り替え */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required]:valid)::after {
    content: "OK";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #9e9e9e;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 12px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}


/* ====================================================
   📱 モバイル（スマホ）用の微調整
==================================================== */
@media (max-width: 767px) {
    /* 1. ラジオボタンの隙間を少し狭くして収まりを良くする */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
        gap: 8px 12px !important; /* 横の隙間を詰め、縦の隙間を調整 */
        padding-right: 45px !important; /* 右側のスペースを微調整 */
    }

    /* 2. ラジオボタンのバッジ位置を「中央」から「上端」に変更 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required])::after {
        top: 10px !important; /* 中央（50%）ではなく上から10pxの位置に固定 */
        transform: none !important; /* 中央寄せの計算を解除 */
    }
    
    /* 3. ついでに入力欄のバッジもスマホだと少し大きく感じるので微調整 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap::after {
        font-size: 10px !important;
        padding: 2px 6px !important;
    }
}


/* ====================================================
   📱 モバイル用：ヘッダーの重なり解消
==================================================== */
@media (max-width: 767px) {
    /* 横並びをやめて縦に並べる */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .satei-header-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    /* 赤文字のサイズと位置を微調整 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .satei-header-flex span {
        margin-top: 5px;
        font-size: 12px !important;
    }
}/* End custom CSS */
/* Start custom CSS for jet-form-builder-form, class: .elementor-element-b9bd44d *//* ====================================================
   🌟 1. フォーム全体のベース設定
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder {
    font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
    color: #333;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__label {
    font-size: 14px;
    font-weight: bold;
    color: #555;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

/* ====================================================
   🌟 2. 入力欄（テキスト・セレクト・テキストエリア）
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.text-field,
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.select-field {
    width: 100%;
    padding: 10px 15px !important;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.textarea-field {
    width: 100%;
    min-height: 180px !important;
    padding: 15px !important;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

/* 入力中のオレンジ発光 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field:focus {
    border-color: #ff8c00;
    box-shadow: 0 0 5px rgba(255, 140, 0, 0.3);
    outline: none;
}

/* ====================================================
   🌟 3. ラジオボタンの横並び設定
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 10px;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-label.for-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    cursor: pointer;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field.checkradio-field {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* ====================================================
   🌟 4. 「必須」→「OK」の自動切り替えギミック
   （※テキスト入力欄専用に設定）
==================================================== */
/* デフォルトの必須マークを消去 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__label .jet-form-builder__required {
    display: none !important;
}

/* 親要素の基準化 */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]) {
    position: relative;
}

/* 🔴 未入力（エラー）＝ 必須バッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]:invalid)::after {
    content: "必須";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #e57373;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* 🔘 入力完了 ＝ OKバッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap:has(input.text-field[required]:valid)::after {
    content: "OK";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #9e9e9e;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 12px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* ====================================================
   🌟 5. 送信ボタン（文字の中央揃え完璧版）
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__action-button-wrapper {
    width: 100% !important;
    display: block !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__submit {
    background: #d32f2f !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    width: 100% !important;
    padding: 18px !important;
    border-radius: 6px !important;
    border: none !important;
    box-shadow: none !important;
    margin-top: 15px !important;
    letter-spacing: 2px !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__submit:hover {
    background: #b71c1c !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.2) !important;
}

/* ====================================================
   🌟 6. サンクスメッセージ（送信完了・エラー）のモダン化
==================================================== */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message {
    border: none !important;
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    padding: 16px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-align: center !important;
    margin-top: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder-message--error {
    background-color: #fef2f2 !important;
    color: #991b1b !important;
}


/* ====================================================
   🌟 追加：ラジオボタン全体に「1つだけ」必須/OKバッジを出す
==================================================== */
/* ラジオボタン全体の箱を横幅100%にして基準にする */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
    position: relative;
    width: 100%;
    padding-right: 50px; /* 右側にバッジ用のスペースを確保 */
    box-sizing: border-box;
}

/* 🔴 未入力（エラー）＝ 右端に1つだけ必須バッジ */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required]:invalid)::after {
    content: "必須";
    position: absolute;
    right: 10px; /* 上下のテキスト入力欄のバッジと縦のラインを揃える */
    top: 50%;
    transform: translateY(-50%);
    background-color: #e57373;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* 🔘 どれか1つを選択（入力完了） ＝ OKバッジに切り替え */
.elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required]:valid)::after {
    content: "OK";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #9e9e9e;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 12px;
    border-radius: 3px;
    pointer-events: none;
    transition: all 0.2s ease;
}


/* ====================================================
   📱 モバイル（スマホ）用の微調整
==================================================== */
@media (max-width: 767px) {
    /* 1. ラジオボタンの隙間を少し狭くして収まりを良くする */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap {
        gap: 8px 12px !important; /* 横の隙間を詰め、縦の隙間を調整 */
        padding-right: 45px !important; /* 右側のスペースを微調整 */
    }

    /* 2. ラジオボタンのバッジ位置を「中央」から「上端」に変更 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__fields-group.checkradio-wrap:has(input[type="radio"][required])::after {
        top: 10px !important; /* 中央（50%）ではなく上から10pxの位置に固定 */
        transform: none !important; /* 中央寄せの計算を解除 */
    }
    
    /* 3. ついでに入力欄のバッジもスマホだと少し大きく感じるので微調整 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .jet-form-builder__field-wrap::after {
        font-size: 10px !important;
        padding: 2px 6px !important;
    }
}


/* ====================================================
   📱 モバイル用：ヘッダーの重なり解消
==================================================== */
@media (max-width: 767px) {
    /* 横並びをやめて縦に並べる */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .satei-header-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    /* 赤文字のサイズと位置を微調整 */
    .elementor-3661 .elementor-element.elementor-element-b9bd44d .satei-header-flex span {
        margin-top: 5px;
        font-size: 12px !important;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Noto Sans JP';
	font-display: auto;
	src: url('https://r-base.jp/wp-content/uploads/2026/03/NotoSansJP-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */