
header {
    translate: 0 -100%;
}

header.active {
    translate: 0 0;
}

/* SPのみ */
@media screen and (max-width:730px) {

    header {
        translate: 0 0;
    }
}

.mv {
    background-image: url(../images/index/mv_bg02.png) , url(../images/index/mv_bg02-02.png) , url(../images/index/mv_bg01.webp);
    background-size: contain , contain , cover;
    background-repeat: no-repeat , no-repeat , repeat;
    background-position: left , right , top;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 0 50px;
}

.mv::before,
.mv::after {
    content: '';
    width: 100%;
    height: 35px;
    background-image: url(../images/index/mv_deco01.png);
    background-size: auto 100%;
    background-repeat: repeat-x;
    background-position: bottom;
    position: absolute;
}

.mv::before {
    top: 0;
}

.mv::after {
    bottom: 0;
    rotate: 180deg;
}

.mv_img {
    position: relative;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.mv_smartphone {
    position: relative;
}

.mv_nav_btn {
    position: absolute;
    max-width: 100px;
    width: 12%;
    top: 8%;
    right: 7%;
    cursor: pointer;
    filter: drop-shadow(0 0 3px #d61f6d);
}

.mv_nav {
    max-width: 320px;
    width: 100%;
    position: absolute;
    top: 8%;
    right: 7%;
    background: #000 url(../images/index/mv_nav_bg.webp);
    background-size: cover;
    border-radius: 20px;
    padding: 20px;
    scale: 0;
    transform-origin: top right;
    transition: 0.3s all;
}

.mv_nav.active {
    scale: 1;
}

.mv_nav ul {
    display: flex;
    flex-direction: column;
    gap: 15px 0;
}

.mv_nav ul li {
    font-family: "Braah One", sans-serif;
    color: #fff;
    font-size: clamp(18px,2vw,24px);
}

.mv_nav ul li a:hover {
    color: #e61673;
}

.mv_nav .deco {
    width: 80%;
    margin: 20px 0 0 auto;
}

.mv_nav_close {
    cursor: pointer;
    position: absolute;
    top: 25px;
    right: 25px;
    width: 30px;
    height: 30px;
}

.mv_nav_close span {
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #fff;
    rotate: 45deg;
    top: 14px;
}

.mv_nav_close span:last-child {
    rotate: -45deg;
}

.mv_catch01 {
    opacity: 0;
    position: relative;
    z-index: 1;
    width: 50%;
    margin-bottom: -5%;
}

.mv_catch02 {
    opacity: 0;
    position: relative;
    z-index: 1;
    width: 40%;
    margin: -7% 0 0 auto;
}

.mv_catch01.active {
    animation: mvCatch01 0.7s forwards;
}

.mv_catch02.active {
    animation: mvCatch02 0.7s forwards;
}

@keyframes mvCatch01 {
    0% {
        opacity: 0;
        scale: 0;
    }

    100% {
        opacity: 1;
        scale: 1;
    }
}

@keyframes mvCatch02 {
    0% {
        opacity: 0;
        scale: 0;
    }

    100% {
        opacity: 1;
        scale: 1;
    }
}

.sec_ttl {
    opacity: 0;
}

.sec_ttl.active {
    animation: fadeUp 0.8s forwards;
}

.contents_trigger {
    opacity: 0;
}

.contents_trigger.active {
    animation: fadeIn 0.8s forwards;
}

/* SPのみ */
@media screen and (max-width:730px) {

    .mv {
        padding: 30px 0 40px;
    }

    .mv::before,
    .mv::after {
        height: 20px;
    }

    .mv_nav_btn {
        display: none;
    }

    .mv_catch01 {
        width: 60%;
    }

    .mv_catch02 {
        width: 50%;
    }
}







.sec_about {
    background-image: url(../images/index/about_deco.jpg) , url(../images/index/about_deco.jpg) , url(../images/index/about_bg.webp);
    background-size: auto 25px , auto 25px , cover;
    background-repeat: repeat-x , repeat-x , no-repeat;
    background-position: top , bottom , top;
    padding: 6vw 0 8vw;
    position: relative;
}

.sec_about::before {
    content: '';
    width: 100%;
    height: 34px;
    position: absolute;
    translate: 0 -50%;
    top: 0;
    left: 0;
    background-image: url(../images/index/about_deco_pearl.png);
    background-repeat: repeat-x;
    background-size: auto 100%;
}

.sec_about .sec_ttl {
    max-width: 600px;
    width: 75%;
    margin: 0 auto;
}

.sec_about .movie {
    position: relative;
    max-width: 800px;
    width: 80%;
    margin: 50px auto 0;
}

.sec_about .movie::before {
    content: '';
    width: 70%;
    height: 136%;
    background-image: url(../images/index/about_bg02.png);
    position: absolute;
    top: -30%;
    left: -60%;
    background-size: contain;
    background-repeat: no-repeat;
}

.sec_about .movie::after {
    content: '';
    width: 70%;
    height: 136%;
    background-image: url(../images/index/about_bg02-02.png);
    position: absolute;
    top: -30%;
    right: -60%;
    background-size: contain;
    background-repeat: no-repeat;
}

.sec_about .movie .contents {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.sec_about .movie .contents iframe {
    width: 100%;
    height: 100%;
}

/* SPのみ */
@media screen and (max-width:730px) {


    .sec_about {
        background-image: url(../images/index/about_bg02_sp.png) , url(../images/index/about_bg02-02_sp.png) , url(../images/index/about_deco.jpg) , url(../images/index/about_deco.jpg) , url(../images/index/about_bg.webp);
        background-size: auto 100% , auto 100% , auto 15px , auto 15px , cover;
        background-repeat: repeat-y , repeat-y , repeat-x , repeat-x , no-repeat;
        background-position: -30% 0 , 135% 0 , top , bottom , top;
        padding: 40px 0 50px;
    }

    .sec_about::before {
        height: 15px;
    }


    .sec_about .movie {
        margin-top: 20px;
    }

    .sec_about .movie::before,
    .sec_about .movie::after {
        display: none;
    }


}









.sec_news {
    background-image: url(../images/index/news_bg02.webp), url(../images/index/news_bg02-02.webp), url(../images/index/news_bg01.webp);
    background-size: auto 90%, auto 90%, cover;
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: -5% 20%, 105% 20%, top;
    padding: 5vw 0 13vw;

    mask-image: url('../images/index/news_mask.png');
    mask-repeat: no-repeat;
    mask-position: bottom;
    mask-size: cover;
    -webkit-mask-image: url('../images/index/news_mask.png');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: bottom;
    -webkit-mask-size: cover;
}

.sec_news .sec_ttl {
    max-width: 230px;
    width: 30%;
    margin: 0 auto;
}

.sec_news .sec_contents {
    margin: 30px auto 0;
}

.sec_news .sec_contents::before,
.sec_news .sec_contents::after {
    display: block;
    margin: 0 auto;
    content: '';
    max-width: 1200px;
    max-height: 42px;
    width: 80%;
    height: 2.8vw;
    background-image: url(../images/index/news_contents_bg_corner.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.sec_news .sec_contents::before {
    margin-bottom: -1px;
}

.sec_news .sec_contents::after {
    rotate: 180deg;
    margin-top: -1px;
}



.sec_news .sec_contents_inner {
    position: relative;
    padding: 0 30px 0 50px;
    max-width: 1200px;
    max-height: 805px;
    width: 80%;
    height: 84vw;
    margin: 0 auto;
}

.sec_news .sec_contents .pearl {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/index/news_contents_bg.png);
    background-size: contain;
    background-repeat: repeat-y;
    z-index: 2;
}

.sec_news .sec_contents .white_bg {
    position: absolute;
    translate: -50% 0;
    top: 0;
    left: 50%;
    background-color: #fff;
    width: 98%;
    height: 100%;
    z-index: 1;
}

.sec_news .sec_contents ul {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    height: 100%;
}
.sec_news .sec_contents ul::-webkit-scrollbar {
    width: 10px;
    display: block;
}

.sec_news .sec_contents ul::-webkit-scrollbar-track {
    background-color: #fbd9e8;
}

.sec_news .sec_contents ul::-webkit-scrollbar-thumb {
    background-color: #e61673;
}

.sec_news .sec_contents ul li {
    margin-right: 20px;
}

.sec_news .sec_contents ul li .news_top {
    display: flex;
    align-items: center;
    gap: 5px 20px;
    padding: 20px 0;
    cursor: pointer;
    border-bottom: 1px solid #e61673;
}

.sec_news .sec_contents ul li .news_top::after {
    flex-shrink: 0;
    content: '';
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-image: url(../images/index/news_icon02.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 10px 0 auto;
    transition: 0.3s all;
}

.sec_news .sec_contents ul li .news_top.active::after {
    rotate: 45deg;
}

.sec_news .sec_contents ul li .date {
    flex-shrink: 0;
    color: #e61673;
    font-weight: bold;
    font-size: clamp(16px,1.8vw,20px);
}

.sec_news .sec_contents ul li .date::after {
    display: inline-block;
    vertical-align: bottom;
    content: '';
    width: 1.6em;
    height: 1.6em;
    margin-left: 10px;
    background-image: url(../images/index/news_icon.png);
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.sec_news .sec_contents ul li .ttl {
    font-weight: bold;
    font-size: clamp(16px,1.8vw,20px);
}


.sec_news .sec_contents ul li .news_bottom {
    display: none;
}

.sec_news .sec_contents ul li .news_bottom_inner {
    display: flex;
    flex-direction: column;
    gap: 30px 0;
    padding: 30px;
    border-bottom: 1px solid #e61673;
}

.sec_news .sec_contents ul li .news_bottom_inner .image_wrap {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
}

.sec_news .sec_contents ul li .txt {
    font-size: clamp(14px,1.5vw,16px);
}

.sec_news .sec_contents ul li .txt a {
    display: inline-block;
    text-decoration: underline;
}

.sec_news .sec_contents ul li .txt a:hover {
    color: #e61673;
}

.sec_news .sec_contents ul li .txt .bold {
    font-weight: bold;
    color: #e61673;
    font-size: clamp(15px,1.6vw,18px);
}

.sec_news .sec_contents ul li.news01 .txt a {
    font-weight: bold;
    font-size: clamp(15px,1.6vw,18px);
}

.sec_news .sec_contents ul li .news_bottom_inner.flex {
    flex-direction: row;
    justify-content: space-between;
}

.sec_news .sec_contents ul li .news_bottom_inner.flex .image_wrap {
    width: 35%;
}

.sec_news .sec_contents ul li .news_bottom_inner.flex .txt {
    width: 60%;
}





/* SPのみ */
@media screen and (max-width:730px) {

    .sec_news {
        background-size: 40%, 40%, cover;
        background-position: -22% 175%, 125% 0 ,top;
        padding: 30px 0 90px;

    
        mask-size: cover;
        -webkit-mask-size: cover;
    }

    .sec_news .sec_contents {
        margin-top: 20px;
    }

    .sec_news .sec_contents::before,
    .sec_news .sec_contents::after {
        background-image: url(../images/index/news_contents_bg_corner_sp.png);
        width: 90%;
        height: 9.8vw;
    }

    .sec_news .sec_contents_inner {
        width: 90%;
        padding: 0 20px;
    }

    .sec_news .sec_contents ul li {
        margin-right: 10px;
    }

    .sec_news .sec_contents ul li .news_top {
        flex-wrap: wrap;
    }
    
    .sec_news .sec_contents ul li .ttl {
        width: calc(100% - (1.5em + 20px));
    }

    .sec_news .sec_contents ul li .news_top::after {
        margin-right: 0;
    }

    .sec_news .sec_contents ul li .date::after {
        vertical-align: bottom;
    }

    .sec_news .sec_contents ul li .news_bottom_inner {
        padding: 20px 0;
        gap: 20px 0;
    }

    .sec_news .sec_contents ul li .news_bottom_inner.flex {
        flex-direction: column;
    }

    .sec_news .sec_contents ul li .news_bottom_inner.flex .txt {
        width: 100%;
    }

    .sec_news .sec_contents ul li .news_bottom_inner.flex .image_wrap {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
    }

    .sec_news .sec_contents ul li .news_bottom_inner.flex .image_wrap .image {
        width: 48%;
    }

    .sec_news .sec_contents .pearl {
        background-image: url(../images/index/news_contents_bg_sp.png);
    }
}










.sec_character {
    background-image: url(../images/index/character_bg02.png), url(../images/index/character_bg02-02.png), url(../images/index/character_bg01.webp);
        background-size: auto calc(100% - 5vw), auto calc(100% - 5vw), cover;
        background-repeat: no-repeat, no-repeat, repeat;
        background-position: -5% 5vw, 105% 5vw, top;
    padding: 6vw 0;
    margin-top: -6vw;
}

.sec_character .sec_ttl {
    max-width: 350px;
    width: 45%;
    margin: 0 auto;
}

.sec_character .sec_contents {
    max-width: 1100px;
    width: 60%;
    margin: 30px auto 0;
}

.sec_character ul {
    display: flex;
    justify-content: space-between;
}

.sec_character ul li {
    position: relative;
    width: calc(90%/3);
}

.sec_character ul li.comingsoon {
    pointer-events: none;
}

.sec_character ul li a:hover .name img {
    filter: brightness(1);
}

.sec_character ul li .name img {
    display: block;
    max-width: none;
    width: auto;
    height: 13vw;
    max-height: 78px;
    margin: 0 auto;
}

.sec_character ul li .txt {
    text-align: center;
    margin-top: 15px;
    color: #fff;
    font-weight: bold;
    font-size: clamp(10px,1.4vw,14px);
}


.sec_character .deco {
    position: absolute;
}

.sec_character .deco01 {
    width: 11%;
    left: -10%;
    top: 10%;
}
.sec_character .deco02 {
    width: 13%;
    left: -18%;
    top: 14%;
}
.sec_character .deco03 {
    width: 14%;
    right: 0;
    top: 0%;
}
.sec_character .deco04 {
    width: 13%;
    right: -8%;
    top: 6%;
}
.sec_character .deco05 {
    width: 15%;
    left: -10%;
    top: 75%;
}
.sec_character .deco06 {
    width: 15%;
    left: 0;
    top: 80%;
}
.sec_character .deco07 {
    width: 14%;
    left: -11%;
    top: 70%;
}
.sec_character .deco08 {
    width: 13%;
    left: -3%;
    top: 76%;
}
.sec_character .deco09 {
    width: 13%;
    right: -15%;
    top: 15%;
}
.sec_character .deco10 {
    width: 13%;
    left: -5%;
    top: 5%;
}
.sec_character .deco11 {
    width: 13%;
    right: -10%;
    top: 0;
}
.sec_character .deco12 {
    width: 13%;
    right: -15%;
    top: 6%;
}
.sec_character .deco13 {
    width: 13%;
    left: -13%;
    top: 68%;
}
.sec_character .deco14 {
    width: 13%;
    left: -8%;
    top: 73%;
}
.sec_character .deco15 {
    width: 13%;
    right: -10%;
    top: 80%;
}

/* SPのみ */
@media screen and (max-width:730px) {
    
    .sec_character {
        margin-top: -50px;
        padding: 50px 0 40px;
        background-size: auto 100% , auto 100% , cover;
        background-position: -45% 5vw, 154% 3vw, top;
    }

    .sec_character .sec_contents {
        margin-top: 20px;
        width: 90%;
    }

    .sec_character ul li {
        width: calc(88%/3);
    }

    .sec_character ul li .txt {
        margin: 10px -5.5% 0;
        text-shadow: -2px 0 0 #7b51f3 , 2px 0 0 #7b51f3 , 0 2px 0 #7b51f3 , 0 2px 0 #7b51f3 ;
    }

    .sec_character .deco01 {
        width: 18%;
        left: -6%;
        top: 1%;
    }

    .sec_character .deco02 {
        width: 16%;
    }
    .sec_character .deco03 {
        width: 20%;
        right: -9%;
    }
    .sec_character .deco04 {
        width: 21%;
        right: -19%;
    }
    .sec_character .deco05 {
        left: 100%;
        top: 54%;
    }
    .sec_character .deco06 {
        left: 89%;
        top: 61%;
    }
    .sec_character .deco07 {
        display: none;
    }
    .sec_character .deco08 {
        display: none;
    }
    .sec_character .deco10 {
        width: 16%;
        left: -12%;
    }
    .sec_character .deco11 {
        width: 17%;
        right: 83%;
        top: -2%;
    }
    .sec_character .deco12 {
        width: 18%;
    }
    .sec_character .deco13 {
        width: 19%;
        left: -16%;
        top: 58%;
    }
    .sec_character .deco14 {
        width: 17%;
        left: -3%;
        top: 64%;
    }
    .sec_character .deco15 {
        width: 18%;
        right: -12%;
        top: 57%;
    }
}


.sec_catalogue {
    background-image: url(../images/index/catalogue_bg_deco.jpg), url(../images/index/catalogue_bg_deco.jpg), url(../images/index/catalogue_bg_deco02.webp), url(../images/index/catalogue_bg_deco02-02.webp), url(../images/index/catalogue_bg.webp);
    background-size: auto 25px, auto 25px, auto 110%, auto 110%, contain;
    background-repeat: repeat-x, repeat-x, no-repeat, no-repeat, repeat;
    background-position: top, bottom, -10% 60%, 110% 50%, top;
    padding: 5vw 0 8vw;
}

.sec_catalogue .sec_ttl {
    max-width: 350px;
    width: 50%;
    margin: 0 auto;
}

.sec_catalogue .sec_contents {
    position: relative;
    max-width: 1000px;
    width: 60%;
    margin: 30px auto 0;
}

.sec_catalogue .sec_contents ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 10px 30px;
}

.sec_catalogue .sec_contents ul li.name {
    width: 80%;
    margin: 0 auto;
}


.sec_catalogue .deco {
    position: absolute;
}

.sec_catalogue .deco01 {
    width: 13%;
    left: -7%;
    top: -15%;
    scale: -1 1;
}
.sec_catalogue .deco02 {
    width: 6%;
    right: 5%;
    top: -28%;
}
.sec_catalogue .deco03 {
    width: 6%;
    left: 17%;
    top: -6%;
    z-index: 1;
}
.sec_catalogue .deco04 {
    width: 6%;
    left: 3%;
    top: -30%;
    rotate: 20deg;
}
.sec_catalogue .deco05 {
    width: 7%;
    left: 45%;
    top: 46%;
    z-index: 1;
}
.sec_catalogue .deco06 {
    width: 6%;
    left: 52%;
    top: 83%;
    rotate: 20deg;
}
.sec_catalogue .deco07 {
    width: 6%;
    right: 6%;
    top: 80%;
    rotate: 20deg;
}


/* SPのみ */
@media screen and (max-width:730px) {

    .sec_catalogue {
        background-image: url(../images/index/catalogue_bg_deco.jpg), url(../images/index/catalogue_bg_deco.jpg), url(../images/index/catalogue_bg_deco02_sp.webp), url(../images/index/catalogue_bg_deco02-02_sp.webp), url(../images/index/catalogue_bg.webp);
        background-size: auto 15px, auto 15px, auto 130%, auto 130%, 150%;
        background-position: top, bottom, -30% 50%, 120% 50%, top;
        padding: 40px 0;
    }
    
    .sec_catalogue .sec_contents {
        width: 80%;
        margin-top: 20px;
    }

    .sec_catalogue .sec_contents ul {
        gap: 10px;
        display: flex;
        flex-direction: column;
        gap: 20px 0;
    }

    .sec_catalogue .sec_contents ul li.name {
        margin-top: -10px;
    }

    .sec_catalogue .deco01 {
        width: 24%;
        left: -11%;
        top: -10%;
    }

    .sec_catalogue .deco02 {
        width: 10%;
        right: 6%;
        top: -3%;
    }

    .sec_catalogue .deco03 {
        width: 9%;
        left: 5%;
    }

    .sec_catalogue .deco04 {
        width: 6%;
        left: 15%;
        top: -3%;
    }

    .sec_catalogue .deco05 {
        top: 47%;
    }

    .sec_catalogue .deco06 {
        width: 8%;
        top: 84%;
    }

    .sec_catalogue .deco07 {
        right: 10%;
        top: 74%;
    }
}

.sec_designer {
    background-image: url(../images/index/designer_bg02.webp), url(../images/index/designer_bg02-02.webp), url(../images/index/designer_bg.webp);
    background-size: auto 95% , auto 95% , cover;
    background-position: -5% 0 , 105% 0 , top;
    background-repeat: no-repeat;
    padding: 6vw 0;
}


.sec_designer .sec_contents {
    max-width: 700px;
    width: 65%;
    margin: 0 auto;
    position: relative;
    padding: 30px 4% 30px 30px;
    background-image: url(../images/index/designer_txt_bg.png);
    background-size: cover;
    background-position: right;
    background-repeat: repeat-x;
}

.sec_designer .sec_contents .image {
    width: 30%;
    position: absolute;
    translate: -50% -50%;
    left: 5%;
    top: 50%;
}


.sec_designer .sec_contents .post {
    margin-left: 18%;
    color: #e61673;
    font-size: clamp(15px,1.6vw,17px);
}

.sec_designer .sec_contents .name_wrap {
    margin: 10px 0 0 18%;
    display: flex;
    align-items: center;
    gap: 0 15px;
}

.sec_designer .sec_contents .name {
    font-weight: bold;
    font-size: clamp(20px,2vw,25px);
}

.sec_designer .sec_contents .x_icon {
    max-width: 30px;
}

.sec_designer .sec_contents .x_icon a:hover {
    opacity: 0.7;
}

.sec_designer .sec_contents .txt {
    margin-left: 18%;
    color: #e61673;
    font-size: clamp(15px,1.7vw,19px);
    margin-top: 15px;
}

/* SPのみ */
@media screen and (max-width:730px) {

    .sec_designer {
        background-image: url(../images/index/designer_bg02_sp.webp), url(../images/index/designer_bg02-02_sp.webp), url(../images/index/designer_bg.webp);
        background-size: auto 110%, auto 110%, cover;
        background-position: -40% 40%, 170% 40%, top;
        padding: 50px 0;
    }
    
    .sec_designer .sec_contents {
        width: 90%;
        padding: 0;
        display: grid;
        grid-template-columns: 40% 1fr;
    }

    .sec_designer .sec_contents .image {
        position: static;
        translate: 0 0;
        width: 100%;
        grid-column: 1;
        grid-row: 1/5;
    }

    .sec_designer .sec_contents .post {
        grid-column: 2;
        grid-row: 2;
        padding-right: 25px;
        margin-left: 0;
    }
    .sec_designer .sec_contents .name_wrap {
        grid-column: 2;
        grid-row: 3;
        padding-right: 25px;
        margin-left: 0;
    }

    .sec_designer .sec_contents .txt {
        grid-column: 1/3;
        padding: 0 30px 25px 25px;
        margin: 0;
    }
}