@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap');

body{
    font-size:16px;
    font-family: "Marcellus", "Zen Maru Gothic",  sans-serif;
    line-height:1.6em;
    letter-spacing:0.05em;
    color:#555;
    min-height:100vh;
    position:relative;
}

body:after{
    content:'';
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    filter: blur(1px);
    opacity:.8;
    background: linear-gradient(10deg, #a2003460, #a2003420);
}

@media screen and (max-width:961px){
    body:after{
        background-size:200%;
    }
}

.sp{
    display:none !important;
}

@media screen and (max-width:961px){
    .pc{
        display:none !important;
    }

    .sp{
        display:block !important;
    }

    br.sp{
        display:inline !important;
    }
}

a{
    color:#a20034;
}

.wrap{
    overflow:hidden;
    position:relative;
    z-index:1;
}

.inr{
    width:1200px;
    max-width:90%;
    margin:0 auto;
}

.inr:has(.box):before{
    content: '';
    opacity:0;
    transition:.3s;
    width: min(30%, 300px);
    height: 4em;
    background: url(../img/parts_right.svg) no-repeat right bottom;
    background-size: contain;
    position: absolute;
    bottom: -3em;
    right: -1em;
}

.inr:has(.box.ended):before {
    opacity:1;
    bottom:-1em;
}

@media screen and (max-width:961px){
    .inr:has(.box):before{
        width:10%;
        height:10em;
    }
}

section{
    padding:5em 0;
}

section .box{
    top:0;
    opacity:0;
    position:relative;
    transition:.3s;
}

section .box.started{
    top:0;
    opacity:1;
}

section:nth-child(n + 2) .box{
    top:3em;
    opacity:0;
}

section:not(.mainvisual) div:last-child{
    position:relative;
}

.loaded section:nth-child(n + 2) .box.started{
    top:0;
    opacity:1;
}

@media screen and (max-width:961px){
    section{
        padding:2.5em 0;
    }
}

*{
    margin:0;
    padding:0;
    list-style:none;
    font-style:normal;
    font-weight:400;
    text-decoration:none;
    box-sizing:border-box;
    line-height:1.6em;
}

*::before,
*::after{
    box-sizing:border-box;
}

img{
    max-width:100%;
    pointer-events:none;
}

.logo {
    width:100%;
    height:100%;
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
    transition:.3s;
}

.logo img:nth-child(1),
.logo img:nth-child(4){
    transform:scale(1.1);
    opacity:0;
    filter:blur(10px);
    transition:.5s;
}

.loaded .logo img:nth-child(1),
.loaded .logo img:nth-child(4){
    transform:scale(1);
    opacity:1;
    filter:blur(0);
}

.logo img{
    display:block;
    margin:0 auto;
    transition:.3s .2s;
    object-fit:contain;
}

.logo img:nth-child(2){
    transition:.3s .5s;
}

.logo img:nth-child(1),
.logo img:nth-child(4){
    width:100%;
    height:100%;
}

.logo img.blur{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-1;
    top:0;
    left:0;
    filter:blur(20px);
    opacity:0;
}

.loaded .logo img.blur{
    opacity:.05;
}

.logo img:nth-child(2){
    margin: -5vw auto 0;
    width: min(50%, 500px);
    position: absolute;
    transform: translate(-50%, 0) rotate(0);
    padding: 1em 2em 2em;
    opacity:0;
}

.loaded .logo img:nth-child(2){
    transform:translate(-50%, 0) rotate(1deg);
    bottom:0;
    opacity:1;
    animation: hurueru 10s linear infinite;
}

@media screen and (min-width:961px){
    .logo img:nth-child(1),
    .logo img:nth-child(4){
        position: absolute;
        width: auto;
        transform: translate(-50%, 0);
        height:calc(100% - 60px - 2em);
        border-radius:1em;
        max-width:calc(100% - 2em);
    }

    .loaded .logo img:nth-child(1),
    .loaded .logo img:nth-child(4){
        transform: translate(-50%, 0);
        top: calc(60px + .5em);
        left: 50%;
    }

    .loaded .logo img:nth-child(1){
        filter: drop-shadow(4px 4px 2px #a2003480);
    }

    .logo img:nth-child(2){
        margin-top:0;
        width: min(50%, 500px);
        opacity:0;
        bottom:auto;
        top:40%;
        left:65%;
    }

    .loaded .logo img:nth-child(2){
        transform: translate(-50%, -50%) rotate(1deg);
        opacity: 1;
        left: 65%;
        top: 50%;
        bottom: auto;
        filter: drop-shadow(2px 2px 0px #fff) drop-shadow(-2px -2px 0px #fff) drop-shadow(0px 0px 30px #fff) drop-shadow(0px 0px 30px #fff);
        animation: hurueru_pc 10s linear infinite;
    }
}

@media screen and (max-width:961px){
    .logo img:nth-child(1),
    .logo img:nth-child(4){
        position:absolute;
        object-fit:contain;
        object-position:30% 0;
        height:auto;
        transform:translateY(-50%);
        top:50%;
    }

    .loaded .logo img:nth-child(1),
    .loaded .logo img:nth-child(4) {
        transform:translateY(-50%);
    }

    .loaded .logo img.blur{
        opacity:0;
    }
}

@media screen and (max-width:961px){
    .logo{
        width: 90%;
        transform: translate(-50%, -50%);
    }

    .logo img{
        position:relative;
        z-index:1;
    }

    .logo img:nth-child(1),
    .logo img:nth-child(4){
        width:100%;
        margin:0 auto .5em;
    }

    .mainvisual{
        position:relative;
        height:100svh;
        min-height:667px;
    }
}

@media screen and (max-width:400px){
    .mainvisual{
        min-height:667px;
    }
}

h2{
    font-family: "Fraunces", serif;
    text-align:center;
    margin:0 0 .5em;
    font-weight:normal;
    font-size:3em;
    display:inline-block;
    color:#a20034;
    position:relative;
}

h2 span{
    filter:drop-shadow(0px 6px 0px #fff);
    font-style:italic;
}

@media screen and (max-width:961px){
    h2{
        font-size:2em;
        padding:1.5em 0 0;
    }
}

.started h2 span{
    animation:bound-anim 10s ease-in infinite alternate;
}

h2 span:nth-child(1){animation-delay:.2s;}
h2 span:nth-child(2){animation-delay:.4s;}
h2 span:nth-child(3){animation-delay:.6s;}
h2 span:nth-child(4){animation-delay:.8s;}
h2 span:nth-child(5){animation-delay:1s;}
h2 span:nth-child(6){animation-delay:1.2s;}
h2 span:nth-child(7){animation-delay:1.4s;}
h2 span:nth-child(8){animation-delay:1.6s;}
h2 span:nth-child(9){animation-delay:1.8s;}
h2 span:nth-child(10){animation-delay:2s;}

h3{
    font-weight:bold;
}

.box{
    padding:2em;
    position:relative;
    text-align:center;
}

.box:before{
    content:'';
    width:min(30%, 300px);
    height: 4em;
    background:url(../img/parts_left.svg) no-repeat;
    background-size:contain;
    position:absolute;
    top:-1em;
    left:-1em;
}

.box:after {
    content: '';
    background: #ffffff80;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    filter: blur(2px);
}

.caution{
    text-align:left;
    font-size:.9em;
    margin:1em 0;
    font-family:'Noto Sans JP', serif;
}

.caution .red {
    color:#c22;
    background:none;
    text-indent:0;
}

.caution h3{
    margin:3em 0 1em;
    font-weight:400;
    font-size:1.3em;
    text-align:center;
    font-family: "Zen Maru Gothic", sans-serif;
}

.caution h3 span{
    display: inline-block;
    margin: 0 auto 1em;
    padding: 0 1em;
    background: #a20034;
    color: #fff;
    font-size: 1.5em;
    border-radius: 50rem;
    font-weight: 600;
}

.caution ul li{
    padding-left:1em;
    position:relative;
    margin-bottom:.5em;
}

.caution ul li:before{
    content: '※';
    position: absolute;
    left: 0;
}

.caution p{
    margin: 0 0 1em;
}

.caution_sec .caution h5{
    font-size:1.2em;
    margin:1em 0 .5em;
    font-weight:700;
}

.caution .menu_ara{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

.caution .menu_ara dl{
    width:calc(100% / 3 - .5em);
    background:#ffffff40;
    padding:1.5em;
    text-align:center;
}

.caution .menu_ara dl dt{
    font-weight:600;
}

.caution .menu_ara dl dd{
    display:block;
}

.caution .menu_ara dl dd a{
    width:100%;
    padding:.5em;
    border:solid 1px #a2003440;
    border-radius:1em;
    display:block;
    margin:.5em 0;
    transition:.3s;
}

.caution .menu_ara dl dd a:hover{
    background:#a2003410;
}

/* 物販スケジュール表（PC：4列グリッド / SP：カード） */
.caution .merch_schecule{
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    margin:1em 0;
    background:#ffffff50;
}

@media screen and (min-width:961px){
    .caution .merch_schecule{
        gap:1px;
        border:solid 1px #a1133540;
    }
}

/* 見出し行・各グループは親の列をそのまま継承（subgrid） */
.caution .merch_schecule .ms_head,
.caution .merch_schecule .ms_group{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:subgrid;
}

.caution .merch_schecule .ms_head p{
    background:#a1133590;
    color:#fff;
    font-weight:600;
    text-align:center;
    padding:.5em 1em;
}

.caution .merch_schecule .ms_group + .ms_group{
    border-top:solid 1px #a1133540;
}

/* 日程＋会場名（1〜2列目） */
.caution .merch_schecule .ms_dates{
    grid-column:1 / 3;
    display:grid;
    grid-template-columns:subgrid;
    margin:0;
    padding:0;
    list-style:none;
}

.caution .merch_schecule .ms_dates li{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:subgrid;
    padding:0;
    margin:0;
    text-indent:0;
}

.caution .merch_schecule .ms_dates li:before{
    content:none;
}

.caution .merch_schecule p{
    margin:0;
}

.caution .merch_schecule .ms_dates li + li{
    border-top:dashed 1px #a1133540;
}

.caution .merch_schecule .ms_dates li span{
    padding:.6em 1em;
}

@media screen and (min-width:961px){
    .caution .merch_schecule .ms_dates li span:nth-child(2){
        border-left:solid 1px #a1133540;
    }
}

/* 先行販売・開場中（3〜4列目：グループ内で結合して上下中央） */
.caution .merch_schecule .ms_time{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:.6em 1em;
    border-left:solid 1px #a1133540;
}

.caution .merch_schecule .ms_time p{
    line-height:1.8em;
}

.caution .merch_schecule .ms_time p span{
    background:#a1133590;
    color:#fff;
    padding:0 .5em;
    margin-right:.5em;
    display:inline-block;
    line-height:1.5em;
}

@media screen and (max-width:961px){
    .box{
        padding:1.5em;
    }

    .caution h3 span{
        font-size: min(4.5vw, 1em);
        line-height: 1.4em;
        padding: .2em 1.5em;
    }

    .caution .menu_ara dl{
        width:100%;
        margin-bottom:.5em;
    }

    .caution .merch_schecule{
        display:block;
        background:none;
    }

    .caution .merch_schecule .ms_head{
        display:none;
    }

    .caution .merch_schecule .ms_group{
        display:block;
        background:#ffffff50;
        padding:1em 1.5em;
        margin-bottom:1em;
    }

    .caution .merch_schecule .ms_group + .ms_group{
        border-top:none;
    }

    .caution .merch_schecule .ms_dates{
        display:block;
        margin-bottom:.5em;
    }

    .caution .merch_schecule .ms_dates li{
        display:flex;
        flex-wrap:wrap;
        column-gap:1em;
        padding:.4em 0;
    }

    .caution .merch_schecule .ms_dates li span{
        padding:0;
    }

    /* 見出しの代わりに data-label をラベル表示 */
    .caution .merch_schecule .ms_time{
        display:grid;
        grid-template-columns:5em 1fr;
        align-items:start;
        gap:1em;
        padding:.6em 0;
        border-left:none;
        border-top:solid 1px #00000040;
    }

    .caution .merch_schecule .ms_time::before{
        content:attr(data-label);
        font-weight:600;
        line-height:1.8em;
    }
}

.mainvisual{
    background-size:cover;
    padding:0 0 3em;
    top:0;
    opacity:1;
    height:100svh;
    min-height:667px;
    position:relative;
}

.loaded .mainvisual .logo{
    opacity:1;
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
    width:100%;
    height:100%;
}

@media screen and (max-width:961px){
    .mainvisual{
        padding:0 0 1.5em;
        min-height:750px;
    }

    .mainvisual .logo{
        padding:0 0 2em;
        height:100vh;
    }

    .logo img:nth-child(2){
        margin:-3em auto 0;
        top:calc(10% - 3em);
        width:40%;
        padding:.5em 1em 1em;
        bottom:auto;
        transition:.3s 1s;
    }

    .loaded .logo img:nth-child(2){
        width: 80%;
        top: 70%;
        left: 50%;
        z-index: 2;
        transform: translateX(-50%);
        position: absolute;
        filter: drop-shadow(2px 4px 6px #fff) drop-shadow(2px 4px 6px #fff) drop-shadow(-2px -4px 6px #fff);
    }

    .scroll{
        position: absolute;
        transform: translate(-50%, 0);
        bottom: -1.5em;
        right: 0;
        text-align:center;
        transition:.3s 1s;
    }

    .scrl .scroll{
        opacity:0;
    }

    .scroll span{
        font-size:.7em;
        color: #f78097;
        transform: rotate(90deg);
        display: inline-block;
        margin-bottom:.5em;
    }

    .scroll em{
        display:block;
        background: #f7809780;
        width: 2px;
        height: 5em;
        transition:transform 1s;
        margin:.5em auto;
        animation:scroll 3s infinite;
    }
}

section.schedule{
    padding:10em 0 5em;
}

.schedule .tour ul li{
    display:flex;
    padding:1em 0;
    border-bottom:dotted 1px #00000040;
    align-items:center;
}

.schedule .tour ul li:last-child{
    border-bottom:none;
}

.schedule .tour ul li .date{
    width:10%;
    min-width:3.5em;
    font-size:1.5em;
}

.schedule .tour ul li .date em{
    margin-left:.5em;
    font-size:.7em;
}

.schedule .tour ul li .prace{
    width:50%;
    text-align:left;
    display:flex;
    align-items:center;
    font-weight:bold;
    font-size:1.2em;
}

.schedule .tour ul li .prace p{
    font-weight:bold;
}

.schedule .tour ul li .time{
    width:30%;
    margin-left:auto;
    font-size: min(1vw, 14px);
}

.schedule .tour ul li .time em{
    display:inline-block;
    background:#a2003480;
    color:#fff;
    margin-right:.5em;
    font-size:.7em;
    padding:0 .5em;
}

.schedule .tour ul li .time em:nth-of-type(1){
    border:solid 1px #a2003480;
    background:none;
    color:#a2003480;
}

.schedule .tour ul li .cntct{
    margin-left:auto;
    width:20%;
    font-size:.8em;
}

.schedule .tour ul li .prace i{
    background:#a20034;
    color:#fff;
    padding:0 .5em;
    margin:0 1.5em 0 1em;
    white-space: nowrap;
    width:4em;
    font-size:14px;
    text-align:center;
}

.schedule .tour .tour_caution{
    margin-top:2em;
    color:#c22;
    font-size:.9em;
}

@media screen and (max-width:961px){
    section.schedule{
        padding:5em 0 2.5em;
    }

    .schedule .tour ul li{
        flex-wrap:wrap;
    }

    .schedule .tour ul li > div {
        width:100% !important;
        text-align:left;
    }

    .schedule .tour ul li .prace {
        flex-wrap:wrap;
        font-size:1.1em;
    }

    .schedule .tour ul li .prace p{
        margin:.2em 0;
    }

    .schedule .tour ul li .prace > *{
        width:100%;
    }

    .schedule .tour ul li .prace i{
        width:auto;
        margin:0;
    }

    .schedule .tour ul li .cntct{
        padding:.5em;
    }

    .schedule .tour ul li .time{
        font-size:14px;
    }
}

.caution.secin{
    background:#ffffff40;
    padding:1.5em;
}

.caution.secin h4{
    font-size:1.2em;
    font-weight:700;
    text-align:center;
    margin-bottom:1em;
}

.caution.secin h5{
    font-size:1.1em;
    display:inline-block;
    background:#a20034;
    color:#fff;
    padding:.2em .5em;
    margin-bottom:1em;
}

.caution.secin.payment{
    padding:0;
    background:none;
    margin-top:2.5em;
}

.caution.secin.payment .caution_block{
    width:min(640px, 100%);
    margin:0 auto 2em;
}

.caution.secin .caution_block dl{
    margin:0 0 2em;
}

.caution.secin .caution_block dl dd{
    display:block;
    margin-bottom:2em;
    word-break: break-all;
}

.caution.secin .caution_block .tocon{
    padding:1.5em;
    margin-bottom:2em;
    border:dotted 1px #a2003440;
}

.caution.secin .caution_block .tocon h6{
    font-size:1em;
    font-weight:bold;
    margin-bottom:.5em;
}

.caution.secin ol li{
    margin-bottom:.3em;
    padding-left:1em;
    text-indent:-1em;
}

.floar{
    margin:3em 0;
}

.floar h4{
    margin-bottom:.5em;
    text-align:center;
    color:#a20034;
}

.floar ol{
    display:flex;
    justify-content: space-between;
    width:min(800px, 100%);
    margin:0 auto;
    flex-wrap:wrap;
    font-size:min(1vw, 1em);
}

.floar ol li{
    width:calc(100% / 3 - .5em);
}

.floar ol li a{
    padding:1em;
    border:solid 1px #a2003440;
    border-radius:1em;
    display:block;
    transition:.3s;
    text-align:center;
}

.floar ol li a:hover{
    background:#a2003410;
}

.floar .seat_detail ul{
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
    width:min(800px, 100%);
    margin:1em auto;
}

.floar .seat_detail ul li{
    width:calc(100% / 2 - .5em);
    padding:1.5em 1em 1em;
    position:relative;
    background:#ffffff80;
    border:dotted #a2003490;
    border-radius:1em;
    text-indent:0;
}

.floar .seat_detail ul li:before{
    display:none;
}

.floar .seat_detail ul li em{
    display:inline-block;
    background:#c76584;
    position:absolute;
    transform:translate(-50%, 0);
    left:50%;
    top:-.75em;
    color:#fff;
    padding:0 1em;
    white-space:nowrap;
}

.floar .seat_detail ul li:nth-child(2) em{
    background:#fff;
    border:solid 1px #a20034;
    color:#a20034;
}

.floar .seat_detail ul li p{
    text-align:left;
    font-size:.8em;
}

.floar > p{
    text-align:center;
}

@media screen and (max-width:961px){
    .floar .seat_detail ul li{
        width:100%;
        margin-bottom:1.5em;
    }

    .floar ol li{
        width:100%;
        margin-bottom:1em;
    }

    .floar ol li a{
        font-size:14px;
    }
}

.goods ul {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    width:min(800px, 100%);
    margin:0 auto;
}

.goods ul li{
    width:calc(100% / 2 - 1em);
}

.goods .box > figure{
    width:min(640px, 100%);
    margin:0 auto;
}

.goods .sizeara{
    margin:2em 0;
}

.goods .sizeara h5{
    text-align: left;
    margin-bottom: .3em;
    border: solid 1px #a2003450;
    display: inline-block;
    color: #a20034;
    padding: 0 1em;
    border-radius: 50rem;
    margin-right: auto;
}

.goods .sizeara > p{
    color: #a20034;
    font-size:.8em;
    text-align:center;
    margin:.5em 0;
}

.goods .sizeara p:nth-of-type(1){
    margin-bottom:1em;
}

.goods .size_chart{
    border:solid 1px;
}

.goods .size_chart dl{
    display:flex;
    border-bottom:solid 1px;
}

.goods .size_chart dl > *{
    width:calc(100% / 3);
    padding:.5em;
    border-right:solid 1px;
}

.goods .size_chart dl:last-child,
.goods .size_chart dl > *:last-child{
    border-right:none;
    border-bottom:none;
}

.goods .size_chart dl:first-child > *{
    background:#a20034;
    color:#fff;
}

.goods .size_chart dl:nth-child(even) > *{
    background:#a200340a;
}

.goods .size_chart dl dd em{
    padding:0 .3em;
    font-size:.7em;
    border-radius:5px;
    background:#a20034;
    color:#fff;
    margin-right:.5em;
    min-width:2.5em;
    display:inline-block;
    text-align:center;
}

@media screen and (max-width:961px){
    .goods ul li{
        width:100%;
        margin-bottom:1em;
    }

    .goods .size_chart dl{
        flex-wrap:wrap;
        font-size:14px;
    }

    .goods .sizeara p:nth-of-type(1){
        text-align:left;
    }

    .goods .size_chart dl > *{
        width:100%;
        border-right:none;
    }

    .goods .size_chart dl > *:first-child{
        background:#a20034;
        color:#fff;
    }
}

.modal {
    visibility:hidden;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    background-color:  #e7b0c9cc;
    opacity:0;
    transition:.3s;
}

.modal-open .modal{
    opacity:1;
}

.modal .modal-box {
    background-color: #fff;
    margin: 5vh auto;
    max-width: 640px;
    width: 90%;
    border-radius: 10px;
    position: relative;
}

.modal .modal-box .modalClose{
    position: absolute;
    top: 0;
    right: 0;
}

.modal .modal-box .cmt_ara{
    padding:1.5em;
    position:relative;
    max-height:100svh;
    overflow:auto;
}

.modal .modal-box:has(.mdlgoods){
    background:none;
    max-width:130vw;
}

.modal .modal-box:has(.mdlgoods) .cmt_ara{
    padding:0;
}

.modal .modal-box:has(.mdlgoods) img{
    width:100%;
    object-fit:contain;
}

.modalOpen{
    cursor:pointer;
    position:relative;
}

.modal .modal-box .cmt_ara .modalClose{
    position:fixed;
    display:block;
    width:2em;
    height:2em;
    top:.5em;
    right:1em;
    cursor:pointer;
}

.modal .modal-box .cmt_ara .modalClose:before,
.modal .modal-box .cmt_ara .modalClose:after{
    content:'';
    width:100%;
    height:2px;
    background:#a20034;
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
}

.modal .modal-box .cmt_ara .modalClose:before{
    transform:translate(-50%, -50%) rotate(45deg);
}

.modal .modal-box .cmt_ara .modalClose:after{
    transform:translate(-50%, -50%) rotate(-45deg);
}

.red{
    background:#ffffffdd;
}

@media screen and (min-width:961px){
    .modal .modal-box{
        position:absolute;
        transform:translate(-50%, -50%);
        top:50%;
        left:50%;
        margin:0;
    }
}

@media screen and (max-width:961px){
    .modal .modal-box:has(.mdlgoods){
        max-width:100%;
        position: absolute;
        transform: translate(-50%, -50%);
        left: 50%;
        top: 50%;
    }

    .modal .modal-box:has(.mdlgoods) .cmt_ara .modalClose{
        top:-1em;
        right:-1em;
    }
}

footer{
    font-family: "Noto Sans JP", sans-serif;
    background:#a20034;
    padding:1em;
    text-align:center;
    color:#fff;
    margin-top:5em;
    position:relative;
    box-shadow: 0px 5px 15px #00000010 inset;
}

footer p{
    margin-bottom:2em;
}

footer p small{
    font-size:.6em;
    opacity:.8;
    display:block;
}

@media screen and (max-width:961px){
    footer{
        z-index:6;
    }
}

@keyframes scroll{
    0%{
        transform:scaleY(0);
        transform-origin:top;
    }

    50%{
        transform:scaleY(1);
    }

    100%{
        transform:scaleY(0);
        transform-origin:bottom;
    }
}

@keyframes hurueru {
    0% {transform: translate(-50%, 0px) rotateZ(0deg)}
    95% {transform: translate(calc(-50% + 2px), 2px) rotateZ(1deg)}
    96% {transform: translate(-50%, 2px) rotateZ(0deg)}
    97% {transform: translate(calc(-50% + 2px), 0px) rotateZ(-1deg)}
    98% {transform: translate(calc(-50% + 2px), 2px) rotateZ(1deg)}
    99% {transform: translate(-50%, 2px) rotateZ(0deg)}
    99.5% {transform: translate(calc(-50% + 2px), 0px) rotateZ(-1deg)}
    100% {transform: translate(-50%, 0px) rotateZ(0deg)}
}

@keyframes hurueru_pc {
    0% {transform: translate(-50%, -50%) rotateZ(0deg)}
    95% {transform: translate(calc(-50% + 2px), calc(-50% + 2px)) rotateZ(1deg)}
    96% {transform: translate(-50%, calc(-50% + 2px)) rotateZ(0deg)}
    97% {transform: translate(calc(-50% + 2px), -50%) rotateZ(-1deg)}
    98% {transform: translate(calc(-50% + 2px), calc(-50% + 2px)) rotateZ(1deg)}
    99% {transform: translate(-50%, calc(-50% + 2px)) rotateZ(0deg)}
    99.5% {transform: translate(calc(-50% + 2px), -50%) rotateZ(-1deg)}
    100% {transform: translate(-50%, -50%) rotateZ(0deg)}
}

@keyframes bound-anim{
    0%{transform: translateY(0);}
    95%{transform: translateY(0);}
    100%{transform: translateY(-.25em);}
}
