.company_main {
  padding-bottom: 11rem;
}

.company_section {
  width: 112rem;
  margin: 6rem auto;
}

.title_section {
  padding-bottom: 6.1rem;
  border-bottom: 0.1rem solid #505050;
}

.contact_title_area {
  margin-bottom: 2.4rem;
}

.english_title {
  font-family: var(--Roboto);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(19 / 16);
  color: var(--Orange);
}

.page_title {
  font-family: var(--NotoSans);
  font-size: 3.2rem;
  line-height: calc(48 / 32);
  font-weight: bold;
  color: var(--Swamp);
}

.title_text {
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  line-height: calc(27 / 16);
  margin-top: 1rem;
}

/* company ↓↓ */

.company_content {
  display: flex;
  gap: 6rem;
}

.company_info_li {
  width: 67.8rem;
  padding-top: 3.2rem;
}

.company_info_li:first-child {
  padding-top: 0;
}

.company_info_dl {
  display: flex;
  gap: 0.3rem;
}

.company_info_dt {
  width: 15rem;
  font-weight: 500;
  padding-bottom: 0.8rem;
  text-align: center;
  align-content: center;
  border-bottom: 0.2rem solid var(--Orange);
}

.company_info dd {
  width: calc(100% - 15rem);
  font-weight: 400;
  padding: 0 0 0.8rem 1.4rem;
  border-bottom: 0.2rem solid #50505080;
}

.company_info_dt,
.company_info_dd {
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  line-height: calc(19 / 16);
  color: var(--Swamp);
}

.pc_linebreak {
  display: inline;
}

.sp_linebreak {
  display: none;
}

.company_img {
  width: 38.2rem;
  height: 39.6rem;
}

.company_img img {
  object-fit: contain;
}

/* company ↑↑ */

/* map ↓↓ */
.company_map iframe {
  width: 100%;
  height: 45.5rem;
  margin-bottom: 16rem;
}

/* map ↑↑ */

/* contact ↓↓ */
.contact_section {
  width: 93rem;
  margin: 0 auto;
}

.contact_intro {
  margin-bottom: 6rem;
  text-align: center;
}

.contact_title {
  margin-bottom: 2.4rem;
}

.contact_explain {
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(27 / 16);
  color: var(--Swamp);
}

.contact_url {
  color: blue;
}

.contact_form {
  font-family: var(--NotoSans);
  width: 93rem;
  margin: 0 auto;
}

.form_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem 3rem;
  margin-bottom: 4.8rem;
}

.form_content {
  display: flex;
  flex-direction: column;
}

.required_flex {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.contact_label {
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(27 / 16);
  color: var(--Swamp)
}

.form_required {
  font-size: 1.4rem;
  line-height: calc(23 / 14);
  color: #C54848;
}

.form_input,
.form_textarea {
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  line-height: calc(27 / 16);
  box-sizing: border-box;
  margin-top: 0.8rem;
  color: var(--Black);
  background-color: var(--White);
  padding: 1rem 1.6rem;
  border: 0.1rem solid #50505059 !important;
}

.form_input {
  width: 45rem;
  height: 4.7rem;
}

.form_input:has(option:checked[value="選択してください"]) {
  font-weight: 500;
  color: #50505080;
}

.form_input option{
  color: var(--Black);
}

.form_content {
  position: relative;
}

.form_content:has(select):after {
  position: absolute;
  top: 5rem;
  right: 1.6rem;
  display: inline-block;
  content: "";
  width: 1.3rem;
  height: 1.4rem;
  background-color: #50505080;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.form_textarea {
  width: 93rem;
  height: 22.8rem;
  resize: none;
}

.wpcf7-form-control-wrap:has(textarea) {
  min-height: 23rem;
}

.contact_check {
  text-align: center;
}

.wpcf7-list-item {
  margin: 0;
}

.contact_check label {
  display: flex;
  gap: 1.2rem;
  font-family: var(--NotoSans);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(27 / 16);
  color: var(--Swamp);
  align-items: center;
}

.contact_check input {
  width: 2.6rem;
  height: 2.6rem;
  border: #50505080;
}

.button_area {
  margin-top: 3.2rem;
  text-align: center;
}

.contact_button {
  font-family: var(--NotoSans);
  width: 26.4rem;
  height: 6.7rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(27 / 16);
  text-align: center;
  align-content: center;
  background-color: #20273D;
  color: var(--White);
  border: none;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip{
  font-size: 1.4rem;
}

/* contact ↑↑ */

@media screen and (max-width: 699.98px) {
  .company_main {
    padding-bottom: 13.5rem;
  }

  .company_section {
    width: 33.5rem;
    margin-top: 4.9rem;
  }

  .contact_title_area {
    margin-bottom: 0.5rem;
  }

  .english_title {
    font-size: 1.4rem;
    line-height: calc(16 / 14);
  }

  .page_title {
    font-size: 2.4rem;
    line-height: calc(36 / 24);
    font-weight: 500;
  }

  .title_text {
    margin-top: 0.5rem;
  }

  /* company ↓↓ */
  .company_content {
    flex-direction: column;
    gap: 2.4rem;
  }

  .company_info_li {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    width: 33.5rem;
    padding-top: 2.4rem;
  }

  .company_info_li:first-child {
    padding-top: 0;
  }

  .company_info_dl {
    gap: 0;
  }

  .company_info_dt {
    position: relative;
    width: 8.9rem;
    padding-bottom: 0;
    text-align: left;
    border-bottom: none;
  }

  .company_info_li::before {
    display: inline-block;
    content: "";
    width: 0.2rem;
    height: 2rem;
    background-color: var(--Orange);
  }

  .company_info dd {
    width: 23.9rem;
    padding: 0;
    border-bottom: none;
  }

  .company_info_dt,
  .company_info_dd {
    font-size: 1.5rem;
    line-height: calc(18 / 15);
  }

  .pc_linebreak {
    display: none;
  }

  .sp_linebreak {
    display: inline;
  }

  .company_img {
    width: 31rem;
    height: 32.1rem;
    margin: 0 auto;
  }

  /* company ↑↑ */

  /* map ↓↓ */
  .company_map iframe {
    height: 36.6rem;
    margin-bottom: 9.45rem;
  }

  /* map ↑↑ */

  /* contact ↓↓ */
  .contact_section {
    width: 33.5rem;
  }

  .contact_intro {
    margin-bottom: 4rem;
  }

  .contact_explain {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: calc(25 / 13);
  }

  .explain_sp{
    font-size: 1.4rem;
    line-height: calc(25 / 14);
  }

  .contact_form {
    width: 33.5rem;
  }

  .form_flex {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 1.6rem;
    margin-bottom: 3.2rem;
  }

  .form_content {
    margin-bottom: 0;
  }

  .form_input,
  .form_textarea {
    margin-top: 0.4rem;
  }

  .form_input {
    width: 33.5rem;
  }

  .form_textarea {
    width: 33.5rem;
  }

  .contact_check {
    text-align: center;
  }

  .wpcf7-list-item {
    margin: 0;
  }
}