@charset "UTF-8";

/* ------------------
main
-------------------*/

.main__topView {
    position: relative;
    width: 100VW;
    height: 100vh;
    background-color: #FFF;
    overflow: hidden;
    animation: fadeIn 2.5s ease-out forwards;
}

.main__topView-imgTop {
    position: absolute;
    width: 100%;
    height: 50%;
    top: 70px;
    left: 0;
    object-fit: cover;
    mask-image: linear-gradient(to bottom, rgb(255, 255, 255) 40%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgb(255, 255, 255) 40%, transparent 100%); /* Safari用 */
}

.main__topView-imgTxt {
    position: absolute;
    width: 100%;
    height: 200px;
    top: 35%;
    object-fit: contain;
    padding: 5.3%;
    z-index: 100;
}

.main__topView-txt {
    position: absolute;
    width: 100%;
    height: auto;
    top: 56%;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: end;
    color: #343434;
    line-height: 1.5;
    padding: 7%;
    z-index: 100;
}

.main__topView-imgBottom {
    position: absolute;
    width: 100%;
    height: 50%;
    top: calc( 45% + 70px);
    left: 0;
    object-fit: cover;
    mask-image: linear-gradient(to top, rgb(255, 255, 255) 40%, transparent 100%);
    -webkit-mask-image: linear-gradient(to top, rgb(255, 255, 255) 40%, transparent 100%); /* Safari用 */
}

.scroll {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 5%;
    animation: fadeInUpFirstView 1.5s ease-out forwards;
    animation-delay: calc(9.5s + var(--delay-offset));
    animation-fill-mode: both;
}

.scroll__txt {
    font-family: "Noto Sans" "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    color: #FFF;
    text-align: center;
}

.scroll__img {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0 auto;
}


/* ------------------
commitment
-------------------*/

.commitment {
    width: 100%;
    height: auto;
    background-color: #FFF;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

.commitment__item-img {
    width: 100%;
    max-width: 400px;
    height: 200px;
    object-fit: cover;
    margin-top: 30px;
}

.commitment__item-img:first-of-type {
    margin-top: 20px;
}

.commitment__item-txtBox {
    margin-top: 10px;
}


/* ------------------
seat
-------------------*/

.seat {
    margin-top: 60px;
}

.seat__title-sub {
    font-family: "Noto Serif", "Noto Serif JP", serif;
    text-align: center;
    font-weight: 600;
}

.seat__title {
    padding-left: 5px;
}


/* ------------------
seat
-------------------*/

.contact {
    margin-top: 60px;
}

.contact__title {
    margin-top: 20px;
}