@charset "UTF-8";
:root {
  -webkit-font-smoothing: antialiased;
  --clr-facebook: #1877F2;
  --clr-twitter: #1D9BF0;
  --clr-line: #4CC764;
  --fzSP: 1.4rem;
  --fzPC: 1.6rem;
  --fz-headline: 4.6rem;
  --fz-heading: 2.3rem;
  --fz-subhead: 1.6rem;
  --lh: 2;
  --ls: normal;
  --ff-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝ProN W3", HiraMinProN-W3, "ヒラギノ明朝Pro W3", "Hiragino Mincho Pro", "ＭＳ 明朝", "MS Mincho", serif;
  --ff-sans: YakuHanJP, "Roboto", "Noto Sans JP", sans-serif;
}

#formarea {
  margin-top: 10vw;
}
@media (min-width: 768px) {
  #formarea {
    margin-top: 60px;
  }
}
@media (max-width: 767px) {
  #formarea .sectionHead {
    line-height: 1.76;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
@media (min-width: 768px) {
  #formarea .completebox {
    text-align: center;
  }
}
#formarea .textarea p + p {
  padding-top: 2em;
}
#formarea h2 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.41;
  margin-top: 6.6666666667vw;
}
@media (min-width: 768px) {
  #formarea h2 {
    font-size: 2.2rem;
    margin-top: 30px;
  }
}
#formarea .sum {
  margin-top: 2.6666666667vw;
}
@media (min-width: 768px) {
  #formarea .sum {
    margin-top: 20px;
  }
}
#formarea h3 {
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  #formarea h3 {
    margin-top: 60px;
  }
}
#formarea .sum + h3 {
  margin-top: 9.3333333333vw;
}
@media (min-width: 768px) {
  #formarea .sum + h3 {
    margin-top: 75px;
  }
}
#formarea .tel {
  margin-top: 6.6666666667vw;
  font-size: 3.2rem;
  font-weight: 700;
}
#formarea .tel span, #formarea .tel a {
  color: #da340b;
}
#formarea .tel i {
  margin-right: 2.6666666667vw;
}
@media (min-width: 768px) {
  #formarea .tel {
    margin-top: 30px;
    font-size: 4rem;
  }
  #formarea .tel i {
    margin-right: 10px;
  }
}
#formarea .open {
  margin-top: 4vw;
  font-size: 1.5rem;
  line-height: 8vw;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#formarea .open strong {
  font-size: 1.7rem;
}
@media (min-width: 768px) {
  #formarea .open {
    margin-top: 10px;
    font-size: 1.6rem;
    line-height: 30px;
  }
  #formarea .open strong {
    font-size: 1.8rem;
  }
}
#formarea dl {
  border-top: 1px solid #ccc;
  margin-top: 6.6666666667vw;
}
@media (min-width: 768px) {
  #formarea dl {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 480px auto;
  }
}
#formarea dt {
  padding-top: 4.5333333333vw;
  padding-bottom: 4vw;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.78;
  padding-left: 7.0666666667vw;
  position: relative;
}
@media (min-width: 768px) {
  #formarea dt {
    padding-top: 35px;
    padding-bottom: 35px;
    padding-left: 50px;
    font-size: 1.8rem;
    border-bottom: 1px solid #ccc;
  }
}
#formarea dt::before {
  content: "";
  width: 5.2vw;
  height: 5.2vw;
  border: 1.2vw solid #da340b;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 5.6vw;
  left: 0;
}
@media (min-width: 768px) {
  #formarea dt::before {
    width: 21px;
    height: 21px;
    border-width: 5px;
    top: 40px;
    left: 20px;
  }
}
#formarea dt.required::after {
  content: "必須";
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 6vw;
  color: #fff;
  background-color: #da340b;
  border-radius: 3px;
  padding: 0 3px;
  display: inline-block;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  margin-left: 2.4vw;
}
@media (min-width: 768px) {
  #formarea dt.required::after {
    font-size: 1.3rem;
    line-height: 25px;
    margin-left: 10px;
  }
}
#formarea dd {
  font-size: 1.5rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5.3333333333vw;
}
@media (min-width: 768px) {
  #formarea dd {
    padding: 20px 0;
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  #formarea .confirmtable dd {
    padding-top: 35px;
    padding-bottom: 35px;
    line-height: 1.78;
  }
}
#formarea label.half {
  width: 45%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 10px;
  line-height: 5.6vw;
}
@media (min-width: 768px) {
  #formarea label.half {
    line-height: 20px;
    margin-top: 20px;
  }
}
#formarea .vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4vw 0;
}
@media (min-width: 768px) {
  #formarea .vertical {
    gap: 30px 0;
    padding: 40px 0;
  }
}
#formarea .dlstyle label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#formarea .dlstyle label + label {
  margin-top: 4vw;
}
#formarea .dlstyle label .label {
  width: 20vw;
  font-size: 1.5rem;
}
#formarea .dlstyle label select {
  width: 22.6666666667vw;
  background-position: top 50% right 2.9333333333vw;
}
#formarea .dlstyle label .selectbox + .selectbox {
  margin-left: 2vw;
}
@media (min-width: 768px) {
  #formarea .dlstyle label + label {
    margin-top: 21px;
  }
  #formarea .dlstyle label .label {
    width: 130px;
    font-size: 1.6rem;
  }
  #formarea .dlstyle label select {
    width: 180px;
    background-position: top 50% right 21px;
  }
  #formarea .dlstyle label .selectbox + .selectbox {
    margin-left: 15px;
  }
  #formarea .dlstyle label .selectbox::after {
    right: 2.9333333333vw;
  }
}
#formarea .sex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#formarea .sex label {
  width: 50%;
}
@media (min-width: 768px) {
  #formarea .sex label {
    width: 160px;
  }
}
#formarea .address label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#formarea .address label + label {
  margin-top: 4vw;
}
#formarea .address span:not([class]) {
  width: 20vw;
}
#formarea .address input, #formarea .address select {
  width: 72vw;
}
@media (min-width: 768px) {
  #formarea .address label + label {
    margin-top: 20px;
  }
  #formarea .address span:not([class]) {
    width: 130px;
  }
  #formarea .address input[name=〒], #formarea .address select {
    width: 200px;
  }
  #formarea .address input[name=市区町村], #formarea .address input[name=番地・建物名] {
    width: 570px;
  }
}
#formarea span.e-error, #formarea div.e-error {
  color: #da340b;
  margin-top: 2.6666666667vw;
}
@media (min-width: 768px) {
  #formarea span.e-error, #formarea div.e-error {
    margin-top: 15px;
  }
}
#formarea span.e-error {
  display: inline-block;
}
#formarea .txtcenter {
  text-align: center;
}
#formarea input[type=text] {
  background-color: #f5f5f5;
  border: none;
  height: 13.3333333333vw;
  padding: 2.6666666667vw 4vw;
}
#formarea input[type=text][name=お問い合わせの件名] {
  width: 74.6666666667vw;
  margin-right: 1.3333333333vw;
}
#formarea input[type=text][name=お名前], #formarea input[type=text][name=ふりがな], #formarea input[type=text][name=法人名], #formarea input[type=text][name=生年月日] {
  width: 92vw;
}
@media (min-width: 768px) {
  #formarea input[type=text] {
    height: 59px;
    padding: 0 20px;
    font-size: 1.6rem;
  }
  #formarea input[type=text][name=お問い合わせの件名] {
    width: 630px;
    margin-right: 1.3333333333vw;
  }
  #formarea input[type=text][name=お名前], #formarea input[type=text][name=ふりがな], #formarea input[type=text][name=法人名], #formarea input[type=text][name=生年月日] {
    width: 700px;
  }
}
#formarea input[type=email], #formarea input[type=tel] {
  font-size: 1.6rem;
  background-color: #f5f5f5;
  border: none;
  width: 100%;
  height: 13.3333333333vw;
  padding: 2.6666666667vw 4vw;
  border-radius: 10px;
}
@media (min-width: 768px) {
  #formarea input[type=email], #formarea input[type=tel] {
    height: 59px;
    padding: 0 20px;
    width: 700px;
  }
}
#formarea input[type=radio] {
  background-color: #f5f5f5;
  border: none;
  width: 5.6vw;
  height: 5.6vw;
}
#formarea input[type=radio]::after {
  background-color: #0b308e;
}
@media (min-width: 768px) {
  #formarea input[type=radio] {
    width: 20px;
    height: 20px;
  }
}
#formarea textarea {
  font-size: 1.6rem;
  background-color: #f5f5f5;
  border: none;
  border-radius: 10px;
  width: 100%;
  height: 40vw;
  padding: 2.6666666667vw 4vw;
}
@media (min-width: 768px) {
  #formarea textarea {
    height: 200px;
    padding: 20px;
    width: 700px;
  }
}
#formarea select {
  font-size: 1.6rem;
  background-color: #f5f5f5;
  border: none;
  height: 13.3333333333vw;
  padding: 2.6666666667vw 4vw;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2216px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(34%2C%2034%2C%2034)%22%20d%3D%22M12.214%2C15.102%20C12.763%2C15.651%2013.654%2C15.651%2014.203%2C15.102%20L25.590%2C3.715%20C26.139%2C3.166%2026.139%2C2.275%2025.590%2C1.726%20L24.262%2C0.398%20C23.714%2C-0.150%2022.825%2C-0.151%2022.275%2C0.396%20L13.208%2C9.420%20L4.141%2C0.396%20C3.592%2C-0.151%202.703%2C-0.150%202.155%2C0.398%20L0.827%2C1.726%20C0.277%2C2.275%200.277%2C3.166%200.827%2C3.715%20L12.214%2C15.102%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 3.4666666667vw auto;
  background-position: top 50% right 3.8666666667vw;
}
@media (min-width: 768px) {
  #formarea select {
    height: 59px;
    background-size: 14px auto;
    background-position: top 50% right 21px;
    padding: 0 50px 0 20px;
  }
}
#formarea .pp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  #formarea .pp {
    margin-top: 60px;
  }
}
#formarea input[type=checkbox]::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217px%22%20height%3D%2212px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(11%2C%2048%2C%20142)%22%20d%3D%22M5.934%2C11.731%20C6.247%2C12.044%206.753%2C12.044%207.066%2C11.731%20L16.266%2C2.531%20C16.578%2C2.219%2016.578%2C1.712%2016.266%2C1.400%20L15.134%2C0.269%20C14.822%2C-0.044%2014.315%2C-0.044%2014.003%2C0.269%20L6.500%2C7.772%20L2.997%2C4.269%20C2.685%2C3.956%202.178%2C3.956%201.866%2C4.269%20L0.734%2C5.400%20C0.422%2C5.712%200.422%2C6.219%200.734%2C6.531%20L5.934%2C11.731%20Z%22%2F%3E%3C%2Fsvg%3E");
}
#formarea .buttonarea {
  margin-top: 10.6666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 4vw;
}
@media (min-width: 768px) {
  #formarea .buttonarea {
    margin-top: 60px;
    gap: 0 30px;
  }
  #formarea .buttonarea .button {
    width: 380px;
  }
  #formarea .buttonarea #reset, #formarea .buttonarea #send {
    width: 240px;
  }
}