@charset "UTF-8";
/******************************************************************************
 Layout
******************************************************************************/
.inner{
    width: 100%;
    margin: 0 auto;
    background: url(../images/bg.jpg) no-repeat top center / cover;
    overflow: hidden;
}
@media screen and (max-width: 425px){
    .inner{
        background: url(../images/bg-sp.jpg) no-repeat top center / cover;
    }
}


/******************************************************************************
 component
******************************************************************************/
.c-pcNone{
    display: none;
}
.c-spNone{
    display: block;
}
@media screen and (max-width: 425px){
    .c-pcNone{
        display: block;
    }
    .c-spNone{
        display: none;
    }
}
/******************************************************************************
 animate.css追加
******************************************************************************/
@-webkit-keyframes fadeInRightS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(5%, 0, 0);
        transform: translate3d(5%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInRightS {
    -webkit-animation-name: fadeInRightS;
    animation-name: fadeInRightS;
}

@-webkit-keyframes fadeInLeftS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-5%, 0, 0);
        transform: translate3d(-5%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInLeftS {
    -webkit-animation-name: fadeInLeftS;
    animation-name: fadeInLeftS;
}

@-webkit-keyframes fadeInUpS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 10%, 0);
        transform: translate3d(0, 10%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUpS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 10%, 0);
        transform: translate3d(0, 10%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInUpS {
    -webkit-animation-name: fadeInUpS;
    animation-name: fadeInUpS;
}


@keyframes fadeInUpSS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 5%, 0);
        transform: translate3d(0, 5%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInUpSS {
    -webkit-animation-name: fadeInUpSS;
    animation-name: fadeInUpSS;
}


@-webkit-keyframes fadeInDownS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -4%, 0);
        transform: translate3d(0, -4%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInDownS {
    -webkit-animation-name: fadeInDownS;
    animation-name: fadeInDownS;
}


@-webkit-keyframes fadeInTopRightS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(10%, -10%, 0);
        transform: translate3d(10%, -10%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInTopRightS {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(10%, -10%, 0);
        transform: translate3d(10%, -10%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes animate__swingS {
    0% {
        transform: rotate3d(0, 0, 1, 2deg);
    }
    50% {
        transform: rotate3d(0, 0, 1, -2deg);
    }
    100% {
        transform: rotate3d(0, 0, 1, 2deg);
    }
}

.animate__swingS {
    -webkit-animation-name: animate__swingS;
    animation-name: animate__swingS;
}

#idol-actor-audition .animate__swingS {
    animation-duration: 4s;
    animation-iteration-count: infinite;
     animation-timing-function: liner;
}


/******************************************************************************
 button
******************************************************************************/

#idol-actor-audition .apply-button {
    display: block;
    background: url(../images/button.png) no-repeat center center / contain ;
    width: 36vw;
    /* height: min(120px, 10vw); */
    height: 7.2vw;
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    #idol-actor-audition .apply-button {
        width: 54vw;
        height: 9vw;
    }
}
@media screen and (max-width: 425px){
    #idol-actor-audition .apply-button {
        /* background: url(../images/button-sp.png) no-repeat center center / contain ; */
        width: 90vw;
        height: 14.7vw;
    }
}

#idol-actor-audition .apply-button:hover {
    background: url(../images/button-hover.png) no-repeat center center / contain ;
    opacity: 0.5;
}

#idol-actor-audition .apply-button-fixed {
    display: block;
    background: url(../images/button.png) no-repeat center center / contain ;
    width: 50vw;
    height: 11vw;
    margin: 0 auto 4%;
    position: sticky;
    z-index: 150;
    top: 75vh;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 1024px){
    #idol-actor-audition .apply-button-fixed {
        top: 86svh;
    }
}
@media screen and (max-width: 768px){
    #idol-actor-audition .apply-button-fixed {
        width: 54vw;
        height: 9vw;
        left: 25%;
        transform: initial;
    }
}
@media screen and (max-width: 425px){
    #idol-actor-audition .apply-button-fixed {
        /* background: url(../images/button-sp.png) no-repeat center center / contain ; */
        margin: 0 auto 6.5%;
        width: 97vw;
        height: 18vw;
        left: -7%;
    }
}

#idol-actor-audition .apply-button-fixed:hover {
    background: url(../images/button-hover.png) no-repeat center center / contain ;
    /* opacity: 0.5; */
}

/******************************************************************************
 共通
******************************************************************************/
img {
    display: block;
    width: 100%;
    height: auto;
}
a {
    outline: none;
    text-decoration: none;
}

/******************************************************************************
 project
******************************************************************************/

/* メイン */
main {
    font-family: "M PLUS Rounded 1c", "Noto Sans JP", "Sans Serif JP", serif;
    background: #201a22;
}

