/* ----------------------------------------------------------------
Global Settings
----------------------------------------------------------------- */
#soshi.feature #main {
  /*============================
  #process
  ============================*/
  /*============================
  #sec01
  ============================*/
  /*============================
  #sec02
  ============================*/
  /*============================
  #sec03
  ============================*/
}
#soshi.feature #main #process * {
  box-sizing: border-box;
}
#soshi.feature #main #process figure.process-item {
  display: block;
}
#soshi.feature #main #process figure.process-item img {
  display: block;
  width: 100%;
  height: auto;
}
#soshi.feature #main #process .voice {
  max-width: 800px;
  margin: 20px auto;
  padding: 30px 30px 30px 60px;
  background-color: #FDF5EC;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3%;
}
@media screen and (max-width: 768px) {
  #soshi.feature #main #process .voice {
    display: block;
    padding: 30px;
  }
}
#soshi.feature #main #process .voice dl dt {
  font-weight: bold;
  font-size: 1.4em;
  color: #F2973A;
  padding-bottom: 0.2em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid #F2973A;
}
#soshi.feature #main #process .voice figure {
  display: block;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #soshi.feature #main #process .voice figure {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1em;
  }
}
#soshi.feature #main #process .voice figure img {
  width: 140px;
}
@media screen and (max-width: 768px) {
  #soshi.feature #main #process .voice figure img {
    width: 80px;
  }
}
#soshi.feature #main #process .voice figure figcaption {
  white-space: nowrap;
  line-height: 1.2;
  padding-top: 0.5em;
  font-size: 0.9em;
}
#soshi.feature #main section#sec01.sec div.w900 .flex {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #soshi.feature #main section#sec01.sec div.w900 .flex {
    display: block;
  }
}
#soshi.feature #main section#sec01.sec div.w900 .flex figure {
  flex: 0 0 48%;
}
#soshi.feature #main section#sec01.sec div.w900 .flex figure img {
  width: 100%;
  height: auto;
}
#soshi.feature #main section#sec03.sec {
  background: #FEF9ED;
}
#soshi.feature #main section#sec03.sec div.w900 div.flex {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #soshi.feature #main section#sec03.sec div.w900 div.flex {
    display: block;
  }
}
#soshi.feature #main section#sec03.sec div.w900 div.flex figure {
  flex: 0 0 31%;
}
@media screen and (max-width: 767px) {
  #soshi.feature #main section#sec03.sec div.w900 div.flex figure {
    margin-bottom: 30px;
  }
}
#soshi.feature #main section#sec03.sec div.w900 div.flex figure img {
  width: 100%;
  height: auto;
  display: block;
}
#soshi.feature #main section#sec03.sec div.w900 div.flex figure figcaption {
  text-align: left;
}
#soshi.feature #main section#sec03.sec div.w900 div.flex figure figcaption h3 {
  color: #E87926;
  font-size: 150%;
  padding-top: 0.2em;
}