@charset "utf-8";

body{
    background-color: #FBFAF5;
    font-family: "Inter", sans-serif;
}
#talk,
#access,
#eventinfo{
    scroll-margin-top: 4.861111111111112vw;
}
#event-special{
    scroll-margin-top: 9.166666666666666vw;
}
.p-titleArea{
    text-align: center;
    padding: 5.555555555555555vw 0 3.4722222222222223vw;
}
.p-title{
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 5vw;
}
.p-subTitle{
    font-family: "Inter", sans-serif;
    font-size: 2.083333333333333vw;
}

/* mv */
.p-mv img{
    width: 100%;
}

/* about */
.p-about{
    background-color: #E6FF46;
    padding: 0 0 6.25vw;
}
.p-about__inner{
    width: 76.38888888888889vw;
    margin: 0 auto;
    background-color: #FBFAF5;
    padding-bottom: 3.4722222222222223vw;
    box-shadow: 0 0.6944444444444444vw 0.2777777777777778vw 0 rgba(0, 0, 0, 0.25);
}
.p-about__heading{
    position: relative;
}
.p-about__heading::before{
    position: absolute;
    content: "";
    background-image: url(../img/about-heading.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 63.888888888888886vw;
    height: 4.166666666666666vw;
    top: -2.083333333333333vw;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.p-about__text{
    font-size: 1.5277777777777777vw;
    line-height: 1.8;
    text-align: center;
    width: 70.13888888888889vw;
    margin: 0 auto;
    padding: 4.861111111111112vw 0 3.4722222222222223vw;
    font-family: "Noto Sans", sans-serif;
}
.p-about__text span{
    background-color: rgba(243, 64, 174, 0.3);
    font-weight: 600;
}
.p-about__img{
    width: 46.38888888888889vw;
    margin: 0 auto;
}
.p-about__img img{
    width: 46.38888888888889vw;
}

/* link */
.p-link{
    background-color: #4666FF;
    color: #fff;
    padding: 2.1527777777777777vw 0;
}
.p-link__list{
    display: flex;
    justify-content: center;
}
.p-link__listItem{
    width: 16.73611111111111vw;
    border-right: 0.06944444444444445vw solid #fff;
    text-align: center;
    font-size: 1.6666666666666667vw;
    font-family: "Jost", sans-serif;
}
.p-link__listItem a{
    display: block;
}
.p-link__listItem p{
    font-size: 0.9722222222222222vw;
    padding-top: 0.3472222222222222vw;
}

.p-link.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}

/* book */
.p-book{
    padding: 9.027777777777777vw 0 5.555555555555555vw;
}
.p-book__top,
.p-book__bottom
{
    overflow: hidden;
    width: 100%;
    padding: 2.083333333333333vw 0;
}
.p-book__track {
    display: flex;
    width: max-content;
}
.p-book__track--top {
    animation: loop-top 70s linear infinite;
}
.p-book__track--bottom {
    animation: loop-bottom 70s linear infinite;
}
.p-book__item {
    margin-right: 3.4722222222222223vw;
    flex-shrink: 0;
    box-shadow: 0 0 0.6944444444444444vw 0 rgba(0, 0, 0, 0.25);
    transition: transform 0.3s ease;
}
.p-book__item img {
    height: 18.75vw;
    width: auto;
}
@keyframes loop-top {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
@keyframes loop-bottom {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}
.p-book__track:hover {
    animation-play-state: paused;
}
.p-book__item:hover {
    transform: translateY(-10px); /* ← 10px上に浮く */
}

/* event-special */
.p-loop {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    background: #fff;
    border-top: 0.20833333333333334vw solid #F340AE;
    border-bottom: 0.20833333333333334vw solid #F340AE;
    color: #F340AE;
}
.p-loop__item {
    display: flex;
    animation: loop 40s linear infinite;
    width: max-content;
}
.p-loop__block {
    display: flex;
    align-items: center;
    min-width: max-content; /* 幅を確保して重なりを防ぐ */
    margin-right: 3vw; /* 余白調整 */
    padding: 2.361111111111111vw 0;
}
.p-loop__eventspecial {
    font-size: 4.444444444444445vw;
    font-weight: 700;
    font-family: "Jost", sans-serif;
    margin: 0 2.7777777777777777vw;
    white-space: nowrap;
}
.p-loop__text {
    text-align: center;
    font-weight: 600;
    font-size: 2.7777777777777777vw;
    white-space: nowrap;
}
.p-loop__text p {
    font-size: 1.1111111111111112vw;
    margin: 0;
    padding-top: 0.4861111111111111vw;
    font-weight: 400;
}
@keyframes loop {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* talk-session */
.p-talk{
    background-color: #E6FF46;
    height: 53.47222222222222vw;
}
.p-comingsoon__text{
    font-size: 4.861111111111112vw;
    font-weight: 700;
    text-align: center;
    margin-top: 9.722222222222223vw;
}
.talk-garland{
    position: relative;
}
.talk-garland::before,
.talk-garland::after{
    position: absolute;
    content: "";
    width: 20.13888888888889vw;
    height: 16.944444444444446vw;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    background-image: url(../img/garland.png);
}
.talk-garland::before{
    left: 0;
}
.talk-garland::after{
    right: 0;
    transform: scaleX(-1);
}

/* access */
.p-access{
    padding-bottom: 5.555555555555555vw;
}
.p-access__inner{
    display: flex;
    gap: 4.166666666666666vw;
    width: 70.83333333333334vw;
    margin: 0 auto;
}
.p-access__map iframe{
    width: 31.319444444444443vw;
    height: 17.63888888888889vw;
}
.p-access__text{
    font-size: 1.3888888888888888vw;
    padding-left: 2.083333333333333vw;
}
.p-access__icon{
    padding-bottom: 1.9444444444444444vw;
    position: relative;
}
.p-access__icon::before{
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    width: 1.875vw;
    height: 1.875vw;
    top: -0.20833333333333334vw;
    left: -2.2916666666666665vw;
}
.p-access__icon--address::before{
    background-image: url(../img/map.svg);
}
.p-access__icon--station::before{
    background-image: url(../img/train.svg);
}
.p-about__button{
    display: flex;
}
.c-button{
    display: inline-flex;
    height: 4.166666666666666vw;
    justify-content: center;
    align-items: center;
    border-radius: 2.7777777777777777vw;
    color: #fff;
    font-weight: 600;
    font-size: 1.1111111111111112vw;
    box-shadow: 0.1388888888888889vw 0.20833333333333334vw 0.06944444444444445vw 0 rgba(26, 26, 62, 0.3);
    transition: 0.3s;
}
.c-button--map{
    background-color: #4666FF;
    width: 15.277777777777779vw;
}
.c-button--road{
    background-color: #fff;
    border: 0.1388888888888889vw solid #4666FF;
    color: #4666FF;
    width: 13.88888888888889vw;
    margin-left: 1.3888888888888888vw;
}
.c-button:hover{
    opacity: 0.7;
}

/* event-info */
.p-eventinfo{
    background-color: #E6FF46;
    padding-bottom: 5.555555555555555vw;
}
.p-eventinfo__inner{
    width: 56.94444444444444vw;
    margin: 0 auto;
}
.p-eventinfo__list{
    display: flex;
    gap: 4.166666666666666vw;
    align-items: center;
    height: 6.25vw;
    font-size: 1.3888888888888888vw;
    border-top: 0.1388888888888889vw solid #314ED8;
}
.p-eventinfo__list:last-child{
    border-bottom: 0.1388888888888889vw solid #314ED8;
}
.p-eventinfo__left{
    font-weight: 600;
    display: flex;
    width: 9.722222222222223vw;
    justify-content: center;
}
.p-eventinfo__right span{
    font-size: 1.25vw;
}

/* cooperation */
.p-cooperation__logo{
    width: 22.22222222222222vw;
    margin: 0 auto;
}
.p-cooperation__logo img{
    width: 22.22222222222222vw;
}
.p-cooperation__title,
.p-cooperation__title{
    font-size: 2.2222222222222223vw;
    padding-bottom: 4.166666666666666vw;
    text-align: center;
}
.p-cooperation {
    text-align: center;
    padding: 6.25vw 0 6.944444444444445vw;
}

/* exhibit */
.p-exhibit__inner{
    width: 73.61111111111111vw;
    margin: 0 auto;
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    gap: 3.4722222222222223vw;
}
.p-exhibit__logo{
    background-color: #fff;
    border: 0.06944444444444445vw solid #1a1a1a;
    width: 15.277777777777779vw;
    height: 12.291666666666666vw;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0.20833333333333334vw 0.20833333333333334vw 0.1388888888888889vw 0 rgba(0, 0, 0, 0.25);
    position: relative;
}
.p-exhibit__logo img{
    width: 12.847222222222221vw;
}
.u-filmart img{
    width: 8.333333333333332vw;
}
.u-graphicsha img{
    width: 5.555555555555555vw;
}
.u-shoeisha img{
    width: 10.416666666666668vw;
}
.u-mdn img{
    width: 9.027777777777777vw;
}
.p-exhibit__logo::before{
    position: absolute;
    content: "";
    background-image: url(../img/pin.svg);
    width: 1.9444444444444444vw;
    height: 1.7361111111111112vw;
    background-repeat: no-repeat;
    background-size: cover;
    top: -0.9027777777777777vw;
    right: 0.6944444444444444vw;
    left: 0;
    margin: 0 auto;
}

/* bookshelf */
.p-bookshelf img{
    width: 100%;
}
.p-bookshelf{
    padding-top: 6.944444444444445vw;
}

/* footer */
.l-footer{
    background-color: #4666FF;
    text-align: center;
    color: #fff;
    padding: 4.861111111111112vw 0 3.4722222222222223vw;
}
.l-footer__sns{
    border-bottom: 0.20833333333333334vw solid #fff;
    padding-bottom: 3.194444444444444vw;
}
.l-footer__x{
    width: 4.097222222222222vw;
}
.l-footer__instagram,
.l-footer__facebook{
    width: 4.166666666666666vw;
}
.l-footer__instagram{
    margin: 0 4.166666666666666vw;
}
.l-footer__text{
    padding: 3.125vw 0 1.0416666666666665vw;
    font-size: 0.9722222222222222vw;
    font-weight: 700;
}
.l-footer__privacy{
    font-size: 0.9722222222222222vw;
    padding-bottom: 1.0416666666666665vw;
}
.l-footer__copyright{
    font-size: 0.8333333333333334vw;
}

/* about-balloon */
.about-balloon{
    position: relative;
}
.about-balloon::before,
.about-balloon::after{
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    width: 13.541666666666666vw;
    height: 35.97222222222222vw;
    top: 4.861111111111112vw;
}
.about-balloon::before{
    background-image: url("../img/about-balloon-left.png");
    animation: float-left 4s ease-in-out infinite;
    left: 2.083333333333333vw;
}
.about-balloon::after{
    background-image: url("../img/about-balloon-right.png");
    animation: float-right 4s ease-in-out infinite;
    right: 2.083333333333333vw;
}
@keyframes float-left {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(0deg) translateY(-40px); }
}
@keyframes float-right {
    0%, 100% { transform: rotate(0deg) translateY(-40px); }
    50% { transform: rotate(0deg) translateY(0px); }
}

/* top&center&bottom-balloon */
.c-balloon{
    position: relative;
}
.c-balloon:before{
    position: absolute;
    content: "";
    width: 13.194444444444445vw;
    height: 23.88888888888889vw;
    background-repeat: no-repeat;
    background-size: cover;
    top: -3.4722222222222223vw;
}
.c-balloon__top::before{
    background-image: url(../img/balloon-top.png);
    left: 2.083333333333333vw;
    animation: float-top 4s ease-in-out infinite;

}
.c-balloon__center::before{
    background-image: url(../img/balloon-center.png);
    right: 2.083333333333333vw;
    animation: float-center 4s ease-in-out infinite;
}
.c-balloon__bottom::before{
    background-image: url(../img/balloon-bottom.png);
    left: 2.083333333333333vw;
    animation: float-bottom 4s ease-in-out infinite;
}
@keyframes float-top {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(0deg) translateY(-40px); }
}
@keyframes float-center {
    0%, 100% { transform: rotate(0deg) translateY(-40px); }
    50% { transform: rotate(0deg) translateY(0); }
}
@keyframes float-bottom {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(0deg) translateY(-40px); }
}

