.page-title {
  background: url("../img/contact/mv-img_260227.jpg") no-repeat top center/cover;
}
@media only screen and (max-width: 767px) {
  .page-title {
    background: url("../img/contact/sp/mv-img_260227.jpg") no-repeat top center/cover;
  }
}

@media print, screen and (min-width: 768px) {
  .pankuzu {
    margin: 0.7rem auto 11.6rem;
  }
}

.contact {
  margin-bottom: 14rem;
}
.contact form {
  width: 110rem;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  .contact form {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .contact form {
    width: 68.7rem;
  }
}
.contact--step {
  margin: 0.6rem auto 0 0;
}
@media print, screen and (min-width: 768px) {
  .contact--step {
    width: 17rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--step {
    margin: 0 auto 8.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--step ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
  }
}
.contact--step ul li {
  position: relative;
  width: 17rem;
  height: 17rem;
  border-radius: 17rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li {
    width: 19rem;
    height: 19rem;
    margin-bottom: 0;
  }
}
.contact--step ul li::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: url("../img/contact/contact-step-bg.svg") no-repeat center/cover;
}
.contact--step ul li:not(:last-of-type)::after {
  content: "";
  width: 1px;
  height: 3rem;
  background: #000;
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li:not(:last-of-type)::after {
    width: 3rem;
    height: 1px;
    top: 50%;
    left: calc(100% + 2rem);
  }
}
.contact--step ul li.active figure {
  background: #ff0014;
}
.contact--step ul li.active figure figcaption {
  color: #fff;
}
.contact--step ul li figure {
  position: relative;
  z-index: 1;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 17rem;
  height: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  line-height: 1.5;
}
.contact--step ul li figure .icon {
  width: 3.6rem;
  height: 2.5rem;
  margin: 0 auto 2.4rem;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li figure .icon {
    width: 4rem;
    height: 2.8rem;
    margin-bottom: 1.6rem;
  }
}
.contact--step ul li figure .icon img {
  margin: auto;
}
.contact--step ul li figure .icon.icon1 img {
  width: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li figure .icon.icon1 img {
    width: 3.6rem;
  }
}
.contact--step ul li figure .icon.icon2 img {
  width: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li figure .icon.icon2 img {
    width: 4rem;
  }
}
.contact--step ul li figure .icon.icon3 img {
  width: 3rem;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li figure .icon.icon3 img {
    width: 3.3rem;
  }
}
.contact--step ul li figure figcaption {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .contact--step ul li figure figcaption {
    font-size: 3rem;
    line-height: 1.33;
  }
}
@media print, screen and (min-width: 768px) {
  .contact--form {
    width: 80rem;
  }
}
.contact--form .read {
  margin-bottom: 7rem;
}
@media only screen and (max-width: 767px) {
  .contact--form .read {
    margin-bottom: 5.8rem;
  }
}
.contact--form .read p {
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  .contact--form .read p {
    line-height: 1.74;
  }
}
.contact--form .read .must-txt {
  display: block;
  color: #ff0014;
}
.contact--form__single {
  margin-bottom: 2.7rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single {
    margin-bottom: 4rem;
  }
}
.contact--form__single dt {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #000;
  margin-bottom: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dt {
    font-size: 2.8rem;
    margin-bottom: 2.3rem;
  }
}
.contact--form__single dt .must {
  color: #ff0014;
}
.contact--form__single dd.item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.contact--form__single dd.item label {
  display: flex;
  align-items: center;
  margin-right: 4.3rem;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.item label {
    position: relative;
    margin-right: 4.4rem;
    font-size: 2.7rem;
    margin-left: 2rem;
    top: 1.5rem;
  }
  .contact--form__single dd.item label[for=contact-item2] {
    margin-right: 0;
  }
}
.contact--form__single dd.item input {
  margin-right: 1.3rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.item input {
    margin-right: 2.4rem;
  }
}
.contact--form__single dd.item input::before {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  border: 1px solid #000;
  border-radius: 3.6rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.item input::before {
    width: 6.4rem;
    height: 6.4rem;
  }
}
.contact--form__single dd.item input::after {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 1.8rem;
  background: #ff0014;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.9rem;
  margin: auto;
  display: none;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.item input::after {
    width: 3.24rem;
    height: 3.24rem;
    left: 1.6rem;
    top: 3rem;
  }
}
.contact--form__single dd.item input:checked::after {
  display: block;
}
.contact--form__single dd.flex {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.address-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
}
.contact--form__single dd input[type=text],
.contact--form__single dd select,
.contact--form__single dd textarea {
  background: #f2f2f2;
  color: #000;
  outline: none;
  padding: 1.3rem 2rem;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd input[type=text],
.contact--form__single dd select,
.contact--form__single dd textarea {
    font-size: 2.7rem;
    padding: 2.3rem 2rem 2.3rem 4rem;
  }
}
.contact--form__single dd input[type=text]::placeholder,
.contact--form__single dd select::placeholder,
.contact--form__single dd textarea::placeholder {
  color: #999;
}
.contact--form__single dd input[type=text][type=text],
.contact--form__single dd select[type=text],
.contact--form__single dd textarea[type=text] {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .contact--form__single dd input[type=text].lage,
.contact--form__single dd select.lage,
.contact--form__single dd textarea.lage {
    width: 40rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contact--form__single dd input[type=text].middle,
.contact--form__single dd select.middle,
.contact--form__single dd textarea.middle {
    width: 27rem;
  }
}
.contact--form__single dd input[type=text].small,
.contact--form__single dd select.small,
.contact--form__single dd textarea.small {
  width: 20rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd input[type=text].small,
.contact--form__single dd select.small,
.contact--form__single dd textarea.small {
    width: 26.5rem;
  }
}
.contact--form__single dd input[type=text].input-error,
.contact--form__single dd select.input-error,
.contact--form__single dd textarea.input-error {
  background-color: #ffeef0;
}
.contact--form__single dd ul {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd ul {
    margin-top: 1.4rem;
  }
}
.contact--form__single dd ul li {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.025em;
  line-height: 1.71428;
  padding-left: 1.4rem;
  text-indent: -1.4rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd ul li {
    font-size: 2.6rem;
    padding-left: 2.6rem;
    text-indent: -2.6rem;
  }
}
.contact--form__single dd.select-box .select-box__field {
  position: relative;
}
.contact--form__single dd.select-box .select-box__field::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 1.3rem;
  bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd.select-box .select-box__field::after {
    width: 2rem;
    height: 2rem;
    bottom: 4rem;
    right: 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contact--form__single dd.select-box.lage {
    width: 40rem;
  }
}
.contact--form__single dd.select-box select {
  width: 100%;
  cursor: pointer;
}
.contact--form__single dd .flex {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex.year-box {
    margin-right: 2rem;
  }
}
.contact--form__single dd .flex.year-box .select-box {
  width: 12rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex.year-box .select-box {
    width: 21rem;
    margin-left: 0.7rem;
  }
  .contact--form__single dd .flex.year-box .select-box::after {
    right: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex.month-box {
    margin-right: 2rem;
  }
}
.contact--form__single dd .flex.month-box .select-box, .contact--form__single dd .flex.day-box .select-box {
  width: 8rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex.month-box .select-box, .contact--form__single dd .flex.day-box .select-box {
    width: 11rem;
  }
  .contact--form__single dd .flex.month-box .select-box::after, .contact--form__single dd .flex.day-box .select-box::after {
    right: 2rem;
  }
}
.contact--form__single dd .flex p {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  margin-right: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex p {
    font-size: 2.8rem;
    margin-right: 0;
  }
}
.contact--form__single dd .flex .select-box {
  position: relative;
  margin-right: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex .select-box {
    margin-right: 1.4rem;
  }
}
.contact--form__single dd .flex .select-box::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex .select-box::after {
    width: 2rem;
    height: 2rem;
    bottom: 4rem;
    right: 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contact--form__single dd .flex .select-box.lage {
    width: 40rem;
  }
}
.contact--form__single dd .flex .select-box select {
  width: 100%;
  padding: 1.3rem 2rem;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex .select-box select {
    padding: 2.3rem 2rem 2.3rem 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex .select-box select#month {
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .flex .select-box select#day {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .zip p {
    margin-right: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contact--form__single dd .prefectures {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .prefectures {
    margin-left: auto;
  }
  .contact--form__single dd .prefectures p {
    margin-right: 1rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .contact--form__single dd .prefectures .select-box {
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .prefectures .select-box::after {
    right: 2rem;
  }
}
.contact--form__single dd .prefectures #prefectures {
  width: 20rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .prefectures #prefectures {
    width: 25.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .address {
    width: 100%;
  }
}
.contact--form__single dd .address input {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd .address input {
    margin-top: 2rem;
  }
}
.contact--form__single dd textarea {
  width: 100%;
  height: 20rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single dd textarea {
    height: 48rem;
  }
}
.contact--form__single.message {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .contact--form__single.message {
    margin-bottom: 7rem;
  }
}
.contact .privacypolicy {
  border: 1px solid #ccc;
  padding: 2rem 0 0;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy {
    padding: 2.9rem 0 0;
    margin-bottom: 8rem;
  }
}
.contact .privacypolicy .inner {
  height: 53.5rem;
  overflow: auto;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy .inner {
    height: 34.3rem;
  }
}
.contact .privacypolicy h2 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ff0014;
  margin: 0 0 2.5rem 2.9rem;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy h2 {
    font-size: 3.2rem;
    margin: 0 0 2.1rem 4rem;
  }
}
.contact .privacypolicy dl {
  padding: 0 3rem 0 2.9rem;
  margin-bottom: 2.9rem;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy dl {
    margin-bottom: 4rem;
    padding: 0 6rem 0 4rem;
  }
}
.contact .privacypolicy dl dt,
.contact .privacypolicy dl dd {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy dl dt,
.contact .privacypolicy dl dd {
    font-size: 2.6rem;
    line-height: 1.846;
  }
}
.contact .privacypolicy dl dt {
  margin-bottom: 0.1rem;
  font-weight: 700;
}
.contact .privacypolicy dl dd:not(:last-of-type) {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy dl dd:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.contact .privacypolicy .privacy-check {
  background: #fff4dd;
  padding: 2rem 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy .privacy-check {
    padding: 3rem 0;
  }
}
.contact .privacypolicy .privacy-check__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact .privacypolicy .privacy-check label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy .privacy-check label {
    font-size: 3.2rem;
  }
}
.contact .privacypolicy .privacy-check label .must {
  color: #ff0014;
  display: inline-block;
  margin-right: 2rem;
}
.contact .privacypolicy .privacy-check input {
  width: 3rem;
  height: 3rem;
  position: relative;
  background: #fff;
  border: 1px solid #ccc;
  margin-left: 3rem;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy .privacy-check input {
    width: 4.5rem;
    height: 4.5rem;
    margin-left: 4.4rem;
  }
}
.contact .privacypolicy .privacy-check input::before {
  content: "";
  width: 1.2rem;
  height: 2rem;
  border-right: 2px solid #ff0014;
  border-bottom: 2px solid #ff0014;
  transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 0;
  left: 0.8rem;
  display: none;
}
@media only screen and (max-width: 767px) {
  .contact .privacypolicy .privacy-check input::before {
    width: 1.8rem;
    height: 3rem;
    left: 1.2rem;
  }
}
.contact .privacypolicy .privacy-check input:checked::before {
  display: block;
}
.contact .action-btn {
  width: 30.5rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn {
    width: 54rem;
  }
}
.contact .action-btn .next,
.contact .action-btn .back {
  width: 24.5rem;
  margin: 0 auto 2rem;
  position: relative;
  transition: 0.3s;
}
.contact .action-btn .next:hover,
.contact .action-btn .back:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next,
.contact .action-btn .back {
    width: 44rem;
  }
}
.contact .action-btn .next::before, .contact .action-btn .next::after,
.contact .action-btn .back::before,
.contact .action-btn .back::after {
  content: "";
  width: 2rem;
  height: 4rem;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next::before, .contact .action-btn .next::after,
.contact .action-btn .back::before,
.contact .action-btn .back::after {
    width: 3.6rem;
    height: 7.2rem;
  }
}
.contact .action-btn .next::before,
.contact .action-btn .back::before {
  top: 0;
  left: 0;
  background: url("../img/common/link-left.svg") no-repeat center/cover;
}
.contact .action-btn .next::after,
.contact .action-btn .back::after {
  right: 0;
  bottom: 0;
  background: url("../img/common/link-right.svg") no-repeat center/cover;
}
.contact .action-btn .next input,
.contact .action-btn .back input {
  display: block;
  line-height: 5rem;
  color: #fff;
  background: #000;
  text-align: center;
  border-radius: 0 1rem 0 1rem;
  letter-spacing: 0.1em;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next input,
.contact .action-btn .back input {
    font-size: 3.24rem;
    line-height: 9rem;
  }
}
.contact .action-btn .next i,
.contact .action-btn .back i {
  content: "";
  width: 0.85rem;
  height: 0.85rem;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(45deg);
  margin-left: 1.8rem;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next i,
.contact .action-btn .back i {
    width: 1.44rem;
    height: 1.44rem;
    border-top-width: 3px;
    border-right-width: 3px;
    margin-left: 1.4rem;
  }
}
.contact .action-btn .next {
  width: 30.5rem;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next {
    width: 54rem;
  }
}
.contact .action-btn .next input {
  line-height: 6rem;
}
@media only screen and (max-width: 767px) {
  .contact .action-btn .next input {
    line-height: 10rem;
  }
}
.contact .action-btn .back::before {
  background: url("../img/contact/link-left-gray.svg") no-repeat center/cover;
}
.contact .action-btn .back::after {
  background: url("../img/contact/link-right-gray.svg") no-repeat center/cover;
}
.contact .action-btn .back input {
  background: #999;
}
.contact .action-btn .back i {
  right: auto;
  left: 2rem;
  transform: rotate(-135deg);
}
.contact .error {
  color: #ff0014;
  margin-top: 1rem;
}
.contact__complete .intro {
  width: 80%;
  margin: auto;
}
.contact__complete .link-btn {
  margin-top: 8rem;
}

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