@charset "UTF-8";

.event-heading {
  padding-top: 40px;
}

/* 一日の生活：タイムライン */
.event-day {
  margin: 80px 0 0;
}
.event-day__top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:40px;
  margin: 40px 0 0;
}
.event-day__flows {
  flex:1;
  display:flex;
  gap:40px;
}
.event-flow {
  flex:1;
}
.event-flow__title {
  margin:0 0 20px;
  font-size:20px;
  color:#1D5900;
  font-weight:700;
}
.event-flow__list {
  position:relative;
  margin:0;
  padding:0;
}
.event-flow__list::before {
  content:"";
  position:absolute;
  left:8px;
  top:10px;
  bottom:10px;
  width:3px;
  background:#1D5900;
}
.event-flow__item {
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  padding:10px 0 10px 33px;
}
.event-flow__item::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  background:#1D5900;
  border-radius:50%;
}
.event-flow__time {
  flex:0 0 auto;
  min-width:50px;
}
.event-flow__text {
  flex:1;
  white-space: nowrap;
}

.event-day__photos {
  flex-shrink:0;
  display:flex;
  gap:24px;
}
.event-day__photo {
  width:240px;
  height:auto;
  border-radius:12px;
}
.event-day__photo--left {
  margin-bottom: 70px;
}
.event-day__photo--right {
  margin-top: 70px;
}

/* 一日の生活：画像一覧 */
.event-day__gallery {
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  margin-top:80px;
}
.event-day__item {
  margin:0;
  width:calc((100% - 60px) / 3);
  text-align:center;
}
.event-day__item img {
  width:100%;
  max-width: 380px;
  height:auto;
  border-radius:12px;
  display:block;
  margin: 0 auto;
}
.event-day__item figcaption {
  margin-top: 6px;
  line-height: 1.4;
}

@media (max-width:768px) {
  .event-day {
    margin: 40px 0 0;
  }
  .event-day__top {
    display:block;
    margin: 30px 0 0;
  }
  .event-flow__title {
    margin:0 0 15px;
  }
  .event-day__flows {
    display:block;
  }
  .event-flow + .event-flow {
    margin-top:20px;
  }
  .event-day__photos {
    display:none;
  }
  .event-day__gallery {
    gap: 25px;
    margin-top: 40px;
  }
  .event-day__item {
    width: 100%;
  }
  /* 2列にする場合
  .event-day__item {
    width:calc((100% - 12px) / 2);
  }  */
}

/* 年間行事 */
.event-year {
  padding:80px 0 0;
}
.event-year__heading {
  font-size:28px;
  color:#1D5900;
  margin-bottom:50px;
}
.event-term {
  margin-bottom:60px;
}
.event-term__title {
  display:flex;
  align-items:center;
  font-size:24px;
  color:#1D5900;
  margin-bottom:10px;
}
.event-term__title img {
  width: 26px;
  height:auto;
  margin-right:12px;
}
.event-term__content {
  display:flex;
  gap:40px;
  align-items:flex-start;
}
.event-term__image {
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
}
.event-term__image img {
  width:340px;
  height:auto;
  border-radius:12px;
}
.event-term__list {
  background:#fff;
  border-radius:12px;
  padding: 10px 20px;
  flex:1;
  min-width:0;
  box-shadow: 0 3px 3px rgba(0, 0, 0, .1);
}
.event-term__dl {
  display:flex;
  flex-wrap:wrap;
  margin:0;
  line-height: 1.4;
}
.event-term__dl dt {
  width:80px;
  padding:12px 10px;
  font-weight:500;
  border-bottom:1px solid #ccc;
}
.event-term__dl dd {
  width:calc(100% - 80px);
  margin:0;
  padding:12px 10px 12px 0;
  border-bottom:1px solid #ccc;
}
.event-term__dl dt:last-of-type,
.event-term__dl dd:last-of-type {
  border-bottom:none;
}.evet-year__note {
  margin-top:10px;
}

.event-year__hosoku {
  margin-top: -20px;
}
@media (max-width:768px) {
  .event-year {
    padding: 40px 0 0;
  }
  .event-term {
    margin-bottom: 40px;
  }
  .event-term__content {
    flex-direction:column;
    gap: 20px;
  }
  .event-term__image img {
    width:100%;
  }
  .event-term__list {
    width: 100%;
  }
  .event-term__dl dt {
    width:60px;
  }
  .event-term__dl dd {
    width:calc(100% - 60px);
  }
}

/* 毎月の行事 */
.event-month {
  padding-top:80px;
}
.event-month .lower-h4 {
	margin: 40px 0 0;
}
.event-month__content {
  display:flex;
  align-items:flex-start;
  gap:40px;
  margin-top: 40px;
}
.event-month__image {
  flex:0 0 420px;
}
.event-month__image img {
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
}
.event-month__text {
  flex:1;
  min-width:0;
  font-size:16px;
  line-height:1.9;
}

@media (max-width:768px) {
  .event-month {
    padding-top:40px;
  }
  .event-month__content {
    flex-direction:column;
    gap: 30px;
  }
  .event-month__image {
    width:100%;
    flex: 0;

  }
}
