@charset "UTF-8";

.radio_inner{
  display: flex;
  margin-bottom:21px;
}
/* .radio_box {
  appearance: none;
  position: absolute;
} */
.radio_text{
  font-size: 19px;
  font-weight: 200;
  margin-left: 14px;
  margin-top: 1px;
  margin-bottom: 1px;
  letter-spacing: 0.07em;
}
.radio_box{
  width: 20px;
  box-sizing: border-box;
}
.radio_box::before {
  content: '';
  border: 1px solid #000;
  background: #fff;
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  box-sizing: border-box;
}

.radio_box:checked::after {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-color: #000;
  position: absolute;
  box-sizing: border-box;
}


.contact_wrap{
  width: 88%;
  max-width: 900px;
  margin: 0 auto;
}
.contact_desc{
  font-weight: 200;
  font-size: 28px;
  line-height: 180%;
  letter-spacing: 0.04em;
}
form{
  margin: 50px auto;
}
.form_label{
  font-weight: 200;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: 0.07em;
}
.mandatory{
  width: 58px;
  height: 24px;
  background: #000000;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  padding: 5px;
  line-height: 100%;
  position: relative;
  top: -3px;
  margin-right: 18px;
  box-sizing: border-box;
}

.any{
  width: 58px;
  height: 24px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  border:1px solid #000;
  display: inline-block;
  padding: 5px;
  line-height: 100%;
  position: relative;
  top: -3px;
  margin-right: 18px;
  box-sizing: border-box;
}

.form_block_inner{
  margin-top: 21px;
  margin-left: 79px;
}
.form_block{
  margin-bottom: 70px;
}
.input_text{
  border-bottom: 1px solid #000;
  width: 100%;
  padding: 8px 0 18px;
  font-size: 18px;
  font-weight: 300;
  line-height: 140%;
}
.input_text[type="text"]:focus {
  outline: 0;
}
.input_text[type="email"]:focus {
  outline: 0;
}
textarea:focus{
outline: none;
}
/* 入力時 */
.input_text:focus::-webkit-input-placeholder {
	color: transparent;
}
.input_text:focus::-moz-placeholder {
	color: transparent;
}
.input_text:focus::-ms-input-placeholder {
	color: transparent;
}
.input_text:focus::placeholder {
	color: transparent;
}

.submit{
  text-align: center;
  color: #fff;
  font-size: 24px;
  line-height: 200%;
  letter-spacing: 0.07em;
  background: #000;
  border-radius: 32px;
  padding: 8px 42px;
  display: block;
  margin: 0 auto;
}

.contact{
  margin: 0 auto 150px;
}

.join_img{
  width: 70%;
  max-width: 1294px;
  display: block;
  margin: 80px auto 90px;
}

.join_maindesc{
  font-weight: 500;
  font-size: 28px;
  line-height: 180%;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.join_desc{
  font-weight: 300;
  font-size: 18px;
  line-height: 180%;
  letter-spacing: 0.04em;
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .contact_desc{
    font-size: 18px;
  }
  form{
    margin: 28px auto;
  }
  .form_label{
    font-size: 18px;
  }
  .mandatory , .any{
    font-size: 10px;
    width: 36px;
    margin-right: 12px;
    top: -3px;
    height: auto;
  }
  .form_block_inner{
    margin-top: 21px;
    margin-left: 0;
  }
  .radio_text{
    font-size: 15px;
    line-height: 140%;
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    top: -1px;
    width:calc(100% - 34px);
  }
  .input_text{
    font-size: 15px;
    padding-top: 0;
  }
  .form_block_inner{
    margin-top: 24px;
  }
  .form_block{
    margin-bottom: 42px;
  }
  .submit{
    font-size: 18px;
  }
  .contact{
    margin: 0 auto 80px;
  }
  .join_img{
    width: 90%;
    max-width: 1294px;
    display: block;
    margin: 40px auto 50px;
  }

  .join_maindesc{
    font-size: 21px;
    margin-bottom: 4px;
  }
  .join_desc{
    font-size: 15px;
    margin-bottom: 50px;
  }

}
