main #contents.infoPage {
  padding-bottom: 80px;
}
@media screen and (max-width: 960px) {
  main #contents.infoPage {
    padding-bottom: 40px;
  }
}
main #contents.infoPage .list > h4 {
  font-size: 2.2rem;
  margin-bottom: 10px;
}
main #contents.infoPage .list > p {
  border-bottom: 1px solid #ddd;
}
main #contents.infoPage .list > p > a {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 15px 10px;
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  main #contents.infoPage .list > p > a {
    padding: 15px 0;
  }
}
main #contents.infoPage .list > p > a span {
  display: block;
}
main #contents.infoPage .list > p > a span.date {
  width: 90px;
}
main #contents.infoPage .list > p > a span.cate {
  width: 70px;
  margin-right: 20px;
  color: #fff;
  background-color: #222;
  line-height: 100%;
  padding: 4px 0;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
}
main #contents.infoPage .list > p > a span.cate.n {
  background-color: #0E3481;
}
main #contents.infoPage .list > p > a span.cate.b {
  background-color: #EB922C;
}
main #contents.infoPage .list > p > a span.title {
  width: calc(100% - 180px);
}
@media screen and (max-width: 668px) and (orientation: portrait) {
  main #contents.infoPage .list > p > a span.title {
    width: 100%;
    margin-top: 5px;
  }
}
main #contents.infoPage .detail {
  margin-bottom: 50px;
}
main #contents.infoPage .detail .dateCate {
  margin-bottom: 10px;
}
main #contents.infoPage .detail .dateCate span {
  display: inline-block;
}
main #contents.infoPage .detail .dateCate span.date {
  margin-right: 10px;
}
main #contents.infoPage .detail .dateCate span.cate {
  width: 70px;
  color: #fff;
  background-color: #222;
  line-height: 100%;
  padding: 4px 0;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
}
main #contents.infoPage .detail .dateCate span.cate.n {
  background-color: #0E3481;
}
main #contents.infoPage .detail .dateCate span.cate.b {
  background-color: #EB922C;
}
main #contents.infoPage .detail h3 {
  font-size: 3rem;
  margin-bottom: 30px;
}
main #contents.infoPage .detail .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}
main #contents.infoPage .detail .box:nth-of-type(even) {
  flex-direction: row-reverse;
}
main #contents.infoPage .detail .box .photo {
  width: 100%;
  line-height: 100%;
}
main #contents.infoPage .detail .box .photo img {
  width: 100%;
  font-size: 0;
}
main #contents.infoPage .detail .box .photo span.caption {
  display: block;
  font-size: 0.9em;
  color: #fff;
  background-color: #0E3481;
  padding: 8px 10px;
  text-align: right;
}
main #contents.infoPage .detail .box:has(.photo) .text {
  width: calc(55% - 30px);
}
main #contents.infoPage .detail .box:has(.text) .photo {
  width: 45%;
}