.elementor-20559 .elementor-element.elementor-element-406ead5{--display:flex;--flex-wrap:wrap;--align-content:flex-start;--padding-top:12vw;--padding-bottom:16vw;--padding-left:14vw;--padding-right:16vw;}.elementor-20559 .elementor-element.elementor-element-76ed7dd{--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;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;}.elementor-20559 .elementor-element.elementor-element-95d1565{--display:flex;}.elementor-widget-heading .elementor-heading-title{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-20559 .elementor-element.elementor-element-a7043d1 > .elementor-widget-container{padding:0vw 0vw 1vw 0vw;}.elementor-20559 .elementor-element.elementor-element-a7043d1{text-align:end;}.elementor-20559 .elementor-element.elementor-element-a7043d1 .elementor-heading-title{font-size:0.95vw;color:#FA0000;}.elementor-20559 .elementor-element.elementor-element-318c31a{--display:flex;--padding-top:3vw;--padding-bottom:2vw;--padding-left:0vw;--padding-right:0vw;}.elementor-20559 .elementor-element.elementor-element-36d46b2 > .elementor-widget-container{padding:0vw 0vw 4vw 0vw;}.elementor-20559 .elementor-element.elementor-element-36d46b2 .elementor-heading-title{font-size:2vw;line-height:1.7em;color:#333333;}.elementor-20559 .elementor-element.elementor-element-6697902{--display:flex;}.elementor-20559 .elementor-element.elementor-element-d0ab899 > .elementor-widget-container{padding:1vw 0vw 0vw 0vw;}.elementor-20559 .elementor-element.elementor-element-d0ab899 .elementor-heading-title{color:#FA0000;}.elementor-20559 .elementor-element.elementor-element-603c065 > .elementor-widget-container{padding:0vw 0vw 0vw 0vw;}.elementor-20559 .elementor-element.elementor-element-a0465d8{--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;}@media(min-width:768px){.elementor-20559 .elementor-element.elementor-element-318c31a{--width:38%;}.elementor-20559 .elementor-element.elementor-element-6697902{--width:50%;}}@media(max-width:1020px){.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 );}}@media(max-width:767px){.elementor-20559 .elementor-element.elementor-element-406ead5{--padding-top:32vw;--padding-bottom:32vw;--padding-left:7.5vw;--padding-right:7.5vw;}.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-20559 .elementor-element.elementor-element-a7043d1 .elementor-heading-title{font-size:3vw;}.elementor-20559 .elementor-element.elementor-element-d0ab899 > .elementor-widget-container{padding:1vw 0vw 2vw 0vw;}}/* Start custom CSS for heading, class: .elementor-element-a7043d1 */.required_mark{
    font-size: 0.95vw;
    color: red;
}

/*タブレット*/
@media only screen and (max-width: 1020px) and (min-width: 768px) {
    .required_mark{
    font-size: 1.5vw;
    }
}

/*スマホ*/
@media screen and (max-width:767px){
    .required_mark{
    font-size: 4vw;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-d0ab899 */.elementor-20559 .elementor-element.elementor-element-d0ab899 {
    display: none;
}

.wpcf7-response-output {
     display: none;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-603c065 *//*--------------------------*\
   基本設定
\*--------------------------*/
.elementor-20559 .elementor-element.elementor-element-603c065 dl {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0.5vw 0;
}

.elementor-20559 .elementor-element.elementor-element-603c065 dt, .elementor-20559 .elementor-element.elementor-element-603c065 p {
    margin: 0;
    padding: 0;
}

.elementor-20559 .elementor-element.elementor-element-603c065 dt {
    flex-direction: column;
    justify-content: start;
}

.elementor-20559 .elementor-element.elementor-element-603c065 dd {
    margin: 0;
    padding: 0;
}

/*入力後の文字色*/
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="search"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select {
    color: #F9FAFC;
}

/*入力エリア*/
.D3C_cf-area select,
.D3C_cf-area input,
.D3C_cf-area textarea {
    width: 100%;
    height: auto;
    font-size: 0.85vw;
    color:#333333!important;
    font-weight: 300;
    padding: 0.8em;
    box-sizing: border-box;
    border: 1px solid #a1a4a466;
    line-height: 1.5;
    background: transparent;
    border-radius: 0; /* 角を丸くしない */
     appearance: none!important;
    -moz-appearance: none!important;
    -webkit-appearance: none!important;
    background-color: transparent;
}

.D3C_cf-area textarea {
    height: 16em!important;
}

/*選択項目の設定*/
.D3C_cf-area select {
    font-size: 0.85vw!important;
    padding: 0.8em!important;
}

/*フォーカス時の設定*/
.D3C_cf-area input:focus, .D3C_cf-area textarea:focus {
    outline: none;
    color: #F9FAFC;
    background: #ffffff00;
    border: 1px solid #262626!important;
    
}

/*エラーメッセージの非表示*/
.wpcf7-not-valid-tip {
    display: none!important;
    
}

.custom-error-message {
    font-size: 0.75vw;
}


/*必須促す文 位置調整*/
.wpcf7 form .wpcf7-response-output .wpcf7-not-valid-tip {
    position: absolute!important;
    top: 0!important;
    left: 0!important;
    color: red!important;
    font-size: 0.75vw!important;
    letter-spacing: 0.13em!important;
    margin: 0!important;
    padding: 0!important;
    border: none!important;
}

.disabled {
    opacity: 0.5;
    cursor: not-allowed!important;
}

.disabled .arrow, .disabled .arrow::before, .disabled .arrow::after {
    background-color: #ccc;
}

/*--------------------------*\
   文字＆必須マーク設定
\*--------------------------*/
/*ラベルタイトル*/
.D3C_cf_name {
    color: #333333;
    font-size: 0.75vw;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.13em;
    margin-bottom: 0.5vw!important;
    opacity: 1;
}

/*ホルダーの文字*/
.D3C_cf-area ::placeholder {
    font-size: 0.85vw;
    letter-spacing: 0.07em;
    color: #7a7a7a;
}

/*必須マーク*/
.D3C_cf-required {
    font-weight: 300;
    color: red;
    font-size: 1.2vw;
    line-height: 2em;
    padding: 0em 0.3em;
}

/*プライバシーポリシー*/
.form_acceptance, .rechptcha {
    text-align: center;
    color: #333333;
    font-weight: 300;
    font-size: 0.85vw;
    letter-spacing: 0.07em;
    line-height: 2;
}

/*プライバシーポリシーのリンク*/
.form_acceptance a, .rechptcha a {
    text-decoration: underline;
    color: #F9FAFC;
}

/*チェックボックス文字*/
.wpcf7-list-item-label {
    font-size: 0.85vw;
    font-weight: 300;
    letter-spacing: 0.07em;
    margin-left: 0.75vw; /* チェックボックスと文字の間を空ける */
}

/* チェックボックスのデフォルトスタイルを削除 */
.form_acceptance input[type="checkbox"] {
    appearance: none!important;
    -moz-appearance: none!important;
    -webkit-appearance: none!important;
    width: 1.25vw!important;
    height: 1.25vw!important;
    margin: 0!important;
    background-color: transparent;
    border: 1px solid #a1a4a466;
    cursor: pointer;
    position: relative;
    /*top: .455em;*/
    top: 0em;
    /*margin-bottom: 0.15em;*/
}

/* チェックがついたときの状態 */
.form_acceptance input[type="checkbox"]:checked {
    background-color: #cfff71;
    border-color: #cfff71;
    position: relative;
}

/* チェックがついたときのカスタムアイコン */
.form_acceptance input[type="checkbox"]:checked::after {
    content: ""; /* アイコンを背景として表示 */
    position: absolute;
    font-size: 1vw; 
    width: 0.6em;
    height: 0.3em;
    border-left: 1px solid #000; /* チェックマークの線 */
    border-bottom: 1px solid #000; /* チェックマークの線 */
    transform: rotate(-45deg); /* 線を斜めにしてチェックマークに見せる */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg); /* チェックボックス中央に配置 */
}


.form_acceptance{
    margin: 2vw 0 2vw 0;
}

.rechptcha{
    margin-bottom: 2vw;
}

/*プライバシーポリシーのリンク*/
.form_acceptance a, .rechptcha a {
    position: relative;
    text-decoration: none;
    color: #333333!important;
}

.form_acceptance a::after, .rechptcha a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.5px;
    bottom: -1px;
    left: 0;
    background-color: #333333!important;
    opacity: 0.66;
}



/*--------------------------*\
   ボタンの設定
\*--------------------------*/
.D3C_cf-send input[type="submit"],
.wpcf7 form.invalid input[type="submit"] {
    display: block;
    margin: 4vw auto 0;
    font-size: 0.85vw;
    font-weight: 500;
    line-height: 1.7em;
    letter-spacing: 0.13em;
    color: #333333;
    padding: 0.3vw 1.2vw;
    border: none!important;
    position: relative;
    cursor: pointer;
    transition: all 0.3s;
    background: transparent;
    border: 0;
    font-family: 'Noto Sans Jp';
}

.D3C_cf-send input[type="submit"]:hover, .D3C_cf-send input[type="submit"]:focus {
    background: transparent;
    color: #333333!important;
}

/*--------------------------*\
   ポインター
\*--------------------------*/
.cursor-pointer, .form_acceptance a:hover, .rechptcha a:hover {
    cursor: pointer!important;
}

/*--------------------------*\
   擬似要素の矢印
\*--------------------------*/
.arrow-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15%;
    margin: 0 auto;
}

.arrow {
    position: relative;
    display: inline-block;
    width: 3vw;
    height: 0.1vw;
    margin: 1.5vw 0;
    border-radius: 9999px;
    background-color: #333333;
    transition: opacity 0.3s, background-color 0.3s;
}

.arrow::before, .arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.05vw);
    right: 0;
    width: 1.5vw;
    height: 0.1vw;
    border-radius: 9999px;
    background-color: #333333;
    transform-origin: calc(100% - 0.05vw) 50%;
}

