section {
  margin-bottom: 100px; }

.caption .caption_txt dl {
  margin-top: 1em;
  line-height: 2em; }
  .caption .caption_txt dl dd {
    margin-left: 1em; }

@media (min-width: 801px) and (max-width: 1200px) {
  section {
    margin-bottom: 200px; }

  .vision .caption h2, .vision .caption .caption_txt {
    transform: translateY(-40px); } }
@media (min-width: 768px) {
  .caption .caption_txt dl {
    display: flex;
    flex-wrap: wrap; }
    .caption .caption_txt dl dt {
      width: 8em; }
    .caption .caption_txt dl dd {
      width: calc(100% - 9em); }
      .caption .caption_txt dl dd span {
        display: inline-block; } }
@media (max-width: 1700px) {
  .figure_top h3 {
    font-size: 3.5vw; }

  section .figure:after {
    padding-top: 60%; } }
@media (max-width: 1200px) {
  .figure_top ul li {
    padding: 1em 1.5em; } }
@media (max-width: 980px) {
  section .figure:after {
    padding-top: 70%; } }
@media (max-width: 900px) {
  .figure_top {
    padding: 50px 40px 40px; }
    .figure_top h3 {
      font-size: 4.5vw; } }
@media (max-width: 800px) {
  .figure_wide figure:after {
    padding-top: 40%; }
  .figure_wide:after {
    padding-top: 30%; }

  .figure_top {
    padding-top: 9vw; }
    .figure_top h3 {
      left: 0;
      font-size: 8.5vw; } }
@media (max-width: 580px) {
  section {
    margin-bottom: 50px; }

  .figure_top {
    padding: 9vw 15px 20px; }
    .figure_top ul li {
      padding: 0.8em;
      font-size: 13px; } }

/*# sourceMappingURL=about.css.map */
