.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-3570 .elementor-element.elementor-element-a8aab33{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}/* Start custom CSS for html, class: .elementor-element-2252757 *//* ========================================
   CONTACT FORM 7
======================================== */

/* WordPressテーマ側のtable/button/input装飾をリセット */
.ctCf7 .wpcf7,
.ctCf7 .wpcf7-form,
.ctCf7 .form-tbl,
.ctCf7 .form-tbl tbody,
.ctCf7 .form-tbl tr,
.ctCf7 .form-tbl th,
.ctCf7 .form-tbl td{
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.ctCf7 .form-tbl{
  display:table!important;
  width:100%!important;
  table-layout:fixed;
  border-collapse:collapse!important;
  border-spacing:0!important;
  border:0!important;
  border-top:1px solid #929ba0!important;
}

.ctCf7 .form-tbl tbody{
  display:table-row-group!important;
}

.ctCf7 .form-tbl tr{
  display:table-row!important;
  border:0!important;
  border-bottom:1px solid #d2d7da!important;
}

.ctCf7 .form-tbl tr:hover,
.ctCf7 .form-tbl tr:focus-within{
  background:transparent!important;
}

.ctCf7 .form-tbl th,
.ctCf7 .form-tbl td{
  display:table-cell!important;
  height:auto!important;
  min-height:0!important;
  padding:27px 0 29px!important;
  border:0!important;
  vertical-align:top!important;
}

.ctCf7 .form-tbl th{
  width:220px!important;
  padding-right:34px!important;
  color:var(--ct-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.7!important;
  text-align:left!important;
  white-space:normal!important;
}

.ctCf7 .form-tbl td{
  width:auto!important;
}

.ctCf7 .form-tbl p,
.ctCf7 .form-tbl br{
  margin:0!important;
}

.ctCf7 .form-tbl br{
  display:none!important;
}

/* 必須・任意 */
.ctCf7 .form-tbl th::after{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:21px;
  margin-left:10px;
  padding:3px 6px;
  border:0;
  font-size:8px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
}

.ctCf7 .form-tbl th.must::after{
  content:"必須";
  background:var(--ct-red);
  color:#fff;
}

.ctCf7 .form-tbl th.none::after{
  content:"任意";
  background:#edf0f1;
  color:#667178;
}

/* CF7 wrapper */
.ctCf7 .wpcf7-form-control-wrap{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* テキスト・メール・電話・セレクト・テキストエリア */
.ctCf7 input[type="text"],
.ctCf7 input[type="email"],
.ctCf7 input[type="tel"],
.ctCf7 select,
.ctCf7 textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid #b9c0c4!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ct-ink)!important;
  box-shadow:none!important;
  outline:0!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.6!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.ctCf7 input[type="text"],
.ctCf7 input[type="email"],
.ctCf7 input[type="tel"],
.ctCf7 select{
  height:54px!important;
  padding:0 16px!important;
}

.ctCf7 textarea{
  min-height:210px!important;
  padding:15px 16px!important;
  resize:vertical!important;
}

/* hoverは白のまま、枠線だけ少し濃く */
.ctCf7 input[type="text"]:hover,
.ctCf7 input[type="email"]:hover,
.ctCf7 input[type="tel"]:hover,
.ctCf7 select:hover,
.ctCf7 textarea:hover{
  border-color:#8f989e!important;
  background:#fff!important;
  color:var(--ct-ink)!important;
}

/* focus時のみ赤線 */
.ctCf7 input[type="text"]:focus,
.ctCf7 input[type="email"]:focus,
.ctCf7 input[type="tel"]:focus,
.ctCf7 select:focus,
.ctCf7 textarea:focus{
  border-color:var(--ct-red)!important;
  background:#fff!important;
  color:var(--ct-ink)!important;
  box-shadow:0 0 0 2px rgba(201,43,36,.09)!important;
}

.ctCf7 input::placeholder,
.ctCf7 textarea::placeholder{
  color:#9aa2a7!important;
  opacity:1!important;
}

/* セレクト矢印 */
.ctCf7 select{
  padding-right:44px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#596268 50%),
    linear-gradient(135deg,#596268 50%,transparent 50%)!important;
  background-position:
    calc(100% - 19px) 23px,
    calc(100% - 14px) 23px!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}

/* ラジオボタン */
.ctCf7 .wpcf7-radio{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0!important;
}

.ctCf7 .wpcf7-list-item{
  display:block!important;
  margin:0!important;
}

.ctCf7 .wpcf7-radio .wpcf7-list-item label{
  position:relative;
  display:flex!important;
  align-items:center;
  min-width:132px;
  min-height:50px;
  margin:0!important;
  padding:0 18px 0 43px!important;
  border:1px solid transparent;
  background:#f1f3f4!important;
  color:#3f484e!important;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.ctCf7 .wpcf7-radio .wpcf7-list-item label:hover{
  border-color:#c5cbce;
  background:#eef0f1!important;
}

.ctCf7 .wpcf7-radio input[type="radio"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.ctCf7 .wpcf7-radio .wpcf7-list-item-label::before{
  content:"";
  position:absolute;
  top:50%;
  left:15px;
  width:16px;
  height:16px;
  border:1px solid #a7afb4;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
}

.ctCf7 .wpcf7-radio input[type="radio"]:checked
+ .wpcf7-list-item-label::before{
  border-color:var(--ct-red);
  background:var(--ct-red);
  box-shadow:inset 0 0 0 4px #fff;
}

/* プライバシーポリシー */
.ctCf7 .form-check{
  margin-top:30px;
}

.ctCf7 .wpcf7-acceptance .wpcf7-list-item{
  margin:0!important;
}

.ctCf7 .wpcf7-acceptance label{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  min-height:22px;
  margin:0!important;
  padding-left:31px!important;
  color:#4c565c!important;
  font-size:12px;
  line-height:1.8;
  cursor:pointer;
}

.ctCf7 .wpcf7-acceptance input[type="checkbox"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}

.ctCf7 .wpcf7-acceptance .wpcf7-list-item-label::before{
  content:"";
  position:absolute;
  top:2px;
  left:0;
  width:18px;
  height:18px;
  border:1px solid #a7afb4;
  background:#fff;
}

.ctCf7 .wpcf7-acceptance input[type="checkbox"]:checked
+ .wpcf7-list-item-label::before{
  border-color:var(--ct-red);
  background:
    linear-gradient(135deg,transparent 43%,#fff 43% 52%,transparent 52%),
    linear-gradient(45deg,transparent 46%,#fff 46% 55%,transparent 55%),
    var(--ct-red);
}

.ctCf7 .form-check a{
  color:var(--ct-red)!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

/* 送信ボタン */
.ctCf7 .form-submit{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:34px!important;
}

.ctCf7 input.wpcf7-submit{
  display:block!important;
  width:auto!important;
  min-width:300px!important;
  min-height:62px!important;
  margin:0!important;
  padding:0 28px!important;
  border:1px solid var(--ct-ink)!important;
  border-radius:0!important;
  background:var(--ct-ink)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:center;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

/* テーマの青hover/activeを完全無効化 */
.ctCf7 input.wpcf7-submit:hover,
.ctCf7 input.wpcf7-submit:focus,
.ctCf7 input.wpcf7-submit:focus-visible,
.ctCf7 input.wpcf7-submit:active{
  border-color:var(--ct-red)!important;
  background:var(--ct-ink)!important;
  color:#fff!important;
  box-shadow:none!important;
  outline:0!important;
}

.ctCf7 input.wpcf7-submit:disabled{
  opacity:.55;
  cursor:not-allowed!important;
}

/* エラー・完了メッセージ */
.ctCf7 .wpcf7-not-valid{
  border-color:var(--ct-red)!important;
}

.ctCf7 .wpcf7-not-valid-tip{
  display:block!important;
  margin-top:8px!important;
  color:var(--ct-red)!important;
  font-size:11px!important;
  line-height:1.7!important;
}

.ctCf7 .wpcf7-response-output{
  margin:26px 0 0!important;
  padding:16px 18px!important;
  border:0!important;
  border-left:4px solid var(--ct-red)!important;
  border-radius:0!important;
  background:#f1f3f4!important;
  color:#4b555b!important;
  font-size:12px!important;
  line-height:1.8!important;
}

.ctCf7 .wpcf7-response-output:empty{
  display:none!important;
}

.ctCf7 .wpcf7-spinner{
  margin:0 0 0 12px!important;
}

/* SP */
@media(max-width:767px){
  .ctCf7 .form-tbl,
  .ctCf7 .form-tbl tbody,
  .ctCf7 .form-tbl tr,
  .ctCf7 .form-tbl th,
  .ctCf7 .form-tbl td{
    display:block!important;
    width:100%!important;
  }

  .ctCf7 .form-tbl tr{
    padding:23px 0 26px!important;
  }

  .ctCf7 .form-tbl th,
  .ctCf7 .form-tbl td{
    padding:0!important;
  }

  .ctCf7 .form-tbl th{
    margin-bottom:11px!important;
    padding-right:0!important;
  }

  .ctCf7 .wpcf7-radio{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .ctCf7 .wpcf7-radio .wpcf7-list-item label{
    width:100%!important;
  }

  .ctCf7 .form-submit{
    justify-content:stretch!important;
  }

  .ctCf7 input.wpcf7-submit{
    width:100%!important;
    min-width:0!important;
  }
}/* End custom CSS */