.button-sticky-wrap {
    height: max(100vh, 100%);
}

.hidden-wrpper {
    display: block;
    overflow: hidden;
    margin-top: -15%;
}
@media screen and (max-width: 768px){
    .hidden-wrpper {
        margin-top: -13.7%;
    }
}
@media screen and (max-width: 425px){
    .hidden-wrpper {
        margin-top: -25%;
    }
}

/* MV */
.mv {
    display: block;
    width: 100%;
    overflow: hidden;
}
@media screen and (max-width: 425px){
    .mv {
        padding-bottom: 4%;
    }
}

.mv-img {
    display: block;
    width: 100%;
    position: relative;
}

.mv-bg {
    display: 100%;
}

.mv-mini1 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.mv-mini2 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.mv-illust1 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}
@media screen and (max-width: 425px){
    .mv-illust1 {
        z-index: 1;
    }
}

.mv-illust2 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
}
@media screen and (max-width: 425px){
    .mv-illust2 {
        z-index: 3;
    }
}

.mv-idol1 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}
@media screen and (max-width: 425px){
    .mv-idol1 {
        z-index: 2;
    }
}

.mv-illust3 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 6;
}
@media screen and (max-width: 425px){
    .mv-illust3 {
        z-index: 4;
    }
}

.mv-illust4 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 7;
}
@media screen and (max-width: 425px){
    .mv-illust4 {
        z-index: 5;
    }
}

.mv-idol2 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8;
}
@media screen and (max-width: 425px){
    .mv-idol2 {
        z-index: 6;
    }
}

.mv-idol3 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
}
@media screen and (max-width: 425px){
    .mv-idol3 {
        z-index: 7;
    }
}

.mv-ttl {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
@media screen and (max-width: 425px){
    .mv-ttl {
        z-index: 8;
    }
}

.mv-idol4 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
}
@media screen and (max-width: 425px){
    .mv-idol4 {
        z-index: 9;
    }
}

.marquee {
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    background: url(../images/mv13-bg.jpg) no-repeat center center / cover;
    padding: 1%;
    z-index: 12;
}
@media screen and (max-width: 425px){
    .marquee {
        bottom: -2%;
        background: url(../images/mv13-bg-sp.jpg) no-repeat center center / cover;
        padding: 2.8%;
        z-index: 10;
    }
}

