@charset "UTF-8";
/*======================================
form-reset
/*======================================*/
/*placeholder*/ :placeholder-shown {
  color: rgb(var(--navy-rgb) / .6);
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */ ::-webkit-input-placeholder {
  color: rgb(var(--txt-rgb) / .6);
}
/* Firefox 18- */ :-moz-placeholder {
  color: rgb(var(--txt-rgb) / .6);
  opacity: 1;
}
/* Firefox 19+ */ ::-moz-placeholder {
  color: rgb(var(--txt-rgb) / .6);
  opacity: 1;
}
/* IE 10+ */ :-ms-input-placeholder {
  color: rgb(var(--txt-rgb) / .6);
}
/*placeholder*/
.textarea-wrap :placeholder-shown {
  color: rgb(var(--txt-rgb) / .6);
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
.textarea-wrap ::-webkit-input-placeholder {
  color: rgb(var(--txt-rgb) / .6);
}
/* Firefox 18- */
.textarea-wrap :-moz-placeholder {
  color: rgb(var(--txt-rgb) / .6);
  opacity: 1;
}
/* Firefox 19+ */
.textarea-wrap ::-moz-placeholder {
  color: rgb(var(--txt-rgb) / .6);
  opacity: 1;
}
/* IE 10+ */
.textarea-wrap :-ms-input-placeholder {
  color: var(--navy);
}
input[type="submit"] {
  -webkit-appearance: none;
}
:-moz-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--navy);
  font-size: 11px;
}
:-ms-input-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--navy);
  font-size: 11px;
}
button, input {
  border: 0;
  outline: 0;
}
/*======================================
form-style
/*======================================*/
.form-CMN input, .form-CMN input[type="text"]:focus, .form-CMN select, .form-CMN textarea {
  background: var(--gray);
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
  border: none;
  font-size: 16px;
  border-radius: .5em;
  width: 100%;
  text-align: left;
  max-width: 800px;
  padding: 0 1em;
  height: 55px;

  box-shadow: inset 3px 3px 6px #BABECC, inset -6px -6px 11px var(--white);
  transition: all 0.2s ease-in-out;
  appearance: none;
  -webkit-appearance: none;
}
.form-CMN input:focus, .form-CMN input[type="text"]:focus, .form-CMN select:focus, .form-CMN textarea:focus {
  border: none;
  box-shadow: inset 1px 1px 2px #BABECC, inset -1px -1px 2px #FFF;
}
/*======================================
select
/*======================================*/
.form-CMN select {
  margin-right: .5em;
  background-color: var(--gray);
  overflow: hidden;
  z-index: 2;
  cursor: pointer;
  color: rgb(var(--navy-rgb) / .7);
}
.form-CMN select.is-empty {
  color: rgb(var(--navy-rgb) / .6);
}
.select-wrap dd:before, .select-wrap dd:after {
  position: absolute;
  text-align: center;
  font-family: "dashicons";
  font-weight: 900;
  width: 55px;
  height: 55px;
  line-height: 55px;
  font-size: 100%;
  color: rgb(var(--navy-rgb) / .6);
  z-index: 10;
  top: 0;
  right: -10px;
}
@media screen and (min-width:768px) {
  .select-wrap dd:before, .select-wrap dd:after {
    width: 55px;
    height: 55px;
  }
} /*END query*/
.select-wrap dd:before {
  transform: translateY(-5px);
  content: "\f142";
}
.select-wrap dd:after {
  transform: translateY(5px);
  content: "\f140";
}
.select-wrap select:focus, .select-option select {
  color: rgb(var(--navy-rgb) / 1);
}
.select-wrap select::-ms-expand {
  display: none;
}
/*======================================
textarea
/*======================================*/
.form-CMN textarea {
  padding: 1em;
  text-align: justify;
  margin-bottom: 0;
  font-size: 16px;
  letter-spacing: 1px;
  height: 15em;
}
/*======================================
checkbox
/*======================================*/
.form-CMN input[type="checkbox"] {
  display: none;
}
.acceptance-wrap {
  text-align: center;
  font-size: 110%;
  font-weight: 500;
  color: var(--navy);
  margin-left: .5em;
}
.wpcf7-list-item-label {
  position: relative;
}
.acceptance-wrap input[type=checkbox] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  opacity: 0;
}
.acceptance-wrap .wpcf7-list-item-label::before {
  position: absolute;
  cursor: pointer;
  content: "";
  top: 52%;
  left: -1.7em;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  border: 1px solid var(--navy);
  background: var(--white);
  transition: all 0.3s;
}
.acceptance-wrap .wpcf7-list-item-label::after {
  position: absolute;
  content: '';
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f00c";
  color: var(--red);
  left: -1em;
  opacity: 0;
  top: 50%;
  margin-top: -.5em;
  font-size: 150%;
}
input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
/*======================================
submit
/*======================================*/
/* base */
input[type="submit"], button[type="submit"] {
  position: relative;
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 2em auto 0;
  padding: .7em 0;
  text-align: center;
  line-height: 1.3;
  border: 0;
  border-radius: 100px;
  cursor: pointer;
  /* flat */
  background: var(--navy);
  color: var(--white);
  box-shadow: none;
  transform: translateY(0);
  transition: transform .25s ease, opacity .25s ease, background-color .25s ease;
}
/* disabled（not解除前） */
input[type="submit"]:disabled, button[type="submit"]:disabled {
  cursor: default;
  pointer-events: none;
  opacity: .5;
}
/* enabled（not解除後） */
input[type="submit"]:not(:disabled), button[type="submit"]:not(:disabled) {
  opacity: 1;
  transform: translateY(-5px);
}
/* hover：enabledのときだけ 5px 上へ */
input[type="submit"]:not(:disabled):hover, button[type="submit"]:not(:disabled):hover {
  transform: translateY(-10px);
}
/*======================================
radioBtn
/*======================================*/
input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.form-CMN .radio-wrap .wpcf7-list-item {
  width: auto;
  margin-left: 0 !important;
  margin-right: .5em;
  margin-bottom: .5em;
}
.form-CMN .wpcf7-list-item .last {
  margin-bottom: 0;
}
.form-CMN .radio-wrap .wpcf7-list-item label {
  display: inline-block;
  background: var(--white);
  padding: .7em;
  border-radius: 5px;
}
.form-CMN .radio-wrap .wpcf7-list-item:hover {
  opacity: .7;
}
.form-CMN .radio-wrap span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.form-CMN .radio-wrap span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  border: 3px solid rgb(var(--navy-rgb) / .5);
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.form-CMN .radio-wrap span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background-color: var(--white);
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}
input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}
.form-CMN .radio-wrap label:has(input[type="radio"]:checked) {
  background: rgb(var(--navy-rgb) / .5);
  color: var(--white);
}
.form-CMN .radio-wrap input[type="radio"]:checked + span.wpcf7-list-item-label::before {
  border: 3px solid rgb(var(--white-rgb) / .9);
}
.form-CMN .radio-wrap input[type="radio"]:checked + span.wpcf7-list-item-label {
  color: var(--white);
}
/*======================================
aside
/*======================================*/
.form-CMN aside li:not(:last-of-type) {
  margin-bottom: .3em;
}
.form-CMN aside li a {
  display: inline;
  text-decoration: underline;
}
/*======================================
flatpickr
/*======================================*/
.flatpickr-day:hover {
  background-color: rgb(var(--navy-rgb) / .7);
  border-color: transparent;
  color: var(--white);
}
.flatpickr-day.selected {
  background-color: rgb(var(--navy-rgb) / .9);
  border-color: transparent;
  color: var(--white);
}
/*======================================
form-output
/*======================================*/
.schedule-wrap .wpcf7-form-control {
  position: relative;
  cursor: pointer;
}
.schedule-wrap .wpcf7-form-control::-webkit-calendar-picker-indicator {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.schedule-wrap .wpcf7-form-control::before, .schedule-wrap .wpcf7-form-control::after, .schedule-wrap .wpcf7-form-control-wrap::before, .schedule-wrap .wpcf7-form-control-wrap::after {
  position: absolute;
  text-align: center;
  font-family: "dashicons";
  font-weight: 900;
  width: 55px;
  height: 55px;
  line-height: 55px;
  font-size: 100%;
  color: rgb(var(--navy-rgb) / .8);
  z-index: 10;
  top: 0;
  right: -10px;
}
@media screen and (min-width:768px) {
  .schedule-wrap .wpcf7-form-control::before, .schedule-wrap .wpcf7-form-control::after, .schedule-wrap .wpcf7-form-control-wrap::before, .schedule-wrap .wpcf7-form-control-wrap::after {
    width: 55px;
    height: 55px;
  }
} /*END query*/
.schedule-wrap .wpcf7-form-control::before, .schedule-wrap .wpcf7-form-control-wrap::before {
  transform: translateY(-5px);
  content: "\f142";
}
.schedule-wrap .wpcf7-form-control::after, .schedule-wrap .wpcf7-form-control-wrap::after {
  transform: translateY(5px);
  content: "\f140";
}
/*======================================
form-output
/*======================================*/
.wpcf7-spinner {
  display: none !important;
}
div.wpcf7-response-output {
  margin: 2em 0 !important;
  padding: 1.5em .5em !important;
  font-feature-settings: "palt";
  line-height: 1.3em;
  font-size: 100%;
  text-align: center;
}
@media screen and (min-width:768px) {
  div.wpcf7-response-output {
    font-size: 110%;
  }
} /*END query*/
div.wpcf7 .ajax-loader {
  display: none !important;
  opacity: 0 !important;
  margin: 2em auto !important;
}
.wpcf7 span.wpcf7-not-valid-tip {
  font-size: 80%;
  text-align: left;
  margin-top: .5em;
  position: relative;
  padding-left: 1.5em;
  color: var(--red);
}
.wpcf7 span.wpcf7-not-valid-tip:before {
  position: absolute;
  text-align: center;
  font-family: "dashicons";
  font-weight: 900;
  content: "\f343";
  top: 0;
  left: 0;
  width: 1.5em;
  height: 2em;
  font-size: 100%;
}
.wpcf7 .wpcf7-mail-sent-ok, .wpcf7 .wpcf7-mail-sent-ng, .wpcf7 .wpcf7-validation-errors {
  width: 100%;
  margin-top: 3em;
  background: none;
  font-size: 110%;
  font-weight: bold;
  line-height: 1.3em;
  text-align: center;
  text-decoration: none;
  border: none;
  padding: 1em;
}
.wpcf7 .wpcf7-mail-sent-ok, .wpcf7 form.sent .wpcf7-response-output {
  color: rgb(var(--navy-rgb) / 1);
  background: rgb(var(--navy-rgb) / .1);
  border: none;
}
.wpcf7 .wpcf7-mail-sent-ng, .wpcf7 .wpcf7-validation-errors {
  color: var(--red);
  background: rgb(var(--red-rgb) / .1);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  color: var(--red);
  background: rgb(var(--red-rgb) / .1);
  border: none;
}
.wpcf7 .wpcf7c-conf {
  background-color: var(--white);
  border: 1px solid rgb(var(--red-rgb) / 1);
}