@charset "UTF-8";
/* ------------------------------------------------------------- */
/* contact                                                       */
/* ------------------------------------------------------------- */
/*.form_section {
  border-bottom: solid 3px #edf2fd; }*/

.form_section .note {
  line-height: 1.5;
  margin: 4rem 0 6rem; }

.form_section .note h4 {
  font-weight: bold;
  margin-bottom: 1rem; }

.form_section .lead-txt {
  line-height: 1.5;
  margin-bottom: 4rem; }

.form_section .lead-txt .caption {
  margin-top: 0.5rem;
  font-size: 1.5rem; }

input, txtarea {
  display: block; }

.form_section table {
  text-align: left;
  width: 100%; }

.table-wrap {
  background-color: #edf2fd;
  padding: 5rem 3rem 2rem; }

.form_section th {
  width: 34rem;
  padding: 1.4rem;
  position: relative;
  vertical-align: top;
  font-size: 1.6rem;
  font-weight: bold; }

.form_section .inquiry td {
  padding-bottom: 3rem; }

.form_section .inquiry td:not(:last-child) {
  margin-bottom: 0; }

.form_section tr {
  padding: 3rem 0; }

.form_section input, select, textarea {
  padding: 1.7rem 1rem;
  outline: none;
  /*border: 0;*/
}

.form_section input.btn-b {
  padding: 0; }

.inquiry:not(:last-child) {
  margin-bottom: 6rem; }

.form_section h2 {
  margin-bottom: 1.2rem; }

.form_section h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 4rem;
  letter-spacing: 0.025em; }

.m-12 {
  margin-top: 1.2rem; }

/*ラジオボタン*/
.radio {
  padding-left: 1rem;
  margin: 1.2rem 0; }

.radio-btn {
  display: none; }

.radio label {
  font-size: 1.5rem; }

.radio-btn + label {
  padding-left: 2rem;
  position: relative;
  margin-right: 3.3rem; }

.radio-btn + label::before {
  content: "";
  display: block;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: -0.7rem;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #c4c4c4;
  background-color: #ffffff;
  border-radius: 50%; }

.radio-btn:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.3rem;
  left: -0.4rem;
  width: 0.9rem;
  height: 0.9rem;
  background: #3333ab;
  border: 1px solid #3333ab;
  border-radius: 50%; }

/*アフター*/
.form_section th::after {
  position: absolute;
  right: 2rem;
  content: '必須';
  color: #ffffff;
  background-color: #3333ab;
  padding: 0.3rem 1.7rem;
  margin-right: 1.3rem;
  font-size: 1.4rem; }

.form_section th.optional::after {
  position: absolute;
  content: '任意';
  color: #ffffff;
  background: #787878;
  padding: 0.3rem 1.7rem;
  margin-right: 1.3rem;
  font-size: 1.4rem; }

.name_flex input, select {
  width: 30%;
  margin-right: 1rem; }

.form_section .big {
  width: 100%; }

.textarea {
  resize: none; }

.inquiry_content {
  height: 22.4rem; }

.form_section .txt_box {
  line-height: 2;
  font-size: 1.5rem; }

.address p {
  margin: 0 1rem; }

select {
  margin-top: 1rem; }

@media (max-width: 768px) {
  tr {
    display: block; }

  th {
    display: block; }

  .form_section td {
    padding: 0; }

  select, .textarea, input, .form_section .big {
    width: 76vw; }

  .name_flex input {
    width: 30vw; }

  .address input {
    width: 29vw; }

  .form_section th {
    line-height: 1.5;
    width: 100%;
    font-size: 1.8rem;
    padding: 0;
    margin-bottom: 2rem; }

  .table-wrap {
    padding: 5rem 2rem 2rem;
    width: 100%; }

  .form_section th::after, .form_section th.optional::after {
    position: unset;
    margin-left: 1.8rem; }

  .form_section tr {
    padding: 0; }

  .radio div {
    margin-bottom: 1.5rem; } }
