/* Common Content */
.sec-common {
  padding: 66px 0 111px;
}

.sec-common .desc {
  line-height: 2.1;
  text-align: center;
  letter-spacing: 1px;
}

.sec-common .desc a {
  color: #7cbe41;
}

.sec-common .txt-left {
  text-align: left;
}

.sec-common .btn-icon,
.sec-common .prev-btn,
.sec-common .btn-black {
  width: 300px;
  font-family: "Ryo Gothic PlusN", sans-serif;
  cursor: pointer;
  border-radius: 0;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.sec-common .btn-icon {
  position: relative;
}

.sec-common .btn-icon::before,
.sec-common .btn-icon::after {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: "";
  transform: translateY(-50%);
}

.sec-common .btn-icon::before {
  left: 34px;
  width: 13px;
  height: 13px;
  background: url("../img/common/ico_square01.png") no-repeat center/contain;
  transition: all 0.5s;
}

.sec-common .btn-icon::after {
  right: 36px;
  width: 14px;
  height: 5px;
  background: url("../img/common/ico_right_arr02.png") no-repeat center/contain;
  transition: right 0.5s;
}

@media (hover: hover) and (pointer: fine) {
  .sec-common .btn-icon:hover::before {
    background: url("../img/common/ico_square02.png") no-repeat center/contain;
  }

  .sec-common .btn-icon:hover::after {
    right: 26px;
    background: url("../img/common/ico_right_arr04.png") no-repeat center/contain;
  }
}

.wpcf7-spinner {
  display: none;
}

/* Contact Content */
.sec-contact .form-blk {
  width: 801px;
  margin: 87px auto 0;
}

.sec-contact .row {
  margin-bottom: 40px;
}

.sec-contact .d-flex {
  display: flex;
}

.sec-contact .cmn-lbl,
.sec-contact .cmn-input,
.sec-contact .cmn-select {
  display: block;
  color: #34343b;
  font-family: "Ryo Gothic PlusN", sans-serif;
  font-size: 16px;
  letter-spacing: 1px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

.sec-contact .cmn-lbl {
  line-height: 1.5;
  margin-bottom: 9px;
}

.sec-contact .cmn-lbl span {
  color: #7cbe41;
  font-family: "ToppanBunkyuStdN-ExtraBold";
  font-weight: 800;
}

.sec-contact .cmn-input,
.sec-contact .cmn-select {
  width: 100%;
  padding: 17px 20px;
  border: 1px solid #262627;
  background-color: transparent;
  outline: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 40px #f4f6f7 inset !important;
}

::placeholder {
  color: rgba(52, 52, 59, 0.5);
}

.sec-contact .cmn-select {
  line-height: 2;
  background: url("../img/common/ico_down_arr.png") no-repeat center right 20px/15px;
}

.sec-contact .cmn-select:has(option:disabled:checked[hidden]) {
  color: rgba(52, 52, 59, 0.5);
}

.sec-contact .cmn-select option {
  color: #34343b;
}

.sec-contact .checkbox-blk {
  position: relative;
  line-height: 1.5;
  margin-right: 46px;
  cursor: pointer;
  user-select: none;
}

.sec-contact .checkbox-blk a {
  margin-left: -7px;
  color: #7cbe41;
  letter-spacing: 1px;
}

.sec-contact textarea {
  height: 211px;
  resize: none;
}

.sec-contact .col {
  width: 49%;
}

.sec-contact .address .d-flex {
  justify-content: space-between;
}

.sec-contact .privacy {
  display: flex;
  justify-content: center;
  padding-top: 13px;
}

.sec-contact .privacy .cmn-lbl {
  position: relative;
  margin: 0;
}

.sec-contact .w-sm .wpcf7-form-control-wrap {
  width: 50%;
}

.sec-contact .select-item .wpcf7-form-control-wrap {
  width: 33.33%;
}

.sec-contact .w-sm .wpcf7-form-control-wrap:first-of-type .cmn-input {
  border-right: 0;
}

.sec-contact .cmn-select.select-bdr {
  border-width: 1px 0;
}

.sec-contact .wpcf7-checkbox input[type=checkbox] {
  display: none;
  visibility: hidden;
}

.sec-contact .wpcf7-list-item {
  margin-left: 35px;
}

.sec-contact .wpcf7-checkbox .wpcf7-list-item-label {
  letter-spacing: 1px;
}

.sec-contact .wpcf7-checkbox input[type=checkbox]+span:before,
.sec-contact .wpcf7-checkbox input[type=checkbox]+span:after {
  display: block;
  position: absolute;
  content: "";
}

.sec-contact .wpcf7-checkbox input[type=checkbox]+span:before {
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid #262627;
  box-sizing: border-box;
  transform: translateY(-50%);
}

.sec-contact .wpcf7-checkbox input[type=checkbox]+span:after {
  top: -2px;
  left: 6.5px;
  width: 6px;
  height: 12px;
  visibility: hidden;
  border: solid #7cbe41;
  transform: rotate(45deg);
  border-width: 0 4px 4px 0;
}

.sec-contact .wpcf7-checkbox input[type=checkbox]:checked+span:before {
  background: transparent;
}

.sec-contact .wpcf7-checkbox input[type=checkbox]:checked+span:after {
  visibility: visible;
}

.sec-contact .privacy .wpcf7-list-item-label {
  font-size: 0;
}

.sec-contact .wpcf7-not-valid-tip {
  margin-top: 9px;
}

.sec-contact .checkbox-blk .wpcf7-not-valid-tip {
  position: absolute;
  color: #dc3232;
  font-family: "Ryo Gothic PlusN", sans-serif;
  font-size: 1em;
  font-weight: 400;
  white-space: nowrap;
}

.sec-contact .btn-center {
  padding-top: 20px;
}

.sec-contact .btn-icon {
  margin: 0 auto;
}

/* Confirm Content */
.sec-confirm .confirm-list {
  width: 801px;
  margin: 50px auto 0;
}

.sec-confirm .row {
  display: flex;
  align-items: center;
  padding: 28px 0;
  border-top: 2px solid #e2e8eb;
}

.sec-confirm .content {
  align-items: flex-start;
}

.sec-confirm .privacy {
  border-bottom: 2px solid #e2e8eb;
}

.sec-confirm .cmn-lbl {
  width: 196px;
  line-height: 1.7;
  letter-spacing: 1px;
}

.sec-confirm .cmn-lbl span {
  color: #7cbe41;
  font-family: "ToppanBunkyuStdN-ExtraBold";
  font-weight: 800;
}

.sec-confirm .cmn-txt {
  width: 75%;
  line-height: 2.13;
  padding-left: 24px;
  color: rgba(52, 52, 59, 0.8);
  letter-spacing: 0.87px;
}

.sec-confirm .btn-blk {
  display: flex;
  justify-content: center;
  padding-top: 62px;
}

.sec-confirm .back-btn {
  position: relative;
  margin-right: 30px;
}

.sec-confirm .prev-btn {
  background-color: transparent;
}

.sec-confirm .back-btn::before,
.sec-confirm .back-btn::after {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: "";
  transform: translateY(-50%);
}

.sec-confirm .back-btn::before {
  left: 28px;
  width: 14px;
  height: 5px;
  background: url("../img/common/ico_left_arr02.png") no-repeat center/contain;
  transition: left 0.5s;
}

.sec-confirm .back-btn::after {
  right: 28px;
  width: 13px;
  height: 13px;
  background: url("../img/common/ico_square01.png") no-repeat center/contain;
  transition: all 0.5s;
}

@media (hover: hover) and (pointer: fine) {
  .sec-confirm .prev-btn:hover {
    background-color: #7cbe41;
  }

  .sec-confirm .back-btn:hover::before {
    left: 18px;
    background: url("../img/common/ico_left_arr03.png") no-repeat center/contain;
  }

  .sec-confirm .back-btn:hover::after {
    background: url("../img/common/ico_square02.png") no-repeat center/contain;
  }
}

.sec-confirm .wpcf7-form-control-wrap {
  display: none;
}

/* Complete Content */
.sec-complete .btn-blk {
  padding-top: 64px;
  text-align: center;
}

/* Ipad
-----------------------------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1280px) {

  @media (hover: hover) and (pointer: fine) {
    .sec-common .btn-icon:hover::after {
      right: 2.031vw;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .sec-confirm .back-btn:hover::before {
      left: 1.406vw;
    }
  }

  /* Common Content */
  .sec-common {
    padding: 5.156vw 0 8.672vw;
  }

  .sec-common .desc {
    letter-spacing: 0.078vw;
  }

  .sec-common .btn-icon,
  .sec-common .prev-btn,
  .sec-common .btn-black {
    width: 23.438vw;
  }

  .sec-common .btn-icon::before {
    left: 2.656vw;
    width: 1.016vw;
    height: 1.016vw;
  }

  .sec-common .btn-icon::after {
    right: 2.813vw;
    width: 1.094vw;
    height: 0.391vw;
  }

  /* Contact Content */
  .sec-contact .form-blk {
    width: 62.578vw;
    margin: 6.797vw auto 0;
  }

  .sec-contact .row {
    margin-bottom: 3.125vw;
  }

  .sec-contact .cmn-lbl,
  .sec-contact .cmn-input,
  .sec-contact .cmn-select {
    font-size: 1.25vw;
    letter-spacing: 0.078vw;
  }

  .sec-contact .cmn-lbl {
    margin-bottom: 0.703vw;
  }

  .sec-contact .cmn-input,
  .sec-contact .cmn-select {
    padding: 1.328vw 1.563vw;
    border: 0.13vw solid #262627;
  }

  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 3.125vw #f4f6f7 inset !important;
  }

  .sec-contact .cmn-select {
    background: url("../img/common/ico_down_arr.png") no-repeat center right 1.563vw/1.172vw;
  }

  .sec-contact .checkbox-blk {
    margin-right: 3.594vw;
  }

  .sec-contact .checkbox-blk a {
    margin-left: -0.547vw;
    letter-spacing: 0.078vw;
  }

  .sec-contact textarea {
    height: 16.484vw;
  }

  .sec-contact .privacy {
    padding-top: 1.016vw;
  }

  .sec-contact .cmn-select.select-bdr {
    border-width: 0.13vw 0;
  }

  .sec-contact .wpcf7-list-item {
    margin-left: 2.734vw;
  }

  .sec-contact .wpcf7-checkbox .wpcf7-list-item-label {
    letter-spacing: 0.078vw;
  }

  .sec-contact .wpcf7-checkbox input[type=checkbox]+span:before {
    width: 1.875vw;
    height: 1.875vw;
    border: 0.13vw solid #262627;
  }

  .sec-contact .wpcf7-checkbox input[type=checkbox]+span:after {
    top: -0.156vw;
    left: 0.508vw;
    width: 0.469vw;
    height: 0.938vw;
    border-width: 0 0.313vw 0.313vw 0;
  }

  .sec-contact .wpcf7-not-valid-tip {
    margin-top: 0.703vw;
  }

  .sec-contact .btn-center {
    padding-top: 1.563vw;
  }

  /* Confirm Content */
  .sec-confirm .confirm-list {
    width: 62.578vw;
    margin: 3.906vw auto 0;
  }

  .sec-confirm .row {
    padding: 2.188vw 0;
    border-top: 0.156vw solid #e2e8eb;
  }

  .sec-confirm .privacy {
    border-bottom: 0.156vw solid #e2e8eb;
  }

  .sec-confirm .cmn-lbl {
    width: 15.313vw;
    letter-spacing: 0.078vw;
  }

  .sec-confirm .cmn-txt {
    padding-left: 1.875vw;
    letter-spacing: 0.068vw;
  }

  .sec-confirm .btn-blk {
    padding-top: 4.844vw;
  }

  .sec-confirm .back-btn {
    margin-right: 2.344vw;
  }

  .sec-confirm .back-btn::before {
    left: 2.188vw;
    width: 1.094vw;
    height: 0.391vw;
  }

  .sec-confirm .back-btn::after {
    right: 2.188vw;
    width: 1.016vw;
    height: 1.016vw;
  }

  /* Complete Content */
  .sec-complete .btn-blk {
    padding-top: 5vw;
  }
}

