.rosen {
  margin: 100px 10% 130px;
}
@media (max-width: 880px) {
  .rosen {
    margin: 50px 0 80px;
  }
}

.train_data span.min {
  display: inline-block;
  font-size: 1.1rem;
}
.train_data ul.main {
  width: 680px;
  margin: 0 auto 0 calc(50% - 300px);
}
@media (max-width: 880px) {
  .train_data ul.main {
    width: 80%;
    margin: 0 auto 0 15%;
  }
}
@media (max-width: 640px) {
  .train_data ul.main {
    width: 100%;
    margin: 0 auto;
  }
}
.train_data ul.main li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: last baseline;
      -ms-flex-align: last baseline;
          align-items: last baseline;
}
@media (max-width: 640px) {
  .train_data ul.main li {
    display: block;
  }
}
.train_data ul.main li img {
  width: calc(100% - 70px);
}
@media (max-width: 640px) {
  .train_data ul.main li img {
    width: 100%;
  }
}
.train_data ul.main li .min {
  display: block;
  text-align: right;
}
@media (max-width: 640px) {
  .train_data ul.main li .min {
    margin-top: 5px;
  }
}
.train_data ul.sub1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #a3a3a3;
}
@media (max-width: 640px) {
  .train_data ul.sub1 {
    display: block;
  }
}
.train_data ul.sub1 li.t1 {
  width: 43%;
}
@media (max-width: 640px) {
  .train_data ul.sub1 li.t1 {
    width: 75%;
  }
}
.train_data ul.sub1 li.t2 {
  width: 52%;
}
@media (max-width: 640px) {
  .train_data ul.sub1 li.t2 {
    width: 95%;
    margin-top: 20px;
  }
}
.train_data ul.sub1 li.t3 {
  width: 53%;
  margin-top: 30px;
}
@media (max-width: 640px) {
  .train_data ul.sub1 li.t3 {
    width: 100%;
    margin-top: 20px;
  }
}
.train_data ul.sub2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
@media (max-width: 880px) {
  .train_data ul.sub2 {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2%;
  }
}
.train_data ul.sub2::after {
  content: "";
  display: block;
  width: 33%;
}
.train_data ul.sub2 li {
  width: 33%;
}
@media (max-width: 880px) {
  .train_data ul.sub2 li {
    width: 40%;
  }
}
@media (max-width: 640px) {
  .train_data ul.sub2 li {
    width: 48%;
  }
}
.train_data ul.sub2 li.t4, .train_data ul.sub2 li.t5 {
  padding-right: 2%;
}
@media (max-width: 880px) {
  .train_data ul.sub2 li.t4, .train_data ul.sub2 li.t5 {
    padding-right: 0;
  }
}
.train_data ul.sub2 div {
  margin-top: 20px;
  font-size: 1.1rem;
  line-height: 1;
}
.train_data ul.sub3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 50px;
}
@media (max-width: 640px) {
  .train_data ul.sub3 {
    display: block;
  }
}
.train_data ul.sub3 li {
  width: 33%;
}
@media (max-width: 640px) {
  .train_data ul.sub3 li {
    width: 100%;
  }
  .train_data ul.sub3 li + li {
    margin-top: 20px;
  }
}
.train_data ul.sub3 li.photos span.cap {
  display: block;
  text-align: right;
  margin-top: 5px;
  font-size: 1.1rem;
}