@charset "UTF-8"; /* 2024.12.06 */
#contact_page input {
  display: inherit;
}
input::placeholder, .form-control::placeholder {
  color: #ccc;
}
.border1 {
  border-bottom: solid #ccc 1px;
  margin: 0 1%;
  height: 30px;
  max-width: 100%;
}
form label {
  margin-right: 10px;
}
.contact_table th, .contact_table td {
  border-top: solid #ccc 1px;
  border-bottom: solid #ccc 1px;
  padding: 2.5rem 0;
}
.mandatory {
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  background: #ff0000;
  padding: 0 .5rem .2rem;
  border: solid #ff0000 1px;
}
.mandatory2 {
  font-size: 1.1rem;
  font-weight: 500;
  color: #ff0000;
  background: #fff;
  padding: 0 .5rem .2rem;
  border: solid #ff0000 1px;
}
.any {
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  background: #666;
  padding: 0 .5rem .2rem;
  border: solid #666 1px;
}
.form-control {
  width: 98%;
  height: calc(3rem + 1rem + 2px);
  padding: 1rem;
  font-size: 1.4rem;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
}
.text_form {
  height: calc(12rem + 1rem + 2px) !important;
}
.contact_table td > p {
  margin-bottom: .2rem;
}
.contact_table p > a {
  text-decoration: underline;
  color: #000;
}
.form_btn_wrap {
  margin: 5rem auto 10rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
.button01 {
  transition: .3s;
}
.button01:hover {
  background-color: rgba(79, 171, 39, .2);
}
@media (max-width: 991px) {
  .contact_table th, .contact_table td {
    display: block;
  }
  .contact_table th {
    border-bottom: none;
    border-top: none;
    padding-bottom: 0;
  }
  .sp_first {
    border-top: solid #ccc 1px !important;
  }
  .contact_table td {
    border-top: none;
    padding-top: 1rem;
  }
}
/* ================================
　　　追加
===================================*/
.form-control {
  color: #333;
}
.wpcf7-form-control.wpcf7-acceptance {
  position: absolute;
  top: -15px;
}
form input[type="submit"] {
  display: block;
  margin: 2em auto;
  background: #fff;
  border: solid #000 1px;
  cursor: pointer;
  padding: 1.8rem 9rem;
}
#contact_page input {
  display: inline-block;
}
form label {
  top: 4px;
  position: relative;
}
form label span.wpcf7-list-item-label {
  display: inline-block;
  color: #333;
  background-color: #fff;
  line-height: 1.3em;
  width: auto;
  margin: 0 0 0 0.3em;
}
p.form-check .form-check-label {
  margin-left: 15px;
  position: relative;
  top: 1px;
}
.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.wpcf7 .wpcf7-validation-errors {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}
.wpcf7 .wpcf7-mail-sent-ok {
  color: #3A87AD;
  background-color: #D9EDF7;
  border: 1px solid #BCE8F1;
}
.wpcf7 form.invalid .wpcf7-response-output {
  color: #dc3232;
  font-weight: 900;
  border: 1.5px solid #dc3232;
  border-radius: 2px;
  margin: 1.5em 0;
  padding: 0.5em 1em;
  text-align: center;
}
.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2; /* Blue */
}
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450; /* Green */
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  border-color: #dc3232; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
  border-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900; /* Yellow */
}
.wpcf7-form-control-wrap {
  position: relative;
}
.wpcf7-not-valid-tip {
  color: #dc3232; /* Red */
  font-size: 1em;
  font-weight: normal;
  display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
  position: relative;
  top: -2ex;
  left: 1em;
  z-index: 100;
  border: 1px solid #dc3232;
  background: #fff;
  padding: .2em .8em;
  width: 24em;
}
.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
  content: " ";
}
.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d; /* Dark Gray 800 */
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0 24px;
  position: relative;
}
form.submitting .wpcf7-spinner {
  visibility: visible;
}
.wpcf7-spinner::before {
  content: '';
  position: absolute;
  background-color: #fbfbfc; /* Light Gray 100 */
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  transform-origin: 8px 8px;
  animation-name: spin;
  animation-duration: 1000ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
  .wpcf7-spinner::before {
    animation-name: blink;
    animation-duration: 2000ms;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes blink {
  from {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.wpcf7 input[type="file"] {
  cursor: pointer;
}
.wpcf7 input[type="file"]:disabled {
  cursor: default;
}
.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
}
.wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
  direction: ltr;
}
.wpcf7-reflection > output {
  display: list-item;
  list-style: none;
}
.wpcf7-reflection > output[hidden] {
  display: none;
}