@charset "UTF-8";
/* CSS Document */
.spmask {
  display: inline-block;
}

.spmask-inline {
  display: inline;
}

.sponly {
  display: none;
}

@media (max-width: 767px) {
  .spmask {
    display: none;
  }
  .spmask-inline {
    display: none;
  }
  .sponly {
    display: block;
  }
}
/*------------------------------*/
:root {
  --bgGray:#c2cfd4;
  --lineGray: #c5ccd5;
  --bgInput: #e7ebec;
}

/*------------------------------*/
.contentsMv {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contentsMv .contentsMv_catch {
    width: 100%;
  }
}

/*------------------------------*/
.state {
  padding-block: 4rem;
  border-bottom: 1px solid var(--lineGray);
}
@media screen and (max-width: 767px) {
  .state {
    padding-block: 3rem;
  }
}
.state .state-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 6rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .state .state-wrap {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.state .state-wrap p {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bgGray);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
}
.state .state-wrap p.current {
  background-color: var(--main);
}
@media screen and (max-width: 767px) {
  .state .state-wrap p {
    font-size: 1.6rem;
  }
}

/*------------------------------*/
.form {
  padding-block: 6rem 10rem;
}
.form .wpcf7-not-valid-tip {
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .form {
    padding-block: 4rem 6rem;
  }
}
.form .lead {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .form .lead {
    margin-bottom: 3rem;
  }
}
.form .lead p.readText span {
  color: red;
}
.form .base-info {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .form .base-info {
    margin-block: 6rem 1rem;
  }
}
.form .base-info p {
  display: flex;
  align-items: center;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1;
}
.form .base-info p::before {
  content: "";
  display: block;
  height: 1.2em;
  width: 2px;
  background-color: var(--main);
  margin-right: 1rem;
}
.form .form-group {
  padding-block: 4rem 3rem;
  border-bottom: 1px solid var(--lineGray);
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form .form-group {
    row-gap: 1.8rem;
    padding-block: 3.5rem 3rem;
  }
}
.form .form-group > label, .form .form-group > p {
  font-weight: 700;
  color: var(--navy);
}
.form .form-group label.require::after,
.form .form-group p.require::after {
  content: "*";
  color: red;
  display: inline-block;
  margin-left: 0.2rem;
}
.form .form-group input, .form .form-group select {
  padding: 2rem;
  background-color: var(--bgInput);
  outline: none;
  border: none;
  color: var(--navy);
  font-weight: 500;
  width: 100%;
}
.form .form-group input::-moz-placeholder, .form .form-group select::-moz-placeholder {
  color: #b0b3b9;
}
.form .form-group input::placeholder, .form .form-group select::placeholder {
  color: #b0b3b9;
}
@media screen and (max-width: 767px) {
  .form .form-group input, .form .form-group select {
    padding: 2rem 1.5rem;
  }
}
.form .form-group select {
  /* デフォルトのプルダウンボタンを非表示 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* カスタマイズ */
  position: relative;
  background: url(/common/images/arrow-c-bottom.svg) no-repeat calc(100% - 1.4rem) 51%;
  background-size: 1.4rem;
  background-color: var(--bgInput);
}
.form .form-group select::-ms-expand {
  display: none;
}
.form .form-group:has(label[for=job]) select, .form .form-group:has(label[for=area]) select {
  width: 40rem;
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=job]) select, .form .form-group:has(label[for=area]) select {
    width: 100%;
  }
}
.form .form-group:has(label[for=name01]) > div, .form .form-group:has(label[for=furi01]) > div {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.form .form-group:has(label[for=name01]) > div .wpcf7-form-control-wrap, .form .form-group:has(label[for=furi01]) > div .wpcf7-form-control-wrap {
  width: 40rem;
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=name01]) > div .wpcf7-form-control-wrap, .form .form-group:has(label[for=furi01]) > div .wpcf7-form-control-wrap {
    width: calc((100% - 1rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=name01]) > div, .form .form-group:has(label[for=furi01]) > div {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.form .form-group .gender-wrap {
  display: flex;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.form .form-group .gender-wrap .wpcf7-list-item {
  margin-left: 0;
}
.form .form-group .gender-wrap .wpcf7-list-item + .wpcf7-list-item {
  margin-left: 2rem;
}
.form .form-group .gender-wrap label {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  white-space: nowrap;
}
.form .form-group .birth-wrap {
  display: flex;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .form .form-group .birth-wrap {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.form .form-group .birth-wrap > div {
  display: flex;
  align-items: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .form .form-group .birth-wrap > div {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.form .form-group .birth-wrap > div .unit {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .form .form-group .birth-wrap > div .unit {
    font-size: 1.4rem;
  }
}
.form .form-group .birth-wrap > div select[name=birth_year] {
  width: 12rem;
}
@media screen and (max-width: 767px) {
  .form .form-group .birth-wrap > div select[name=birth_year] {
    width: 10rem;
  }
}
.form .form-group .birth-wrap > div select[name=birth_month],
.form .form-group .birth-wrap > div select[name=birth_day] {
  width: 8rem;
}
@media screen and (max-width: 767px) {
  .form .form-group .birth-wrap > div select[name=birth_month],
.form .form-group .birth-wrap > div select[name=birth_day] {
    width: 7rem;
  }
}
.form .form-group .address-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
.form .form-group .address-wrap .postcode-wrap label {
  margin-right: 1rem;
  display: inline-block;
}
.form .form-group .address-wrap .postcode-wrap input {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .form .form-group .address-wrap .postcode-wrap input {
    width: 16rem;
  }
}
.form .form-group:has(label[for=privacy_final]) {
  flex-direction: row;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=privacy_final]) {
    flex-direction: column;
  }
}
.form .form-group:has(label[for=privacy_final]) label[for=privacy_final] {
  width: 24rem;
  flex-shrink: 0;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=privacy_final]) label[for=privacy_final] {
    width: 100%;
  }
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap .privacy-item .wpcf7-list-item {
  padding-left: 1.7em;
  text-indent: -1.7em;
  margin-top: 2rem;
  margin-left: 0;
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap .privacy-item .wpcf7-list-item > span {
  font-kerning: normal;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 2;
  text-align: justify;
  font-size: max(1.6rem, 14px);
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=privacy_final]) .privacy-wrap .privacy-item .wpcf7-list-item > span {
    text-align: left;
    font-size: 1.4rem;
  }
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap .privacy-item .wpcf7-list-item > span span {
  color: red;
  font-weight: 500;
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap input {
  width: 1.8rem;
  aspect-ratio: 1;
  margin-right: 0.5rem;
  translate: 0 0.225em;
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap p.readText {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .form .form-group:has(label[for=privacy_final]) .privacy-wrap p.readText {
    font-size: 1.4rem;
  }
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap p.readText.fw600 {
  font-weight: 600;
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap p.readText:first-of-type {
  margin-top: 0;
}
.form .form-group:has(label[for=privacy_final]) .privacy-wrap p.readText span {
  color: red;
  font-weight: 500;
}
.form .to-confirm, .form .to-send {
  margin-top: 4rem;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .form .to-confirm, .form .to-send {
    margin-top: 3rem;
    flex-direction: column;
    padding-inline: 2rem;
    row-gap: 1.5rem;
  }
}
.form .to-confirm .wpcf7-spinner, .form .to-send .wpcf7-spinner {
  display: none;
}
.form .to-confirm .btn-wrap, .form .to-send .btn-wrap {
  position: relative;
}
.form .to-confirm .btn-wrap::after, .form .to-send .btn-wrap::after {
  content: "";
  -webkit-mask-image: var(--arrow);
          mask-image: var(--arrow);
  inline-size: 1.6rem;
  margin-left: 0.1em;
  display: inline-block;
  aspect-ratio: 1;
  position: absolute;
  z-index: 2;
  background: url("/common/images/arrow-w.svg") no-repeat center/contain;
  right: 2.5rem;
  top: 50%;
  translate: 0 -50%;
  transition: all 0.15s ease;
}
.form .to-confirm .btn-wrap .to-confirmBtn, .form .to-confirm .btn-wrap .to-sendBtn, .form .to-send .btn-wrap .to-confirmBtn, .form .to-send .btn-wrap .to-sendBtn {
  position: relative;
  z-index: 1;
  width: 30rem;
  height: 8rem;
  border: solid 1px var(--navy);
  outline: none;
  color: #fff;
  background-color: var(--navy);
  font-weight: 600;
  font-size: 1.8rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
@media screen and (max-width: 767px) {
  .form .to-confirm .btn-wrap .to-confirmBtn, .form .to-confirm .btn-wrap .to-sendBtn, .form .to-send .btn-wrap .to-confirmBtn, .form .to-send .btn-wrap .to-sendBtn {
    width: 100%;
    height: 6rem;
  }
}
.form .to-confirm .btn-wrap .backBtn, .form .to-send .btn-wrap .backBtn {
  position: relative;
  z-index: 1;
  width: 30rem;
  height: 8rem;
  border: solid 1px var(--navy);
  outline: none;
  color: var(--navy);
  background-color: #fff;
  font-weight: 600;
  font-size: 1.8rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
@media screen and (max-width: 767px) {
  .form .to-confirm .btn-wrap .backBtn, .form .to-send .btn-wrap .backBtn {
    width: 100%;
    height: 6rem;
  }
}
.form .to-confirm .btn-wrap:has(.backBtn)::after, .form .to-send .btn-wrap:has(.backBtn)::after {
  rotate: 180deg;
  right: auto;
  left: 2.5rem;
  background: url("/common/images/arrow-c.svg") no-repeat center/contain;
}
@media (hover: hover) and (pointer: fine) {
  .form .to-confirm .btn-wrap:hover .to-confirmBtn, .form .to-confirm .btn-wrap:hover .to-sendBtn, .form .to-send .btn-wrap:hover .to-confirmBtn, .form .to-send .btn-wrap:hover .to-sendBtn {
    background-color: #fff;
    color: var(--navy);
  }
  .form .to-confirm .btn-wrap:hover::after, .form .to-send .btn-wrap:hover::after {
    background-image: url("/common/images/arrow-c.svg");
  }
  .form .to-confirm .btn-wrap:hover .backBtn, .form .to-send .btn-wrap:hover .backBtn {
    background-color: var(--navy);
    color: #fff;
  }
  .form .to-confirm .btn-wrap:hover .backBtn::after, .form .to-send .btn-wrap:hover .backBtn::after {
    background-image: url("/common/images/arrow-w.svg");
  }
}
.form.confirm .form-group {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .form.confirm .form-group {
    flex-direction: column;
  }
}
.form.confirm .form-group > label, .form.confirm .form-group > p {
  width: 24rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .form.confirm .form-group > label, .form.confirm .form-group > p {
    width: 100%;
  }
}
.form.confirm .form-group > label.privacy, .form.confirm .form-group > p.privacy {
  font-size: 1.6rem;
}
.form.confirm .form-group > div {
  display: flex;
}
.form.confirm .form-group > div.address_wrap {
  row-gap: 1rem;
  flex-direction: column;
}
.form.confirm .form-group > div p.unit {
  margin-right: 0.5rem;
}
.form.confirm .form-group:has(label[for=privacy_final]) label[for=privacy_final] {
  line-height: 1.1;
}

/*------------------------------*/
.thanks {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .thanks {
    margin-top: 4rem;
  }
}

.toTop {
  margin-top: 6rem;
  padding-bottom: 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .toTop {
    margin-top: 4rem;
    padding-bottom: 6rem;
  }
}
.toTop .toTop-btn {
  position: relative;
  display: block;
  width: 30rem;
  margin: 0 auto;
  color: #fff;
  border: solid 1px #fff;
  padding-block: 3rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  background-color: var(--navy);
}
@media screen and (max-width: 767px) {
  .toTop .toTop-btn {
    width: 100%;
    padding-block: 2rem;
  }
}
/*# sourceMappingURL=style.css.map */