/* SP
-----------------------------------------------------------------*/
@media only screen and (max-width: 767.9px) {

  @media (hover: hover) and (pointer: fine) {
    .sec-common .btn-icon:hover::after {
      right: 6.616vw;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .sec-confirm .back-btn:hover::before {
      left: 6.616vw;
    }
  }

  /* Common Content */
  .sec-common {
    padding: 9.16vw 0 20.112vw;
  }

  .sec-common .desc {
    line-height: 2;
    text-align: left;
    letter-spacing: 0.254vw;
  }

  .sec-common .btn-icon,
  .sec-common .prev-btn,
  .sec-common .btn-black {
    width: 76.336vw;
  }

  .sec-common .btn-icon::before {
    left: 8.651vw;
    width: 3.308vw;
    height: 3.308vw;
  }

  .sec-common .btn-icon::after {
    right: 9.16vw;
    width: 3.562vw;
    height: 1.272vw;
  }

  /* Contact Us Content */
  .sec-contact .form-blk {
    width: 100%;
    margin: 12.649vw auto 0;
  }

  .sec-contact .row {
    margin-bottom: 8.706vw;
  }

  .sec-contact .cmn-lbl,
  .sec-contact .cmn-input,
  .sec-contact .cmn-select {
    font-size: 4.071vw;
    letter-spacing: 0.305vw;
  }

  .sec-contact .cmn-lbl {
    margin-bottom: 2.545vw;
  }

  .sec-contact .cmn-input,
  .sec-contact .cmn-select {
    padding: 4.363vw 5.089vw;
    border: 0.296vw solid #262627;
  }

  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 10.178vw #f4f6f7 inset !important;
  }

  .sec-contact .cmn-select {
    background: url("../img/common/ico_down_arr.png") no-repeat center right 5.089vw/3.817vw;
  }

  .sec-contact .checkbox-blk {
    margin-right: 11.705vw;
  }

  .sec-contact .checkbox-blk a {
    letter-spacing: 0.305vw;
  }

  .sec-contact textarea {
    height: 53.69vw;
  }

  .sec-contact .document-select-blk .row .d-flex {
    flex-wrap: wrap;
  }

  .sec-contact .col {
    width: 100%;
  }

  .sec-contact .col+.col {
    margin-top: 8.906vw;
  }

  .sec-contact .privacy {
    padding-top: 7.638vw;
  }

  .sec-contact .w-sm {
    display: block;
  }

  .sec-contact .w-sm .wpcf7-form-control-wrap {
    width: 100%;
  }

  .sec-contact .w-sm .wpcf7-form-control-wrap:first-of-type .cmn-input {
    border-right: 0.296vw solid #262627;
    border-bottom: 0.1vw solid #262627;
  }

  .sec-contact .cmn-select.select-bdr {
    border-width: 0.296vw 0;
  }

  .sec-contact .wpcf7-list-item {
    margin-left: 8.906vw;
  }

  .sec-contact .wpcf7-checkbox .wpcf7-list-item-label {
    letter-spacing: 0.305vw;
  }

  .sec-contact .wpcf7-checkbox input[type=checkbox]+span:before {
    width: 6.107vw;
    height: 6.107vw;
    border: 0.296vw solid #262627;
  }

  .sec-contact .wpcf7-checkbox input[type=checkbox]+span:after {
    top: -0.346vw;
    left: 2.1vw;
    width: 1.527vw;
    height: 3.053vw;
    border-width: 0 1.018vw 1.018vw 0;
  }

  .sec-contact .wpcf7-not-valid-tip {
    margin-top: 2.545vw;
  }

  .sec-contact .btn-center {
    padding-top: 7.253vw;
  }

  /* Confirm Content */
  .sec-confirm .confirm-list {
    width: 100%;
    margin: 12.649vw auto 0;
  }

  .sec-confirm .row {
    display: block;
    padding: 5.089vw 0;
    border-top: 0.509vw solid #e2e8eb;
  }

  .sec-confirm .privacy {
    border-bottom: 0.509vw solid #e2e8eb;
  }

  .sec-confirm .cmn-lbl {
    width: 100%;
    line-height: 2.1;
    letter-spacing: 0.254vw;
  }

  .sec-confirm .cmn-txt {
    width: 94%;
    line-height: 2.03;
    padding-left: 4.852vw;
    letter-spacing: 0.247vw;
  }

  .sec-confirm .btn-blk {
    flex-direction: column-reverse;
    align-items: center;
    padding-top: 15.776vw;
  }

  .sec-confirm .back-btn {
    margin-top: 6.616vw;
    margin-right: 0;
  }

  .sec-confirm .back-btn::before {
    left: 9.16vw;
    width: 3.562vw;
    height: 1.272vw;
  }

  .sec-confirm .back-btn::after {
    right: 9.16vw;
    width: 3.308vw;
    height: 3.308vw;
  }

  .sec-confirm .prev-btn {
    padding: 7.125vw 7.37vw;
    text-align: center;
  }

  /* Complete Content */
  .sec-complete .btn-blk {
    padding-top: 12.903vw;
  }

}