@charset "utf-8";

.title {
  height: 500px;
  background-image: url(../images/event/gaisen_parade.jpg);
  background-repeat: no-repeat;
  background-position: top top;
  background-size: cover;
  margin-top: 80px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: left;
  color: #490068;
  text-shadow: 2px 2px 5px #f4e4d8;
}

.title h1 {
  font-size: 50px;
  font-weight: bold;
  margin-top: 30px;
  margin-left: 20px;
}

.title h5 {
  font-size: 20px;
  display: flex;
  margin-left: 20px;
  margin-top: 20px;
  justify-content: flex-start;
  margin-right: 30px;
  line-height: 25px;
}

h2 {
  padding-top: 10px;
  font-size: 25px;
  font-weight: bold;
  text-align: left;
}

h2::after {
  content: '';
  display: block;
  width: 400px;
  height: 3px;
  background-color: rgb(91, 192, 173);
  margin-top: 4px;
  margin-bottom: 10px;
}

span {
  font-weight: bold;
  color: #4fb24b;
}



#item01,
#item02 {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

.event-info,
.annual-calendar,
.ended-information,
.guide-schedule {
  margin-left: 30px;
  margin-top: 30px;
  margin-bottom: 50px;
}

.event-list {
  display: grid;
  grid-template-columns: repeat(1, 650px);
  row-gap: 40px;
  justify-content: center;
}

.event-list dt {
  color: rgb(89, 6, 152);
  font-weight: bold;
  text-align: center;
  font-size: 25px;
  padding-top: 20px;
  padding-bottom: 10px;
}

strong {
  background: linear-gradient(transparent 55%, #fdfd3d 55%, #fdfd3d 100%);
}

.event-list dd {
  font-weight: bold;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 20px;
  line-height: 26px;
}

.event-list p {
  line-height: 25px;
  padding-top: 10px;
}

.event-list img,
.ended-event img {
 border: 1px solid #0f0b2a;
}
.event-data {
  display: grid;
  grid-template-columns: 1fr 2fr;
  line-height: 30px;
  padding-top: 10px;
}

.all-events-data {
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  line-height: 30px;
  padding-top: 10px;
}

.li-head {
  color: rgb(140, 6, 152);
  font-weight: bold;
}

.photos {
  display: grid;
  grid-template-columns: 250px 250px;
  column-gap: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.photos p {
  text-align: center;
}

.ended-event {
  display: flex;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  overflow: scroll;
  overflow-y: hidden;
}

.ended-event li {
  flex-shrink: 0;
  width: 400px;
  min-width: 300px;
  padding-left: 10px;
  padding-right: 20px;
}

.ended-event:first-child {
  padding-left: 0px;
}

#this_year,
#this_time,
#item01,
#item02,
#item03 {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

.calendar-list {
  display: flex;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 10px;
  padding-right: 20px;
  overflow: scroll;
  overflow-y: hidden;
}

.calendar-list li {
  flex-shrink: 0;
  width: 450px;
  min-width: 300px;
  padding-right: 20px;
}

.calendar li:first-child {
  margin-left: 0px;
}

.guide-schedule table {
  border-collapse: collapse;
  margin: 10px 30px 10px 10px;
}

.guide-schedule th,
td {
  border: 1px solid #00056882;
  padding: 5px 8px;
}

.guide-schedule th {
  text-align: center;
  background-color: rgba(99, 196, 191, 0.312);
}

@media (max-width: 800px) {
  .title {
    height: calc(100vh - 400px);
    background-image: url(../images/event/getoff.jpg);
    background-position: center center;
    background-size: cover;
    width: 100%;
    margin-top: 0px;
  }

  .title h1 {
    font-size: 35px;
    font-weight: bold;
    margin-top: 15px;
    margin-left: 20px;
  }

  .title h5 {
    display: none;
  }

  .event-info {
    margin-left: 0px;
    margin-right: auto;
    margin-bottom: 50px;
  }

  h2 {
    padding-top: 10px;
    margin-left: 30px;
    font-size: 25px;
    font-weight: bold;
    text-align: left;
  }

  h2::after {
    content: '';
    display: block;
    width: 300px;
    height: 3px;
    background-color: rgb(91, 192, 173);
    margin-top: 4px;
    margin-bottom: 10px;
  }

  .annual-calendar,
  .ended-information {
    margin-left: 0px;
    margin-top: 30px;
    margin-bottom: 50px;
  }

  .event-list {
    display: block;
    width: 85%;
    margin: 10px auto;
  }

  .event-list dt {
    color: rgb(89, 6, 152);
    font-weight: bold;
    text-align: center;
    font-size: 22px;
    padding-top: 25px;
    padding-bottom: 5px;
  }

  strong {
    background: linear-gradient(transparent 55%, #fdfd3d 55%, #fdfd3d 100%);
  }

  .event-list dd {
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    margin-bottom: 5px;
    line-height: 24px;
  }

  .event-list p {
    font-size: 16px;
    line-height: 25px;
    padding-top: 10px;
  }

  .event-data,
  .all-events-data {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    text-align: center;
    line-height: 28px;
    padding-top: 10px;

    .li-head {
      padding-top: 15px;
      text-align: center;
    }

    .photos {
      display: block;
    }

    .photos li:first-child {
      margin-bottom: 20px;
    }
  }

  .ended-event {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: scroll;
    overflow-y: hidden;
  }

  .ended-event li {
    flex-shrink: 0;
    width: 400px;
    min-width: 300px;
  }

  .ended-event li {
    flex-shrink: 0;
    width: 330px;
    margin-left: 0;
    min-width: 300px;
    padding-left: 15px;
    padding-right: 10px;
  }

  .ended-event:first-child {
    margin-left: 0px;
  }

  .ended-event li:last-child {
    padding-right: 10px;
  }

  .calendar-list {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 0px;
    padding-right: 10px;
    overflow-x: scroll;
    overflow-y: hidden;
  }

  .calendar-list li {
    flex-shrink: 0;
    width: 350px;
    min-width: 300px;
    padding-left: 5px;
    padding-right: 10px;
  }

  .calendar-list li:first-child {
    padding-left: 20px;
  }

}