@charset "UTF-8";
/*ContactForm7カスタマイズ*/
/* 源ノ明朝 */
@font-face {
  font-family: "notoserif_r";
  src: url("../../common/fonts/NotoSerifJP-Regular.woff2") format("woff2"), url("../../common/fonts/NotoSerifJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "notoserif_m";
  src: url("../../common/fonts/NotoSerifJP-Medium.woff2") format("woff2"), url("../../common/fonts/NotoSerifJP-Medium.woff") format("woff");
}
/* Beautiful-ES */
@font-face {
  font-family: "beautiful-es";
  src: url("../../common/fonts/Beautiful-ES.woff2") format("woff2"), url("../../common/fonts/Beautiful-ES.woff") format("woff");
}
/* Garamond */
@font-face {
  font-family: "Garamond";
  src: url("../../common/fonts/Garamond.woff2") format("woff2"), url("../../common/fonts/Garamond.woff") format("woff");
}
/* futura */
@font-face {
  font-family: "futura";
  src: url("../../common/fonts/futura.woff2") format("woff2"), url("../../common/fonts/futura.woff") format("woff");
}
/* futura-medium-italic */
@font-face {
  font-family: "futura-medium-italic";
  src: url("../../common/fonts/futura-medium-italic.woff2") format("woff2"), url("../../common/fonts/futura-medium-italic.woff") format("woff");
}
/* hanatotyoutyo.woff */
@font-face {
  font-family: "hanatotyoutyo";
  src: url("../../common/fonts/hanatotyoutyo.woff2") format("woff2"), url("../../common/fonts/hanatotyoutyo.woff") format("woff");
}
/* 游ゴシック体 */
/* font-family: "Yu Gothic", "游ゴシック体", sans-serif; */
/*「必須」文字*/
.CF7_req {
  color: #fc0000;
}
.wpcf7-not-valid-tip {
  position: absolute;
  font-size: 14px;
  white-space: nowrap;
  line-height: 1.3;
  z-index: 1;
  padding: 0 0.4rem;
}
@media screen and (max-width: 900px) {
  .wpcf7-not-valid-tip {
    margin-left: 0;
    font-size: calc(12px - 4px + 1.06vw);
  }
}

.agree {
  text-align: center;
}
@media screen and (max-width: 900px) {
  .agree {
    font-size: calc(12px - 4px + 1.06vw);
  }
}
.agree input[type=checkbox] {
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(134, 132, 132, 0.3294117647);
  border-radius: 0;
  background-color: #fff;
  position: relative;
  transform: scale(1.8);
  margin-right: 18px;
}
@media screen and (max-width: 900px) {
  .agree input[type=checkbox] {
    margin-right: 17px;
    margin-top: 3px;
    width: 11px;
    height: 11px;
  }
}
.agree input[type=checkbox]:checked::before {
  content: "✔";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 7px;
  color: #868684;
}
@media screen and (max-width: 900px) {
  .agree input[type=checkbox]:checked::before {
    font-size: 8px;
  }
}

.wpcf7-spinner {
  width: 0;
  margin: 0;
}

/*--- recaptchaバッチ非表示 ---*/
.grecaptcha-badge {
  visibility: visible;
}

#top {
  bottom: 80px;
}

