@charset "utf-8";

/*============================
コンテンツ
============================*/
* {
  margin: 0;
  padding: 0;
}

.wrap {
  position: relative;
}

.js-sticky {
  position: sticky;
  top: 0;
  overflow: hidden;
  height: 100vh;
}
@media screen and (max-width: 640px) {
  .js-sticky.lower_section {
    height: 70vh;
  }
}

.js-sticky .js-sticky-img {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}
.js-sticky .js-sticky-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.js-sticky .js-sticky-img video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.js-sticky .js-sticky-img::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}



.mv_text_wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  text-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.5);
  color: #fff;
}
.mv_text_wrap .title {
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.3rem;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  .mv_text_wrap .title {
    font-size: 0.45rem;
  }
}

.mv_text_wrap .title.js-text-animation .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(30px);
}
.mv_text_wrap .text {
  font-size: 0.24rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.2em;
  line-height: 1.65;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 640px) {
  .mv_text_wrap .text {
    font-size: 0.17rem;
    line-height: 2;
  }
}
.mv_text_wrap .text.js-subtitle-animation {
  opacity: 0;
  transform: translateY(20px);
}


/* .btn_common {
  max-width: 4rem;
  box-sizing: border-box;
  margin: 0.5rem auto 0;
}

.btn_common a {
  display: block;
  width: 100%;
  color: #000;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  padding: 0.35rem 0;
  border-radius: 0.5rem;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
	text-align: center;
} */

/* セクションテキスト */
.sec_text_wrap {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc((100% - 12rem) / 2);
  width: 12rem;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .sec_text_wrap {
    left: 0;
    width: 100%;
    padding:0  0.15rem;
    box-sizing: border-box;
  }
}

.sec_text_wrap .title_wrap {
  margin-bottom: 0.55rem;
}
.sec_text_wrap .title_wrap .en {
  font-size: 0.66rem;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
  line-height: 1.16;
}
@media screen and (max-width: 640px) {
  .sec_text_wrap .title_wrap .en {
    font-size: 0.4rem;
  }
}

.sec_text_wrap .title_wrap .jp {
  font-size: 0.14rem;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .sec_text_wrap .title_wrap .jp {
    font-size: 0.12rem;
  }
}
.sec_text_wrap .text {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 640px) {
  .sec_text_wrap .text {
    font-size: 0.14rem;
  }
}
.sec_text_wrap .more_btn {
}

/*============================
ニュース
============================*/
#news {
  padding: 1rem 0;
}
#news .title_wrap .en {
  font-size: 0.66rem;
  font-weight: 700;
  font-family: "Cormorant Garamond", serif;
  margin-bottom: 0.1rem;
}
#news .title_wrap .jp {
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1;
  font-family: "sans-serif";
}

#news .list {
  margin-top: 0.5rem;
}

#news .list .item {
  width: 100%;
  margin-bottom: 0.3rem;
}
#news .list .item a {
  display: flex;
  align-items: center;
  color: #000;
}

#news .list .item a:hover {
  opacity: 0.8;
}
#news .list .item .date {
  font-size: 0.16rem;
  width: 1.3rem;
}
#news .list .item .category {
  font-size: 0.16rem;
  width: 1.3rem;
  background-color: #011062;
  color: #fff;
  text-align: center;
  padding: 0.05rem 0;
  border-radius: 0.05rem;
}

#news .list .item .text {
  font-size: 0.16rem;
  box-sizing: border-box;
  padding-left: 0.3rem;
}

#news .list .item a:hover .text {
  color: #011062;
}

#news .btn_common a {
	background: #011062;
	color: #fff;
}