@import url("https://fonts.googleapis.com/css2?family=Kaisei+Opti&family=Marcellus&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ====================
 SIZE SET
==================== */
/* ===================
 MIXIN
==================== */
.p-contact_lead {
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-contact_lead {
    line-height: 1.7142857;
    text-align: left;
  }
}
.p-contact_note {
  text-align: center;
  color: #ed1c24;
  margin: 60px 0 30px;
}
@media only screen and (max-width: 768px) {
  .p-contact_note {
    margin: calc(50 / 375 * 100vw) 0;
  }
}
.p-contact .req {
  display: inline-block;
  color: #ed1c24;
  font-size: 1.2rem;
  vertical-align: super;
}
.p-contact .ipt {
  width: 100%;
  padding: 16px 20px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #cccccc;
  outline: none;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .p-contact .ipt {
    padding: calc(18 / 375 * 100vw) calc(20 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
}
.p-contact .ipt.sort {
  max-width: 400px;
}
.p-contact .ipt.are {
  min-height: 260px;
  resize: none;
}
@media only screen and (max-width: 768px) {
  .p-contact .ipt.are {
    min-height: calc(260 / 375 * 100vw);
  }
}
.p-contact .ipt::placeholder { /* Standard syntax */
  color: #cccccc;
}
.p-contact .ipt::-webkit-input-placeholder { /* Chrome, Opera, Safari */
  color: #cccccc;
}
.p-contact .ipt::-moz-placeholder { /* Firefox 19+ */
  color: #cccccc;
  opacity: 1; /* Ensures full opacity in Firefox */
}
.p-contact .ipt:-ms-input-placeholder { /* Internet Explorer 10+ */
  color: #cccccc;
}
.p-contact .ipt:-moz-placeholder { /* Firefox 4 to 18 */
  color: #cccccc;
  opacity: 1; /* Ensures full opacity in Firefox */
}
.p-contact .c-form {
  max-width: 800px;
  margin: 0 auto;
}
.p-contact .c-form_note {
  font-size: 1.4rem;
  margin-bottom: 5px;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-form_note {
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }
}
@media only screen and (min-width: 769px) {
  .p-contact .c-form_ctrl {
    display: flex;
    column-gap: 30px;
  }
}
.p-contact .c-form_ctrl_lbl {
  width: 180px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 8px 0;
}
.p-contact .c-form_ctrl_lbl.cf {
  padding-top: 30px;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-form_ctrl_lbl {
    width: 100%;
    font-size: calc(18 / 375 * 100vw);
    padding: 0;
    margin-bottom: calc(10 / 375 * 100vw);
  }
  .p-contact .c-form_ctrl_lbl.cf {
    padding-top: 0;
  }
}
.p-contact .c-form_ctrl_ctn {
  flex: 1;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-form_ctrl_ctn {
    font-size: calc(16 / 375 * 100vw);
  }
}
.p-contact .c-form_ctrl + .c-form_ctrl {
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-form_ctrl + .c-form_ctrl {
    margin-top: calc(20 / 375 * 100vw);
  }
}
.p-contact .c-form_privacy {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 40px;
}
.p-contact .c-form_privacy a {
  color: #b8583c;
  text-decoration: underline;
}
.p-contact .c-form_privacy a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-form_privacy {
    font-size: calc(14 / 375 * 100vw);
  }
}
.p-contact .c-btn_group {
  display: flex;
  flex-flow: column;
  align-items: center;
  row-gap: 30px;
  margin-top: 60px;
}
.p-contact .c-btn_group .c-btn {
  font-weight: 500;
  letter-spacing: 0.1em;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-btn_group .c-btn {
    font-size: calc(20 / 375 * 100vw);
  }
}
.p-contact .c-btn_group .c-btn .txt {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
  margin: 0;
  color: #fff;
  font-size: 2rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  font-family: "Kaisei Opti", serif;
}
@media only screen and (max-width: 768px) {
  .p-contact .c-btn_group .c-btn .txt {
    font-size: calc(20 / 375 * 100vw);
  }
}
.p-contact .c-btn_group .c-btn._reset {
  background: #fff;
  color: #b8583c;
}
.p-contact .c-btn_group .c-btn._reset::after {
  background-color: #b8583c;
}
.p-contact .c-btn_group .c-btn:hover .txt {
  color: #b8583c;
}
.p-contact .c-btn_group .c-btn:hover._reset {
  background: #b8583c;
  color: #fff;
}
.p-contact .c-btn_group .c-btn:hover._reset::after {
  background-color: #fff;
}

.p-thanks .p-contact_lead p + p {
  margin-top: 30px;
}
@media only screen and (max-width: 768px) {
  .p-thanks .p-contact_lead p + p {
    margin-top: calc(20 / 375 * 100vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-thanks .p-contact_lead {
    text-align: center;
  }
}
.p-thanks .c-btn {
  margin: 50px auto 0;
}
@media only screen and (max-width: 768px) {
  .p-thanks .c-btn {
    margin-top: calc(40 / 375 * 100vw);
  }
}

.wpcf7-response-output {
  display: none;
}

.formErrorContent {
  font-size: 1.3rem;
  line-height: 1;
  margin-top: 0.8rem;
  color: #DA4432;
}
@media only screen and (max-width: 768px) {
  .formErrorContent {
    font-size: 2rem;
  }
}

.is-error input,
.is-error .are,
.is-error .policy-checkbox .wpcf7-list-item-label:before {
  border-color: #DA4432 !important;
  background-color: #FFEAEA !important;
}

.is-error input::-webkit-input-placeholder,
.is-error input::-moz-placeholder,
.is-error input::-ms-placeholder,
.is-error input::placeholder {
  color: #DA4432 !important;
  opacity: 1;
}

.is-error .ipt::-webkit-input-placeholder, .is-error .ipt::-moz-placeholder, .is-error .ipt::-ms-placeholder, .is-error .ipt::placeholder {
  color: #DA4432 !important;
}