@charset "UTF-8";
:root {
  --font-family-base: "zen-kaku-gothic-antique", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-iskra: "iskra", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-noto-sans-cjk-jp: "noto-sans-cjk-jp", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-mizolet: "mizolet", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-sichandich: "sichandich", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-sichandic: "sichandic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}

:root {
  --font-weight-base: 400;
}

:root {
  --color-base: #000;
  --color-placeholder: #fff;
  --color-yellow: #f8b800;
  --color-brown: #d25315;
}

:root {
  --z-index-level-top: 2147483647;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

/* 言語が英語（ラテン系言語）の場合、cap-heightベースにする */
:root:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

/* もし lh が未対応のブラウザであれば fallback */
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
:root {
  --width-pc-design: 1440;
  --width-pc-design-content: 1300;
  --width-pc-design-content-percent: calc(var(--width-pc-design-content) / (--width-pc-design-content * .05) * 100%);
  --width-pc-design-content-vw: calc(var(--width-pc-design-content) / (--width-pc-design-content * .05) * 100vw);
  --width-pc-design-content-rem: calc((var(--width-pc-design-content) / 10) * 1rem);
  --width-sp-design: 800;
  --width-sp-design-content: 720;
  --width-sp-design-content-percent: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100%);
  --width-sp-design-content-vw: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100vw);
  --width-sp-design-content-rem: calc((var(--width-sp-design-content) / 10) * 1rem);
}

:root {
  --border-radius-infinity: calc(1px / 0);
}

:root {
  --opacity-base: .5;
}

:root {
  --transition-base: .4s;
  --transition-sub: .6s;
  --transition-animation-base: .4s;
  --transition-animation-sub: .6s;
}

