.activities {
  margin-top: 115px;
  padding: 200px 0;
}

.activities .bg {
  width: 97.354497354497354vw;
  height: auto;
  aspect-ratio: 2208/1829;
  position: absolute;
  top: 133px;
  left: 0;
  z-index: -1;
}

.activities .inner-wrap {
  width: calc(100% - 160px);
  margin: auto;
}

.activities .head-wrap {
  display: flex;
  align-items: flex-start;
  gap: 46px 154px;
}

.activities .head-wrap .heading-wrap {
  width: 48.520710059171598%;
}

.activities .head-wrap .heading {
  width: 64.329268292682927%;
  height: auto;
  aspect-ratio: 422/87;
  margin: 0 auto;
}

.activities .head-wrap .heading .img {
  width: 100%;
  height: auto;
  aspect-ratio: 422/87;
}

.activities .head-wrap .lead-container {
  width: 31.21301775147929%;
}

.activities .head-wrap .title-container {
  width: 100%;
  aspect-ratio: 405.14/110.12;
  font-family: var(--mincho);
  font-size: calc(36 / 1512 * 100vw);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.activities .head-wrap .title-container .img {
  width: 100%;
  height: auto;
  aspect-ratio: 405.14/110.12;
}

.activities .head-wrap .lead-text {
  font-size: 16px;
  font-feature-settings: "palt";
  line-height: 1.875;
  text-align: justify;
  margin-top: 44px;
}

.activities .detaile-container {
  display: flex;
  align-items: stretch;
  gap: 60px 154px;
  margin-top: 100px;
}

.activities .detaile-container .photo {
  width: 48.520710059171598%;
  height: auto;
} 

.activities .detaile-container .photo .img-wrap {
  width: 100%;
  aspect-ratio: 656/437;
  position: -webkit-sticky;
  position: sticky;
  top: 180px;
  background: url(/activities/img/activities-photo2.jpg) center / cover no-repeat;
}

.activities .detaile-container .photo .img {
  width: 100%;
  aspect-ratio: 656/437;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity 400ms ease-in-out;
}

.activities .detaile-container .photo.active .img {
  max-width: 100%;
  aspect-ratio: 656/437;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
  

.activities .detaile-container .list {
  width: 32.075471698113208%;
  display: flex;
  flex-direction: column;
  gap: 100px 0;
}

.activities .detaile-container .column .title {
  font-family: var(--neue-haas);
  display: flex;
  flex-direction: column;
  position: relative;
}

.activities .detaile-container .column .title::before {
  content: "";
  width: 0.35px;
  height: 54px;
  transform: rotate(-30deg);
  transform-origin: bottom right;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: -10px;
}

.activities .detaile-container .column .title .num {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.05em;
}

.activities .detaile-container .column .title .text {
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 3px;
}


.activities .detaile-container .column .explanation {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #555;
  margin-top: 10px;
}

@media screen and (max-width: 980px) {
  .activities {
    margin-top: 54px;
    padding: 144px 0 100px;
  }

  .activities .bg {
    width: calc(100% 0 30px);
    aspect-ratio: 726/1810;
    position: absolute;
    top: 91px;
  }

  .activities .inner-wrap {
    width: calc(100% - 60px);
  }
  

  .activities .head-wrap {
    flex-direction: column;
  }

  .activities .head-wrap .heading-wrap {
    width: min(87.575757575757576%, 400px);
  }

  .activities .head-wrap .heading {
    width: 100%;
    margin: 0 auto;
  }

  .activities .head-wrap .lead-container {
    width: 100%;
  }

  .activities .head-wrap .title-container {
    width: 100%;
    aspect-ratio: unset;
    font-size: calc(28 / 390 * 100vw);
  }

  .activities .head-wrap .lead-text {
    font-size: 14px;
    line-height: 2;
    margin-top: 25px;
  }

  .activities .detaile-container {
    display: flex;
    flex-direction: column;
    margin-top: 60px;
  }

  .activities .detaile-container .photo {
    width: 100%;
    position: relative;
    right: -30px;
  }
  
  .activities .detaile-container .photo .img {
    width: 100%;
    aspect-ratio: 362/482;
    position: relative;
    top: auto;
    right: 0
  }

  .activities .detaile-container .list {
    width: 100%;
    gap: 50px 0;
  }
}

.others {
  padding: 200px 0;
  background-color: #F6F6F6;
  display: flex;
  gap: 43px 22.94973544973545%;
}

.others .heading {
  font-family: var(--neue-haas);
  font-size: 28px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #555;
  padding-left: 12.896825396825397%;
}

.others .contents-wrap {
  padding-right: 13.029100529100529%;
}

.others .contents-list {
  display: flex;
  flex-direction: column;
  gap: 50px 0;

}

.others .contents-wrap .item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 50px;
  border-bottom: solid 1px #ddd;
}

.others .contents-wrap .item .title {
  font-family: var(--neue-haas);
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 35.419847328244275%;
  color: #555;
}

.others .contents-wrap .item .text {
  font-family: var(--neue-haas);
  font-size: 14px;
  line-height: 2;
  text-align: justify;
  width: 64.580152671755725%;
  margin-top: -3px;
  color: #555;
}

.others .contents-wrap .btn-wrap {
  width: 100%;
  text-align: right;
}

.others .contents-wrap .and-more {
  display: inline-block;
  width: 87px;
  height: 14px;
  margin: 100px 0 0 auto;
  position: relative;
  cursor: default;
  overflow: hidden;
  pointer-events: none;
}

.others .contents-wrap .and-more .text1 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 700ms,transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.others .contents-wrap .and-more:hover .text1 {
  transform: translateY(-120%);
  opacity: 0;
}

.others .contents-wrap .and-more .text2 {
  opacity: 0;
  transform: translateY(120%);
  transition: opacity 700ms,transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.others .contents-wrap .and-more:hover .text2 {
  opacity: 1;
  transform: translateY(0);
}


@media screen and (max-width: 980px) {
  .others {
    padding: 100px 30px 150px;
    flex-direction: column;
    gap: 43px 22.94973544973545%;
  }

  .others .heading {
    font-size: 26px;
    padding-left: 0;
  }

  .others .contents-wrap {
    padding-right: 0;
  }

  .others .contents-wrap .item {
    flex-direction: column;
    gap: 12px 0;
  }

  .others .contents-wrap .item .text {
    width: 100%;
  }
}