.marquee-inner {
    display: inline-block;
    animation: scroll 35s linear infinite;
    width: 300%;
    will-change: transform;
    transform: translateZ(0); /* ←念のため */
}
@media screen and (max-width: 425px){
    .marquee-inner {
        width: 880%;
    }
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.marquee-inner img {
    display: inline-block;
}

.mv-sub-ttl {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 13;
}
@media screen and (max-width: 425px){
    .mv-sub-ttl {
        z-index: 11;
    }
}

.mv-img .apply-button {
    position: absolute;
    z-index: 120;
    bottom: 19.5%;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 768px){
    .mv-img .apply-button {
        bottom: 20.5%;
    }
}
@media screen and (max-width: 425px){
    .mv-img .apply-button {
        bottom: 5%;
    }
}

.intro {
    display: block;
    background: url(../images/intro-bg.jpg) no-repeat center center / cover;
    margin-top: -1%;
}

.bg-dot {
    display: block;
    background: url(../images/bg-dot.png) repeat-y center top / cover;
        padding: 10% 0;
}
@media screen and (max-width: 425px){
    .bg-dot {
        background: url(../images/bg-dot.png) repeat-y center top / 150%;
    }
}

.intro-txt1 {
    display: block;
    width: 81.3%;
    margin-left: auto;
    margin-right: 0;
}
@media screen and (max-width: 425px){
    .intro-txt1 {
        display: block;
        width: 150%;
        margin-left: 8%;
    }
}

.intro-txt2 {
    display: flex;
    align-items: end;
    margin-top: -4%;
}
@media screen and (max-width: 425px){
    .intro-txt2 {
    width: 150%;
    margin-left: -23%;
    margin-top: -7%;
    }
}

.voice-actor-img {
    display: block;
    width: 63%;
    position: relative;
    z-index: 14;
}

.voice-actor-txt {
    display: block;
    width: 23%;
    margin-bottom: 1.8%;
    margin-left: -9%;
}

.intro-txt3 {
    display: block;
    width: 81%;
    margin-top: 5%;
}
@media screen and (max-width: 425px){
    .intro-txt3 {
        width: 143%;
        margin-top: 10%;
        margin-left: -48%;
    }
}

.intro-txt4 {
    display: flex;
    margin-left: auto;
    margin-right: 0;
    align-items: end;
    justify-content: end;
    margin-top: -3%;
}
@media screen and (max-width: 425px){
    .intro-txt4 {
        width: 150%;
        margin-top: -5%;
        margin-left: -23%;
    }
}

.pop-idol-txt {
    display: block;
    width: 16%;
    margin-bottom: 1.8%;
    margin-right: -8%;
}

.pop-idol-img {
    width: 62%;
    position: relative;
    z-index: 15;
}

.intro-txt5 {
    display: flex;
    font-size: clamp(16px, 1.68vw, 28px);
    margin: 0 auto;
    width: 90%;
    justify-content: center;
    gap: 2%;
    margin-top: 6%;
}
@media screen and (max-width: 425px){
    .intro-txt5 {
        font-size: 21px;
        width: fit-content;
        gap: 1.5em;
        margin-top: 10%;
        flex-direction: column;
        text-align: center;
    }
}

.intro-txt5 p {
    display: block;
    position: relative;
    z-index: 16;
}

.intro-txt5 .bold-txt {
    font-size: clamp(19px, 2.25vw, 36px);
    padding: 0 0.1em;
}
@media screen and (max-width: 425px){
    .intro-txt5 .bold-txt {
        font-size: 25px;
    }
}

.intro-txt5-img {
    overflow: hidden;
    display: inline-block;
    height: auto;
    vertical-align: top; 
}

.masked-image {
    display: block;
    width: 100%;
    transform: translateX(-100%);
    transition: transform 1s ease-out;
    will-change: transform;
}

.intro-txt5-img.active .masked-image {
  transform: translateX(0);
}

.intro-txt5 p:nth-of-type(1) .intro-txt5-img {
    position: absolute;
    width: 48%;
    bottom: 0;
    left: 1%;
    z-index: -1;
}
.intro-txt5 p:nth-of-type(2) .intro-txt5-img {
    position: absolute;
    width: 44%;
    bottom: 5%;
    left: -2%;
    z-index: -1;
}
@media screen and (max-width: 425px){
    .intro-txt5 p:nth-of-type(2) .intro-txt5-img {
        position: absolute;
        width: 42%;
        bottom: 5%;
        left: 2%;
        z-index: -1;
    }
}
.intro-txt5 p:nth-of-type(3) .intro-txt5-img {
    position: absolute;
    width: 50%;
    bottom: 9%;
    left: 0%;
    z-index: -1;
}

.intro-txt6{
    display: block;
    width: 90%;
    margin: 0 auto;
    font-size: clamp(18px, 2.1vw, 35px);
    text-align: center;
    line-height: 3;
margin-top: 2%;
}
@media screen and (max-width: 425px){
    .intro-txt6{
    font-size: clamp(16px, 4.94vw, 21px);
        margin-top: 9%;
    }
}

.intro-txt6 .intro-txt5-img {
    display: inline-block;
    width: 12vw;
    margin-top: -1.5%;
}
@media screen and (max-width: 425px){
    .intro-txt6 .intro-txt5-img {
        width: 22vw;
        margin-bottom: -6.8%;
    }
}

.support {
    display: block;
    width: 100%;
    margin-top: -7%;
    position: relative;
    z-index: 18;
}

.support-img {
    display: block;
    width: 100%;
    position: relative;
}

.support-bg {
    width: 100%;
    display: block;
}

.support-twinkle1 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 19;
}

.support-twinkle2 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

.support-twinkle3 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 21;
}

.support-twinkle4 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 22;
}

@keyframes twinkle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

.twinkle {
  animation: twinkle 3s infinite ease-in-out;
}

.support-ttl {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 23;
}

.support-01 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 24;
}

.support-02 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 25;
}

.support-03 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 26;
}

.support-04 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 27;
}

.support-05 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 26;
}

.support-06 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 28;
}

.bottom-wrapper {
    display: block;
    background: url(../images/bottom-bg.jpg) no-repeat center center / cover;
    margin-top: -3%;
}
@media screen and (max-width: 425px){
    .bottom-wrapper {
        margin-top: -5%;
    }
}

.bottom-wrapper .bg-dot {
    padding: 9% 0;
}
@media screen and (max-width: 425px){
    .bottom-wrapper .bg-dot {
            padding: 15% 0;
    }
}

.audition h2 {
    display: block;
    width: 26.8%;
    margin: 0 auto;
}
@media screen and (max-width: 425px){
    .audition h2 {
        width: 43%;
    }
}

.audition-sub-ttl {
    display: block;
    color: #201a22;
    font-size: clamp(17px, 2vw, 33px);
    width: fit-content;
    margin: 1.6% auto 2.8%;
}
@media screen and (max-width: 425px){
    .audition-sub-ttl {
        margin: 1.6% auto 4.8%;
    }
}

