@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://use.typekit.net/zkq2emd.css"); /* rift font */
body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
}
.top-header {
  display: block;
  width: 100%;
  height: 33.5vw;
  overflow: hidden;
  position: relative;
}
.top-header img {
  width: 100%;
  height: auto;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.csr-top-ttl {
  width: max-content;
  margin: auto;
  margin-top: 15vw;
  text-align: center;
  font-size: 5vw;
  font-family: rift, sans-serif;
  color: white;
  position: relative;
  z-index: 2;
  line-height: 1;
}
.header-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: "";
  background: url(../img/kv_dot.png) repeat 0 0;
  background-size: 4px 4px;
  z-index: 1;
}
.header-overlay::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.sp-none {
  display: none !important;
}
section.info {
  width: 70%;
  margin: auto;
  padding: 4% 0px;
}
.note {
  font-size: 15px;
  margin: 0px;
  line-height: 1.5;
}
.title {
  font-family: rift, sans-serif;
  font-size: 60px;
  margin: 0;
}
.gap50T {
  margin-top: 50px;
}
.w80 {
  width: 80%;
  margin: auto;
}
.alignC {
  text-align: center;
}
.parent {
  position: relative;
}
.single-main {
  width: 100%;
}
.parent.width70 .single-main {
  width: 33.3%;
}
.image-container {
  width: 20vw;
  height: 15vw;
  overflow: hidden;
  position: relative;
  display: flex;
  /* min-width: 400px; */
  max-width: 400px;
  /* min-height: 320px; */
  max-height: 320px;
}
img.slider-image {
  width: 100%;
  border-top-left-radius: 5vw;
  border-bottom-right-radius: 5vw;
  object-fit: cover;
}
section.memories {
  background: url(../img/CSR/memoirs.png);
  padding: 4% 0%;
  background-repeat: no-repeat;
  background-size: contain;
}
section.memories .parent {
  margin-top: 3%;
}
section.memories .title,
section.memories p {
  text-align: center;
  margin: auto;
}
.white {
  color: white;
}
.width70 {
  width: 70%;
  margin: auto;
}
.parent.width70 {
  display: flex;
  overflow: hidden;
  /* justify-content: space-between; */
}
/* slider for memories */
.swiper2 {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.swiper2-button-next:after,
.swiper-rtl .swiper2-button-prev:after {
  /* content: "next"; */
  content: url(../img/CSR/next.png);
}
.swiper2-button-prev:after,
.swiper-rtl .swiper2-button-next:after {
  /* content: "prev"; */
  content: url(../img/CSR/prev.png);
}
.swiper2-button-next,
.swiper2-button-prev {
  position: absolute;
  top: 44%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 2;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper2-button-next,
.swiper-rtl .swiper2-button-prev {
  right: -50px !important;
  left: auto;
}
.swiper2-button-prev,
.swiper-rtl .swiper2-button-next {
  left: -50px !important;
  right: auto;
}
.swiper2-button-next:after,
.swiper2-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
  transform: scale(0.8);
}

/* slider for memories */
section.closure {
  width: 70%;
  margin: 0% auto 4%;
  position: relative;
}
section.closure img {
  width: 100%;
}
section.closure .single {
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
section.closure .title {
  margin: 0;
  text-align: center;
  line-height: 1;
  font-size: 60px;
}
section.closure p {
  width: 79%;
  margin: auto;
  text-align: center;
  padding-top: 20px;
  font-size: 15px;
}
h3 {
  font-family: rift, sans-serif;
  text-align: center;
  font-size: 30px;
  color: #008bd2;
  margin-top: 0;
}
.csr-url {
  text-decoration: none;
}
.csr-url {
  position: relative;
}
.marginT {
  margin-top: 1em;
}

.single-main:hover .layer {
  top: 0;
}
.layer {
  width: 100%;
  height: 100%;
  position: absolute;
  background: #008bd2ad;
  border-top-left-radius: 90px;
  border-bottom-right-radius: 90px;
  left: 0;
  top: 130%;
  bottom: 0;
  right: 0;
  transition: 0.5s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layer p {
  color: white;
  width: 90%;
}
