#content main.allon4 header.visual {
  background-color: #edede8;
  background-image: url(../img/visual.jpg);
}

#content main.allon4 section.case ol.progress-step-2 {
  display: flex;
  margin: 30px -40px;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-2 {
    display: block;
    margin: 30px 0 -20px;
  }
}

#content main.allon4 section.case ol.progress-step-2 li {
  position: relative;
  padding: 0 40px;
}

#content main.allon4 section.case ol.progress-step-2 li:after {
  content: "";
  background-image: url("../../common/img/case_arrow.png");
  background-size: 100% 100%;
  display: block;
  width: 33px;
  height: 65px;
  position: absolute;
  right: -16px;
  top: calc(50% - 10px);
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-2 li:after {
    display: none;
  }
}

#content main.allon4 section.case ol.progress-step-2 li:last-child:after {
  display: none;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-2 li {
    padding: 0 0 20px;
  }
}

#content main.allon4 section.case ol.progress-step-2 li p {
  font-size: 18px;
  line-height: 1.75;
  font-family: "Noto Serif JP";
  font-weight: bold;
  color: #617397;
  margin: 0;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-2 li p {
    font-size: 16px;
    margin-bottom: 5px;
  }
}

#content main.allon4 section.case ol.progress-step-3 {
  display: flex;
  margin: 30px -25px;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-3 {
    display: block;
    margin: 30px 0 -20px;
  }
}

#content main.allon4 section.case ol.progress-step-3 li {
  position: relative;
  padding: 0 25px;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-3 li {
    padding: 0 0 20px;
  }
}

#content main.allon4 section.case ol.progress-step-3 li:after {
  content: "";
  background-image: url("../../common/img/case_arrow.png");
  background-size: 100% 100%;
  display: block;
  width: 21px;
  height: 42px;
  position: absolute;
  right: -11px;
  top: calc(50%);
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-3 li:after {
    display: none;
  }
}

#content main.allon4 section.case ol.progress-step-3 li:last-child:after {
  display: none;
}

#content main.allon4 section.case ol.progress-step-3 li p {
  font-size: 18px;
  line-height: 1.75;
  font-family: "Noto Serif JP";
  font-weight: bold;
  color: #617397;
  margin: 0;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  #content main.allon4 section.case ol.progress-step-3 li p {
    font-size: 16px;
    margin-bottom: 5px;
  }
}

#content main.allon4 ul li span {
  display: block;
  font-weight: 500;
  color: #591a05;
}

#content main.allon4 ul.number {
  counter-reset: item;
}

#content main.allon4 ul.number li {
  counter-increment: item;
  position: relative;
  padding-left: 1.25em;
}

#content main.allon4 ul.number li::before {
  content: counter(item) ". ";
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  color: #b09b78;
}

#content main.allon4 .faq_item + .faq_item {
  margin-top: 25px;
}

#content main.allon4 .faq_item .que {
  display: flex;
  align-items: center;
}

#content main.allon4 .faq_item .que .marker {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  height: 40px;
  margin: 0 10px 0 0;
  background-color: #591a05;
  color: #fff;
  border-radius: 50%;
  text-align: center;
}

.faq_item .que .marker span {
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 17px;
  line-height: 1;
}

.faq_item .que .q_con {
  display: flex;
  align-items: center;
  margin-top: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 20px;
  color: #591a05;
  line-height: 1.5;  
}

#content main.allon4 .faq_item .ans {
  position: relative;
  margin: 0;
  padding-left: 50px;
}

#content main.allon4 .faq_item .ans span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16px;
  color: #591a05;
  font-size: 20px;
  line-height: 1;
}

#content main.allon4 p span {
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  #content main.allon4 .faq_item + .faq_item {
    margin-top: 10px;
  }
  .faq_item .que .q_con {
    font-size: 18px;
  }
}

#content main.allon4 .flex_box {
  display: flex;
}

#content main.allon4 .flex_box.reverse {
  flex-direction: row-reverse;
}

#content main.allon4 .flex_box figure {
  flex: 1 1 100%;
  overflow: hidden;
}

#content main.allon4 .flex_box .cont {
  flex: 0 0 516px;
}

#content main.allon4 .flex_box .cont p {
  padding: 0px 20px;
}

body.page main.allon4 .media {
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  #content main.allon4 .flex_box {
    display: block;
  }
  #content main.allon4 .flex_box .cont p {
    padding: 25px 0;
  }
}