.gFooter{
    z-index: 999;
}

img{
    width: 100%;
    height: 100%;
}

.betsukai{
    font-family: "M PLUS 1 Code", monospace;
    font-size: 1.6rem;
    line-height: 1.8;
	overflow:hidden;
}

/* ===================
　キービジュアル
=================== */
.betsukai__kv{
    width: 100%;
    height: 100%;
    aspect-ratio: 768 / 1090;
    background-image: url(../images/bg-kv_sp.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.betsukai__kv-inner-wrap{
    height: fit-content;
}

.betsukai__kv-img-container{
    position: relative;
    width: 75%;
    margin: 0 auto;
    margin-bottom: 5%;
}

.betsukai__kv-img-01{
    position: absolute;
    height: auto;
    top: 50%;
    left: 50%;
    z-index: 10;
    opacity: 0;
    transform: translate(-50%, calc(-50% + 15px)) scale(1.349206349206349);
}

.onload .betsukai__kv-img-01{
    animation: kv-fade-in-01 0.5s forwards;
}

@keyframes kv-fade-in-01 {
    to{
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.349206349206349);
    }
}

.betsukai__kv-img-02,
.betsukai__kv-img-03{
    position: absolute;
     width: 38%;
     height: auto;
    transform-origin: top center;
}

.betsukai__kv-img-02{
    left: -12%;
    top: 48%;
    opacity: 0;
    transform: rotate(-15deg) translateY(15px);
}

.onload .betsukai__kv-img-02{
    animation: kv-fade-in-02 0.5s forwards, swing-01 6s 1s infinite;
}

@keyframes kv-fade-in-02{
    to{
        opacity: 1;
        transform: rotate(-15deg) translateY(0);
    }
}

@keyframes swing-01{
    0%{
        transform: rotate(-15deg) translateY(0);
    }
    7%{
        transform: rotate(-8deg) translateY(0);
    }
    14%{
        transform: rotate(-15deg) translateY(0);
    }
    21%{
        transform: rotate(-8deg) translateY(0);
    }
    28%{
        transform: rotate(-15deg) translateY(0);
    }
    100%{
        transform: rotate(-15deg) translateY(0);
    }
}

.betsukai__kv-img-03{
    right: -10%;
    top: 17%;
    opacity: 0;
    transform: rotate(5deg) translateY(15px);
}

.onload .betsukai__kv-img-03{
    animation: kv-fade-in-03 0.5s forwards, swing-02 6s 4s infinite;
}

@keyframes kv-fade-in-03{
    to{
        opacity: 1;
        transform: rotate(5deg) translateY(0);
    }
}

@keyframes swing-02{
    0%{
        transform: rotate(5deg) translateY(0);
    }
    7%{
        transform: rotate(-2deg) translateY(0);
    }
    14%{
        transform: rotate(5deg) translateY(0);
    }
    21%{
        transform: rotate(-2deg) translateY(0);
    }
    28%{
        transform: rotate(5deg) translateY(0);
    }
    100%{
        transform: rotate(5deg) translateY(0);
    }
}

.betsukai__kv h1{
    text-align: center;
    padding: 1%;
    background-image: url(../images/ribbon-kv_sp.png?20251203);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-family: "Kaisei Opti", serif;
    font-weight: bold;
    font-size: 2.2rem;
    color: #fff;
}

/* ===================
　番宣
=================== */
.betsukai__movie{
    position: relative;
    padding: 60px 0 60px 0;
    width: 100%;
    background-color: #fae4d9;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(175 / 768 * 100%);
}

.betsukai__movie::after{
    position: absolute;
    content: "";
    width: 100%;
    max-height: 100%;
    aspect-ratio: 768 / 170;
    background-image: url("../images/bg-pink_sp1203.png");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    background-color: #ffffd1;
    top: calc(100% - 2px);
    left: 0;
    vertical-align: bottom;
    line-height: 0;
}
.ytWrap {
	/* width: 90%; */
	margin: 5% auto 0;
    background-color: #a8d1ef;
    padding: 20px;
    border-radius: 20px;
    outline: dashed 3px #ffffff;
    outline-offset: -10px;
}
.ytCont {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    order: 1;
}
.ytCont iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.betsukai__movie-wrap{
    position: relative;
    display: inline-block;
    z-index: 10;
    width: 90%;
    height: fit-content;
    aspect-ratio: 16 / 9;
}

.betsukai__movie-sign{
    position: absolute;
    width: 100px;
    right: 5%;
    top: 106%;
    transform: rotate(10deg);
    height: auto;
    z-index: -2;
    opacity: 0;
}

.betsukai__movie.is-show .betsukai__movie-sign{
    animation: sign-anime 1s 0.8s ease forwards;
}

@keyframes sign-anime {
  0% {
    opacity: 0;
    transform: translateY(0) scale(1) rotate(10deg);
  }
  30% {
    opacity: 1;
    transform: translateY(-10px) scale(1.1) rotate(10deg);
  }
  50% {
    opacity: 1;
    transform: translateY(0) scale(0.9) rotate(10deg);
  }
  70% {
    opacity: 1;
    transform: translateY(-5px) scale(1.05) rotate(10deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(10deg);
  }
}

.betsukai__movie-footprints{
    position: absolute;
    width: 366px;
    height: auto;
    top: 60%;
    left: -30%;
    z-index: -1;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.8s;
}

.betsukai__movie.is-show .betsukai__movie-footprints{
    clip-path: inset(0 0 0 0);
}

/* ===================
　番組概要
=================== */

.betsukai__about{
    position: relative;
    padding: 30px 0;
    width: 100%;
    background-color: #ffffd1;
    margin: -5px 0 0 0;
}

.betsukai__about::after{
    position: absolute;
    content: "";
    width: 100%;
    max-height: 100%;
    aspect-ratio: 768 / 73;
    background-image: url(../images/bg-yellow_sp.png);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    top: calc(100% - 1px);
    left: 0;
}

.betsukai__about-inner-wrap{
    position: relative;
    width: 85%;
    margin: 0 auto;
    z-index: 10;
}
.betsukai__photo-inner-wrap{
    position: relative;
    width: 90%;
    margin: 0 auto;
    z-index: 10;
}

.betsukai__about-footprints{
    position: absolute;
    width: 220px;
    height: auto;
    bottom: -10%;
    left: -15%;
    z-index: -5;
    clip-path: inset(0 100% 100% 0);
    transition: clip-path 1.8s;
    transition-delay: 1s;
}

.betsukai__about.is-show .betsukai__about-footprints{
    clip-path: inset(0 0 0 0);
}

.betsukai__about-header-text{
    font-size: 5vw;
    margin-bottom: 50px;
    font-family: "Kaisei Opti", serif;
    font-weight: bold;
}

.betsukai__about-img-wrap{
    position: relative;
    width: 94%;
    /* max-width: 500px; */
    margin: -5% 0 0 auto;
    z-index: -1;
    opacity: 1;
    transition: 0.5s;
}

/*.betsukai__about.is-show .betsukai__about-img-wrap{
    opacity: 1;
}*/

.betsukai__about-cow{
    position: absolute;
    width: 10%;
    height: auto;
    right: 57%;
    top: 42%;
}

.betsukai__about-pin{
    position: absolute;
    width: 12%;
    height: auto;
    right: 38%;
    top: 41%;
    transform: translateY(-40px);
    opacity: 1;
}

/*.betsukai__about.is-show .betsukai__about-pin{
    animation: pin-anime 0.5s 0.5s forwards ease-in;
}*/

@keyframes pin-anime{
    0%{
        opacity: 0;
        transform: translateY(-40px);
    }
    10%{
        opacity: 1;
        transform: translateY(-40px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===================
　出演者
=================== */

.betsukai__cast{
    padding-top: calc(73 / 768 * 100% + 40px);
    width: 100%;
    height: 100%;
    aspect-ratio: 768 / 1037;
    background-image: url(../images/bg-cow_sp.png);
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    text-align: center;
    font-family: "Kaisei Opti", serif;
    font-weight: bold;
}

.betsukai__cast h2{
    text-align: center;
    padding: 0.3% 0;
    background-image: url(../images/ribbon-cast_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 2.2rem;
    margin-bottom: 40px;
}

.betsukai__cast-inner-wrap{
    width: 70%;
    background-color: #a8d1ef;
    outline: dashed 3px #ffffff;
    outline-offset: -10px;
    border-radius: 20px;
    margin: 0 auto;
    padding: 20px;
}

.betsukai__cast.is-show .betsukai__cast-inner-wrap{
    animation: cast-anime 0.8s linear forwards;
}

@keyframes cast-anime {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.99, 0.99) translate(0%, 3%); }
  30%  { transform: scale(1.02, 0.96) translate(0%, 6%); }
  50%  { transform: scale(0.96, 1.02) translate(0%, -6%); }
  70%  { transform: scale(1.01, 0.99) translate(0%, 3%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.betsukai__combi-name{
    font-size: 1.4rem;
}

.betsukai__cast-name{
    font-size: 1.8rem;
    display: flex;
    justify-content: center;
    gap: 20px;
}

/* ===================
　フッター
=================== */
.betsukai__footer{
    padding: 30px 0;
}

.betsukai__footer-inner-wrap{
    width: 90%;
    margin: 0 auto;
}

.betsukai__footer-photo-01,
.betsukai__footer-photo-02{
    opacity: 0;
    transition: 0.5s;
    transform: translateY(20px);
}

.betsukai__footer.is-show .betsukai__footer-photo-01,
.betsukai__footer.is-show .betsukai__footer-photo-02{
    opacity: 1;
    transform: translateY(0);
}

.betsukai__footer-circle-wrap{
    position: relative;
    width: 100%;
}

.betsukai__footer-footprints-img-01,
.betsukai__footer-footprints-img-02{
    position: absolute;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.8s;
}

.betsukai__footer-footprints-img-01{
    width: 28%;
    height: auto;
    left: 0;
    top: 10%;
}

.betsukai__footer-footprints-img-02{
    width: 19%;
    height: auto;
    right: 3%;
    top: 40%;
    transition-delay: 0.8s;
}

.betsukai__footer.is-show .betsukai__footer-footprints-img-01,
.betsukai__footer.is-show .betsukai__footer-footprints-img-02{
    clip-path: inset(0 0 0 0);
}

.betsukai__footer-circle{
    position: relative;
    width: 150px;
    height: 150px;
    background-color: #d5e34b;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #4c9a45;
    outline: dashed 2px #d5e34b;
    outline-offset: 5px;
    margin: 10px auto;
}

.betsukai__footer-suzuki{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    animation: suzuki-rotate 8s linear infinite;
}

@keyframes suzuki-rotate{
    to{
        transform: rotate(-360deg);
    }
}

.betsukai__footer-suzuki::after{
    content: "";
    position: absolute;
    width: 30px;
    height: 26px;
    top: 0;
    left: 0;
    background-image: url(../images/suzuki.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: top left;
    transform: rotate(-45deg);
}

.sp_none{
    display: none;
}