.elementor-42570 .elementor-element.elementor-element-54615a1c{--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-42570 .elementor-element.elementor-element-54615a1c:not(.elementor-motion-effects-element-type-background), .elementor-42570 .elementor-element.elementor-element-54615a1c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E0E9FD;}.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-42570 .elementor-element.elementor-element-1baab4ac > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-42570 .elementor-element.elementor-element-1baab4ac{text-align:center;}.elementor-42570 .elementor-element.elementor-element-1baab4ac .elementor-heading-title{font-family:"Noto Sans Sundanese", Sans-serif;font-size:30px;font-weight:bold;line-height:75px;-webkit-text-stroke-color:#000;stroke:#000;color:#4C6CB3;}.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-42570 .elementor-element.elementor-element-31c46a7 > .elementor-widget-container{margin:-40px 0px 30px 0px;}.elementor-42570 .elementor-element.elementor-element-31c46a7{text-align:center;font-family:"Noto Sans Sundanese", Sans-serif;font-weight:400;color:#7A7A7A;}.elementor-42570 .elementor-element.elementor-element-ba427e1 > .elementor-widget-container{margin:-30px 0px 50px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-ba427e1 */.contact-form-inner {
    max-width: 700px;
    margin: 0 auto;
    padding: 50px 0;
    border: 1px solid #cccccc;
}
.form-item:first-child {
    margin-top: 0;
}
.form-item {
    width: 70%;
    margin: 30px auto 0;
}
.form-item label{
    display: block;
    font-size: 16px;
    color: #333333;
}
.form-item > input{
    width: 100%;
    height: 50px;
    border-radius: 20px;
    border: 1px solid #cccccc;
    margin-top: 10px;
}
.form-item input::placeholder,
.form-item textarea::placeholder {
    padding-left:15px;
}
.form-flex {
    display: flex;
    flex-direction: column;
}
.form-flex input {
    height: 50px;
    border-radius: 20px;
    border: 1px solid #cccccc;
    margin-top: 10px;
}
.form-flex input.your-add-1 {
    width: 40%;
}
.form-flex input.your-add-2 {
    width: 100%;
}
.form-hissu {
    color: #ffffff;
    font-size: 13px;
    margin-left: 15px;
    padding: 3px 5px;
    background-color: red;
}
.form-free {
    color: #ffffff;
    font-size: 13px;
    margin-left: 15px;
    padding: 3px 5px;
    background-color: #8DC39F;
}
.form-item textarea{
    height: auto;
    width: 100%;
    border-radius: 20px;
    border: 1px solid #cccccc;
    margin-top: 10px;
}
.last-check {
    display: flex;
    align-items: center;
    vertical-align: middle;
}
.last-check > input {
    width: auto;
    height: auto;
    margin: 0 10px 0 0;
}
.last-check a {
    text-decoration: none;
}
.form-item.send-btn{
    max-width: 200px;
    margin: 40px auto 0;
}
.form-item.send-btn input{
    background-color: #4c6cb3;
    color: #ffffff;
    border-radius: 0px;
    font-weight: 700;
    cursor: pointer;
}
.form-item.send-btn input:hover {
    background-color: #FFFFFF;
    color: #4c6cb3;
    border: 1px solid #4c6cb3;
    transition: all .3s;
}

/* レスポンシブコード
画面サイズ768px以下で表示を変えています
 */
.contact-form-inner {
    font-family: 'Noto Sans JP', sans-serif;
    max-width: 700px;
    margin: 0 auto;
    padding: 50px 0;
    border: 1px solid #cccccc;
}

/* 入力フィールドのスタイル調整 */
.form-item {
    width: 75%;
    margin: 30px auto 0;
}

.form-item label {
    display: block;
    font-size: 18px;
    font-weight: 500;
    color: #333333;
    margin-bottom: 8px;
    font-family: 'Noto Sans JP', sans-serif;
}

.form-item > input,
.form-item textarea {
    width: 100%;
    height: 60px;  /* 高さを少し大きく */
    font-size: 18px;
    padding: 15px;  /* 余白を大きくして見やすく */
    font-family: 'Noto Sans JP', sans-serif;
    border-radius: 20px;
    border: 1px solid #cccccc;
    margin-top: 10px;
    box-sizing: border-box;
}

.form-item textarea {
    height: 180px;  /* テキストエリアも高さを増やす */
    resize: vertical;
}

.form-item input::placeholder,
.form-item textarea::placeholder {
    padding-left: 15px;
    font-size: 16px;
    color: #999999;
    font-family: 'Noto Sans JP', sans-serif;
}

/* フォーカス時のスタイル改善 */
.form-item > input:focus,
.form-item textarea:focus {
    border-color: #3498db;
    box-shadow: 0px 0px 8px rgba(52, 152, 219, 0.5);
    outline: none;
}

/* 住所入力の調整 */
.form-flex {
    display: flex;
    flex-direction: column;
}

.form-flex input {
    height: 55px;
    font-size: 18px;
    border-radius: 20px;
    border: 1px solid #cccccc;
    margin-top: 10px;
    padding: 12px;
}

/* 必須・任意表示ラベルの調整 */
.form-hissu, .form-free {
    font-size: 14px;
    margin-left: 10px;
    padding: 5px 8px;
    border-radius: 5px;
    font-family: 'Noto Sans JP', sans-serif;
    display: inline-block;
}

.form-hissu {
    background-color: red;
    color: #ffffff;
}

.form-free {
    background-color: #8DC39F;
    color: #ffffff;
}

/* チェックボックスのスタイル */
.last-check {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
}

.last-check > input {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
}

/* 送信ボタンのデザイン */
.form-item.send-btn {
    max-width: 250px;
    margin: 50px auto 0;
}

.form-item.send-btn input {
    width: 100%;
    background-color: #4c6cb3;
    color: #ffffff;
    font-size: 20px;
    padding: 18px;
    border-radius: 5px;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease-in-out;
}

.form-item.send-btn input:hover {
    background-color: #ffffff;
    color: #4c6cb3;
    border: 1px solid #4c6cb3;
}

/* レスポンシブデザイン */
@media screen and (max-width: 768px) {
    .contact-form-inner {
        padding: 30px 15px;
        border: none;
    }

    .form-item {
        width: 95%;
        margin: 20px auto 0;
    }

    .form-item > input {
        height: 50px;
        font-size: 16px;
        border-radius: 15px;
        padding: 10px;
    }

    .form-item textarea {
        border-radius: 15px;
        font-size: 16px;
        padding: 10px;
    }

    .form-item.send-btn {
        width: 90%;
        margin: 30px auto 0;
    }

    .form-item.send-btn input {
        font-size: 18px;
        padding: 15px;
    }

    .form-flex input {
        height: 50px;
        border-radius: 15px;
        font-size: 16px;
    }

    .form-hissu, .form-free {
        font-size: 12px;
        margin-left: 5px;
    }

    .last-check {
        font-size: 14px;
    }

    .last-check > input {
        width: 18px;
        height: 18px;
        margin-right: 5px;
    }
}/* End custom CSS */