@charset "utf-8";

.underline_t {
  text-align: center;
    font-size: 3.4rem;
  letter-spacing: .15rem;
  color: #4A46AD;
  border-bottom: solid 2px #4A46AD;
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  padding-bottom: 10px;
  margin: 50px auto 38px;
}

.pd>.underline_t {
  padding: 6.5rem;
}

.contact_set {
  flex-wrap: wrap;
  background: #e9eefe;
  padding: 4.9rem 4%;
  gap: 35px;
}

p.set_text,
.consultation {
  font-size: 2rem;
  line-height: 1.8;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Noto Sans JP', sans-serif;
}

.contact_set .ribbon {
  font-size: 2.8rem;
  width: 100%;
  margin-bottom: 0;
  letter-spacing: 0.15em;
}

.contact_set .flex {
  flex-wrap: wrap;
}

.title_01 {
  color: #d85c88;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Noto Sans JP', sans-serif;
  padding: 6.9rem 0 5.9rem;
}

.contact_set_item {
  width: calc((100% - 4%) / 2);
}

.ribbon {
  background: #4a46ad;
  color: #fff;
  font-size: 3.4rem;
  padding: 0.7em 0.9em;
  line-height: 1;
  margin-bottom: 3.2rem;
  font-family: 'Noto Serif JP', serif;
}

.contact_set_img {
  width: 100%;
}

.contact_set img {
  margin-bottom: 7%;
  width: 100%;
}

.consultation {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3.5em 2em;
  line-height: 1.7;
}

.consultation .btn {
  margin: 2.35em 0 0 0;
  height: 3.7em;
  padding: 0;
  width: 100%;
}

.consultation .btn a {
  height: 3.7em;
}

.concept {
  font-size: 2.2rem;
  text-align: center;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Noto Sans JP', sans-serif;
  line-height: 1.8;
  margin-bottom: 2.8em
}

.back {
  background: #e9eefe;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-bottom: 6.9rem;
  padding: 0 0 6rem;
}

.pd {
  font-size: 1.8rem;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Noto Sans JP', sans-serif;
}

.container {
  max-width: 960px;
  margin: 0 auto;
}

.pd_item {
  background: #fff;
  padding: 4%;
  margin-bottom: 2.9rem;
}

.staff_02::after,
.staff_03::after {
  content: "大熊 正彦";
  display: block;
  position: relative;
  height: 1em;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  margin-top: 0.9em;
}

.staff_03::after {
  content: "田中 涼祐";
}

.pd_img {
  /* order: 1; */
  float: left;
  margin-right: 3%;
  width: 12%;
}

.pd_img img {
  width: 100%;
}

.pd_comment {
  /* order: 2; */
  float: right;
  width: 84%;
  font-size: 1.5em;
  font-weight: 600;
  color: #d85c88;
  margin-bottom: 1.2em;
  font-family: 'Noto Serif JP', serif;
}

.pd_text {
  float: right;
  width: 84%;
  line-height: 1.9;
}



@media screen and (max-width: 960px) {
  .contact_set {
    padding: 4.5vw;
    gap: 35px;
  }

  .contact_set_item {
    width: 100%;
  }

  .contact_set_item .flex {
    width: 100%;
    display: flex;
    margin-bottom: 4vw;
  }

  .contact_set .ribbon {
    font-size: 4.5vw;
    width: 59%;
    display: flex;
    padding: 5.6vw;
    line-height: 1;
    height: auto;
    align-items: center;
    letter-spacing: 0.1em;
  }

  .contact_set_img {
    width: 41%;
  }

  .contact_set_img img {
    margin: 0;
  }

  p.set_text,
  .consultation {
    font-size: 3.7vw;
    line-height: 1.8;
    margin-bottom: 4.5vw;
  }

  .title_01 {
    font-size: 4.5vw;
    padding: 9.3vw 0 8vw;
  }

  .consultation {
    padding: 5.3vw;
  }

  .consultation p {
    font-size: 3.2vw;
  }

  .pd>.underline_t {
    margin: 4vw;
    font-size: 5vw;
    padding-top: 9.3vw;
    padding-bottom: 4vw;
    margin-bottom: 6.6vw;
  }

  .concept {
    font-size: 3.4vw;
    line-height: 1.8;
    margin-bottom: 2.8em;
  }

  .pd_item {
    background: #fff;
    padding: 4%;
    margin: 0 4vw 2.9rem;
  }

  .pd_img {
    float: left;
    margin-right: 3%;
    width: 20%
  }

  .pd_comment {
    float: left;
    width: 74%;
    font-size: 4.2vw;
    font-weight: 600;
    color: #d85c88;
    letter-spacing: 1.25;
    ;
    margin-bottom: 1.2em;
  }

  .staff_02::after,
  .staff_03::after {
    font-size: 3.2vw;
    top: -5.5vw;
    right: -19.5vw;
    width: 10em;
    text-align: left;
  }

  .pd_text {
    font-size: 3.2vw;
    width: 100%;
    line-height: 1.7;
  }

  .back {
    margin-bottom: 8vw;
    padding: 0 0 4vw;
  }

  h3,
  .underline_t {
    font-size: 5vw;
    letter-spacing: .15rem;
    padding-bottom: 4vw;
    margin: 10vw auto 6.6vw;
  }

}