.arrow::before {
    transform: rotate(45deg);
}

.arrow::after {
    transform: rotate(-45deg);
}



input[name="acceptance-343"] {
  all: unset;
}





/*--------------------------*\
   メディアクエリ
\*--------------------------*/

/* タブレット縦向き */ 
@media (min-width: 768px) and (max-width: 991px) { 
.D3C_cf-area select,
    .D3C_cf-area input,
    .D3C_cf-area textarea {
        height: 4em;
        font-size: 1.1vw;
    }
    
    /*選択項目の設定*/
.D3C_cf-area select {
    font-size: 1vw!important;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
}

    .D3C_cf_name, .wpcf7-list-item-label, .D3C_cf-required, .D3C_cf-area ::placeholder, .rechptcha, .D3C_cf-send input[type="submit"] {
        font-size: 1vw;
    }

    .D3C_cf-required {
        padding: 0.2vw 1vw 0.3vw 0.5vw;
    }
    
    /*チェックボックス文字*/
    .wpcf7-list-item-label {
        margin-left: 1vw; /* チェックボックスと文字の間を空ける */
    }
    
   
    
    .wpcf7-form-control-wrap .wpcf7-acceptance input[type="checkbox"] {
        width: 1.5vw!important;
        height: 1.5vw!important;
    }

    .wpcf7 form .wpcf7-response-output {
        font-size: 0.85vw;
    }
    
    .custom-error-message {
        font-size: 0.85vw;
    }
    
    .form_acceptance{
        margin: 2vw 0;
}

    .rechptcha{
        margin-bottom: 2vw;
}
 } 


