@charset "UTF-8";

/*
共通スタイル
-------------------------------------------------- */
.wpcf7 .cf7-w-full { width: 100%; }
.wpcf7 .cf7-w-harf { width: 50%; }
.wpcf7 .cf7-w-short { width: 25%; }
.wpcf7 .cf7-w-200 { width: 200px; }
.wpcf7 .cf7-w-180 { width: 180px; }
.wpcf7 .cf7-w-150 { width: 150px; }
.wpcf7 .cf7-w-100 { width: 100px; }
.wpcf7 .cf7-form { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; margin: 0 0 1.75em; }
.wpcf7 .cf7-form dt { width: 320px; }
.wpcf7 .cf7-form dt label { font-weight: bold; }
.wpcf7 .cf7-form dd { width: calc(100% - 320px); }
.wpcf7 .cf7-required {
  display: inline-block; margin-right: 35px;
  padding: 3px 5px; margin-left: 10px; margin-bottom: 2px;
  letter-spacing: 2px; border-radius: 2px; font-size: 0.8em; color: #f00;
}
.wpcf7 .cf7-group { border: 1px dotted #bac7c9; padding: 5px 10px; margin-bottom: 10px; }
.wpcf7 .cf7-inline .wpcf7-list-item { display: inline; margin-left: 10px; }
.wpcf7 .cf7-acceptance { margin: 0 0 1.75em; text-align: center; }
.wpcf7 .cf7-buttons { text-align: center; }

@media screen and (max-width:767px) {
  .wpcf7 .cf7-form { display: block; }
  .wpcf7 .cf7-form dt { width: 100%; margin: 0; }
  .wpcf7 .cf7-form dt label { display: block; margin-bottom: 10px; }
  .wpcf7 .cf7-form dd { width: 100%; border-bottom: 1px solid #ccc; padding-bottom: 18px; margin-bottom: 36px; }
  .wpcf7 .cf7-required { float: none; margin-right: 0; }
}


/*
各種コントロール
-------------------------------------------------- */
.wpcf7 .wpcf7-form-control-wrap { display: inline-block; margin-bottom: 10px; max-width: 100%; }
.wpcf7 .wpcf7-form-control-wrap:has(.cf7-w-full) { width: 100%; }
.wpcf7 .wpcf7-form-control-wrap:has(.cf7-w-half) { width: 50%; }
.wpcf7 .wpcf7-form-control-wrap:has(.cf7-w-short) { width: 25%; }
.wpcf7 .wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-left: 5px; }
.wpcf7 .wpcf7-form-control { max-width: 100%; }

/* 入力用のフィールド */
.wpcf7 .wpcf7-text, .wpcf7 .wpcf7-number, .wpcf7 .wpcf7-date, .wpcf7 .wpcf7-select { height: 60px; line-height: 60px; padding-left: 20px !important; padding-right: 20px !important; }
.wpcf7 .wpcf7-text, .wpcf7 .wpcf7-number, .wpcf7 .wpcf7-date, .wpcf7 .wpcf7-textarea, .wpcf7 .wpcf7-select  { border: none; background: #F3F3F3; }
.wpcf7 .wpcf7-textarea { padding: 10px; }

.wpcf7-select { appearance: none; }
.wpcf7-select-wrap { position: relative; }
.wpcf7-select-wrap:after {
  content: '▼';
  color: #BDBDBD;
  display: block;
  width: 32px;
  height: 32px;
  text-align: center;
  position: absolute;
  right: 7px;
  top: 37px;
  font-size: 12px;
  transform: translateY(-50%);
}

.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  display: block; margin: 0; margin-bottom: 5px;
}

.wpcf7 .wpcf7-text.wpcf7-not-valid,
.wpcf7 .wpcf7-number.wpcf7-not-valid,
.wpcf7 .wpcf7-date.wpcf7-not-valid,
.wpcf7 .wpcf7-textarea.wpcf7-not-valid,
.wpcf7 .wpcf7-select.wpcf7-not-valid {
  background: #f7d9d9; border: 2px solid #a00; color: #a00; transition: 0.3s;
}

/* 送信ボタン */
.wpcf7 .wpcf7-submit { background: #26CCC2; padding: 0.95em 1.5em;
    box-shadow: 0px 0px 8px 0px #01879040 inset, 0px 0px 4px 0px #00000040;
    border-radius: 8px; font-size: 1.2em; color: #fff; }
.wpcf7 .wpcf7-submit:hover { box-shadow: none; background: #6AECE1; transition: 0.3s; }
.wpcf7 .wpcf7-submit[disabled] { background: #616161 !important; }


.wpcf7 p:has(> label) { margin-bottom: 5px; }


/* 横並び */
.wpcf7 .wpcf7-flex { display: flex; justify-content: space-between; gap: 24px; }
.wpcf7 .wpcf7-flex .wpcf7-form-control-wrap { flex: 1 0 0; }
.wpcf7 .wpcf7-flex .wpcf7-form-control-wrap input { width: 100%; }
  

/*
バリデーションメッセージ
-------------------------------------------------- */
.wpcf7-not-valid-tip, .wpcf7-response-output.wpcf7-validation-errors { color: #cc0000; font-weight: bold; }

/* 送信ボタンが押されるまでは、エラー通知を非表示にする */
.wpcf7-form-control-wrap > .wpcf7-not-valid-tip { display: none; }
.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip { display: block; }

.wpcf7 form.invalid .wpcf7-response-output {
  padding: 0.5em 1em; border: 2px solid #b51919;
  background-color: #f7d9d9; color: #b51919; font-weight: bold;
}
.wpcf7 form.invalid .wpcf7-response-output:before {
  content: "\f071"; font-family: 'gyd_icon'; float: left; margin-right: 5px; color: #b51919;
}


/*
その他
-------------------------------------------------- */

/* reCAPTCHA のバッジを非表示にする */
.grecaptcha-badge { display: none; }

/* select2ライブラリ */
.wpcf7 .select2-container .select2-selection--single { width: 100%; height: 36px; border: 2px solid #bac7c9; border-radius: 0; }
.wpcf7 .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 32px; }
.wpcf7 .select2-container--default .select2-selection--single .select2-selection__arrow { top: 6px; }