.CF7_btn {
  text-align: center;
  margin: 2rem 0;
}
@media screen and (max-width: 900px) {
  .CF7_btn {
    display: flex;
    flex-direction: column-reverse;
  }
}
.CF7_btn .recaptcha {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
.CF7_btn p {
  display: flex;
  max-width: 82%;
  margin: 52px auto 40px;
}
@media screen and (max-width: 900px) {
  .CF7_btn p {
    flex-direction: column;
    gap: 30px;
    margin: 0;
    max-width: 100%;
  }
}
.CF7_btn .wpcf7-previous,
.CF7_btn .CF7_submit {
  background: #17a686;
  padding: 21px 0;
  max-width: 515px;
  width: 100%;
  text-align: center;
  padding-right: 1rem;
  color: #fff;
  font-size: 20px;
  position: relative;
  transition: opacity 0.5s ease;
  box-shadow: 3px 3px 3px #ccc;
  border: none;
}
@media screen and (max-width: 900px) {
  .CF7_btn .wpcf7-previous,
  .CF7_btn .CF7_submit {
    font-size: calc(17px - 4px + 1.06vw);
    padding: 17px 0;
    width: 95%;
    margin: 0 auto;
  }
}
.CF7_btn .wpcf7-previous:hover,
.CF7_btn .CF7_submit:hover {
  opacity: 0.8;
  cursor: pointer;
}
.CF7_btn .wpcf7-previous::after,
.CF7_btn .CF7_submit::after {
  content: "";
  background-image: url(../images/arrow_right.webp);
  background-size: contain;
  width: 10px;
  height: 16px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7%;
}
@media screen and (max-width: 900px) {
  .CF7_btn .wpcf7-previous::after,
  .CF7_btn .CF7_submit::after {
    right: 5%;
    width: 8px;
  }
}
.CF7_btn .wpcf7-previous {
  background: #9b9b9b;
  text-shadow: none;
  border: none;
}
@media screen and (max-width: 900px) {
  .CF7_btn .CF7_submit {
    margin-bottom: 1rem;
  }
}

.contact.page_default .page_bg,
.confirm.page_default .page_bg,
.entry.page_default .page_bg,
.entry-confirm.page_default .page_bg {
  padding: 2rem 0 5rem;
}
@media screen and (max-width: 900px) {
  .contact.page_default .page_bg,
  .confirm.page_default .page_bg,
  .entry.page_default .page_bg,
  .entry-confirm.page_default .page_bg {
    padding: 0;
  }
}
.contact table,
.confirm table,
.entry table,
.entry-confirm table {
  width: 95%;
  margin: 0 auto 2rem;
}
.contact table tbody,
.confirm table tbody,
.entry table tbody,
.entry-confirm table tbody {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
@media screen and (max-width: 900px) {
  .contact table tbody,
  .confirm table tbody,
  .entry table tbody,
  .entry-confirm table tbody {
    gap: 1.5rem;
  }
}
.contact table tbody tr,
.confirm table tbody tr,
.entry table tbody tr,
.entry-confirm table tbody tr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr,
  .confirm table tbody tr,
  .entry table tbody tr,
  .entry-confirm table tbody tr {
    gap: 0.3rem;
  }
}
.contact table tbody tr.textarea_sec,
.confirm table tbody tr.textarea_sec,
.entry table tbody tr.textarea_sec,
.entry-confirm table tbody tr.textarea_sec {
  align-items: flex-start;
  margin-bottom: 3rem;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr.textarea_sec,
  .confirm table tbody tr.textarea_sec,
  .entry table tbody tr.textarea_sec,
  .entry-confirm table tbody tr.textarea_sec {
    margin-bottom: 2rem;
  }
}
.contact table tbody tr th,
.confirm table tbody tr th,
.entry table tbody tr th,
.entry-confirm table tbody tr th {
  white-space: nowrap;
  flex: 1;
  padding: 0.5rem;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr th,
  .confirm table tbody tr th,
  .entry table tbody tr th,
  .entry-confirm table tbody tr th {
    padding: 0.5rem 0.2rem;
    font-size: calc(12px - 4px + 1.06vw);
  }
}
.contact table tbody tr td,
.confirm table tbody tr td,
.entry table tbody tr td,
.entry-confirm table tbody tr td {
  width: 72%;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr td,
  .confirm table tbody tr td,
  .entry table tbody tr td,
  .entry-confirm table tbody tr td {
    width: 53%;
  }
}
.contact table tbody tr td input,
.contact table tbody tr td textarea,
.confirm table tbody tr td input,
.confirm table tbody tr td textarea,
.entry table tbody tr td input,
.entry table tbody tr td textarea,
.entry-confirm table tbody tr td input,
.entry-confirm table tbody tr td textarea {
  border: 1px solid #d8d8d8;
  width: 100%;
  line-height: 1.6;
  letter-spacing: 0;
  padding: 0.5rem 1.5rem;
  border: 1px solid #a6a6a6;
  font-size: 14px;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr td input,
  .contact table tbody tr td textarea,
  .confirm table tbody tr td input,
  .confirm table tbody tr td textarea,
  .entry table tbody tr td input,
  .entry table tbody tr td textarea,
  .entry-confirm table tbody tr td input,
  .entry-confirm table tbody tr td textarea {
    margin-left: 0;
    font-size: calc(12px - 4px + 1.06vw);
    line-height: 2.4;
    padding: 0.2rem 0.5rem;
  }
}
.contact table tbody tr td textarea,
.confirm table tbody tr td textarea,
.entry table tbody tr td textarea,
.entry-confirm table tbody tr td textarea {
  height: 300px;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr td textarea,
  .confirm table tbody tr td textarea,
  .entry table tbody tr td textarea,
  .entry-confirm table tbody tr td textarea {
    height: 195px;
    line-height: 1.2;
  }
}
.contact table tbody tr td ::placeholder,
.confirm table tbody tr td ::placeholder,
.entry table tbody tr td ::placeholder,
.entry-confirm table tbody tr td ::placeholder {
  color: #797979;
}
.contact table tbody tr td select,
.confirm table tbody tr td select,
.entry table tbody tr td select,
.entry-confirm table tbody tr td select {
  width: 100%;
  padding: 0.5rem 1.5rem;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 900px) {
  .contact table tbody tr td select,
  .confirm table tbody tr td select,
  .entry table tbody tr td select,
  .entry-confirm table tbody tr td select {
    margin-left: 0;
    font-size: calc(12px - 4px + 1.06vw);
    line-height: 2.4;
    padding: 0.2rem 0.5rem;
  }
}

.confirm table.CF7_table input,
.confirm table.CF7_table textarea,
.entry-confirm table.CF7_table input,
.entry-confirm table.CF7_table textarea {
  border: none;
  padding: 0;
}
.confirm th,
.confirm td,
.entry-confirm th,
.entry-confirm td {
  font-size: 15px;
}
@media screen and (max-width: 900px) {
  .confirm th,
  .confirm td,
  .entry-confirm th,
  .entry-confirm td {
    font-size: calc(15px - 4px + 1.06vw);
  }
}
.confirm .custom-select::after,
.entry-confirm .custom-select::after {
  display: none;
}
.confirm .message-100,
.entry-confirm .message-100 {
  white-space: pre-line;
}
.confirm .my-acceptance:disabled,
.entry-confirm .my-acceptance:disabled {
  cursor: not-allowed;
}
.confirm .CF7_btn,
.entry-confirm .CF7_btn {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 900px) {
  .confirm .CF7_btn,
  .entry-confirm .CF7_btn {
    gap: 0;
  }
}

.complete .page_bg,
.entry-complete .page_bg {
  padding: 3rem 0 5rem;
}
@media screen and (max-width: 900px) {
  .complete .page_bg,
  .entry-complete .page_bg {
    padding: 1.5rem 0 3rem;
  }
}
.complete .page_main_wrap .cont_wrap,
.entry-complete .page_main_wrap .cont_wrap {
  display: flex;
  justify-content: center;
  padding: 0 1rem;
}
@media screen and (max-width: 900px) {
  .complete .page_main_wrap .cont_wrap,
  .entry-complete .page_main_wrap .cont_wrap {
    padding: 0 1rem;
  }
}
.complete .complete_message,
.entry-complete .complete_message {
  background-color: #f3f3ed;
  max-width: 720px;
  width: 100%;
  padding: 3rem 3rem 3.5rem;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}
@media screen and (max-width: 900px) {
  .complete .complete_message,
  .entry-complete .complete_message {
    padding: 2rem 1.5rem 2.5rem;
  }
}
.complete .complete_title,
.entry-complete .complete_title {
  font-family: "Playfair Display", serif;
  font-weight: 500;
  font-size: 30px;
  color: #1544a3;
  margin: 0 0 0.75rem;
}
@media screen and (max-width: 900px) {
  .complete .complete_title,
  .entry-complete .complete_title {
    font-size: calc(22px - 4px + 1.06vw);
  }
}
.complete .complete_lead,
.entry-complete .complete_lead {
  font-size: 18px;
  margin: 0 0 1.5rem;
}
@media screen and (max-width: 900px) {
  .complete .complete_lead,
  .entry-complete .complete_lead {
    font-size: calc(15px - 4px + 1.06vw);
    margin-bottom: 1.2rem;
  }
}
.complete .complete_message p,
.entry-complete .complete_message p {
  line-height: 2;
  margin: 0 0 1.2rem;
}
@media screen and (max-width: 900px) {
  .complete .complete_message p,
  .entry-complete .complete_message p {
    font-size: calc(14px - 4px + 1.06vw);
    line-height: 1.8;
  }
}
.complete .complete_notes,
.entry-complete .complete_notes {
  list-style: disc;
  text-align: left;
  margin: 0 0 1.8rem;
  padding-left: 1.7rem;
  font-size: 15px;
}
@media screen and (max-width: 900px) {
  .complete .complete_notes,
  .entry-complete .complete_notes {
    font-size: calc(14px - 4px + 1.06vw);
    padding-left: 1.2rem;
  }
}
.complete .complete_notes li,
.entry-complete .complete_notes li {
  line-height: 1.8;
  margin-bottom: 0.4rem;
}
.complete .complete_contact_tel,
.entry-complete .complete_contact_tel {
  font-weight: 500;
  margin-top: 0.5rem;
}
.complete .complete_contact_tel a,
.entry-complete .complete_contact_tel a {
  color: #1544a3;
  text-decoration: underline;
  margin-left: 0.25rem;
}
.complete .complete_links,
.entry-complete .complete_links {
  justify-content: center;
  margin-top: 2rem;
  width: 90%;
  margin: 0 auto;
}
.complete .complete_links .el_btn_002,
.complete .complete_links .el_btn_003,
.entry-complete .complete_links .el_btn_002,
.entry-complete .complete_links .el_btn_003 {
  min-width: 210px;
  text-align: center;
}

.custom-select {
  position: relative;
  display: inline-block;
  width: 68%;
}
@media screen and (max-width: 900px) {
  .custom-select {
    width: 100%;
  }
}

.custom-select select {
  display: inline-block;
  appearance: none;
  -webkit-appearance: none;
  /* Safari and Chrome */
  -moz-appearance: none;
  /* Firefox */
  background: none;
}
.custom-select::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 41%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-right: 1px solid #827c44;
  border-bottom: 1px solid #827c44;
  transform: rotate(45deg) translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 900px) {
  .custom-select::after {
    right: 20px;
    width: 8px;
    height: 8px;
  }
}