/* COMING SOON */
.paw-track {
    display: flex;
    gap: 1.1111111111111112vw;
    justify-content: center;
    margin-top: 0.6944444444444444vw;
}
.paw-track span {
    width: 1.1111111111111112vw;
    height: 1.1111111111111112vw;
    background: #F74DC7;
    border-radius: 50%;
    animation: paw-walk 1s infinite ease-in-out;
}
.paw-track span:nth-child(2) {
    animation-delay: 0.2s;
    background: #85FF6B;
}
.paw-track span:nth-child(3) {
    animation-delay: 0.4s;
    background: #D1C1C5;
}
.paw-track span:nth-child(4) {
    animation-delay: 0.6s;
    background: #85FF6B;
}
@keyframes paw-walk {
    0%, 100% { transform: translateY(0); opacity: 1; }
    50% { transform: translateY(-5px); opacity: 0.5; }
}

/* button */
.circle-button {
    position: fixed;
    bottom: 1.3888888888888888vw;
    right: 1.3888888888888888vw;
    width: 15.972222222222221vw;
    height: 15.972222222222221vw;
    z-index: 1000;
}
.rotating-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    animation: spin 20s linear infinite;
    z-index: 1;
}
.rotating-ring img {
    width: 15.972222222222221vw;
    height: 15.972222222222221vw;
    object-fit: contain;
}
.center-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #f349a3;
    color: white;
    font-weight: bold;
    border-radius: 50%;
    width: 11.805555555555555vw;
    height: 11.805555555555555vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.875vw;
    text-align: center;
    text-decoration: none;
    z-index: 2;
    transition: background 0.3s;
}
.center-button:hover {
    background: #e02d91;
}
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.circle-button:hover .rotating-ring {
    animation-play-state: paused;
}

