
.life h3 {
  font-size: 22px;
  margin-bottom: 30px;
  padding: 0 8px 0 8px;
  font-feature-settings: "palt";
}
#date {
  font-size: 16px;
  margin-bottom: 5px;
  padding: 0 8px 0 8px;
  font-feature-settings: "palt";
}
.life > p {
  padding: 0 8px 0 8px;
  font-size: 16px;
  line-height: 180%;
  margin-bottom: 30px;
  font-feature-settings: "palt";
}
.life > p img {
  width: 850px;
  display: block;
  margin: 0 auto;
  margin-bottom: 30px;
}
.youtube {
  width: 850px;
  aspect-ratio: 16 / 9;
  display: block;
  margin: 0 auto;
  margin-bottom: 30px;
}
.youtube iframe {
  width: 100%;
  height: 100%;
  padding: 0 8px 0 8px;
}


.life > ul {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  margin-bottom: 40px;
}
.life > ul li {
  width: 22%;
  margin-right: 4%;
  margin-bottom: 30px;
  margin-top: 4px;
  position: relative;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
.life > ul li:nth-of-type(4n) {
  margin-right: 0;
}
.life > ul li img {
  width: 100%;
  margin-bottom: 10px;
  transition: .3s;
}
.life > ul li h3 {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 7px;
  padding: 0 8px 0 8px;
  font-feature-settings: "palt";
}
.life > ul li h3 span {
  display: inline-block;
}
.life > ul li p {
  padding: 0 8px 0 8px;
  font-size: 13px;
  font-feature-settings: "palt";
}
.life > ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.life > ul li:not(.not-hover):hover img {
  opacity: .7;
}
.life > ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: solid 2px transparent;
  transition: .3s;
}
.life > ul li:not(.not-hover):hover::before {
  border: solid 2px #002290;
  top: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
}
.life > ul li:nth-of-type(4n+2) { transition-delay: 150ms; }
.life > ul li:nth-of-type(4n+3) { transition-delay: 300ms; }
.life > ul li:nth-of-type(4n+4) { transition-delay: 450ms; }

.life-foot {
  text-align: center;
}
.life-foot .more {
  font-size: 37px;
  letter-spacing: 0.14em;
  text-align: center;
  border: 1px solid #1d1d1d;
  border-radius: 23px;
  padding: 1px 100px 2px;
}
.life-foot .more:hover {
  text-decoration: none;
  border: 1px solid #002290;
  background: #002290;
  color: #fff;
  padding-left: 110px;
  padding-right: 110px;
}
.life-foot p {
  font-size: 22px;
  margin: 30px auto 15px;
}
.life-foot > ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.life-foot > ul li {
  margin: 0 20px;
}
.life-foot > ul li a img {
  width: 80px;
}
.life-foot > ul li:nth-of-type(2) a img {
  width: 100px;
}
.life-foot > ul li a img:hover {
  transform: scale(1.1);
  opacity: .8;
}



/* 
 * 640px未満の環境にのみ適用
 */
@media screen and (max-width: 640px) {

  .life > p img {
    width: 98%;
    display: block;
    margin:auto;
    margin-bottom: 30px;
  }
  .life > ul {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
    overflow: hidden;
  }
  .life > ul li {
    width: 49.5%;
    margin-right: 0;
  }
  .life > ul li:nth-of-type(4n+2) { transition-delay: 0ms; }
  .life > ul li:nth-of-type(4n+3) { transition-delay: 0ms; }
  .life > ul li:nth-of-type(4n+4) { transition-delay: 0ms; }
  .life > ul li:nth-of-type(2n) { transition-delay: 200ms; }
  .life-foot .more {
    font-size: 7vw;
    padding: 1px 5vw 2px;
    border-radius: 7vw;
  }
  .life-foot .more:hover {
    padding: 1px 7vw 2px;
  }
  .life-foot p {
    font-size: 16px;
  }
  
  .life-foot > ul li {
    margin: 0 10px;
  }
  .life-foot > ul li a img {
    width: 60px;
  }
  .life-foot > ul li:nth-of-type(2) a img {
    width: 75px;
  }

}