/* タブレット横向き */ 
@media (min-width: 992px) and (max-width: 1200px) {
.D3C_cf-area select,
    .D3C_cf-area input,
    .D3C_cf-area textarea {
        height: 4em;
        font-size: 0.85vw;
    }

    .D3C_cf_name, .wpcf7-list-item-label, .D3C_cf-required, .D3C_cf-area ::placeholder, .rechptcha, .D3C_cf-send input[type="submit"] {
        font-size: 0.75vw;
    }

    .D3C_cf-required {
        padding: 0.2vw 1vw 0.3vw 0.5vw;
    }
    
    /*チェックボックス文字*/
    .wpcf7-list-item-label {
        margin-left: 1vw; /* チェックボックスと文字の間を空ける */
    }
    
    .wpcf7-form-control-wrap .wpcf7-acceptance input[type="checkbox"] {
        width: 1.5vw!important;
        height: 1.5vw!important;
    }

    .wpcf7 form .wpcf7-response-output {
        font-size: 0.85vw;
    }
    
    .custom-error-message {
        font-size: 0.85vw;
    }    
    
    .form_acceptance{
        margin: 2vw 0;
}

    .rechptcha{
        margin-bottom: 2vw;
}
}

/*スマホ*/
@media screen and (max-width: 767px) {
  
 html {
    -webkit-text-size-adjust: none!important;
    -ms-text-size-adjust: none!important;
    text-size-adjust: none!important;
  }
  
  
  .D3C_cf-area dd {
    overflow: hidden;
  }

  /* ２）入力フィールドの縮小＆幅補正 */
  .D3C_cf-area input,
  .D3C_cf-area select,
  .D3C_cf-area textarea{
    /* 自動ズーム回避のため font-size は 16px に */
    font-size: 16px !important;

    /* 縮小率 = 見た目希望px ÷ 内部px  →  12 ÷ 16 = 0.75 */
    transform: scale(0.75) !important;
    transform-origin: top left !important;

    /* 縮小された幅を補正（1 ÷ 0.75 = 1.3333） */
    width: calc(100% / 0.75) !important;

    /* そのほか必要なスタイルを再指定 */
    box-sizing: border-box;
    padding: 0.8em;
    line-height: 1.5;
  }
 
   /* ② 直後に select だけ上書きして崩れをリセット */
  .D3C_cf-area select {
    /* scale を無効化 */
    transform: none !important;
    /* 元の幅・padding・高さに戻す */
    width: 100% !important;
    padding: 0.8em !important;
    font-size: 2.8vw !important; /* 見た目サイズに */
    height: 4em !important;      /* お好みの高さに */
    line-height: 1.5 !important;
    margin-bottom:4vw;
  }
   
  /* フォームの placeholder サイズを調整 */
  .D3C_cf-area input::placeholder,
  .D3C_cf-area textarea::placeholder,
  .D3C_cf-area select::placeholder {
    font-size: 3.6vw;   /* お好みのサイズに */
    
  }
    
    .elementor-20559 .elementor-element.elementor-element-603c065 dl {
        padding: 0vw 0;
    }

    .D3C_cf-area select,
    .D3C_cf-area input {
        height: 4em;
        font-size: 2.8vw;
        box-sizing: border-box;
       
    }

    .D3C_cf-area textarea {
        height: 16em;
        font-size: 2.8vw;
        box-sizing: border-box;
    }

    .D3C_cf_name, .wpcf7-list-item-label, .D3C_cf-required, .D3C_cf-area ::placeholder, .rechptcha, .D3C_cf-send input[type="submit"] {
        font-size: 2.8vw;
    }

    .D3C_cf-required {
        padding: 0.2vw 1vw 0.3vw 1vw;
        font-size:3.6vw;
    }
    
    /*チェックボックス文字*/
    .wpcf7-list-item-label {
        margin-left: 2vw; /* チェックボックスと文字の間を空ける */
    }

    .wpcf7-form-control-wrap .wpcf7-acceptance input[type="checkbox"] {
        width: 3.8vw!important;
        height: 3.8vw!important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 0; /* 角を丸くしない */
    }

    .wpcf7-form-control-wrap .wpcf7-acceptance input[type="checkbox"]:checked::after {
        font-size: 2.8vw; /* チェックマークが丸くならないようにサイズを調整 */
    }

    .wpcf7 form .wpcf7-response-output {
        font-size: 2.8vw;
    }

    .custom-error-message {
        font-size: 2.8vw;
    }
    
    .form_acceptance{
    margin: -8vw 0 2vw 0;
    }
    
    .rechptcha{
    margin-bottom: 8vw;
    }
    
    .D3C_cf-send input[type="submit"], .wpcf7 form.invalid input[type="submit"] {
         font-size: 2.8vw;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6697902 */.elementor-20559 .elementor-element.elementor-element-6697902 {
    position: relative!important;
}/* End custom CSS */