@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(../assets/images/general/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;
}

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: 32%; */
}
.image-container {
    /* width: 20vw; */
    height: 17vw;
    overflow: hidden;
    position: relative;
    display: flex;
    /* min-width: 400px; */
    max-width: 400px;
    /* min-height: 320px; */
    max-height: 320px;
    background-color: #eeffff;
    /* border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw; */
}
img.slider-image {
    width: 100%;
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
    object-fit: cover;
}
section.memories {
    background: url(../assets/images/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;
    column-gap: 16px;
    justify-content: flex-start;
    flex-direction: row;
}
/* 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(../assets/images/csr/next.png);
}
.swiper2-button-prev:after,
.swiper-rtl .swiper2-button-next:after {
    /* content: "prev"; */
    content: url(../assets/images/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 {
    position: relative;
    text-decoration: none;
    width: 32%;
}
.marginT {
    margin-top: 1em;
}

.single-main:hover .layer {
    top: 0;
}
.layer {
    width: 100%;
    height: 100%;
    position: absolute;
    background: #008bd2ad;
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
    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%;
}