.audition-txt {
    display: block;
    width: 100%;
    background: url(../images/audition2.jpg) no-repeat center center / cover;
    padding: 4.3% 0 4%;
}

.audition-txt-container {
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.audition-txt p {
    font-size: clamp(16px, 1.75vw, 28px);
    text-align: center;
}

.audition-txt p:nth-of-type(1) {
    line-height: 1.8;
    margin-bottom: 4%;
}

.audition-txt .marker {
    display: inline-block;
    color: #201a22;
    position: relative;
    font-size: clamp(19px, 2.25vw, 36px);
    font-weight: 500;
    letter-spacing: 0.1em;
    overflow: hidden;
    position: relative;
    z-index: 29
}

.audition-txt .marker::after {
    content: "";
    position: absolute;
    bottom: 12%;
    left: 0;
    height: 0.6em;
    width: 0;
    background: #ffff00; /* マーカー色 */
    transition: width 1s ease-out;
    z-index: -1;
}

.audition-txt .marker.active::after {
    width: 100%;
}

.flow {
    margin-top: 6%;
}
@media screen and (max-width: 425px){
    .flow {
        margin-top: 15%;
    }
}

.flow h2 {
    display: block;
    width: 15%;
    margin: 0 auto;
}
@media screen and (max-width: 425px){
    .flow h2 {
        width: 24%;
    }
}

.flow-sub-ttl {
    display: block;
    color: #201a22;
    font-size: clamp(17px, 2vw, 33px);
    width: fit-content;
    margin: 1.6% auto 2.8%;
}@media screen and (max-width: 425px){
    .flow-sub-ttl {
    margin: 1.6% auto 5%;
    }
}

.flow ul {
    display: block;
    width: 100%;
    position: relative;
    z-index: 30;
}
@media screen and (max-width: 425px){
    .flow ul {
        width: 77%;
        margin-left: 7%;
    }
}


.flow ul li:nth-of-type(1) {
    display: block;
    width: 46.25%;
    margin: 0 auto;
    position: relative;
}
@media screen and (max-width: 425px){
    .flow ul li:nth-of-type(1) {
        width: 100%;
        margin-bottom: 5%;
    }
}

.flow ul li:nth-of-type(1) a {
    display: block;
    width: fit-content;
    font-size: 1.25vw;
    color: #221815;
    font-weight: 500;
    border-bottom: 1px solid #221815;
    position: absolute;
    top: 47%;
    left: 29%;
    line-height: 1;
    padding-bottom: 0.3em;
}
@media screen and (max-width: 768px){
    .flow ul li:nth-of-type(1) a {
        font-size: 3.25vw;
        top: 35.5%;
        left: 35.5%;
        padding-bottom: 0.1em;
    }
}

.flow ul li:nth-of-type(2) {
    display: block;
    width: 51.25%;
    margin: 0.8% 0 2% 27%;
}
@media screen and (max-width: 425px){
    .flow ul li:nth-of-type(2) {
        margin: 0.8% 0 10% 0%;
        width: 119%;
    }
}

.flow ul li:nth-of-type(3) {
    display: block;
    width: 46.25%;
    margin: 0 auto;
}
@media screen and (max-width: 425px){
    .flow ul li:nth-of-type(3) {
            width: 100%;
    }
}

.flow-illusts {
    display: block;
    width: 58.75%;
    margin: -6% auto 0;
    position: relative;
}
@media screen and (max-width: 425px){
    .flow-illusts {
        width: 100%;
        margin: -13% auto 2%;
    }
}

.flow-illusts-bg {
    display: block;
    width: 100%;
}

.flow-illusts-txt1 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.flow-illusts-woman {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.flow-illusts-txt2 {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
}

footer {
    display: flex;
    background: #717171;
    color: #FFF;
    justify-content: space-between;
    align-items: center;
    padding: 0.5% 0;
}
@media screen and (max-width: 425px){
    footer {
        padding: 2% 0;
    }
}

.footer-container {
    display: flex;
    width: 55%;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
@media screen and (max-width: 1024px){
    .footer-container {
        display: block;
    }
}
@media screen and (max-width: 425px){
    .footer-container {
        width: 100%;
    }
}

.copyright {
    font-size: clamp(13px, 0.87vw, 14px);
}
@media screen and (max-width: 1024px){
    .copyright {
        text-align: center;
    }
}

footer ul {
    display: flex;
    align-items: center;
    gap: 2em;
}
@media screen and (max-width: 1024px){
    footer ul {
        justify-content: center;
    }
}

footer ul a {
    color: #FFF;
    font-size: clamp(14px, 1vw, 16px);
}