@charset "UTF-8";
/* contact
------------------- */
.contact_wrap {
  margin-block: var(--sec_block-m);
}

.contact_title {
  padding: 0.8em 1em;
  text-align: center;
}

/* form */
.contactform .f_itemlist {
  display: grid;
}
@media screen and (min-width: 768px) {
  .contactform .f_itemlist {
    grid-template-columns: auto 1fr;
  }
}
.contactform .f_itemlist .f_item {
  padding-block: 1.2rem;
  display: grid;
  justify-items: start;
  gap: 0.4rem;
  border-bottom: 1px solid #ddd;
  padding-block: 1.2rem;
}
@media screen and (min-width: 768px) {
  .contactform .f_itemlist .f_item {
    justify-items: stretch;
    grid-column: span 2;
    grid-template-columns: subgrid;
    align-items: center;
    gap: 1.2rem;
  }
}
.contactform .f_itemlist .f_item.genre .wpcf7-list-item {
  display: block;
}
.contactform .f_itemlist .f_item-a.name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}
.contactform .f_itemlist .f_item-a.name label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.contactform .f_itemlist .f_item-a.kibou .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.contactform .f_itemlist .f_item-a.birthday > div {
  margin-block-end: 0.8rem;
}
.contactform .f_itemlist .f_item-a.birthday > div:last-child {
  margin-block-end: 0;
}
.contactform .f_itemlist .f_item-a.birthday > div > span {
  margin-inline-end: 0.4rem;
}
.contactform .f_itemlist .f-input {
  padding-inline: 0.8em;
  padding-block: 0.4em;
  height: 1.6lh;
  width: 100%;
  background: #f5f6f8;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.contactform .f_itemlist .f-input:focus {
  border-color: #8b8b8b;
  box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
  background: #ffffff;
  outline: none;
}
.contactform .f_itemlist .f-input::-moz-placeholder {
  color: #a5a5a5; /* お好みの色 */
  opacity: 1; /* Firefoxで薄くなるのを防止 */
}
.contactform .f_itemlist .f-input::placeholder {
  color: #a5a5a5; /* お好みの色 */
  opacity: 1; /* Firefoxで薄くなるのを防止 */
}
.contactform .f_itemlist .f-select {
  padding-inline: 0.8em;
  height: 1.3lh;
  background: #f5f6f8;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.contactform .f_itemlist .f-select:focus {
  border-color: #8b8b8b;
  box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
  outline: none;
}
.contactform .f_message {
  grid-column: span 2;
  padding-block: 1.2rem;
  display: grid;
  gap: 0.6rem;
}
.contactform .f_message .f-input {
  padding-inline: 0.8em;
  height: 1.6lh;
  width: 100%;
  background: #f5f6f8;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.contactform .f_message .f-input:focus {
  border-color: #8b8b8b;
  box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
  outline: none;
}
.contactform .f_message .f-textarea {
  padding-inline: 0.8em;
  padding-block: 0.6em;
  background: #f5f6f8;
  border: 1px solid #ddd;
  border-radius: 6px;
  field-sizing: content;
  min-height: 5lh;
  width: 100%;
}
.contactform .f_message .f-textarea:focus {
  border-color: #8b8b8b;
  box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
  outline: none;
}
.contactform .f_item-q {
  display: flex;
  align-items: center;
  gap: 10px;
}
.contactform .f_item-q .f_item-q-required {
  font-size: 0.8rem;
  background-color: #be1818;
  color: #fff;
  padding: 0.3em 0.8em;
  border-radius: 3px;
  display: inline-block;
}
.contactform .f_item-q .f_item-q-norequired {
  font-size: 0.8rem;
  background-color: #1c9e77;
  color: #fff;
  padding: 0.3em 0.8em;
  border-radius: 3px;
  display: inline-block;
  visibility: hidden;
}
.contactform .f_item-q .f_item-q-optional {
  font-size: 0.8rem;
  background-color: #518159;
  color: #fff;
  padding: 0.3em 0.8em;
  border-radius: 3px;
  display: inline-block;
}
.contactform .f_accept {
  padding-block: 2rem;
}
.contactform .f_accept .wpcf7-list-item {
  margin: 0;
}
.contactform .f_accept .wpcf7-list-item label {
  display: flex;
  gap: 10px;
}

.f_send {
  display: flex;
  gap: 20px;
}
.f_send input[type=submit] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  text-align: center;
  padding: 0.6rem 3rem;
  border-radius: 5px;
  border: 1px solid #ff9e0c;
  background-color: #ffa319;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s;
}
.f_send input[type=submit]:hover {
  color: #fff;
  background-color: #ff9e0c;
}
.f_send input[type=reset] {
  color: #8a8a8a;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  text-align: center;
  padding: 0.6rem 1rem;
  border-radius: 5px;
  border: 1px solid #8a8a8a;
  text-decoration: none;
  cursor: pointer;
  background-color: #fff;
}

/* contactform - check
------------------- */
.contact_check {
  margin-block: var(--sec_block-m);
}

.contact_title {
  padding: 0.8em 1em;
  text-align: center;
}

.formbtn,
.prevbtn {
  color: #8a8a8a;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  text-align: center;
  padding: 0.6rem 1rem;
  border-radius: 5px;
  border: 1px solid #8a8a8a;
  text-decoration: none;
  cursor: pointer;
  background-color: #fff;
}

.sendbtn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  text-align: center;
  padding: 0.6rem 3rem;
  border-radius: 5px;
  border: 1px solid #ff9e0c;
  background-color: #ffa319;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s;
}
.sendbtn:hover {
  color: #fff;
  background-color: #ff9e0c;
}

.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0;
}

.formTable td,
.formTable th {
  display: block;
}

.formTable th {
  padding-inline: 0.8rem;
  padding-block: 0.5rem;
  min-width: 12rem;
  font-weight: normal;
  background: #efefef;
  text-align: left;
}

.formTable td {
  padding-inline: 0.8rem;
  padding-block: 0.6rem 1.2rem;
}

.f_checksend {
  margin-block-start: 30px;
}/*# sourceMappingURL=form.css.map */