@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Dela+Gothic+One&family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');

body{
    font-size:16px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    line-height:1.6em;
    letter-spacing:0.05em;
    color:#555;
    background:#aceaf980;
    min-height:100vh;
    position:relative;
}

body:before{
    content:'';
    background:url(../img/bg_pt4.png);
    background-size:cover;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    filter:blur(5px);
}

body:after{
    content:'';
    background:url(../img/bg_tx.png);
    background-size:50%;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:.5;
}

@media screen and (max-width:961px){
    body:before{
        content:'';
        background-size:300%;
        filter:blur(2px);
    }

    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:#4a9fd3;
}

.wrap{
    padding-top:70px;
    overflow:hidden;
    position:relative;
    z-index:1;
}

.inr{
    width:1200px;
    max-width:90%;
    margin:0 auto;
}

/* .new{
    position:relative;
}

.new:after{
    content:'NEW';
    font-family: "M PLUS Rounded 1c", sans-serif;
    display:block;
    position:absolute;
    font-size:14px;
    letter-spacing:0;
    width:3em;
    height:3em;
    background:#f592ad;
    line-height:3em;
    top:-1em;
    right:-1.5em;
    border-radius:50rem;
    color:#fff;
    transform:rotate(3deg);
    font-weight:800;
    z-index:0;
}

.new *:nth-child(1){
    position:relative;
    z-index:1;
} */

section{
    padding:3em 0;
}

section .box{
    top:0;
    opacity:0;
    position:relative;
    transition:.3s;
}

section .box.started{
    top:0;
    opacity:1;
}

section:nth-child(n + 4) .box{
    top:3em;
    opacity:0;
}

section:nth-child(n + 4).first{
    transition:.3s .7s;
}

section:not(.mainvisual) div:last-child{
    position:relative;
}

.loaded section:nth-child(n + 4) .box.started{
    top:0;
    opacity:1;
}



@media screen and (max-width:961px){
    section{
        padding:1.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;
}

img{
    max-width:100%;
    pointer-events:none;
}

.loading {
    min-height:100svh;
    position:fixed;
    top:0;
    width:100%;
    transition:.3s;
    z-index:1;
    background:#ffffcd;
    background:url(../img/bg_loading.png);
    background-size:cover;
    z-index:1000;
}

.loading:after{
    content:'';
    background:url(../img/bg_tx2.png);
    background-size:50%;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:.4;
}

.loading .logo{
    z-index:3;
    position:absolute;
    transform:translate(-50%, -50%) scale(0);
    top:50%;
    left:50%;
    width:60%;
}

.loading .logo figure {
    width:100%;
    padding-top:44.54%;
}

.loading .logo figure img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
}

.loading .logo figure img.ltxt{
    scale: 10;
    opacity: 0;
    transition: .1s 1s;
    top: -400%;
}

.readed .loading .logo figure img.ltxt{
    scale:1;
    opacity:1;
    top:0;
}


.readed .loading .logo{
    transform:translate(-50%, -50%) scale(1);
    top:50%;
    left:50%;
}




.loaded .loading{
    top:-105vh;
}

