@media (max-width: 767px) {
  .m-headline2 {
    padding-top: 15.3rem; } }
.m-headline2 h2.title {
  display: flex;
  justify-content: center;
  text-align: justify; }

h3 {
  margin-bottom: 0.5em; }
  h3::after {
    content: "";
    display: block;
    width: 14em;
    height: 0.1em;
    margin-top: 0.5em;
    background-color: #E45403; }

.block {
  margin-bottom: 3em; }

@media (min-width: 768px) {
  .feature .ncColumns_panel {
    width: 25% !important; } }
.feature .ncRows {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5em; }
  .feature .ncRows_title {
    order: 1;
    font-size: 120%; }
  .feature .ncRows_image {
    width: 80%; }
  .feature .ncRows_text {
    order: 2; }

.overture {
  border: 2px solid #E45403;
  padding: 1em;
  margin: 3em auto;
  color: #2E3942;
  font-weight: 900; }
  @media (min-width: 768px) {
    .overture {
      text-align: center; } }

@media (min-width: 768px) {
  #method .flow::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 6.3rem;
    height: calc(100% - 24.6rem);
    border-left: 0.4rem dotted #cccccc;
    margin: auto;
    z-index: 0; } }
#method .flow .ncColumns.-bias::after {
  content: "";
  display: block;
  width: 8em;
  aspect-ratio: 142/54;
  margin: auto;
  background-image: url("/wp-content/package/page/immnopure/img/triangle.png?uw2i49ttv");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
@media (max-width: 767px) {
  #method .flow .-mini {
    width: 50%;
    margin: auto; } }
@media (max-width: 767px) {
  #method .flow ul {
    margin-bottom: 2em; } }
#method .flow li {
  margin-bottom: 0; }
#method .side-effects {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #E45403;
  color: #E45403;
  font-size: 120%;
  font-weight: bold; }
  #method .side-effects p {
    margin-bottom: 0; }

@media (min-width: 768px) {
  #faq dl {
    position: relative;
    padding-left: 5em; }
    #faq dl::before {
      position: absolute;
      top: -1em;
      left: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 3.5em;
      height: 3.5em;
      border-radius: 50%;
      content: "Q";
      background-color: #E45403;
      color: #fff; } }
@media (max-width: 767px) {
  #faq dl {
    margin-bottom: 4em; } }
#faq dt {
  margin-bottom: 0.5em;
  color: #E45403;
  font-size: 120%; }
  @media (max-width: 767px) {
    #faq dt {
      position: relative;
      padding-left: 5em; }
      #faq dt::before {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 3.5em;
        height: 3.5em;
        border-radius: 50%;
        content: "Q";
        background-color: #E45403;
        color: #fff; } }
#faq dt p, #faq dd p {
  margin-bottom: 0; }