/* レスポンシブ */
@media screen and (min-width: 441px) {
    .c-buttonSp,
    .p-mvSp,
    .p-bookshelfSp,
    .l-hamburger,
    .l-hamburger__item
    {
        display: none;
    }
}

@media screen and (max-width: 440px) {
    .circle-button,
    .p-mv,
    .p-link,
    .p-bookshelf,
    .c-balloon
    {
        display: none;
    }

    #talk,
    #access,
    #eventinfo{
        scroll-margin-top: 0;
    }
    #event-special{
        scroll-margin-top: 0;
    }
    .p-titleArea{
        padding: 10.227272727272728vw 0 5vw;
    }
    .p-title{
        font-size: 6.363636363636363vw;
    }
    .p-subTitle{
        font-size: 3.6363636363636362vw;
    }

    /* mv */
    .p-mvSp img{
        width: 100%;
    }

    /* hamburger */
    .l-hamburger__icon {
        position: fixed;
        top: 0;
        right: 0;
        width: 11.363636363636363vw;
        height: 11.363636363636363vw;
        background-color: #FBFAF5;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.6vw;
        cursor: pointer;
        z-index: 100;
    }
    .l-hamburger__icon span {
        display: block;
        width: 7.2727272727272725vw;
        height: 0.9090909090909091vw;
        background-color: #4666FF;
    }
    .l-hamburger__icon.open span:nth-of-type(1){
        transform: translateY(1.6vw) rotate(-40deg);
    }
    .l-hamburger__icon.open span:nth-of-type(2){
        opacity: 0;
    }
    .l-hamburger__icon.open span:nth-of-type(3){
        transform: translateY(-3.1818181818181817vw) rotate(40deg);
    }
    .l-hamburger__item {
        background-color: #fafafa;
        width: 100%;
        height: 146.66666666666666vw; /* 高さを制限（必要に応じて調整） */
        position: fixed;
        top: -146.66666666666666vw; /* ← 上に隠す */
        left: 0;
        transition: top 0.3s ease;
        z-index: 10;
        padding-top: 20vw;
    }
    .l-hamburger__item.is-open {
    top: 0; /* ← 上からスライドイン */
    }
    .l-hamburger__list {
        text-align: center;
        font-family: "Jost", sans-serif;
        font-size: 5.454545454545454vw;
        padding: 4.545454545454546vw 0;
        border-bottom: 0.22727272727272727vw solid #4666FF;
        font-weight: 400;
    }
    .l-hamburger__list p{
        font-family: "Inter", sans-serif;
        font-size: 3.1818181818181817vw;
        padding-top: 0.6818181818181818vw;
    }

    /* about */
    .p-about{
        padding: 0 0 12.727272727272727vw;
    }
    .p-about__inner{
        width: 86.36363636363636vw;
        padding-bottom: 7.2727272727272725vw;
        box-shadow: 0 2.272727272727273vw 0.9090909090909091vw 0 rgba(0, 0, 0, 0.25);
    }
    .p-about__heading::before{
        background-image: url(../img/about-headingSp.png);
        width: 73.63636363636363vw;
        height: 15.227272727272728vw;
        top: -7.954545454545454vw;
    }
    .p-about__text{
        font-size: 3.1818181818181817vw;
        line-height: 1.7;
        text-align: left;
        width: 77.27272727272727vw;
        padding: 9.090909090909092vw 0 6.8181818181818175vw;
        margin-top: 4.545454545454546vw;
    }
    .p-about__text span{
        background-color: rgba(243, 64, 174, 0.3);
        font-weight: 600;
    }
    .p-about__img{
        width: 77.27272727272727vw;
    }
    .p-about__img img{
        width: 77.27272727272727vw;
    }
    /* book */
    .p-book{
        padding: 11.363636363636363vw 0;
    }
    .p-book__top,
    .p-book__bottom
    {
        padding: 4.545454545454546vw 0;
    }
    .p-book__item {
        margin-right: 2.727272727272727vw;
        box-shadow: 0 0 2.272727272727273vw 0 rgba(0, 0, 0, 0.25);
        transition: transform 0.3s ease;
    }
    .p-book__item img {
        height: 45.45454545454545vw;
    }
    @media (hover: none) {
        .p-book__track:hover {
            animation-play-state: running;
        }
        .p-book__item:hover {
            transform: none;
        }
    }

    /* event-special */
    .p-loop {
        border-top: 0.45454545454545453vw solid #F340AE;
        border-bottom: 0.45454545454545453vw solid #F340AE;
    }
    .p-loop__item {
        animation: loop-mobile 20s linear infinite;
    }
    .p-loop__block {
        display: flex;
        align-items: center;
        min-width: max-content; /* 幅を確保して重なりを防ぐ */
        margin-right: 6vw; /* 余白調整 */
        padding: 4.772727272727273vw 0;
    }
    .p-loop__eventspecial {
        font-size: 10.909090909090908vw;
        margin: 0 6vw;
    }
    .p-loop__text {
        font-size: 7.2727272727272725vw;
    }
    .p-loop__text p {
        font-size: 3.1818181818181817vw;
        padding-top: 0.6818181818181818vw;
    }
    @keyframes loop-mobile {
        from {
            transform: translateX(10%);
        }
        to {
            transform: translateX(-100%);
        }
    }

    /* talk-session */
    .p-talk{
        height: 78.4090909090909vw;
    }
    .p-comingsoon__text{
        font-size: 7.2727272727272725vw;
        margin-top: 12.272727272727273vw;
    }
    .talk-garland{
        position: relative;
    }
    .talk-garland::before,
    .talk-garland::after{
        width: 21.818181818181817vw;
        height: 18.409090909090907vw;
    }

    /* access */
    .p-access{
        padding-bottom: 15.909090909090908vw;
        padding-top: 2.272727272727273vw;
    }
    .p-access__inner{
        display: block;
        width: 86.36363636363636vw;
    }
    .p-access__map{
        padding-top: 2.272727272727273vw;
    }
    .p-access__map iframe{
        width: 86.36363636363636vw;
        height: 48.63636363636364vw;
    }
    .p-access__text{
        font-size: 3.6363636363636362vw;
        padding-left: 5.454545454545454vw;
        padding-top: 4.545454545454546vw;
    }
    .p-access__icon{
        padding-bottom: 4.090909090909091vw;
    }
    .p-access__icon::before{
        width: 5.681818181818182vw;
        height: 5.681818181818182vw;
        top: -0.22727272727272727vw;
        left: -6.363636363636363vw;
    }
    .p-about__button{
        flex-direction: column;
    }
    .c-button{
        height: 13.636363636363635vw;
        border-radius: 22.727272727272727vw;
        font-size: 3.6363636363636362vw;
        box-shadow: 0.45454545454545453vw 0.6818181818181818vw 0.22727272727272727vw 0 rgba(26, 26, 62, 0.3);
        transition: 0.3s;
    }
    .c-button--map{
        width: 56.81818181818182vw;
    }
    .c-button--road{
        border: 0.45454545454545453vw solid #4666FF;
        width: 52.27272727272727vw;
        margin-left: initial;
        margin-top: 4.090909090909091vw;
    }

    /* event-info */
    .p-eventinfo{
        padding-bottom: 11.363636363636363vw;
    }
    .p-eventinfo__inner{
        width: 86.36363636363636vw;
    }
    .p-eventinfo__list{
        display: block;
        height: initial;
        font-size: 4.090909090909091vw;
        border-top: 0.45454545454545453vw solid #314ED8;
        padding: 3.1818181818181817vw 0 4.772727272727273vw;
    }
    .p-eventinfo__list:last-child{
        border-bottom: 0.45454545454545453vw solid #314ED8;
    }
    .p-eventinfo__left{
        display: block;
        width: initial;
        padding-bottom: 2.727272727272727vw;
    }
    .p-eventinfo__right span{
        font-size: 3.6363636363636362vw;
    }

    /* cooperation */
    .p-cooperation__logo{
        width: 36.36363636363637vw;
    }
    .p-cooperation__logo img{
        width: 36.36363636363637vw;
    }
    .p-cooperation__title,
    .p-cooperation__title{
        font-size: 4.090909090909091vw;
        padding-bottom: 6.8181818181818175vw;
    }
    .p-cooperation {
        text-align: center;
        padding: 13.636363636363635vw 0;
    }

    /* exhibit */
    .p-exhibit__inner{
        width: 87.27272727272727vw;
        gap: 5.454545454545454vw;
    }
    .p-exhibit__logo{
        border: 0.22727272727272727vw solid #1a1a1a;
        width: 40.909090909090914vw;
        height: 31.136363636363633vw;
        box-shadow: 0.6818181818181818vw 0.6818181818181818vw 0.45454545454545453vw 0 rgba(0, 0, 0, 0.25);
    }
    .p-exhibit__logo img{
        width: 36.36363636363637vw;
    }
    .u-filmart img{
        width: 20.454545454545457vw;
    }
    .u-graphicsha img{
        width: 15.909090909090908vw;
    }
    .u-shoeisha img{
        width: 27.27272727272727vw;
    }
    .u-impress img{
        width: 29.545454545454547vw;
    }
    .u-mdn img{
        width: 25vw;
    }
    .p-exhibit__logo::before{
        width: 4.318181818181818vw;
        height: 4.090909090909091vw;
        top: -2.272727272727273vw;
        right: 2.272727272727273vw;
    }

    /* bookshelf */
    .p-bookshelfSp img{
        width: 100%;
    }
    .p-bookshelfSp{
        padding-top: 17.5vw;
    }

    /* footer */
    .l-footer{
        padding: 11.363636363636363vw 0 29.545454545454547vw;
    }
    .l-footer__sns{
        border-bottom: 0.6818181818181818vw solid #fff;
        padding-bottom: 11.363636363636363vw;
    }
    .l-footer__x{
        width: 11.363636363636363vw;
    }
    .l-footer__instagram,
    .l-footer__facebook{
        width: 11.363636363636363vw;
    }
    .l-footer__instagram{
        margin: 0 13.636363636363635vw;
    }
    .l-footer__text{
        padding: 9.090909090909092vw 0 3.4090909090909087vw;
        font-size: 2.727272727272727vw;
    }
    .l-footer__privacy{
        font-size: 2.727272727272727vw;
        padding-bottom: 3.4090909090909087vw;
    }

    .l-footer__copyright{
        font-size: 2.272727272727273vw;
    }

    /* about-balloon */
    .about-balloon::before,
    .about-balloon::after{
        width: 16.363636363636363vw;
        height: 43.18181818181818vw;
        top: 6.8181818181818175vw;
    }
    @keyframes float-left {
        0%, 100% { transform: rotate(0deg) translateY(0); }
        50% { transform: rotate(0deg) translateY(-4.545454545454546vw); }
    }
    @keyframes float-right {
        0%, 100% { transform: rotate(0deg) translateY(-4.545454545454546vw); }
        50% { transform: rotate(0deg) translateY(0); }
    }

    /* COMING SOON */
    .paw-track {
        display: flex;
        gap: 2.272727272727273vw;
        justify-content: center;
        margin-top: 1.8181818181818181vw;
    }
    .paw-track span {
        width: 2.272727272727273vw;
        height: 2.272727272727273vw;
        animation: paw-walk 1s infinite ease-in-out;
    }

    /* SPボタン */
    .c-buttonSp a{
        width: 100%;
        height: 18.181818181818183vw;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 5.909090909090909vw;
        font-weight: 700;
        color: #fff;
        background-color: #F340AE;
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
    }

}