.logo {
    width:60%;
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
    transition:.3s;
    filter: drop-shadow(5px 5px 10px #fff) drop-shadow(-6px -5px 10px #fff);
}

.logo img{
    display:block;
    margin:0 auto;
    scale:0;
    transition:.1s .2s;
    /* max-height:33vh; */
    object-fit:contain;
}

.logo img.pc,
.logo img.sp{
    filter: drop-shadow(0px 6px 0px #998268);
}

.logo .txt{
    width: 25vw;
    display: block;
    margin:0 0 0 auto;
    transform: rotate(-5deg);
    top: -3em;
    position: relative;
    transition:.1s 1s;
    scale:10;
    opacity:0;
    background: #f78097;
    padding: .5em 5em;
}

.readed .logo img{
    scale:1;
    opacity:1;
}

.movie .player{
    width:700px;
    max-width:100%;
    margin:0 auto;
}

.movie video{
    max-width:100%;
}

.float_ticket{
    position:fixed;
    bottom:1em;
    right:1em;
    z-index:5;
    width:400px;
    max-width:90%;
    background:#ffffff80;
    border-radius:1em;
    padding: 1.5em .5em .5em;
    transition:.3s;
    opacity:0;
}

.loaded .float_ticket{
    opacity:1;
}


@media screen and (min-width:961px){
    .scrl .float_ticket:hover{
        opacity:1;
        width:400px;
    }
}


.float_ticket h6{
    font-weight: 700;
    font-size: 1em;
    text-align: center;
    margin-bottom: .2em;
    position:absolute;
    transform:rotate(1deg);
    top:-1em;
    right:0;
    padding:.1em 1em;
    border-radius:10px;
    min-width: 11em;
    background:#fff;
    color:#4a9fd3;
    border:solid 1px;
}

.float_ticket .release_ticket{
    margin:0;
}

.float_ticket .release_ticket ol{
    margin:0 auto;
}

@media screen and (min-width:961px){
    .scrl .float_ticket{
        width:300px;
        opacity:.85;
    }
}


@media screen and (max-width:961px){
    .float_ticket{
        border-radius: 1em 1em 0 0;
        padding: 0 .5em;
        width:100%;
        max-width:100%;
        background:#fff;
        right: 0;
        bottom: 0;
    }

    .float_ticket h6{
        font-size:.8em;
        right: auto;
        left: 1em;
    }

    .float_ticket .release_ticket ol{
        width:90%;
    }

    .float_ticket .release_ticket ol li a{
        min-height:auto;
        padding:1em .5em;
    }
}

.mainvisual .logo .txt{
    top:-3em;
}

.mainvisual .caption {
    font-weight:normal;
    padding: 0.5em 1em;
    text-align:center;
    /* background:#6ddcff; */
    background:#4f9ed680;
    color:#fff;
    font-size: 1.1em;
    line-height:1.6em;
    box-shadow: 1px 1px 10px #00000050 inset;
    transition:.3s .5s;
    position:relative;
    left:3em;
    opacity:0;
}

.loaded .mainvisual .caption{
    left:0;
    opacity:1;
}

.mainvisual .caption p{
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight:700;
    font-size: 1.3em;
    line-height: 1.5em;
    letter-spacing:0.1em;
}


@media screen and (max-width:961px){
    body{
        background-size:70vw;
    }

    .loading:after{
        background-size:200%;
    }
    .logo{
        width: 90%;
        transform: translate(-50%, -50%);
    }

    .loading .logo{
        width:90%;
    }
    

    .logo img{
        /* max-height:25vh; */
    }

    .logo img:nth-child(1){
        width:100%;
        margin:0 auto .5em;
    }

    .logo img.sp,
    .logo img.pc{
        filter: drop-shadow(0px 3px 0px #998268);
    }

    .logo .txt{
        top:-1em;
        width:45%;
        padding:.5em 1em;
    }

    .wrap{
        padding-top:0;
    }

    .mainvisual{
        position:relative;
        height:100svh;
        min-height:700px;
    }

    .mainvisual .main_fv{
        position:absolute;
        transform:translate(0, -50%);
        top:50%;
        width:100%;
    }


    .mainvisual .logo .txt{
        top:-1em;
    }

    .logo .prd{
        width:95%;
        margin-top:-.5em;
    }
}

h2{
    font-family: "Dela Gothic One", sans-serif;
    text-align:center;
    margin:0 0 .5em;
    font-weight:normal;
    font-size:3em;
    /* letter-spacing:0.1em; */
    letter-spacing:0;
    filter:drop-shadow(0px 6px 0px #fff);
}

h2 span{
    display:inline-block;
}

h2 span:first-child{
    transform:rotate(-5deg);
    font-size:1.1em;
}

h2 span:last-child{
    transform:rotate(5deg);
    font-size:1.05em;
}

@media screen and (max-width:961px){
    h2{
        font-size:2em;
    }
}

.started h2{
    animation: purun 10s infinite;
}

h3{
    font-weight:bold;
}

.box{
    padding:2em;
    background:#ffffffaa;
    border-radius:1.3em;
    position:relative;
    text-align:center;
    box-shadow: 1px 3px 10px #00000050 inset;
    position:relative;
    overflow:hidden;
}

.box:before {
    content: '';
    display: block;
    width: 200%;
    height: 15em;
    position: absolute;
    bottom: -3em;
    right: -60em;
    transform: rotate(-20deg);
}


section:nth-child(odd) .box:before{
    background: #4f9ec90f;
}

section:nth-child(even) .box:before,
section:nth-child(5).ticket .box:before{
    background: #f592ad0f;
}

@media screen and (max-width:961px){
    .box:before{
        bottom: -10em;
        right: -20em;
        transform: rotate(-10deg);
    }
}

.caution{
    text-align:left;
    font-size:.9em;
    margin:1em 0;
}

.caution h3{
    margin:3em 0 1em;
    font-weight:700;
    font-size:1.3em;
    text-align:center;
}

.caution h3 span{
    display: inline-block;
    margin: 0 auto 1em;
    padding: 0 1em;
    background: #4f9ec9;
    color: #fff;
    font-size: 1.7em;
    border-radius: 50rem;
    font-weight: 700;
}

.caution ul li{
    padding-left:1em;
    position:relative;
    margin-bottom:.5em;
    font-weight:500;
}

.caution ul li:before{
    content: '※';
    /* width: .25em; */
    /* height: .25em; */
    /* background: #444; */
    /* border-radius: 50rem; */
    position: absolute;
    /* top: .6em; */
    left: 0;
}

.caution p{
    margin: 1em 0;
    font-weight: 500;
}

.caution .regident{
    font-weight:500;
}

.caution .regident ol{
    background:#ffffff80;
    padding: 2em 4em;
    border-radius:10px;
}

.caution .regident ol li{
    font-weight:500;
    text-indent:-1.5em;
    margin-bottom:0.5em;
}

.caution .regident p.ntc_txt{
    font-size:.9em;
    padding:0.5em 1em;
}

.caution .regident ol li > p.ntc_txt{
    padding:0 1em;
    margin:0.5em 0;
}



.caution .regident > p.ntc_txt{
    padding: 0.5em 0 0.5em 1em;
    font-size:1em;

}

.caution .regident p.ntc_txt span,
.caution .regident > p.ntc_txt span{
    display:block;
    text-indent:-1em;
    margin-bottom:.5em;
    font-weight:500;
}

.caution .regident .example{
    padding:1em 2em;
    background:#ffffff80;
    font-weight:500;
    position:relative;
    border-radius:10px;
}

.caution .regident .example h4 {
    margin:1em 0;
}

.caution .regident .example h4 span{
    display: inline-block;
    /* padding: .2em 1em; */
    background: linear-gradient(transparent 60%, #4f9ec940 60%);
    color: #4f9ec9;
    background: linear-gradient(transparent 60%, #f592ad40 60%);
    color: #f592ad;
    margin-bottom: .5em;
    /* border-radius: 50rem; */
    font-weight: 500;
}

section:nth-child(odd) .caution .regident .example h4 span{
    background: linear-gradient(transparent 60%, #4f9ec940 60%);
    color: #4f9ec9; 
}

@media screen and (max-width:961px){
    .box{
        padding:1.5em;
    }

    .caution h3 span{
        font-size: 1em;
        line-height: 1.2em;
        padding: .2em 1.5em;
    }

    .caution .regident .example h4 {
        text-align:center;
    }

    .caution .regident ol{
        padding:2em 1em 2em 3em;
    }

    .caution .regident ol li > p.ntc_txt{
        position:relative;
        left:-1em;
    }
}

section:nth-child(even) .box,
section:nth-child(5).ticket .box{
    border:solid 7px #f592ad;
}
section:nth-child(odd) .box,
section:nth-child(6).broad .box{
    border:solid 7px #4f9ec9;
}

section:nth-child(even) h2,
section:nth-child(5).ticket h2{
    color:#f592ad;
}

section:nth-child(odd) h2,
section:nth-child(6).broad h2{
    color:#4f9ec9;
}

section:nth-child(even) h3 span,
section:nth-child(5).ticket h3 span{
    background:#f592ad;
}

section:nth-child(odd) h3 span,
section:nth-child(6).broad h3 span{
    background:#4a9fd3;
}

.mainvisual{
    /* background:url(../img/bg_loading.png); */
    background-size:cover;
    padding:0 0 3em;
    top:0;
    opacity:1;
}

.mainvisual .logo{
    position:relative;
    transform:translate(0, 0);
    left:0;
    margin:0 auto;
    /* width:640px; */
    padding:5em 0;
    max-width:80%;
    transition:.3s .3s;
    top:3em;
    opacity:0;
    animation: purun 10s 1s infinite;
}

.loaded .mainvisual .logo{
    top:0;
    opacity:1;
}





@media screen and (max-width:961px){
    .mainvisual{
        padding:0 0 1.5em;
    }
    .mainvisual .logo{
        padding:0 0 2em;
        max-width:95%;
    }
    .mainvisual .caption p{
        font-size:1.3em;
        white-space: nowrap;
        display:inline-block;
        transition:.3s;
    }

    .loaded .mainvisual .caption p{
        animation:txroll 40s infinite linear .5s both;
    }

    .scroll{
        /* height: 0; */
        position: absolute;
        transform: translate(-50%, 0);
        bottom: 1em;
        left: 50%;
        text-align:center;
        transition:.3s 1s;
    }

    .scrl .scroll{
        opacity:0;
    }

    .scroll span{
        font-size:.7em;
        color: #f78097;
    }

    .scroll em{
        display:block;
        background: #f7809780;
        width: 2px;
        height: 5em;
        transition:transform 1s;
        margin:.5em auto;
        animation:scroll 3s infinite;
    }

    section:nth-child(even) .box,
    section:nth-child(5).ticket .box{
        border:solid 5px #f592ad;
    }
    section:nth-child(odd) .box
    section:nth-child(6).broad .box{
        border:solid 5px #4f9ec9;
    }
}

.push{
    margin-top:1em;
    position:relative;
}

.push strong{
    font-size:2.5em;
    display:block;
    margin-bottom:.3em;
    font-weight:800;
    letter-spacing:0;
    line-height:1.2em;
}

.push strong em{
    font-size:.5em;
    margin:0 .3em;
}

.push strong em.yen{
    font-weight:bold;
    font-size:.7em;
}

.act .push strong em{
    font-weight:800;
}

.act .member figure{
    width:640px;
    max-width:100%;
    margin:1em auto;
    filter: drop-shadow(0px 5px 0px #4f9ec930);
}

.act .member figure img{
    border-radius:10px;
}

.act .member em{
    background: linear-gradient(transparent 60%, #4f9ec930 60%);
    color: #4f9ec9;
    font-weight: 800;
    padding: 0 1em;
    display: inline-block;
    font-size: 1.5em;
}

.act .member ul{
    margin:1em 0 0;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
}

.act .member ul li{
    display:inline-block;
    margin:0 0 0 0.5em;
    font-weight:500;
}

.act .member ul li:after{
    content:' / '
}

.act .member ul li:last-child:after{
    content:'';
}

.act .member .absence{
    text-align:left;
    background:#fff;
    padding:1.5em;
    margin-top:1em;
    border-radius:10px;
}

.act .member .absence h6{
    font-weight:700;
    font-size:1em;
    text-align:center;
    margin-bottom:.5em;
    padding-bottom:.5em;
    border-bottom:solid 1px #4f9ec9;
}

.act .member .absence h6 p{
    font-size:.95em;
    font-weight:700;
}

.act .member .absence .txt{
    font-size:.95em;
}

.act .member .more{
    margin:.2em 0 1em;
    font-size:.9em;
}


.act p.cau{
    font-size:.85em;
    color:#c22;
}

.act .push > div{
    margin-bottom:3em;
}

.act h4{
    font-size:2.5em;
    font-weight:800;
    text-align:left;
    margin:0 .5em 0.5em;

}



.act h4 span{
    font-weight:800;
    background: linear-gradient(transparent 60%, #f592ad50 60%);
    padding:0 .5em;
}

.act h4 em{
    font-size:.65em;
    font-weight:800;
}

.act .actorara strong span {
    font-size:.6em;
    font-weight:800;
}

.act .guestara{
    width:640px;
    max-width:100%;
    margin:0 auto 3em;
}

.act em.kind{
    background: linear-gradient(transparent 60%, #4f9ec930 60%);
    color: #4f9ec9;
    font-weight: 800;
    padding: 0 1em;
    display: inline-block;
    font-size: 1.5em;
    margin-bottom:.5em;
}


.act .guestara ul{
    display:flex;
    justify-content:space-between;
    margin-bottom:2.5em;
}

.act .guestara ul li{
    width:49%;
}

.act .guestara ul li span{
    padding:.3em;
    font-weight:800;
    font-size:1.3em;
    display:block;
}

.act .guestara ul li .thumb{
    position:relative;
    padding-top:100%;
    width:100%;
    overflow:hidden;
}

.act .guestara ul li .thumb img{
    width:100%;
    position:absolute;
    top:-5%;
    left:0;
}



.schedule .place{
    padding:1em;
    font-size:2.5em;
    font-weight:700;
    position:relative;
}

@media screen and (max-width:961px){
    .push strong{
        font-size:2.5em;
    }

    .schedule .place{
        font-size:1.5em;
    }

    .act .push strong em{
        display:block;
    }

    .act h4{
        margin:.5em 0;
        font-size:2em;
    }

    .act h4 span{
        padding:0;
    }

    .act .actorara strong span{
        display:block;
        font-size:.5em;
    }
}


.special h4{
    font-size:1.7em;
    font-weight:800;
    margin:0 .5em 1.5em;

}

.special h4 span{
    background: linear-gradient(transparent 60%, #f592ad50 60%);
    font-weight:800;
}

.special .txt{
    margin-bottom:3em;
    background: #ffffff80;
    padding: 3em 1.5em;
    border-radius: 1em;
}

.special .ptxt{
    font-size:1.5em;
    font-weight:800;
    margin:1.5em auto;
    width:640px;
    max-width:100%;
}

.special .ptxt dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    margin-bottom:.5em;

}

.special .ptxt dl dt,
.special .ptxt dl dd{
    padding-right:1em;
    font-weight:800;
}

.special .ptxt dl dt,
.special .ptxt dl dd{
    background: linear-gradient(transparent 60%, #4a9fd350 60%);
}

.special .ptxt dl:nth-child(2) dt,
.special .ptxt dl:nth-child(2) dd {
    background: linear-gradient(transparent 60%, #f592ad50 60%);
}

.special .ptxt dl dd:last-child{
    padding-right:0;
}

.special .membersong {
    width:640px;
    max-width:100%;
    margin:0 auto 2em;
}

.special h4.tit{
    display:inline-block;
    background:#49c4a1;
    color:#fff;
    border-radius:50rem;
    padding:0 1em;
    margin:0 0 1em;
    position:relative;
}

.special p.anuc{
    margin:0 0 1em;
    color:#c22;
}

.special p.anuc em{
    font-weight:bold;
}

.special .membersong,
.special .member_songlist,
.special .senior_songs{
    margin:2em auto;
}

.special .membersong h4.tit{
    background:#f592ad;
}

.special .membersong dl{
    display:flex;
    justify-content: space-between;
    margin-bottom:.2em;
    font-size:1.1em;
    font-weight:800;
    text-align:center;
}

.special .membersong dl:nth-child(2){
    margin-top:1em;
}

.special .membersong dl span,
.special .membersong dl strong{
    font-weight:700;
}

.special .membersong dl dt,
.special .membersong dl dd{
    width:calc(100% / 3 - 0.2em);
    background:#ffffff80;
    padding:.5em;
}

.special .membersong dl dt{
    font-weight:800;
}

.special .membersong dl dt em{
    font-weight:800;
    font-size:.7em;
    margin:0 .3em;
}

.special .membersong dl dd{
    display:flex;
    align-items:center;
    justify-content:center;
}

.special .membersong dl dd span{
    background:#f592ad;
    color:#fff;
    width:1.5em;
    height:1.5em;
    display:block;
    line-height:1.5em;
    margin:0 auto;
    border-radius:50rem;
}

.special .membersong dl dt{
    background:#f592ad;
    color:#fff;
}

.special .membersong dl:nth-child(odd) dd{
    background:#f592ad20;
}

.special .membersong dl:nth-child(even) dd{
    background:#f592ad50;
}

.special .membersong dl:nth-last-child(-n+2) dd:nth-child(n + 2){
    background:none;
}

.special .member_songlist{
    margin-bottom:2em;
    width:640px;
    max-width:100%;
    margin:0 auto 2em;
}

.special .member_songlist .date_song{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-bottom:.5em;
}

.special .member_songlist .date_song .member_date{
    width:calc(100% / 5);
    background:#ffffff80;
    display:flex;
    align-items:center;
    justify-content: center;
    font-weight:800;
    background:#49c4a1;
    color:#fff;
}

.special .member_songlist .date_song .member_date p,
.special .member_songlist .date_song .member_date em{
    font-weight:800;
}

.special .member_songlist .date_song .member_date em{
    font-size:.8em;
}

.special .member_songlist .date_song dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    width:calc(100% / 5 * 4 - .2em);
}

.special .member_songlist .date_song dl dt{
    width:calc(150px - .1em);
    padding:1em;
    background:#ffffff80;
    margin-bottom:.1em;
}

.special .member_songlist .date_song dl dt strong{
    font-weight:700;
}

.special .member_songlist .date_song dl dd{
    width:calc(100% - 150px - .1em);
    padding:1em;
    background:#ffffff80;
    display:flex;
    align-items:center;
    justify-content: center;
    margin-bottom:.1em;
}

.special .member_songlist .date_song dl dd span,
.special .senior_songs dl dd span{
    font-weight:800;
    background: #49c4a1;
    color: #fff;
    width: 1.5em;
    height: 1.5em;
    display: block;
    line-height: 1.5em;
    margin: 0 auto;
    border-radius: 50rem;
}

.special .member_songlist .date_song dl dt .thumb {
    width:100%;
    padding-top:100%;
    position:relative;
    border-radius:50rem;
    overflow:hidden;
}

.special .member_songlist .date_song dl dt .thumb img{
    width:100%;
    height:100%;
    position:absolute;
    object-fit:cover;
    object-position:0 0;
    top:0;
    right:0;
}

.special .member_songlist .date_song dl dd strong{
    font-size:1.3em;
    display:block;
    font-weight:800;
}

.special .member_songlist dl dd em{
    letter-spacing:0.2em;
    font-size:.8em;
}

.special .senior_songs{
    width:640px;
    max-width:100%;
    margin:0 auto 2em;
}

.special .senior_songs dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-bottom:.5em;
}

.special .senior_songs dl dt{
    width:calc(100% / 5 - .2em);
    display:flex;
    justify-content:center;
    align-items:center;
    background: #49c4a1;
    color:#fff;
}

.special .senior_songs dl dt p{
    font-weight:800;
}

.special .senior_songs dl dt em{
    font-size:.8em;
    font-weight:800;
}

.special .senior_songs dl dd{
    background:#ffffff80;
    padding:1em;
}

.special .senior_songs dl dd strong{
    font-weight:700;
}

.special .senior_songs dl dd:nth-child(2){
    width:150px;
}

.special .senior_songs dl dd:nth-child(3){
    width:calc(100% - (100% / 5 + 150px) - .2em);
    display:flex;
    justify-content:center;
    align-items:center;

}

.special .senior_songs dl dd .thumb {
    width:100%;
    padding-top:100%;
    position:relative;
    border-radius:50rem;
    overflow:hidden;
}

.special .senior_songs dl dd .thumb img{
    width:100%;
    height:100%;
    position:absolute;
    object-fit:cover;
    object-position:0 0;
    top:0;
    right:0;
}

.special .senior_songs dl dd strong{
    font-weight:700;
}

.special .senior_songs dl dd:nth-child(3) strong{
    font-size:1.3em;
    display:block;
    font-weight:800;
}

.special .senior_songs dl dd:nth-child(3) strong.secret{
    font-size:1em;
    font-weight:700;
    color:#49c4a1;
}

.special .senior_songs dl dd em{
    letter-spacing:0.2em;
    font-size:.8em;
}


.special .txt .caption{
    font-weight:700;
    margin-bottom:1em;
    font-size:1.1em;
}



.special .txt .caption span{
    font-size:.8em;
    color:#c22;
    display:block;
}

.special .txt .caption.don{
    font-size:2em;
    font-weight:800;
    color:#c22;
}

.special .txt .caption.don span{
    font-size:12px;
    color:#cc222280;
}

.special .txt .caption.don strong{
    color:#f592ad;
    padding:.2em 1em;
    border-radius:10px;
    font-weight:700;
    border:solid;
    display:inline-block;
    margin-top:.3em;
    font-size:.75em;
}

.special .txt .bload_sche{
    background:#fff;
    color:#f592ad;
    border-radius:10px;
    border:solid 3px #f592ad;
    padding:1.5em;
    position:relative;
    width:640px;
    max-width:100%;
    margin:2em auto;
}

.special .txt .bload_sche h5{
    font-size:1.1em;
    margin-bottom:.5em;
    border-radius:50rem;
    padding:0 1em;
    position:absolute;
    display:inline-block;
    top:-.7em;
    left:1em;
    background:#f592ad;
    color:#fff;
    font-weight:800;
}

.special .txt .bload_sche ul li,
.special .txt .bload_sche ul li *{
    font-weight:800;
}

.special .txt .bload_sche ul li{
    font-size:1.5em;
}

.special .txt .bload_sche ul li{
    margin:.5em 0;
}

.special .txt .bload_sche ul li:last-child{
    margin:.5em 0 0;
}

.special .txt .bload_sche ul li strong{
    margin-right:.5em;
    border: solid 1px;
    padding: 0 .5em;
}

.special .txt .bload_sche ul li em{
    font-size:.8em;
}



.special .txt .waku{
    position:relative;
    padding:2em 1em 1em 1em;
    background:#fff;
    border-radius:1.5em;
    border:solid #f592ad;
    width:700px;
    max-width:100%;
    margin:2em auto;
}

@media screen and (max-width:961px){
    .special .txt.tiktok{
        padding:1em 1em 0;
    }
    
    .special .txt .waku{
        width: calc(100% + 2em);
        max-width:none;
        margin: 2em auto 0;
        left: -1em;
        border-radius:1em;
    }
}

.special .txt .waku h5{
    display: inline-block;
    position: absolute;
    font-size: 1.2em;
    background: #fff;
    color: #f592ad;
    font-weight: 700;
    border: solid;
    padding: .2em 1em;
    border-radius: 10px;
    top: -1em;
    left: 2em;
    transform:rotate(-2deg);
}

.special .txt .waku .disptxt{
    font-weight: 700;
    color: #f592ad;
}

.special .txt dl{
    display:flex;
    margin-bottom:1em;
    justify-content:center;
    margin:1.5em 0;
    color:#f592ad;
    align-items:center;
    width:640px;
    max-width:100%;
    margin: 2em auto 1em;
}

.special .txt dl dt{
    font-size:1.5em;
    font-weight:700;
    margin-right:.5em;
    min-width:7em;
    text-align:center;
    background:#f592ad;
    color:#fff;
    padding:0 .5em;
    border-radius:5px;
}

.special .txt dl dd{
    font-size:2em;
    font-weight:800;
    min-width:350px;
}

.special .txt dl dd ol{
    display:flex;
    justify-content:space-between;
}

.special .txt dl dd ol li{
    width:calc(100% / 3 - .2em);
}

.special .txt dl dd > figure{
    max-width:300px;
    width:80%;
    margin:0 auto;
}

.special .txt dl dd ol li figure.thumb{
    width: 100%;
    padding-top: 100%;
    position: relative;
    border-radius: 50rem;
    overflow: hidden;
}

.special .txt dl dd ol li figure.thumb img{
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    object-position: 0 0;
    top: 0;
    right: 0;
}


.special .txt dl dd ol li span{
    font-size:12px;
    display:block;
    margin:.5em 0;
}

.special .txt .cmsoon{
    text-align:right;
    color:#f592ad;
    font-size:.9em;
    font-weight:700;
}

@media screen and (max-width:961px){
    .special .txt .waku h5{
        transform:translate(-50%, 0);
        left:50%;
        font-size:1.1em;
    }
    .special .txt dl{
        flex-wrap:wrap;
    }

    .special .txt dl dt{
        font-size:1.2em;
    }

    .special .txt dl dd{
        width:100%;
        font-size:1.5em;
        min-width:auto;
        text-align:center;
        margin-top:.5em;
    }
}



@media screen and (max-width:961px){
    .special h4{
        font-size:1.3em;
        text-align:center;
    }

    .special .ptxt{
        font-size:1.2em;
    }

    .special .ptxt dl{
        margin-bottom:2.5em;
        flex-wrap:wrap;
        background:none;
    }

    .special .ptxt dl:nth-child(2){
        background:none;
    }

    .special .ptxt dl dt,
    .special .ptxt dl dd{
        margin-right:0;
    }
    .special .ptxt dl dt,
    .special .ptxt dl dd{
        background: linear-gradient(transparent 60%, #4a9fd350 60%);
    }

    .special .ptxt dl:nth-child(2) dt,
    .special .ptxt dl:nth-child(2) dd{
        background: linear-gradient(transparent 60%, #f592ad50 60%);
    }

    .special .ptxt dl dd:nth-child(2){
        padding-right:0;
    }

    .special .txt{
        text-align:left;
        padding:1em;
    }

    .special h4.tit{
        font-size:1.1em;
    }



    .special .membersong dl dt{
        font-size:.9em;
    }

    .special .member_songlist .date_song .member_date{
        width:100%;
    }

    .special .member_songlist .date_song dl{
        width:100%;
    }

    .special .member_songlist .date_song dl dt{
        width:calc(40% - .1em);
        padding:.5em;
    }

    .special .member_songlist .date_song dl dd{
        width:calc(60% - .1em);
        padding:.5em;
    }

    .special .member_songlist .date_song .member_date,
    .special .senior_songs dl dt{
        padding:.2em 0;
        margin-bottom:.2em;
    }

    .special .senior_songs dl dt{
        width:100%;
    }

    .special .senior_songs dl dd:nth-child(2){
        width:calc(40% - .1em);
        padding:.5em;
    }

    .special .senior_songs dl dd:nth-child(3){
        width:calc(60% - .1em);
        padding:.5em;
    }

    .special .txt.tver{
        padding:1em 1em 0;
    }

    .special .txt .bload_sche{
        width:calc(100% + 2em);
        max-width:none;
        left:-1em;
        border-radius:1em;
    }

    .special .txt .bload_sche ul li{
        font-size:1.2em;
    }

    

    .special .member_songlist .date_song .member_date em,
    .special .senior_songs dl dt em{
        margin-right:.5em;
    }

    .special .member_songlist .date_song dl dd strong,
    .special .senior_songs dl dd:nth-child(3) strong{
        font-size:1.1em;
    }

    .special .txt .caption.don{
        font-size:1.4em;
        text-align:center;
    }

}


.schedule .push strong{
    letter-spacing:unset;
}



.schedule .push span{
    display:block;
    font-size:.9em;
    margin:0.25em 0;
    /* letter-spacing:0; */
}

.schedule .push span em {
    display:inline-block;
    /* border:solid 1px #00000030; */
    padding:0 .5em;
    margin-right:.5em;
    background:#f592ad;
    color:#fff;
    font-size:.8em;
}

.schedule .push strong i{
    font-weight:800;
}

.schedule .push strong i em {
    font-weight:normal;
}

.schedule dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    padding:1em 0;
    border-bottom:solid 1px #f592ad80;
    letter-spacing:-0.05em;
}

section.schedule:nth-child(even) dl{
    border-bottom:solid 1px #f592ad80;
}

section.schedule:nth-child(odd) dl{
    border-bottom:solid 1px #4a9fd380;
}


.schedule .push strong{
    margin-bottom:0;
}

.schedule dl dt,
.schedule dl dd{
    padding:0.5em;
}

.schedule .push dl dd span{
    font-size:1.7em;
}

.schedule dt strong em {
    font-weight:800;
}

.schedule .push dl dd span{
    font-weight:800;
}

.schedule .push dl dd span em{
    font-size:.5em;
    letter-spacing:.1em;
    position:relative;
    bottom:.2em;
    background:#4a9fd3;
    transform:rotate(-3deg);
}

.schedule .push dl:nth-child(2) dd span em{
    background:#f7ab31;
}

.schedule .push dl dd span i{
    font-size:.7em;
    font-weight:800;
    color:#999;
}

@media screen and (max-width:961px){
    .schedule .push strong i{
        /* display:block; */
        font-size:.6em;
        line-height:1em;
    }

    .schedule .push dl dd span:nth-child(2){
        margin-top:.5em;
    }

    .schedule .push dl dd span em{
        display:block;
        background: linear-gradient(45deg, #f592ad, #f592adcc);
        font-size:.7em;
        letter-spacing:.2em;
        width:5em;
        margin:1em auto 0;
        bottom:0;
    }

    .schedule dl{
        text-align:left;
        padding:2em .5em;

    }

    .schedule dl:nth-child(1){
        padding:1em .5em 2em;
    }

    .schedule dl dt{
        position:relative;
    }

    .schedule dl dt > em{
        background: #4a9fd3;
        color: #fff;
        padding: 0 .5em;
        display: inline-block !important;
        position: absolute !important;
        top: 50%;
        right: 1.5em;
        transform: translate(0, -50%) rotate(-3deg);
    }

    .schedule dl:nth-child(2) dt > em{
        background:#f7ab31;
    }

    .schedule dl dt,
    .schedule dl dd{
        width:100%;
        padding:0 .5em;
        max-width:270px;
        margin:0 auto;
    }

    .schedule dl dt{
        /* margin-bottom:.5em; */
    }

    .schedule dl dd{
        font-size:.9em;
    }

    .schedule .push dl dd span{
        font-size:1.3em;
    }
}



.release_ticket{
    margin:1.5em 0 1em;
}

.release_ticket .blc.end{
    pointer-events:none;
    position:relative;
}

.release_ticket .blc.end h3,
.release_ticket .blc.end p{
    opacity:.3;
}


.release_ticket .blc.end:after{
    content:'期間終了';
    background:#4f9ec9ee;
    font-size:2em;
    font-weight:bold;
    color:#fff;
    padding:.3em 1em;
    position:absolute;
    transform:translate(-50%, -50%) rotate(-3deg);
    top:50%;
    left:50%;
    display:inline-block;
    border-radius:3px;
    min-width:5em;
}



.release_ticket p{
    padding:0.5em;
    font-weight:700;
    font-size:1.2em;
}

.release_ticket p strong{
    font-size:1.2em;
    font-weight:700;
}

.release_ticket p a{
    max-width: 300px;
    display: block;
    margin: 1em auto 0;
    border: solid 7px #f592ad;
    padding: 1em 1em .5em;
    border-radius: 10px;
    background: #fff;
    position:relative;
}

.release_ticket ol{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width: 600px;
    margin: 2em auto 0;
    max-width: 100%;
}

.release_ticket ol li{
    width:calc(100% / 3 - .5em);
}

.release_ticket ol li a{
    background:#fff;
    border-radius:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1em;
    min-height:5em;
}

.release_ticket ol li a img{
    max-height:2em;
}

.ticket h3 {
    text-align:left;
    position:relative;
    display:flex;
    align-items:center;
    margin:1.5em 0 1em;
}

.ticket h3 span{
    padding: 0 1em;
    border: solid 3px;
    color: #4f9ec9;
    color:#f592ad;
    font-weight: 800;
    background: #fff !important;
    z-index: 1;
    letter-spacing: .1em;
    margin: 0 auto;
    font-size: 1.5em;
    border-radius: 10px;
}

.ticket h3:after{
    content:'';
    display:block;
    width:100%;
    height:2px;
    background:#4f9ec950;
    background:#f592ad50;
    margin-left:auto;
    position:absolute;
}

.ticket .push strong{
    font-size:3em;
}

.ticket i{
    display:inline-block;
    color:#fff;
    background:#4f9ec9;
    background:#f592ad;
    padding:0 1em;
    margin-bottom:1em;
    letter-spacing: 0.2em;
    font-size: .9em;
}

@media screen and (max-width:961px){
    .ticket h3 span{
        /* font-size:.85em; */
        font-size:1.2em;
    }

    .release_ticket p strong{
        font-size:1em;
    }

    .release_ticket p a{
        border: solid 5px #f592ad;
    }
}


.broad .caption{
    margin-bottom: 1em;
    font-weight: 800;
    color: #c22;
    font-size: 2.5em;
}


.broad h3{
    margin:3em 0 1em;
    font-weight:700;
    /* font-size:1.3em; */
    text-align:center;
}

.broad .txt{
    margin-top:2em;
}

.broad .txt h4:nth-child(3){
    color:#f7ab31;
}

.broad h3 span{
    display: inline-block;
    margin: 0 auto;
    padding: 0 1em;
    background: #4f9ec9;
    color: #fff;
    font-size: 1.7em;
    border-radius: 50rem;
    font-weight: 700;
}

.broad h4{
    font-weight: 700;
    margin-bottom: .5em;
    font-size: 1.5em;
    display: inline-block;
    background: #fff;
    color: #3b83af;
    border: solid 1px;
    padding: 0 1em;
    border-radius: 10px;
}

.broad h4 em{
    font-size:.5em;
    font-weight:700;
}

.broad dl{
    margin-bottom:3em;
    display:flex;
    flex-wrap:wrap;
    width:640px;
    max-width:100%;
    margin:1em auto 3em;
    justify-content:center;
    align-items:center;
    background:#ffffff80;
    padding:.5em 0;
    border-radius:5px;
}

.broad dl dt{
    background: #f592ad;
    border-radius: 10px;
    padding: 0 1em;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    /* margin-bottom: .5em; */
    min-width:10em;
}

.broad dl dt:nth-child(4){
    background:#ffffffaa;
    color:#f592ad;
    border:solid 1px;
}

.broad dl dd{
    padding:0 0 0 .5em;
    font-weight:700;
    font-size:1.8em;
}

.broad dl dd span{
    font-weight: 700;
    min-width: 5em;
    margin-right: .3em;
    display: inline-block;
    text-align:right;
}

.broad em{
    font-size:.8em;
}

.broad dl dt em,
.broad dl dd em{
    font-weight:700;
    font-size:.8em;
}

.broad dl dd.line{
    width:100%;
    height:0;
    padding:0;
    margin:0;
}

.broad .blc p strong{
    font-size:3em;
    font-weight:800;
}

.broad .blc p strong em{
    /* font-weight:800; */
    font-size:.4em;
    margin-left:.2em;
}

.broad .blc p strong em:nth-child(1){
    font-weight:bold;
    font-size:.7em;
}

.broad .blc.term p{
    font-size: 1.5em;
    font-weight: 700;
}

.broad .blc.term p em{
    font-weight:700;
}

.broad .tohulu{
    margin-top:5em;
}

.tohulu a,
.broad .tohulu a{
    display:block;
    /* width:300px; */
    width:500px;
    max-width:100%;
    padding:.5em 1em;
    border-radius:1em;
    border:solid #3ce032;
    filter:drop-shadow(4px 4px 0 #3cad35);
    background:#fff;
    margin:2em auto;
    transition:.3s;
    font-weight:800;
    font-size:2em;
    color:#3ce032;
}

.float_ticket .tohulu {
    text-align:center;
}

.float_ticket .tohulu a{
    font-size: 1em;
    width: auto;
    text-align: center;
    margin: 1em;
    display:inline-block;
}

.broad .tohulu a:hover{
    filter:drop-shadow(0 0 0 #3cad35);
}

.broad .broad_caution{
    font-size:.9em;
    color:#c22;
}

@media screen and (max-width:961px){
    .broad h3{
        font-size:1em;
        margin-bottom:1.5em;
    }

    .broad h3 span{
        font-size:1.5em;
    }

    .broad .caption{
        font-size:1.4em;
    }

    .broad h4{
        font-size:1.3em;
    }
    .broad dl{
        text-align:left;
        justify-content: left;
        margin-top:0;
        margin-bottom:1.5em;
        padding:1em;
        background:#ffffff80;
    }

    .broad dl dt{
        min-width:auto;
    }

    .broad dl dd{
        margin:.2em 0 .5em;
        font-size:1.3em;
        padding:0;
        width:100%;
    }

    .broad dl dd:last-child{
        margin:.2em 0 0;
    }

    .broad dl dd span{
        min-width:auto;
    }
    

    .broad .blc.term p{
        font-size:1.2em;
    }

    .broad .tohulu{
        margin-top:3em;
    }

    .broad .tohulu a{
        font-size:1.1em;
    }

    .broad .broad_caution{
        font-size:12px;
    }

}


.goods h3{
    margin-bottom:1em;
}

section.goods h3 span{
    font-weight:800;
    color:#4a9fd3;
    font-size:1.7em;
    margin-bottom:2em;
    background:linear-gradient(transparent 60%, #4a9fd330 60%);
}

section.goods h3.red span{
    color:#c22;
    background:linear-gradient(transparent 60%, #cc222230 60%);

}

section:nth-child(even).goods h3 span,
section:nth-child(5).ticket h3 span{
    color:#f592ad;
    background:linear-gradient(transparent 60%, #f592ad60 30%);
}

.goods .push strong{
    color:#f7ab31;
}

.goods .goodsara ul {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

.goods .goodsara ul:after{
    content:'';
    width:calc(25% - 2px);
}

.goods .goodsara ul:before{
    content:'';
    width:calc(25% - 2px);
    order:1;
}

.goods .goodsara ul li{
    padding:1em;
    width:calc(25% - 2px);
    margin-bottom:2px;
    background:#ffffff80;
    cursor:pointer;
}

.goods .goodsara ul li.random_item{
    position:relative;
}

.goods .goodsara ul li.random_item:after{
    content:'ランダム';
    font-size:.8em;
    font-weight:bold;
    display:inline-block;
    background:#fff;
    color:#f592ad;
    border:solid 2px;
    border-radius:.5em;
    position:absolute;
    top:-.3em;
    right:0.5em;
    padding:0 .5em;
    transform:rotate(1deg);
    transition:.3s;
}

.goods .goodsara ul li.random_item:hover:after{
    top:-1.5em;
    right:0;
    transform:rotate(10deg);
}

.goods .goodsara ul li img{
    transition:.3s;
    scale:1;
}

.goods .goodsara ul li:hover img{
    scale:1.1;
}

.goods .goodsara ul li .tit{
    margin-top:.5em;
    font-size:14px;
}

.goods .goodsara ul li .tit span{
    display:block;
    font-weight:500;
}

.goods .goodsara ul li .tit em{
    font-size:.8em;
}

.goods .goodsara ul li .tit em.venue{
    color:#c22;
}

.goods .goods_info{
    margin:3em 0;
}

.goods .goods_info h3{
    margin-bottom:2em;
}

.goods .goods_info .btnara{
    margin:1em 0;
    text-align:center;
}

.goods .goods_info .btnara .btn{
    display:inline-block;
    padding:.5em 1.5em;
    font-size:1.5em;
    font-weight:800;
    background:#fff;
    color:#4a9fd3;
    border:solid 2px;
    border-radius:50rem;
    transition:.3s;
}

.goods .goods_info .btnara .btn:hover{
    background:#4a9fd3;
    border:solid 2px #4a9fd3;
    color:#fff;
}

section:nth-child(even).goods .goods_info .btnara .btn{
    color:#f592ad;
}

section:nth-child(even).goods .goods_info .btnara .btn:hover{
    background:#f592ad;
    border:solid 2px #f592ad;
    color:#fff;
}

.goods .goods_info .goods_caution{
    padding:1em;
    text-align:left;
    /* border:dotted 1px; */
    color:#cc2222aa;
    /* background:#ffffff80; */
    font-size:.9em;
    width:800px;
    max-width:100%;
    margin: 1em auto 2em;
}

.goods .goods_info .goods_caution h5{
    font-size:1.2em;
    font-weight:bold;
    margin-bottom:.5em;
    text-align:center;

}

.goods .goods_info .goods_caution ol li{
    padding-left:1em;
    text-indent:-1em;
    margin-bottom:.5em;
}

.goods .goods_info .goods_caution ol li:last-child{
    margin-bottom:0;
}


.goods .goodsara ul > li:has(.goods_ejcy){
    padding:0;
    background:none;
}

.goods .goods_ejcy{
    font-size:11px;
    background:#fff;
    padding:1em;
    color:#c22;
    border:solid 1px;
    text-align:left;
}

.goods .goods_ejcy h6{
    font-size:1.1em;
    margin-bottom:.5em;
    font-weight:bold;
}

.goods .venue_sale{
    margin:4em 0 2em;
}

.goods .sale_time{
    width:700px;
    font-weight:800;
    max-width:100%;
    margin:0 auto 2em;
    background:#fff;
    border-radius:1.5em;
    border:solid 3px #f592ad;
    color:#f592ad;
    margin:0 auto;
    padding:1em 0;
    position:relative;
}

.goods .sale_time h6{
    position:absolute;
    top:-1em;
    left:1.3em;
    padding:.2em 1em;
    border-radius:50rem;
    font-size:1.5em;
    background:#f592ad;
    color:#fff;
    font-weight:700;
}

.goods .sale_time dl{
    position:relative;
    padding: 0 1em;
    margin: 1em 0;
}

.goods .sale_time dl dt,
.goods .sale_time dl dd{
    font-weight:800;
}

.goods .sale_time dl dt{
    display: inline-block;
    background: #fff;
    color: #f592ad;
    border: solid 1px;
    top: -.7em;
    left: 50%;
    padding: .2em 1em;
    letter-spacing: .1em;
    margin-bottom: .5em;
    font-size: 1.2em;
}

.goods .sale_time dl dd{
    margin-bottom:1em;
    font-size:1.5em;
}

.goods .sale_time dl dd em{
    font-size:.6em;
    font-weight:700;
}

.goods .sale_time dl dd:last-child{
    margin-bottom:0;
}

.goods .venue_sale .good_caution{
    margin:.5em auto;
    width:700px;
    max-width:100%;
    text-align:left;
}

.goods .venue_sale .good_caution span{
    display:block;
    font-size:.8em;
    color:#c22;
}

.goods .venue_sale .good_caution .payment{
    background:#ffffffcc;
    border-radius:10px;
    padding:.5em 1em;
    margin:.5em;
}

.goods .venue_sale .good_caution .payment span:first-child{
    margin-bottom:.5em;
}

.goods .venue_sale .good_caution .payment span em{
    background:#cc222280;
    color:#fff;
    padding:.1em .5em;
    display:inline-block;
    margin-bottom:.3em;
}



@media screen and (max-width:961px){
    section.goods h3 span{
        font-size:1em;
    }

    .goods .push strong{
        font-size:1.5em;
    }

    .goods .goodsara ul li{
        width:calc(50% - 2px);
        padding:.5em;
    }

    .goods .goodsara ul li .tit span{
        font-size:.9em;
    }

    .goods .goods_info .btnara .btn{
        font-size:1.1em;
        line-height:1.1em;
    }

    .goods .goods_info .goods_caution{
        padding:1em 0;
    }

    .goods .goods_info .goods_caution h5{
        font-size:1.1em;
    }

    .goods .sale_time{
        padding: 1em 0 1em;
    }

    .goods .sale_time h6{
        font-size:1.2em;
    }

    .goods .sale_time dl{
        text-align:left;
    }
    .goods .sale_time dl dt,
    .goods .sale_time dl dd{
        font-size:1em;
    }

    .goods .sale_time dl dd{
        font-size:1.2em;
    }
}


.report{
    text-align:center;
}

.report a{
    display:inline-block;
}

.report a {
    background:#fff;
    color:#f7ab31;
    padding:.5em 1em;
    font-weight:700;
    font-size:1.5em;
    border-radius:10px;
    border:solid 2px;
}

.contact h3{
    margin:1em 0 1em;
}

.contact h3 span{
    display: inline-block;
    margin:0 auto;
    padding:0 1em;
    background:#f592ad;
    color:#fff;
    font-size:1.7em;
    border-radius:50rem;
    font-weight:700;
}

.contact .detail_contact p{
    font-size:1.2em;
}

.contact .detail_contact .company{
    margin-bottom:1.5em;
    font-weight:700;
}

.contact .detail_contact .company span{
    display:block;
    font-weight:700;
    font-size:1.5em;
}

.contact .detail_contact .company i{
    font-weight:700;
}

/* .contact .detail_contact .company a{
    width:250px;
    max-width:90%;
    margin:0 auto;
    display:block;
    margin-top:1.5em;
    background:#fff;
    padding:1em 1.5em;
    border-radius:10px;
} */

.contact .detail_contact .company a{
    text-align:center;
    font-weight:700;
}

.contact .detail_contact .contact_time{
    font-weight:600;
    font-size:.95em;
    padding-bottom:2em;
}

@media screen and (max-width:961px){
    .contact h3 span{
        font-size:1em;
    }
}

.modal {
    /* display: none; */
    visibility:hidden;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    background-color: #4f9ec9a0;
    opacity:0;
    transition:.3s;
}

.modal-open .modal{
    opacity:1;
}

.modal .modal-box {
    background-color: #fff;
    margin: 10% auto;
    max-width: 640px;
    width: 90%;
    border-radius: 10px;
    animation-name: modalopen;
    animation-duration: 1s;
    position: relative;
}

.modal .modal-box .modalClose{
    position: absolute;
    top: 0;
    right: 0;
}

.modal .modal-box .cmt_ara{
    padding:1.5em;
    position:relative;
}

.modal .modal-box .cmt_ara h5{
    font-size:1.5em;
    margin-bottom:1em;
    font-weight:800;
}

.modal .modal-box .cmt_ara dl dt{
    font-weight:700;
    margin:2em 0 1em;
}

.modalOpen{
    cursor:pointer;
    position:relative;
}

.modalOpen:before{
    content:'';
    width:10px;
    height:10px;
    border-radius:50rem;
    background:#4a9fd3;
    position:absolute;
    top:0;
    right:.5em;
}

.modalOpen:last-child:before{
    right:-.5em;
}

.modal .modal-box .cmt_ara .modalClose{
    position:absolute;
    display:block;
    width:2em;
    height:2em;
    top:1em;
    right:1em;
    cursor:pointer;
}

.modal .modal-box .cmt_ara .modalClose:before,
.modal .modal-box .cmt_ara .modalClose:after{
    content:'';
    width:100%;
    height:2px;
    background:#ccc;
    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);
}




@media screen and (min-width:961px){
    .modal .modal-box{
        position:absolute;
        transform:translate(-50%, -50%);
        top:50%;
        left:50%;
        margin:0;
    }
}


footer{
    font-family: "Noto Sans JP", sans-serif;
    background: #436e87;
    padding:1em;
    text-align:center;
    color:#fff;
    margin-top:5em;
    position:relative;
    box-shadow: 0px 5px 15px #00000030 inset;
}

footer span{
    margin:0 0.5em;
}

footer span em{
    font-size:1.3em;
}



@media screen and (max-width:961px){
    footer{
        z-index:6;
    }
    footer span{
        display:block;
        margin-bottom:.5em;
    }
}

@keyframes purun {
	0% {
		transform: scale(1,1);
	}
	90% {
		transform: scale(1,1);
	}
	91.5% {
		transform: scale(0.9, 0.9);
	}
	93% {
		transform: scale(1.3, 0.8);
	}
	95% {
		transform: scale(0.8, 1.3);
	}
	97% {
		transform: scale(1.1, 0.9);
	}
	100% {
		transform: scale(1, 1);
	}
}

@keyframes txroll{
    0%{
        transform: translateX(0);
        opacity:0;
    }

    1.5%{
        opacity:1;
    }

    3%{
        transform: translateX(0);
    }

    100%{
        transform:translateX(-100%);
    }
}

@keyframes scroll{
    0%{
        transform:scaleY(0);
        transform-origin:top;
    }

    50%{
        transform:scaleY(1);
    }

    100%{
        transform:scaleY(0);
        transform-origin:bottom;
    }
}
