@charset "UTF-8";
/* CSS Document */

.body-first {
    height: 100vh;
    overflow: hidden;
    animation: body 0s linear both;
    animation-delay: 3.5s;
}

@keyframes body {
    0% {
        height: 100vh;
        overflow: hidden;
    }

    100% {
        height: auto;
        overflow: auto;
    }
}

.load {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	animation: load 0.001s linear both;
	animation-delay: 3.5s;
	display: block;
	z-index: 99999;
}

.loading {
	display: none;
	visibility: hidden;
	opacity:0;
	animation: none;
	animation-delay: 0;
	z-index: -1;
}


@keyframes load {
    0% {
		　　　z-index: 99999;
        display: block;
        opacity: 1;
    }

    100% {
        display: none;
        opacity: 0;
		   z-index: -1;
    }
}

.header {
    opacity: 0;
    animation: header 0.75s ease-out both;
    animation-delay: 3.5s;
}

.header-active {
	animation-delay: 0.3s;
}

@keyframes header {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media (max-width: 1025px) {
    .menu {
        opacity: 0;
        animation: menu 0.75s ease-out both;
        animation-delay: 4.25s;
    }
	
	.menu-activeFade {
		animation-delay: 1s;
	}

    @keyframes menu {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }
}


.top {
    position: relative;
    height: 100vh;
}

.top__contents {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: calc(100vh - 150px);
    width: 90%;
    max-width: 1920px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top__text {
    position: absolute;
    z-index: 100;
    bottom: 0;
    right: 0;
    width: calc(100% - 100px);
    opacity: 0;
    animation: topsubtitle 0.75s ease-out both;
    animation-delay: 4.25s;
}

.top-active .top__text {
	animation-delay: 1s;
}

@keyframes topsubtitle {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.top__contents h2 {
    margin-top: -7.5%;
    width: 50%;
    font-size: clamp(6rem, 4.5454vw, 9rem);
    text-align: left;
    font-weight: 700;
    opacity: 0;
    animation: toptitle 0.75s ease-out both;
    animation-delay: 4s;
}

.top-active .top__contents h2 {
	animation-delay: 0.75s;
}

@keyframes toptitle {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.top__silder {
    width: 50%;
    height: 100%;
    border-radius: 100px;
    overflow: hidden;
    position: relative;
    opacity: 0;
    animation: topimage 0.75s ease-out both;
    animation-delay: 4s;
}

.top-active .top__silder {
	animation-delay: 0.75s;
}

@keyframes topimage {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.top__silder::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.2;
}

/* FVスライダー用CSS（Slick依存を削除） */
.fv-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 1;
}

.fv-slide.active {
    opacity: 1;
    z-index: 2;
}

.top__silder img {
    height: 100%;
    object-fit: cover;
}


.add-animation {
    animation: zoomUp 10s linear both;
}

@keyframes zoomUp {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

.topSp {
    display: none;
}

@media (max-width: 1025px) {
    .top {
        display: none;
    }

    .topSp {
        position: relative;
        display: block;
        height: 200vh;
        opacity: 0;
        animation: topsp 0.75s ease-out both;
        animation-delay: 4s;
    }
	
	.topSp-active {
		animation-delay: 0.75s;
	}

    @keyframes topsp {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    .topSp__image1 {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: -1;
    }

    .topSp__image1 img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    .topSp__image1 h2 {
        font-size: min(4.6rem, 8vw);
        letter-spacing: 0.2rem;
        color: #FFFFFF;
        text-align: left;
        font-weight: 700;
        position: absolute;
        bottom: 25%;
        left: 5%;
    }

    .topSp__image2 {
        color:white;
        position: sticky;
        bottom: 0;
        left: 0;
        z-index: -2;
        height: 100vh;
    }

    .topSp__image2 img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    .topSp__image2 h2 {
        font-size: min(4.6rem, 8vw);
        letter-spacing: 0.2rem;
        text-align: left;
        font-weight: 700;
        position: absolute;
        top: 30%;
        left: 5%;
    }

    .topSP__text {
        display: block;
        position: sticky;
        top: 0;
        right: 0;
        z-index: 100;
        margin-bottom: 200px;
        height: calc(100vh - 200px);
        width: auto;
        margin-left: auto;
    }
}

.fixd__button {
    transition: 0.4s;
    animation: topbutton 0.75s ease-out both;
    animation-delay: 4.25s;
}

.fixd__button-active {
	animation-delay: 1s;
}

@keyframes topbutton {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.topMessege {
    padding-top: 180px;
}

.topMessege strong {
    font-size: 8.2rem;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.2rem;
    margin-bottom: 25px;
}

.topMessege h2 {
    font-size: 4.2rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    margin-bottom: 100px;
}

.topMessege__contents {
    position: relative;
}

.topMessege__contents__background {
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    padding: 200px 0;
    width: 80%;
    height: 100%;
    background: var(--green);
    margin-left: auto;
    border-radius: 100px 0 0 0;
}

.topMessege__contents__background__image {
    position: sticky;
    margin-right:-100px;
    height: 100%;
    top: 175px;
    width: 35%;
    min-width: 350px;
    transform: translateX(-50%);
}

.topMessege__contents__background__image div {
    position: relative;
    border-radius: 60px;
    overflow: hidden;
    margin-bottom: 50px;
}

.topMessege__contents__background__image div::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.2;
}

.topMessege__contents__background__image p {
    margin-left: 50px;
    text-align: left;
    font-size: 2rem;
    font-weight: 400;
}

.topMessege__contents__background__image p span {
    display: block;
    font-size: 2.8rem;
}

.topMessege__contents__background__image div img {
    object-fit: cover;
}

.topMessege__contents__background__text {
    text-align: left;
    margin-left: 10%;
    margin-right: 23%;
    width: 60%;
    color: #FFFFFF;
}

.topMessege__contents__background__text h3 {
    font-size: 3.4rem;
    font-weight: 700;
    margin-bottom: 100px;
    letter-spacing: 0.2rem;
}

.topMessege__contents__background__text p {
    font-size: 2.4rem;
    line-height: 2;
    /* letter-spacing: 0rem; */
    margin-bottom: 100px;
    font-weight: 400;
    word-break: auto-phrase;
    text-align: justify;
}

.topMessege__contents__background__button a {
    font-size: 3.2rem;
    display: block;
    margin-left: auto;
    width: 400px;
    padding: 30px 0;
    background: #FFFFFF;
    border-radius: 100px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    color: var(--green);
    transition: 0.5s;
}

.topMessege__contents__background__button a:hover {
    transform: scale(1.05);
}

.topMessege__contents__background__button a .arrow {
    width: 25px;
    height: 25px;
    border-right: solid 3.5px var(--green);
    border-bottom: solid 3.5px var(--green);
    transform: rotate(45deg);
}

@media (max-width: 1025px) {

    .topMessege__contents__background {
        width: 100%;
        flex-direction: column;
        padding-top: 0;
        margin-top: 40%;
        border-radius: 0;
    }

    .topMessege__contents__background__image {
        position: relative;
        transform: none;
        margin-left: auto;
        width: 80%;
        max-width: 500px;
        top: 0;
        margin-top: -25%;
        margin-right:unset;
    }

    .topMessege__contents__background__image div {
        border-radius: 40px 0 0 40px;
    }

    .topMessege__contents__background__image p {
        position: absolute;
        top: 10%;
        right: 5%;
        writing-mode: vertical-rl;
    }

    .topMessege__contents__background__text {
        width: 90%;
        margin: 0 auto;
    }

    .topMessege__contents__background__button a {
        margin: 0 auto;
    }
}

@media (max-width: 599px) {

    .topMessege {
        padding-top: 150px;
    }

    .topMessege strong {
        font-size: 2.6rem;
    }

    .topMessege h2 {
        font-size: 1.6rem;
    }

    .topMessege__contents__background__image p {
        font-size: 1.4rem;
    }

    .topMessege__contents__background__image p span {
        font-size: 1.8rem;
    }

    .topMessege__contents__background__text h3 {
        font-size: 2.4rem;
        margin-bottom: 30px;
    }

    .topMessege__contents__background__text p {
        font-size: 1.6rem;
    }

    .topMessege__contents__background__button a {
        font-size: 1.8rem;
        width: 100%;
        max-width: 400px;
    }
}


.topImage {
    position: relative;
    /* margin-top: -100px; */
    margin-top:50px;
    height: calc(100vh + 100px);
    overflow: hidden;
    border-radius: 100px 100px 0 0;
}
@media (max-width: 599px) {
    .topImage {
        margin-top: -100px;
    }
}

.topImage::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.3;
}

.topImage__image {
    object-fit: cover;
    height: calc(100vh + 200px);
    object-position: 45% 50%;
}

@media (max-width: 599px) {
    .topImage {
        border-radius: 50px 50px 0 0;
    }
}


.topAbout {
    position: relative;
    z-index: 1;
    background: var(--litegrey);
    padding: 200px 0 300px;
    margin-top: -100px;
    border-radius: 100px 100px 0 0;
}

.topAbout strong {
    font-size: 8.2rem;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.2rem;
    margin-bottom: 25px;
}

.topAbout h2 {
    font-size: 4.2rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    margin-bottom: 100px;
}

.topAbout__ul {
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.topAbout__ul__li {
    width: 47.5%;
    margin-bottom: 50px;
}

.topAbout__ul__li__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: left;
}

.topAbout__ul__li__link__top {
    background: #FFFFFF;
    padding: 30px 50px 20px;
    border-radius: 50px 50px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    flex: 1;
}

.topAbout__ul__li__link__top h3 {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
}

.topAbout__ul__li__link__top span {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    background: var(--green);
    border-radius: 50%;
    transition: 0.5s;
}

.topAbout__ul__li__link:hover .topAbout__ul__li__link__top span {
    transform: scale(1.15);
}

.topAbout__ul__li__link__top span::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border-right: solid 3px #FFFFFF;
    border-bottom: solid 3px #FFFFFF;
    transform: rotate(-45deg) translate(-50%, -50%);
    position: absolute;
    top: 35%;
    left: 50%;
}

.topAbout__ul__li__link__bottom {
    border-radius: 0 0 50px 50px;
    overflow: hidden;
}

.topAbout__ul__li__link__bottom img {
    transition: 0.5s;
}

.topAbout__ul__li__link:hover .topAbout__ul__li__link__bottom img {
    transform: scale(1.1);
}

@media (max-width: 1025px) {
    .topAbout__ul__li {
        width: 100%;
    }
}

@media (max-width: 599px) {
    .topAbout {
        padding: 100px 0 200px;
        border-radius: 50px 50px 0 0;
    }

    .topAbout strong {
        font-size: 2.6rem;
    }

    .topAbout h2 {
        font-size: 1.6rem;
        margin-bottom: 80px;
    }

    .topAbout__ul__li__link__top {
        padding: 20px 30px 15px;
        border-radius: 30px 30px 0 0;
    }

    .topAbout__ul__li__link__top h3 {
        font-size: 1.8rem;
    }

    .topAbout__ul__li__link__top span {
        width: 30px;
        height: 30px;
    }

    .topAbout__ul__li__link__top span::after {
        width: 12.5px;
        height: 12.5px;
        top: 30%;
        left: 52.5%;
    }

    .topAbout__ul__li__link__bottom {
        border-radius: 0 0 30px 30px;
    }
}

.topMember {
    position: relative;
    z-index: 1;
    border-radius: 100px 100px 0 0;
    padding: 200px 0 300px;
    margin-top: -100px;
    background: var(--green);
    overflow-x: hidden;
}

.topMember strong {
    font-size: 8.2rem;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.2rem;
    margin-bottom: 25px;
    color: #FFFFFF;
}

.topMember h2 {
    font-size: 4.2rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    margin-bottom: 100px;
    color: #FFFFFF;
}

.topMember__ul {
    display: flex;
    flex-direction: column;
    gap: 100px;
}

.topMember__ul__li__image {
    width: 90%;
    margin: 0 auto;
}

.topMember__ul__li__image div {
    position: relative;
    width: 90%;
    border-radius: 100px;
    overflow: hidden;
    filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
}

.topMember__ul__li:nth-child(even) .topMember__ul__li__image div {
    margin-left: auto;
}

.topMember__ul__li__image div::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.2;
}

.topMember__ul__li__contents {
    display: block;
    width: 70%;
    max-width: 900px;
    margin-left: auto;
    background: #FFFFFF;
    border-radius: 100px 0 0 100px;
    padding: 100px 0;
    margin-top: -5%;
    position: relative;
}

@media (max-width: 600px) {
  .topMember__ul__li__contents {
    width: 90%;
  }
}

.topMember__ul__li:nth-child(even) .topMember__ul__li__contents {
    margin-left: 0;
    border-radius: 0 100px 100px 0;
}

.topMember__ul__li__contents__text {
    width: 90%;
    max-width: 600px;
    margin: 0 auto 20px;
    text-align: left;
    font-size: 2.6rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.topMember__ul__li__contents div {
    display: flex;
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    justify-content: right;
    gap:30px;
    /* justify-content: space-between; */
    align-items: center;
}

.topMember__ul__li__contents div p {
    font-size: 2.2rem;
    /* color: #898989; */
    text-align: left;
}

.topMember__ul__li__contents div span {
    position: relative;
    width: 100px;
    height: 100px;
    display: block;
    border-radius: 50%;
    background: var(--green);
    transition: 0.5s;
}

.topMember__ul__li__contents div span::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-right: solid 4px var(--white);
    border-bottom: solid 4px var(--white);
    position: absolute;
    top: 37.5%;
    left: 50%;
    transform: rotate(-45deg) translate(-50%, -50%);
}

.topMember__ul__li__contents:hover div span {
    transform: scale(1.1);
}

@media (max-width: 1025px) {
    .topMember__ul__li__image {
        width: 100%;
    }

    .topMember__ul__li__image div {
        width: 100%;
        border-radius: 0;
    }
}

@media (max-width: 599px) {
    .topMember {
        padding: 100px 0 200px;
        border-radius: 50px 50px 0 0;
    }

    .topMember strong {
        font-size: 2.6rem;
    }

    .topMember h2 {
        font-size: 1.6rem;
        margin-bottom: 80px;
    }

    .topMember__ul__li__contents {
        padding: 30px 0;
        border-radius: 30px 0 0 30px;
    }

    .topMember__ul__li:nth-child(even) .topMember__ul__li__contents {
        border-radius: 0 30px 30px 0;
    }

    .topMember__ul__li__contents__text {
        font-size: 1.6rem;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .topMember__ul__li__contents div p {
        font-size: 1.4rem;
    }

    .topMember__ul__li__contents div span {
        width: 40px;
        height: 40px;
    }

    .topMember__ul__li__contents div span::after {
        width: 15px;
        height: 15px;
        border-right: solid 3px var(--white);
        border-bottom: solid 3px var(--white);
        top: 33%;
    }
}


.top2Image {
    margin-top: -100px;
    z-index: 1;
    position: relative;
    /* height: calc(100vh + 100px); */
    overflow: hidden;
    /* border-radius: 100px 100px 0 0; */
    height: auto;
    width:100%;
}
@media (max-width: 600px) {
  .top2Image {
    margin-top:0px;
    /* border-radius:0px 0px 0 0; */

  }
}
/* .top2Image::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 100px 100px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.1;
} */

/* .top2Image__image {
    object-fit: cover;
    height: calc(100vh + 200px);

} */

@media (max-width: 599px) {
    .top2Image {
        border-radius: 0px 0px 0 0;
        /* object-fit: cover; */
        width:100%;
        /* height: 400px; */
    }
    .top2Image__image {
        /* object-fit: contain; */
        height: auto;
        width:100%;
    }

}

.topRecruit {
    position: relative;
    z-index: 1;
    background: var(--green);
    padding: 200px 0;
    margin-top: -100px;
    border-radius: 100px 100px 0 0;
}

@media (max-width: 600px) {
  .topRecruit {
    padding: 100px 0 0px;
    margin-top:0px;
    border-radius:0px 0px 0 0;
  }
}
.topRecruit__wapper {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    text-align: left;
    color: #FFFFFF;
}

.topRecruit__wapper__title h2 {
    font-size: 8.2rem;
    font-weight: 700;
}

.topRecruit__wapper__title p {
    font-size: 4rem;
    font-weight: 700;
}

.topRecruit__wapper__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 50%;
    max-width: 620px;
    margin-top: 25px;
}

.topRecruit__wapper__list li a {
    width: 100%;
    padding: 40px 50px 40px 100px;
    background: #FFFFFF;
    border-radius: 100px;
    transition: 0.5s;
    font-size: 3rem;
    color: var(--block);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.topRecruit__wapper__list li a:hover {
    transform: scale(1.05);
}

.topRecruit__wapper__list li a span {
    display: block;
    width: 26px;
    height: 26px;
    border-right: 4px solid var(--green);
    border-bottom: 4px solid var(--green);
    transform: rotate(-45deg);
}

@media (max-width: 1025px) {
    .topRecruit__wapper {
        flex-direction: column;
        gap: 50px;
    }

    .topRecruit__wapper__list {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 599px) {
    .topRecruit {
        padding: 100px 0 200px;
        border-radius: 0px 0px 0 0;
    }

    .topRecruit__wapper__title h2 {
        font-size: 2.6rem;
        text-align: center;
    }

    .topRecruit__wapper__title p {
        font-size: 1.6rem;
        text-align: center;
    }

    .topRecruit__wapper__list li a {
        padding: 30px 50px 30px 50px;
        font-size: 1.8rem;
    }

    .topRecruit__wapper__list li a span {
        width: 15px;
        height: 15px;
        border-right: 3px solid var(--green);
        border-bottom: 3px solid var(--green);
    }
}

.schedule {
    position: relative;
    z-index: 1;
    border-radius: 100px 100px 0 0;
    padding: 200px 0 300px;
    margin-top: -100px;
    background: var(--white);
    overflow-x: hidden;
}

.schedule__wapper {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.schedule__wapper div {
    width: 100%;
}

.schedule__wapper__title {
    text-align: left;
}

.schedule__wapper__title h2 {
    font-size: 8.2rem;
    font-weight: 700;
    color: var(--green);
}

.schedule__wapper__title p {
    font-size: 4rem;
    font-weight: 700;
}

@media (max-width: 1025px) {
    .schedule__wapper {
        flex-direction: column;
        gap: 50px;
    }

    .schedule__wapper div {
        width: 100%;
    }

    .schedule__wapper div:last-of-type {
        /* width: 75%; */
        width:100%;
        margin: 0 auto;
    }
}

@media (max-width: 599px) {
    .schedule {
        padding: 100px 0 200px;
        border-radius: 50px 50px 0 0;
    }

    .schedule__wapper__title h2 {
        font-size: 2.6rem;
        text-align: center;
    }

    .schedule__wapper__title p {
        font-size: 1.6rem;
        text-align: center;
    }

    .schedule__wapper div:last-of-type {
        width: 100%;
    }
}

.top3Image {
    margin-top: -100px;
    z-index: 1;
    position: relative;
    /* height: calc(100vh + 100px); */
    overflow: hidden;
    border-radius: 100px 100px 0 0;
    height: auto;
    width:100%;
}

/* .top3Image::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 100px 100px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFFFF;
    mix-blend-mode: overlay;
    opacity: 0.1;
} */

/* .top3Image__image {
    object-fit: cover;
    height: calc(100vh + 200px);
    object-position: 37.5% 50%;
} */

@media (max-width: 599px) {
    .top3Image {
        border-radius: 0px 0px 0 0;

        height:auto;
        width:100%;
    }
    .top3Image__image {
        /* object-fit: contain;
        height: 400px; */
        height:auto;
        width:100%;
    }
}


.gallery {
    position: relative;
    z-index: 1;
    border-radius: 100px 100px 0 0;
    padding: 200px 0 0;
    margin-top: -100px;
    background: #F4F4F4;
    overflow-x: hidden;
}
@media (max-width: 600px) {
  .gallery {
padding-top:50px;
margin-top:0px;
border-radius:0px 0px 0 0;
  }
}

.gallery h2 {
    font-size: 8.2rem;
    font-weight: 700;
    color: var(--green);
}

.gallery p {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 100px;
}

.loopleft {
    margin-bottom: 30px;
}

.loopright {
    margin-bottom: 100px;
}

.loopright .slick-slide, .loopleft .slick-slide {
	padding: 0 15px;
	animation: none;
}

.loop img {
	display: block;
	width: 100%;
	border-radius: 20px;
	height: 100%;
	object-fit: cover;
}

.top-button {
    display: flex;
    width: 90%;
    max-width: 600px;
    margin: 0 auto 200px;
    font-size: 3rem;
    font-weight: 700;
    align-items: center;
    justify-content: space-between;
    border-radius: 500px;
    border: solid 1px var(--green);
    padding: 40px 50px 40px 100px;
    color: var(--green);
    background: var(--white);
    transition: 0.5s;

}

.top-button:hover {
    transform: scale(1.05);
}

.top-button span {
    display: block;
    width: 26px;
    height: 26px;
    border-right: 4px solid var(--green);
    border-bottom: 4px solid var(--green);
    transform: rotate(-45deg);
}

.gallery___video {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}

.gallery___video video {
    width: 100%;
    object-fit: contain;
}

@media (max-width: 599px) {
    /* .gallery {
        padding: 100px 0;
        border-radius: 50px 50px 0 0;
    } */

    .gallery h2 {
        font-size: 2.6rem;
    }

    .gallery p {
        font-size: 1.6rem;
        margin-bottom: 80px;
    }

    .top-button {
        padding: 30px 50px 30px 50px;
        font-size: 1.8rem;
        margin-bottom: 50px;
    }

    .top-button span {
        width: 15px;
        height: 15px;
        border-right: 3px solid var(--green);
        border-bottom: 3px solid var(--green);
    }

    .loopright {
        margin-bottom: 50px;
    }

    .gallery___video {
        margin-bottom: 50px;
    }

}

.schedule-para {
  font-size: 2rem !important;
}

#scheduleMainPanel {
  z-index: 3 !important;
}

.top-button {
  margin-bottom: 0;
}

.top-button.button-bottom--fix {
  margin-bottom: 200px;
}

.top-movie_dammy img {
  max-width: 600px;
}

/* カレンダー */
#scheduleMainPanel .closed .timeSlot::after {
  content: "満席";
  background: red;
  border-radius: 8px;
  color: white;
  padding: 0 3px;
}


.movie-wrapper {
  margin-bottom: 200px;
  width: 100%;
}

.movie-img.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.movie-img.youtube iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 599px) {
  .movie-wrapper {
    margin-bottom: 100px;
  }
}

/* .top-movie_dammy {
  margin: 6rem auto 3rem;
} */