.p-contact-form {
  margin-top: 6.8rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form {
    margin-top: 6.6rem;
  }
}
.p-contact-form .tel {
  margin-inline: auto;
  padding-block: 4.8rem 4.3rem;
  width: 102.4rem;
  border-radius: var(--border-radius-infinity);
  background: #d8d9d9;
}
@media screen and (min-width: 768px) {
  .p-contact-form .tel {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel {
    text-align: center;
    padding-block: 5.3rem 3.9rem;
    width: 100%;
    border-radius: 5rem;
  }
}
.p-contact-form .tel_ttl {
  font-size: 2.8rem;
  font-weight: 900;
  display: inline-block;
  position: relative;
  margin-top: 0.8rem;
  padding-left: 3.9rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel_ttl {
    margin-top: 0;
    padding-left: 4rem;
  }
}
.p-contact-form .tel_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 2.6rem;
  height: 4rem;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 39.52"><path fill="black" d="M18.57,39.29c-.47-.19-.94-.38-1.41-.56-3.13-1.23-5.56-3.39-7.73-5.88C4.13,26.76.97,19.75.11,11.73c-.29-2.7-.01-5.35,1.08-7.88.74-1.72,1.96-2.85,3.82-3.25.91-.19,1.81-.4,2.71-.6.2.02.39.04.59.07,1.33,2.69,2.63,5.39,4,8.06.33.64.22,1.08-.19,1.6-1.01,1.26-2.36,1.79-3.92,1.92-1.41.12-1.55.33-1.78,1.73-.31,1.85-.02,3.61.59,5.36,1.09,3.14,2.55,6.1,4.78,8.58.85.94,2.03,1.6,3.12,2.29.55.35,1.14.27,1.62-.34,1.09-1.36,2.45-2.26,4.27-2.29.58,0,.96.14,1.23.7,1.25,2.57,2.52,5.12,3.82,7.66.21.42.21.72-.15,1.02-.92.77-1.78,1.64-2.77,2.3-.67.44-1.53.59-2.31.86-.69-.08-1.37-.16-2.06-.23Z"/></svg>') center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel_ttl::before {
    width: 3rem;
    height: 4.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel_num {
    margin-top: 0.6rem;
  }
}
.p-contact-form .tel_num_link {
  font-family: var(--font-family-iskra);
  font-weight: 900;
  font-size: 5.4rem;
  letter-spacing: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel_num_link {
    font-size: 7.6rem;
  }
}
.p-contact-form .tel_note {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .tel_note {
    margin-top: 1.5rem;
  }
}
.p-contact-form .ttl {
  font-family: var(--font-family-mizolet);
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 10.2rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .ttl {
    font-size: 3.5rem;
    margin-top: 11.8rem;
  }
}
.p-contact-form .progress {
  counter-reset: number 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5.8rem;
  position: relative;
  margin: 9.7rem auto 0;
  max-width: 44rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .progress {
    column-gap: 8.9rem;
    margin-top: 10rem;
    max-width: 64rem;
  }
}
.p-contact-form .progress::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  translate: -50% -50%;
  width: 90%;
  border-bottom: 0.2rem dashed var(--color-yellow);
}
@media screen and (max-width: 767px) {
  .p-contact-form .progress::before {
    border-width: 0.4rem;
  }
}
.p-contact-form .progress_item {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--color-yellow);
  text-align: center;
  display: grid;
  place-content: center;
  position: relative;
  height: 5.4rem;
  border: 0.2rem solid var(--color-yellow);
  border-radius: var(--border-radius-infinity);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-contact-form .progress_item {
    font-size: 2.4rem;
    height: 7.7rem;
    border-width: 0.4rem;
  }
}
.p-contact-form .progress_item::before {
  font-family: var(--font-family-iskra);
  font-weight: 900;
  font-size: 4.6rem;
  line-height: 0.347826087;
  color: var(--color-yellow);
  content: counter(number);
  counter-increment: number 1;
  position: absolute;
  top: -3.8rem;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .p-contact-form .progress_item::before {
    font-size: 4rem;
    top: -3.5rem;
  }
}
.p-contact-form .progress_item._current {
  color: #fff;
  background: var(--color-yellow);
}
.p-contact-form .txt {
  font-size: 2rem;
  line-height: 2.1;
  text-align: center;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .txt {
    font-size: 2.8rem;
    line-height: 2;
  }
}
.p-contact-form .c-lower-btn {
  margin-top: 5rem;
}
.p-contact-form .list {
  margin: 4.4rem auto 0;
  max-width: 82rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list {
    margin-top: 7.9rem;
    max-width: 88.8888888889%;
  }
}
@media screen and (min-width: 768px) {
  .p-contact-form .list_item {
    display: grid;
    grid-template-columns: 18rem 1fr;
  }
}
.p-contact-form .list_item:nth-child(n+2) {
  margin-top: 3.8rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_item:nth-child(n+2) {
    margin-top: 7rem;
  }
}
.p-contact-form .list_theme {
  font-size: 1.6rem;
  line-height: 2.875;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_theme {
    font-size: 2.6rem;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_des {
    margin-top: 2rem;
  }
}
.p-contact-form .list_des label,
.p-contact-form .list_des label span {
  display: block;
}
.p-contact-form .list_des .cf7msm-ro {
  font-size: 1.6rem;
  line-height: 2.875;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_des .cf7msm-ro {
    font-size: 2.6rem;
    line-height: 1;
  }
}
.p-contact-form .list_input + .list_input {
  margin-top: 1.2rem;
}
.p-contact-form .list_input input {
  font-size: 1.6rem;
  font-weight: 900;
  padding-inline: 2.2rem;
  width: 100%;
  height: 4.6rem;
  border-radius: 1.1rem;
  background: #d8d9d9;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_input input {
    font-size: 2.6rem;
    padding-inline: 2rem;
    height: 7.2rem;
  }
}
.p-contact-form .list_desired {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_desired {
    column-gap: 4.5rem;
  }
}
.p-contact-form .list_desired label {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 4.6rem 1fr;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_desired label {
    grid-template-columns: 7rem 1fr;
  }
}
.p-contact-form .list_desired_theme {
  font-size: 1.6rem;
  font-weight: 900;
  padding-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_desired_theme {
    font-size: 2.6rem;
    padding-top: 2.2rem;
  }
}
.p-contact-form .list_desired_theme + span input {
  font-size: 1.6rem;
  font-weight: 900;
  padding-inline: 2.2rem;
  width: 100%;
  height: 4.6rem;
  border-radius: 1.1rem;
  background: #d8d9d9;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_desired_theme + span input {
    font-size: 2.6rem;
    padding-inline: 2rem;
    height: 7.2rem;
  }
}
.p-contact-form .list_desired_theme + span input[type=date] {
  color: transparent;
  position: relative;
  padding-inline: 4.6rem 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 20.5"><path fill="white" d="M6.33,12.59H1.91v-3.6h4.42v3.6ZM2.91,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M6.33,17.19H1.91v-3.6h4.42v3.6ZM2.91,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M11.39,12.59h-4.42v-3.6h4.42v3.6ZM7.96,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M11.39,17.19h-4.42v-3.6h4.42v3.6ZM7.96,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M16.55,12.59h-4.42v-3.6h4.42v3.6ZM13.12,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M16.55,17.19h-4.42v-3.6h4.42v3.6ZM13.12,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="white" d="M16.69,20.5H1.31c-.72,0-1.31-.59-1.31-1.31V5.2h18v13.98c0,.72-.59,1.31-1.31,1.31ZM.91,6.11v13.08c0,.22.18.4.4.4h15.38c.22,0,.4-.18.4-.4V6.11H.91Z"/><path fill="white" d="M18,6.11H0v-3.33c0-.6.49-1.09,1.09-1.09h15.83c.6,0,1.09.49,1.09,1.09v3.33ZM.91,5.2h16.18v-2.42c0-.1-.08-.18-.18-.18H1.09c-.1,0-.18.08-.18.18v2.42Z"/><path fill="white" d="M5.35,4.27c-.32,0-.58-.26-.58-.58V.58c0-.32.26-.58.58-.58s.58.26.58.58v3.11c0,.32-.26.58-.58.58Z"/><path fill="white" d="M12.65,4.27c-.32,0-.58-.26-.58-.58V.58c0-.32.26-.58.58-.58s.58.26.58.58v3.11c0,.32-.26.58-.58.58Z"/></svg>') left 1.4rem center/1.8rem 100% no-repeat #d8d9d9;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_desired_theme + span input[type=date] {
    background-position: left 1.2rem center;
    background-size: 2.3rem 100%;
  }
}
.p-contact-form .list_desired_theme + span input[type=date]::-webkit-inner-spin-button, .p-contact-form .list_desired_theme + span input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}
.p-contact-form .list_desired_theme + span input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0;
  pointer-events: none;
}
.p-contact-form .list_desired_theme + span input[type=date].is-selected {
  color: var(--color-base);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 20.5"><path fill="black" d="M6.33,12.59H1.91v-3.6h4.42v3.6ZM2.91,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M6.33,17.19H1.91v-3.6h4.42v3.6ZM2.91,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M11.39,12.59h-4.42v-3.6h4.42v3.6ZM7.96,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M11.39,17.19h-4.42v-3.6h4.42v3.6ZM7.96,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M16.55,12.59h-4.42v-3.6h4.42v3.6ZM13.12,11.59h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M16.55,17.19h-4.42v-3.6h4.42v3.6ZM13.12,16.19h2.42v-1.6h-2.42v1.6Z"/><path fill="black" d="M16.69,20.5H1.31c-.72,0-1.31-.59-1.31-1.31V5.2h18v13.98c0,.72-.59,1.31-1.31,1.31ZM.91,6.11v13.08c0,.22.18.4.4.4h15.38c.22,0,.4-.18.4-.4V6.11H.91Z"/><path fill="black" d="M18,6.11H0v-3.33c0-.6.49-1.09,1.09-1.09h15.83c.6,0,1.09.49,1.09,1.09v3.33ZM.91,5.2h16.18v-2.42c0-.1-.08-.18-.18-.18H1.09c-.1,0-.18.08-.18.18v2.42Z"/><path fill="black" d="M5.35,4.27c-.32,0-.58-.26-.58-.58V.58c0-.32.26-.58.58-.58s.58.26.58.58v3.11c0,.32-.26.58-.58.58Z"/><path fill="black" d="M12.65,4.27c-.32,0-.58-.26-.58-.58V.58c0-.32.26-.58.58-.58s.58.26.58.58v3.11c0,.32-.26.58-.58.58Z"/></svg>') left 1.4rem center/1.8rem 100% no-repeat #d8d9d9;
}
.p-contact-form .list_textarea textarea {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 900;
  padding: 1.6rem 2.2rem;
  width: 100%;
  height: 14rem;
  border-radius: 1.1rem;
  background: #d8d9d9;
}
@media screen and (max-width: 767px) {
  .p-contact-form .list_textarea textarea {
    font-size: 2.6rem;
    line-height: 1.9230769231;
    padding: 1.3rem 2rem;
    height: 25rem;
  }
}
.p-contact-form .privacy {
  margin: 3.8rem auto 0;
  max-width: 82rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy {
    margin-top: 8rem;
    max-width: 88.8888888889%;
  }
}
.p-contact-form .privacy_box {
  padding: 3rem 4rem;
  border-radius: 1.1rem;
  background: #d8d9d9;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_box {
    padding: 3.2rem 4rem;
  }
}
.p-contact-form .privacy_box_inner {
  padding-right: 1.2rem;
  height: 16rem;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_box_inner {
    padding-right: 2.4rem;
    height: 23.6rem;
  }
}
.p-contact-form .privacy_txt {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_txt {
    font-size: 2.6rem;
    line-height: 1.9230769231;
  }
}
.p-contact-form .privacy_agree {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_agree {
    margin-top: 4rem;
  }
}
.p-contact-form .privacy_agree label {
  display: inline-block;
}
.p-contact-form .privacy_agree label input:checked + span::before {
  border-color: var(--color-yellow);
}
.p-contact-form .privacy_agree label input:checked + span::after {
  opacity: 1;
}
.p-contact-form .privacy_agree label span {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 900;
  display: block;
  position: relative;
  padding-left: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_agree label span {
    font-size: 2.6rem;
    line-height: 2.0769230769;
    padding-left: 4rem;
  }
}
.p-contact-form .privacy_agree label span::before, .p-contact-form .privacy_agree label span::after {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-contact-form .privacy_agree label span::before, .p-contact-form .privacy_agree label span::after {
    top: 1.2rem;
    width: 3rem;
    height: 3rem;
  }
}
.p-contact-form .privacy_agree label span::before {
  z-index: 1;
  border: 0.2rem solid #000;
}
.p-contact-form .privacy_agree label span::after {
  border: 0.5rem solid #fff;
  background: var(--color-yellow);
  opacity: 0;
}
.p-contact-form .btns {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(auto, 18.4rem));
  gap: 3.8rem;
  order: 1;
  position: relative;
  margin-top: 6.6rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form .btns {
    grid-template-columns: repeat(auto-fit, minmax(auto, 46rem));
    margin-top: 10.6rem;
  }
}
.p-contact-form .btns_item input {
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: grid;
  place-content: center;
  position: relative;
  padding-bottom: 0.2rem;
  width: 100%;
  max-width: 18.4rem;
  height: 4.8rem;
  border: 0.2rem solid var(--color-base);
  border-radius: var(--border-radius-infinity);
  background: var(--color-base);
  cursor: pointer;
  transition: color var(--transition-base), background-color var(--transition-base);
}
@media screen and (max-width: 767px) {
  .p-contact-form .btns_item input {
    font-size: 2.8rem;
    max-width: 46rem;
    height: 7.4rem;
  }
}
.p-contact-form .btns_item input[disabled] {
  opacity: 0.5;
}
.p-contact-form .btns_item input[type=button] {
  color: var(--color-base);
  background: #fff;
}
.p-contact-form .btns_item input:focus-visible {
  color: var(--color-base);
  background: #fff;
}
.p-contact-form .btns_item input:focus-visible[type=button] {
  color: #fff;
  background: var(--color-base);
}
@media (any-hover: hover) {
  .p-contact-form .btns_item input:hover {
    color: var(--color-base);
    background: #fff;
  }
  .p-contact-form .btns_item input:hover[type=button] {
    color: #fff;
    background: var(--color-base);
  }
}
.p-contact-form .wpcf7-not-valid-tip {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 900;
  color: var(--color-brown);
  display: block;
  margin-top: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-contact-form .wpcf7-not-valid-tip {
    font-size: 2.4rem;
    line-height: 2.1666666667;
  }
}
.p-contact-form .wpcf7-spinner {
  position: absolute;
  top: 110%;
  left: 50%;
  z-index: 1;
  translate: -50% 0;
  margin: 0;
  width: 2.4rem;
  height: 2.4rem;
}
.p-contact-form .wpcf7-spinner::before {
  top: 0.4rem;
  left: 0.4rem;
  width: 0.6rem;
  height: 0.6rem;
  transform-origin: 0.8rem 0.8rem;
}
.p-contact-form .wpcf7-response-output {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 900;
  color: var(--color-brown);
  margin: 6rem auto 0;
  padding: 0;
  width: fit-content;
  border: none !important;
}
@media screen and (max-width: 767px) {
  .p-contact-form .wpcf7-response-output {
    font-size: 2.4rem;
    line-height: 2.1666666667;
  }
}
.p-contact-form .wpcf7-response-output:empty {
  display: none;
}

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