.custom-select select:focus {
  outline: none;
}
@media screen and (max-width: 900px) {
  .page_default.contact .page_bg .page_main_wrap .cont_wrap {
    padding: 1rem 0 2rem;
  }
}
.CF7_bg {
  background-color: #f3f3ed;
  width: 94%;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg {
    width: 100%;
    margin: 0 auto 1rem;
  }
}
.CF7_bg .CF7_bg_wrap {
  padding: 3rem 2rem 5rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap {
    padding: 0.5rem 0.5rem 2rem;
  }
}
.CF7_bg .CF7_bg_wrap p.CF7_text {
  font-size: 16px;
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap p.CF7_text {
    line-height: 1.8;
    font-size: calc(15px - 4px + 1.06vw);
    margin-bottom: 2rem;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table {
  border-bottom: 1px solid #929292;
  margin: 0 auto 3.5rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table {
    border-bottom: 1px solid #827c44;
    margin: 0 auto 2.5rem;
  }
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr th {
  flex: 1;
  text-align: left;
  font-size: 17px;
  letter-spacing: 0px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr th {
    font-size: calc(15px - 4px + 1.06vw);
    justify-content: flex-start;
    gap: 0.5rem;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr th .CF7_req {
  background-color: #c70000;
  color: #fff;
  padding: 1px 9px;
  font-size: 10px;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr th .CF7_req {
    font-size: calc(9px - 4px + 1.06vw);
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr td {
  width: 69%;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr td {
    width: 100%;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr td.half {
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr td.half {
    gap: 0.5rem;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr td select {
  background: #fff;
  border: 1px solid rgba(130, 124, 68, 0.568627451);
  color: #333333;
  font-size: 17px;
  border-radius: 0;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr td select {
    font-size: calc(15px - 4px + 1.06vw);
    line-height: 2;
    padding: 0.2rem 1rem;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr td input {
  background: #fff;
  border: 1px solid rgba(130, 124, 68, 0.568627451);
  font-size: 17px;
  border-radius: 0;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr td input {
    font-size: calc(15px - 4px + 1.06vw);
    line-height: 2;
    padding: 0.2rem 1rem;
  }
}
.CF7_bg .CF7_bg_wrap .CF7_table tr td textarea {
  background: #fff;
  border: 1px solid rgba(130, 124, 68, 0.568627451);
  font-size: 17px;
  border-radius: 0;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .CF7_table tr td textarea {
    font-size: calc(15px - 4px + 1.06vw);
    line-height: 2;
    padding: 0.2rem 1rem;
  }
}
.CF7_bg .CF7_bg_wrap .agree {
  border: 1px solid rgba(130, 124, 68, 0.568627451);
  background-color: #fff;
  padding: 2rem;
  max-width: 505px;
  margin: 0 auto 2.5rem;
  font-size: 15px;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .agree {
    border: 1px solid rgba(130, 124, 68, 0.568627451);
    width: 93%;
    padding: 1.5rem 0;
    font-size: calc(15px - 4px + 1.06vw);
  }
}
.CF7_bg .CF7_bg_wrap .agree .agree_check {
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .agree .agree_check .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .agree .agree_check .wpcf7-list-item label .wpcf7-list-item-label {
    display: block;
    text-align: left;
    font-size: calc(15px - 4px + 1.06vw);
  }
}
.CF7_bg .CF7_bg_wrap .agree .privacy_link a {
  color: #333333;
}
@media screen and (max-width: 900px) {
  .CF7_bg .CF7_bg_wrap .agree .privacy_link a {
    font-size: calc(14px - 4px + 1.06vw);
  }
}

/*# sourceMappingURL=contact.css.map */
