@charset "UTF-8";

main{
 overflow: hidden;
}
/* --------  section-intro  --------- */

.section-intro{
    width: 100%;
    padding-top: 12vh;
    animation: loadfade .4s linear forwards;
}
.member-visual{
    width: 100%;
    height: fit-content;
    margin: 0 auto 5vh;
    position: relative;
    overflow: visible;
}
.member-visual::before{
    display: block;
    content: "";
    width: 25%;
    aspect-ratio: 1/1;
    background-color: var(--mainYellow);
    border-radius: 72% 87% 100% 57% / 78% 59% 100% 61% ;
    position: absolute;
    top: -3%;
    left: 1%;
    z-index: 1;
}
.member-visual::after{
    display: block;
    content: "";
    width: min(80%,500px);
    aspect-ratio: 1/1;
    background-color: var(--mainYellow);
    border-radius: 70% 63% 93% 64% / 61% 90% 56% 60% ;
    position: absolute;
    top: 50%;
    right: -10%;
    z-index: -1;
}
.slider-box{
    height: 50vh;
    aspect-ratio: 2/3;
    border-radius: 9%/7%;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
}
.slider-box div{
    height: 100%;
}
.slider-box div img{
    height: 100%;
    object-fit: cover;
}
.top-phrase{
    height: 27vh;
    font-weight: 600;
    font-size: min(12vw, 5rem);
    line-height: 6rem;
    letter-spacing: .2rem;
    width: fit-content;
    margin: 3vh 0 0;
}
.top-phrase .opening1{
    padding: 2rem 1rem .5rem 2rem;
    position: relative;
    overflow: visible;
    left: -100%;
}

.opening1{
    animation: openin 1s .2s ease forwards;
    overflow: visible;
}
.opening1::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible;
    z-index: 1;
    animation: openfade 1s .8s ease forwards;
}

.section-info{
    width: 100%;
    padding: 0 5%;
    margin: 0 auto;
    overflow: hidden;
}
.section-info h2{
    font-size: 2.2rem;
    font-weight: 600;
}
.section-info h3{
    font-size: 2rem;
    font-weight: 500;
    margin-top: 5vh;
    padding-left: 1rem;
    position: relative;
}
.section-info p{
    margin-top: 5vh;
    padding: 0 1.5rem 0 1rem;
    line-height: 1.8;
}
.section-info div{
    margin-bottom: 10vh;
}
.section-info h3::after{
    display: block;
    content: "";
    width: 100%;
    height: 2px;
    background-color: var(--mainYellow);
    position: absolute;
    top: 0;
    right: max(-25%, -100px);
    bottom: 0;
    margin: auto 0;
    z-index: -1;
}

.decoBox{
    display: none;
}

.section-member{
    height: fit-content;
    width: 80vw;
    margin: 0 auto;
    padding: 0 0 15vh;
}
.section-member .heading{
    text-align: center;
}
.member-item{
    width: 80vw;
    height: fit-content;
    margin: 7vh auto 0;
    padding: 2rem;
    text-align: center;
    border: 3px solid var(--mainYellow);
    border-radius: 18px;
}
.member-icon{
    width: 80%;
    aspect-ratio: 1/1;
    margin: 0 auto 2rem;
    border: 1px solid var(--mainYellow);
    border-radius: 50%;
    overflow: hidden;
}
.member-icon img{
    width: 100%;
    object-fit: contain;
}
.member-name{
    font-size: 2rem;
    font-weight: 600;
    color: black;
}
.member-item a,.member-item p{
    margin: 2rem auto 0;
}


.opening1 span{
    position: relative;
}
.opening1 span::before{
    display: block;
    width: fit-content;
    height: fit-content;
    font-size: min(5vw, 2.2rem);
    font-weight: 600;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    top: -3rem;
    margin: 0 auto;
    white-space: nowrap;
}
.to-SNS{ font-weight: 600; padding: 0 .5rem; margin-top: 1rem; border-bottom: 2px solid var(--mainYellow); transition: .3s;}
        .to-SNS:hover{color: var(--mainYellow);}

@media screen and (min-width:960px) {
    main{
        overflow: visible;
    }
    .flex-box{
        width: 95%;
        margin: 15vh auto 10vh;
        justify-content: right;
        position: relative;
    }
    .section-intro{
        width: 35%;
        padding-top: 0;
        overflow: visible;
    }
    .top-phrase{
        height: auto;
        font-size: 5rem;
        line-height: 10rem;
        letter-spacing: .5rem;
        top: 70%;
        left: -5%;
        margin: 0;
    }
    .top-phrase .opening1{
        padding: 3rem 1.5rem .6rem 5rem;
    }

    .opening1 span::before{
        font-size: 2.2rem;
        top: -5.5rem;
    }

    .member-visual{
        height: auto;
        margin: 0 auto;
        position: sticky;
        top: 15vh;
    }
    .slider-box{
        width: auto;
        height: 80vh;
    }
    .member-visual::after{
        width: 50%;
    }
    .section-info{
        width: 60%;
        margin: 0;
        padding-top: 10vh;
        position: relative;
    }

    .decoBox{
        display: block;
        height: 100%;
        width: 0.1%;
        position: sticky;
        z-index: -1;
        top: 15vh;
        margin-bottom: 90vh;
    }
    .decoBox::before{
        display: block;
        content: "";
        width: 20vw;
        aspect-ratio: 1/1;
        background-color: var(--mainYellow);
        opacity: .5;
        border-radius: 100% 100% 64% 100% / 100% 100% 77% 62% ;
        position: absolute;
        top: 0;
        left: -25vw;
        z-index: -1; 
    }


    .section-member{
        width: 100%;
        padding-bottom: 3vh;
        margin-bottom: 3vh;
    }
    .section-member h2{
        margin: 0 auto;
    }
    .member-list{
        width: 100%;
        display: flex;
        margin: 3vh 0;
        padding: 3rem;
        justify-content: center;
        gap: 2vw;
    }
    .member-item{
        width: 20vw;
        margin: 1.5rem 0 0;
        padding: 3rem 1rem;
        border: 2px solid var(--mainYellow);
        transition: .3s;
    }
    .member-name{
        font-size: 2.2rem;
    }
    .member-item p{
        border: 1px solid transparent;
    }
    .member-item:hover{
        transform:translateY(-1rem);
    }
}