@charset 'UTF-8';
@media screen and (min-width: 401px)
{
    [no-pc]
    {
        display: none !important;
    }
    [only-sp]
    {
        display: none !important;
    }
}

@media screen and (max-width: 400px)
{
    [no-sp]
    {
        display: none !important;
    }
    [only-pc]
    {
        display: none !important;
    }
}

.Flex
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 400px)
{
    .Flex
    {
        display: block;
    }
}

.Flex-box
{
    text-align: center;
}

.Flex-box p
{
    padding: 2px;

    text-align: left;
}

@media screen and (max-width: 400px)
{
    .Flex-box
    {
        display: block;
    }
}

@media screen and (max-width: 400px)
{
    html
    {
        overflow-x: hidden;

        width: 400px;
    }
}

body
{
    font-family: 'Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    line-height: 170%;

    overflow-x: hidden;

    color: #1e1e1e;
}

@media screen and (min-width: 401px)
{
    body
    {
        background-image: url('../img/header_bg_t.jpg'), url('../img/header_bg_b.png'), url('../img/bg.jpg');
        background-repeat: no-repeat, no-repeat, no-repeat;
        background-attachment: scroll, scroll, fixed;
        background-position: center top, center 900px,center top;
        background-size: auto auto, auto auto, auto auto;
    }
}

@media screen and (max-width: 400px)
{
    body
    {
        width: 400px;

        background-image: url('../img/bg_sp.jpg');
        background-repeat: repeat-y;
        background-position: center 230px;
        background-size: 100% auto;
    }
}

@media screen and (min-width: 401px)
{
    .pc-only
    {
        display: block !important;
    }
}

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

@media screen and (min-width: 401px)
{
    .sp-only
    {
        display: none !important;
    }
}

@media screen and (max-width: 400px)
{
    .sp-only
    {
        display: block !important;
    }
}

.Linkbtn
{
    display: inline-block;

    margin: 0 5px 5px 5px;
    padding: 4px;

    background: linear-gradient(-225deg, transparent 8px, #fe98d0 8px), linear-gradient(#fe98d0 0%, #fe98d0 100%), linear-gradient(-45deg, transparent 8px, #fe98d0 8px), linear-gradient(#fe98d0 0%, #fe98d0 100%);
    background-repeat: no-repeat;
    background-position: top left, bottom left, bottom right, top right;
    background-size: 50.1% 50.1%;
}

.Linkbtn a
{
    font-size: 120%;
    font-weight: bold;

    position: relative;

    display: inline-block;

    padding: 12px 26px 10px 20px;

    text-decoration: none;

    color: #fff;
    background: linear-gradient(-225deg, transparent 6px, #f5549f 6px), linear-gradient(#f5549f 0%, #f5549f 100%), linear-gradient(-45deg, transparent 6px, #f5549f 6px), linear-gradient(#f5549f 0%, #f5549f 100%);
    background-repeat: no-repeat;
    background-position: top left, bottom left, bottom right, top right;
    background-size: 50.1% 50.1%;
}

.Linkbtn a:after
{
    font-size: 60%;

    position: absolute;
    top: 10px;
    right: 6px;

    display: block;

    content: '▲';
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

body#Shopguide
{
    font-family: 'Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    line-height: 170%;

    overflow-x: hidden;

    color: #1e1e1e;
}

@media screen and (min-width: 401px)
{
    body#Shopguide
    {
        background-image: url('../img/bg.jpg');
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-position: center top;
        background-size: auto auto;
    }
}

@media screen and (max-width: 400px)
{
    body#Shopguide
    {
        width: 400px;

        background-image: url('../img/bg_sp.jpg');
        background-repeat: repeat-y;
        background-position: center 230px;
        background-size: 100% auto;
    }
}

body#Song
{
    font-family: 'Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    line-height: 170%;

    overflow-x: hidden;

    color: #1e1e1e;
}

@media screen and (min-width: 401px)
{
    body#Song
    {
        background-image: url('../img/bg.jpg');
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-position: center top;
        background-size: auto auto;
    }
}

@media screen and (max-width: 400px)
{
    body#Song
    {
        width: 400px;

        background-image: url('../img/bg_sp.jpg');
        background-repeat: repeat-y;
        background-position: center 230px;
        background-size: 100% auto;
    }
}

a
{
    text-decoration: underline;

    color: #003cff;
}

a:hover
{
    -webkit-filter: brightness(120%);
            filter: brightness(120%);
}

a:focus
{
    outline: none;
}

p
{
    margin-bottom: 25px;
}

p.nb
{
    margin-bottom: 0;
}

.small
{
    font-size: 80%;
}

.center
{
    text-align: center;
}

.Home
{
    position: relative;

    margin: 0 auto;
    padding: 0;
}

@media screen and (min-width: 401px)
{
    .Home
    {
        width: 1000px;
    }
}

@media screen and (max-width: 400px)
{
    .Home
    {
        width: 100%;
    }
}

#Home
{
    margin-top: -50px;
    padding-top: 50px;
}

/* ヘッダー　*/
#Home header
{
    position: relative;

    margin: 0 auto;
}

@media screen and (min-width: 401px)
{
    #Home header
    {
        width: 1000px;
        /*20220519*/
        height: 820px;
        /*20220519*/
        margin-top: 90px;
    }
}

@media screen and (max-width: 400px)
{
    #Home header
    {
        width: 100%;
        height: 700px;
        padding: 0;

        background-image: url('../img/header_bg_sp.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100% auto;
    }
}

#Home header .Logo10th
{
    position: absolute;
    top: 0;
    left: 0;

    -webkit-animation: Top10th 600ms both;
            animation: Top10th 600ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@-webkit-keyframes Top10th
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes Top10th
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (max-width: 400px)
{
    #Home header .Logo10th
    {
        width: 120px;
        height: 120px;
    }
}

#Home header .LogoSwitch
{
    position: absolute;
    top: 0;
    right: 0;

    -webkit-animation: TopSwi 600ms both;
            animation: TopSwi 600ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@-webkit-keyframes TopSwi
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopSwi
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (min-width: 401px)
{
    #Home header .LogoSwitch
    {
        width: 80px;
        height: 80px;
    }
}

@media screen and (max-width: 400px)
{
    #Home header .LogoSwitch
    {
        width: 60px;
        height: 60px;
    }
}

h1
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

/* グロナビ */
.Gnavi
{
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    width: 100%;
    margin: 0 0 20px 0;

    background-color: rgba(255, 255, 255, .7);
}

@media screen and (max-width: 400px)
{
    .Gnavi
    {
        display: none;
    }
}

.Gnavi-logo
{
    margin-top: -2px;
}

.Gnavi ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    width: 880px;
    padding: 8px 0;
}

.Gnavi ul li
{
    width: 120px;
    height: 57px;
    margin: 2px 0 0 -2px;

    background-image: url('../img/gnav.png');
    background-size: 700% 200%;
}

.Gnavi ul li a
{
    font-size: 0;

    display: block;

    width: 120px;
    height: 57px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

.Gnavi ul li:nth-child(1)
{
    background-position: 0 0;
}

.Gnavi ul li:nth-child(1):hover
{
    background-position: 0 -100%;
}

.Gnavi ul li:nth-child(2)
{
    background-position: -100% 0;
}

.Gnavi ul li:nth-child(2):hover
{
    background-position: -100% -100%;
}

.Gnavi ul li:nth-child(3)
{
    background-position: -200% 0;
}

.Gnavi ul li:nth-child(3):hover
{
    background-position: -200% -100%;
}

.Gnavi ul li:nth-child(4)
{
    background-position: -300% 0;
}

.Gnavi ul li:nth-child(4):hover
{
    background-position: -300% -100%;
}

.Gnavi ul li:nth-child(5)
{
    background-position: -400% 0;
}

.Gnavi ul li:nth-child(5):hover
{
    background-position: -400% -100%;
}

.Gnavi ul li:nth-child(6)
{
    background-position: -500% 0;
}

.Gnavi ul li:nth-child(6):hover
{
    background-position: -500% -100%;
}

.Gnavi ul li:nth-child(7)
{
    background-position: -600% 0;
}

.Gnavi ul li:nth-child(7):hover
{
    background-position: -600% -100%;
}

#Song .Gnavi ul li:nth-child(5)
{
    margin-left: -4px;
}

.Top_miku
{
    position: absolute;

    -webkit-transition: 500ms;
            transition: 500ms;
}

@media screen and (min-width: 401px)
{
    .Top_miku
    {
        top: -20px;
        left: 370px;

        width: 883px;
        height: 1020px;

        -webkit-animation: TopCharaFromRight 950ms 620ms ease both;
                animation: TopCharaFromRight 950ms 620ms ease both;

        background-image: url('../img/top_miku.png');
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 100% auto;
    }
}

@-webkit-keyframes TopCharaFadein
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes TopCharaFadein
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@-webkit-keyframes TopCharaFromLeft
{
    0%
    {
        -webkit-transform: translateX(-20px);
                transform: translateX(-20px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);

        opacity: 1;
    }
}

@keyframes TopCharaFromLeft
{
    0%
    {
        -webkit-transform: translateX(-20px);
                transform: translateX(-20px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);

        opacity: 1;
    }
}

@-webkit-keyframes TopCharaFromRight
{
    0%
    {
        -webkit-transform: translateX(20px);
                transform: translateX(20px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);

        opacity: 1;
    }
}

@keyframes TopCharaFromRight
{
    0%
    {
        -webkit-transform: translateX(20px);
                transform: translateX(20px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);

        opacity: 1;
    }
}

@-webkit-keyframes TopCharaFromTop
{
    0%
    {
        -webkit-transform: translateY(-40px);
                transform: translateY(-40px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateY(0px);
                transform: translateY(0px);

        opacity: 1;
    }
}

@keyframes TopCharaFromTop
{
    0%
    {
        -webkit-transform: translateY(-40px);
                transform: translateY(-40px);

        opacity: 0;
    }
    100%
    {
        -webkit-transform: translateY(0px);
                transform: translateY(0px);

        opacity: 1;
    }
}

@media screen and (max-width: 400px)
{
    .Top_miku
    {
        top: 35px;
        left: 5px;

        width: 580px;
        height: 700px;

        -webkit-animation: TopCharaFromRight 950ms 620ms ease both;
                animation: TopCharaFromRight 950ms 620ms ease both;

        background-image: url('../img/top_miku.png');
        background-repeat: no-repeat;
        background-position: top bottom;
        background-size: 100% auto;
    }
}

.Logo
{
    position: absolute;
    top: 180px;
    left: 0;

    display: block;

    width: 574px;
    height: 245px;

    -webkit-animation: TopLogo 900ms both;
            animation: TopLogo 900ms both;
    -webkit-animation-delay: 1400ms;
            animation-delay: 1400ms;

    background-image: url('../img/logo.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@-webkit-keyframes TopLogo
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopLogo
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (max-width: 400px)
{
    .Logo
    {
        top: 190px;

        width: 250px;

        -webkit-animation-delay: 1800ms;
                animation-delay: 1800ms;

        background-image: asset('chara/catch_sp.png');
    }
}

.ReleaseDate
{
    position: absolute;
    top: 416px;
    left: 165px;

    display: block;

    width: 259px;
    height: 63px;

    -webkit-animation: TopDate 900ms both;
            animation: TopDate 900ms both;
    -webkit-animation-delay: 2000ms;
            animation-delay: 2000ms;

    background-image: url('../img/releasedate_pc.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@-webkit-keyframes TopDate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopDate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (max-width: 400px)
{
    .ReleaseDate
    {
        top: 300px;
        left: 50px;

        width: 150px;
    }
}

#News
{
    position: absolute;
    top: 635px;
}

.Update
{
    position: absolute;
    z-index: 0;

    -webkit-animation: TopUpdate 900ms both;
            animation: TopUpdate 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;

    -webkit-box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .2);
            box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .2);
}

@-webkit-keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (min-width: 401px)
{
    .Update
    {
        /*20220519*/
        top: 990px;
        /*20220519*/
        left: 0;

        width: 480px;
        padding: 15px 0;

        background: -webkit-gradient(linear, left top, right top, from(rgba(0, 255, 255, 0)), color-stop(20%, rgba(255, 255, 255, .85)), color-stop(40%, #fff), color-stop(50%, #fff), color-stop(60%, #fff), color-stop(80%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
        background: linear-gradient(to right, rgba(0, 255, 255, 0) 0%, rgba(255, 255, 255, .85) 20%, #fff 40%, #fff 50%, #fff 60%, rgba(255, 255, 255, .85) 80%, rgba(255, 255, 255, 0) 100%);
    }
}

@media screen and (max-width: 400px)
{
    .Update
    {
        /*20220519*/
        top: 788px;
        /*20220519*/
        left: 0;

        width: 400px;
        height: 130px;
        padding: 14px 0;

        background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .5)), color-stop(10%, rgba(255, 255, 255, .85)), color-stop(20%, rgba(255, 255, 255, .9)), color-stop(30%, rgba(255, 255, 255, .9)), color-stop(50%, rgba(255, 255, 255, .9)), color-stop(70%, rgba(255, 255, 255, .9)), color-stop(80%, rgba(255, 255, 255, .9)), color-stop(90%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, .5)));
        background: linear-gradient(to right, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .85) 10%, rgba(255, 255, 255, .9) 20%, rgba(255, 255, 255, .9) 30%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 70%, rgba(255, 255, 255, .9) 80%, rgba(255, 255, 255, .85) 90%, rgba(255, 255, 255, .5) 100%);
    }
}

.Update:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: block;

    width: 480px;
    height: 124px;

    content: '';

    -webkit-box-shadow: 0 -10px 10px -10px rgba(0, 0, 0, .2);
            box-shadow: 0 -10px 10px -10px rgba(0, 0, 0, .2);
}

.Update dl
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: auto;

    padding-bottom: 12px;
}

@media screen and (min-width: 401px)
{
    .Update dl
    {
        font-size: 85%;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;

        width: 490px;
        height: 134px;
        padding-left: 50px !important;
    }
}

@media screen and (max-width: 400px)
{
    .Update dl
    {
        font-size: 90%;

        overflow-y: scroll;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;

        width: 95%;
        height: 100px;
        padding-left: 10px;
    }
}

.Update dl::-webkit-scrollbar
{
    width: 15px;

    background-color: rgba(0, 0, 0, .5);
}

.Update dl::-webkit-scrollbar-thumb
{
    width: 15px;

    border-radius: 15px;
    background-color: #01c7ce;
}

.Update dl dt
{
    width: 80px;

    color: #1e1e1e;
}

@media screen and (min-width: 401px)
{
    .Update dl dt
    {
        line-height: 190%;

        padding-top: 10px;
    }
}

@media screen and (max-width: 400px)
{
    .Update dl dt
    {
        font-size: 90%;
        line-height: 150%;
    }
}

.Update dl dt:first-of-type
{
    padding-top: 0;
}

.Update dl dd
{
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;

    color: #1e1e1e;
}

@media screen and (min-width: 401px)
{
    .Update dl dd
    {
        line-height: 190%;

        width: 390px;
        margin-left: 1em;

        text-indent: -1em;
    }
}

@media screen and (max-width: 400px)
{
    .Update dl dd
    {
        line-height: 170%;

        width: 360px;
        margin-bottom: 10px;
    }
}

.Btn_Guide
{
    position: fixed;
    z-index: 0;

    -webkit-animation: TopGuide 600ms both;
            animation: TopGuide 600ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@-webkit-keyframes TopGuide
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopGuide
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (min-width: 401px)
{
    .Btn_Guide
    {
        right: 10px;
        bottom: 10px;

        width: 210px;
    }
}

@media screen and (max-width: 400px)
{
    .Btn_Guide
    {
        right: 0;
        bottom: 0;

        width: 170px;
        height: 70px;
    }
}

.btn_taikenban
{
    position: absolute;

    -webkit-animation: TopUpdate 900ms both;
            animation: TopUpdate 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@media screen and (min-width: 401px)
{
    .btn_taikenban
    {
        top: 715px;
        left: 134px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_taikenban
    {
        top: 538px;
        left: 62px;
    }
}

@keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

.btn_taikenban a
{
    font-size: 0;

    display: block;

    width: 319px;
    height: 70px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-image: url('../img/btn_taikenban.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
}

@media screen and (min-width: 401px)
{
    .btn_taikenban a
    {
        width: 319px;
        height: 70px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_taikenban a
    {
        width: 280px;
        height: 61px;
    }
}

.btn_taikenban a:hover
{
    background-image: url('../img/btn_taikenban.png');
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% auto;
}

.btn_manual
{
    position: absolute;

    -webkit-animation: TopUpdate 900ms both;
            animation: TopUpdate 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@media screen and (min-width: 401px)
{
    .btn_manual
    {
        top: 794px;
        left: 134px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_manual
    {
        top: 605px;
        left: 62px;
    }
}

@keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

.btn_manual a
{
    font-size: 0;

    display: block;

    width: 319px;
    height: 70px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-image: url('../img/btn_manual.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
}

@media screen and (min-width: 401px)
{
    .btn_manual a
    {
        width: 319px;
        height: 70px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_manual a
    {
        width: 280px;
        height: 61px;
    }
}

.btn_manual a:hover
{
    background-image: url('../img/btn_manual.png');
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% auto;
}

/*20220519*/

.btn_steam
{
    position: absolute;

    -webkit-animation: TopUpdate 900ms both;
            animation: TopUpdate 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@media screen and (min-width: 401px)
{
    .btn_steam
    {
        top: 866px;
        left: 134px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_steam
    {
        top: 672px;
        left: 62px;
    }
}

@keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

.btn_steam a
{
    font-size: 0;

    display: block;

    width: 319px;
    height: 70px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-image: url('../img/btn_steam.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
}

@media screen and (min-width: 401px)
{
    .btn_steam a
    {
        width: 319px;
        height: 70px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_steam a
    {
        width: 280px;
        height: 61px;
    }
}

.btn_steam a:hover
{
    background-image: url('../img/btn_steam.png');
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% auto;
}

/*20220519*/

.btn_touch
{
    position: absolute;

    -webkit-animation: TopUpdate 900ms both;
            animation: TopUpdate 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@media screen and (min-width: 401px)
{
    .btn_touch
    {
        /*20220519*/
        top: 940px;
        /*20220519*/
        left: 138px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_touch
    {
        /*20220519*/
        top: 738px;
        /*20220519*/
        left: 64px;
    }
}

@keyframes TopUpdate
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

.btn_touch a
{
    font-size: 0;

    display: block;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-image: url('../img/btn_touch.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 200%;
}

@media screen and (min-width: 401px)
{
    .btn_touch a
    {
        width: 317px;
        height: 40px;
    }
}

@media screen and (max-width: 400px)
{
    .btn_touch a
    {
        width: 280px;
        height: 40px;
    }
}

.btn_touch a:hover
{
    background-position: 0 100%;

    -webkit-filter: brightness(102%);
            filter: brightness(102%);
}

.bnr_tshirts
{
    position: absolute;

    -webkit-animation: TopHori 900ms both;
            animation: TopHori 900ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;

    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@-webkit-keyframes TopHori
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopHori
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@media screen and (min-width: 401px)
{
    .bnr_tshirts
    {
        top: 940px;
        right: 0;

        width: 470px;
    }
}

@media screen and (max-width: 400px)
{
    .bnr_tshirts
    {
        top: 895px;
        left: 10px;

        width: 380px;
    }
}

.Product
{
    background-color: rgba(16, 15, 16, .7);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Product
    {
        width: 1000px;
        height: 140px;
        margin: 70px auto 20px auto;

        border: solid 1px #65ffff;
        background-image: url('../img/product.png');
        background-repeat: no-repeat;
        background-position: center center;
    }
}

@media screen and (max-width: 400px)
{
    .Product
    {
        top: 675px;

        width: 380px;
        height: 316px;
        margin: 50px auto 20px auto;

        border: solid 2px #65ffff;
        background-image: url('../img/product_sp.png');
        background-repeat: no-repeat;
        background-position: center 16px;
        background-size: 94% auto;
    }
}

.Product-note
{
    font-size: 90%;

    margin: 0 0 70px 0;
    padding: 12px;

    background-color: rgba(255, 255, 255, .7);
}

@media screen and (max-width: 400px)
{
    .Product-note
    {
        margin: 0 10px 70px 10px;
    }
}

@media screen and (min-width: 401px)
{
    .Content_box
    {
        overflow: hidden;

        width: 1000px;
        height: auto;
        margin: 0 auto;
        padding: 30px;

        background-color: rgba(255, 255, 255, .92);
        -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .6);
                box-shadow: 0 0 12px 2px rgba(255, 255, 255, .6);
    }
}

@media screen and (max-width: 400px)
{
    .Content_box
    {
        width: 100%;
        height: auto;
        padding: 20px;

        background-color: rgba(255, 255, 255, .92);
        -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .6);
                box-shadow: 0 0 12px 2px rgba(255, 255, 255, .6);
    }
}

/* 限定版 */
@media screen and (min-width: 401px)
{
    .Limited
    {
        font-size: 110%;

        padding-top: 100px;
    }
}

@media screen and (max-width: 400px)
{
    .Limited
    {
        padding-top: 50px;
    }
}

.Limited h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Limited h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 0 auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Limited h2
    {
        font-size: 140%;

        margin: 0 0 15px 0;
        padding: 20px 0;

        background-size: 14px 14px;
    }
}

.Limited h2 span
{
    line-height: 1.2em;

    display: block;
}

.Limited-item li
{
    margin-left: 1em;

    text-indent: -1em;
}

/* 早期購入 */
@media screen and (min-width: 401px)
{
    .Early
    {
        font-size: 110%;

        padding-top: 100px;
    }
}

@media screen and (max-width: 400px)
{
    .Early
    {
        padding-top: 50px;
    }
}

.Early h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Early h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 0 auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Early h2
    {
        font-size: 160%;
        line-height: 1.2em;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Early-Imagebox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.Early-Imagebox li
{
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Early-Imagebox li
    {
        width: 85%;
        margin: 0 auto 1% auto;

        border: solid 1px #65ffff;
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

@media screen and (max-width: 400px)
{
    .Early-Imagebox li
    {
        width: 360px;
        margin-bottom: 30px;
        padding: 10px;

        border: solid 2px #65ffff;
        background-color: rgba(20, 85, 87, .6);
    }
}

@media screen and (min-width: 401px)
{
    .Early-Imagebox li dl
    {
        padding: 18px;
    }
}

.Early-Imagebox li dl dt
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

@media screen and (min-width: 401px)
{
    .Early-Imagebox li dl dt
    {
        width: 100%;
        height: 28px;
        margin-bottom: 14px;
    }
}

@media screen and (max-width: 400px)
{
    .Early-Imagebox li dl dt
    {
        width: 100%;
        height: 44px;
        margin-bottom: 10px;
    }
}

.Early-Imagebox li dl dd
{
    text-align: center;

    color: #fff;
}

.Early-Imagebox li dl dd ul.Early-Imagebox-jacket
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

@media screen and (min-width: 401px)
{
    .Early-Imagebox li dl dd ul.Early-Imagebox-jacket
    {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;

        width: 100% !important;
        margin: 0 auto 10px auto;
    }
}

@media screen and (max-width: 400px)
{
    .Early-Imagebox li dl dd ul.Early-Imagebox-jacket
    {
        padding-top: 10px;
    }
}

@media screen and (min-width: 401px)
{
    .Early-Imagebox li dl dd ul.Early-Imagebox-jacket li
    {
        width: 49% !important;
        margin: 0 0 2% 0;

        border: none;
        background-color: transparent;
    }
}

@media screen and (max-width: 400px)
{
    .Early-Imagebox li dl dd ul.Early-Imagebox-jacket li
    {
        width: 80%;
        margin: 10px auto 20px auto;
        padding: 0;

        border: none;
        background-color: transparent;
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

/* DLC */
@media screen and (min-width: 401px)
{
    .Download
    {
        font-size: 110%;

        padding-top: 100px;
    }
}

@media screen and (max-width: 400px)
{
    .Download
    {
        padding-top: 50px;
    }
}

.Download h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Download h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 0 auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Download h2
    {
        font-size: 160%;
        line-height: 1.2em;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Download .Download-image
{
    margin: 0 auto 30px auto;

    border: solid 1px #65ffff;
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Download .Download-image
    {
        width: 85%;
        padding: 18px;
    }
}

@media screen and (max-width: 400px)
{
    .Download .Download-image
    {
        width: 100%;
        padding: 10px;
    }
}

.Download .Download-image img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Download .Download-image img
    {
        width: 600px;
    }
}

@media screen and (max-width: 400px)
{
    .Download .Download-image img
    {
        width: 100%;
    }
}

/* 遊び方 */
@media screen and (min-width: 401px)
{
    .Play
    {
        font-size: 110%;

        margin-top: 310px;
        padding-top: 60px;
    }
}

@media screen and (max-width: 400px)
{
    .Play
    {
        margin-top: 305px;
        padding-top: 50px;
    }
}

.Play h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Play h2
    {
        font-size: 180%;

        margin: 0 0 25px 0;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Play h2
    {
        font-size: 160%;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Play-Imagebox
{
    font-weight: bold;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.Play-Imagebox li
{
    text-align: center;
}

@media screen and (min-width: 401px)
{
    .Play-Imagebox li
    {
        width: 46%;
        margin: 0 2% 2% 2%;
    }
}

@media screen and (max-width: 400px)
{
    .Play-Imagebox li
    {
        width: 360px;
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 401px)
{
    .Play-Imagebox li:nth-of-type(odd)
    {
        margin-right: 2%;
    }
}

.Play-Imagebox li img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

.Play-Imagebox .Play-Mode
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 600;

    margin: 0 0 20px 0;

    text-align: center;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Play-Imagebox .Play-Mode
    {
        font-size: 115%;

        padding: 12px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

@media screen and (max-width: 400px)
{
    .Play-Imagebox .Play-Mode
    {
        font-size: 110%;

        padding: 8px 0 8px 0;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

.Play-Imagebox .Play-Image
{
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Play-Imagebox .Play-Image
    {
        width: 100%;
        margin-bottom: 2%;
        padding: 18px;

        border: solid 1px #65ffff;
    }
}

@media screen and (max-width: 400px)
{
    .Play-Imagebox .Play-Image
    {
        width: 360px;
        margin-bottom: 20px;
        padding: 10px;

        border: solid 2px #65ffff;
        background-color: rgba(20, 85, 87, .6);
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

.Play-movie
{
    font-weight: bold;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (min-width: 401px)
{
    .Play-movie iframe
    {
        height: 315px;
    }
}

@media screen and (max-width: 400px)
{
    .Play-movie iframe
    {
        height: 190px;
    }
}

.Play-movie li
{
    text-align: center;
}

@media screen and (min-width: 401px)
{
    .Play-movie li
    {
        width: 65%;
        margin: 0 2% 2% 2%;
    }
}

@media screen and (max-width: 400px)
{
    .Play-movie li
    {
        width: 360px;
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 401px)
{
    .Play-movie li:nth-of-type(odd)
    {
        margin-right: 2%;
    }
}

.Play-movie li img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

.Play-movie .Play-Mode
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 600;

    margin: 0 0 20px 0;

    text-align: center;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Play-movie .Play-Mode
    {
        font-size: 115%;

        padding: 12px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

@media screen and (max-width: 400px)
{
    .Play-movie .Play-Mode
    {
        font-size: 110%;

        padding: 8px 0 8px 0;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

.Play-movie .Play-Image
{
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Play-movie .Play-Image
    {
        width: 100%;
        margin-bottom: 2%;
        padding: 18px;

        border: solid 1px #65ffff;
    }
}

@media screen and (max-width: 400px)
{
    .Play-movie .Play-Image
    {
        width: 360px;
        margin-bottom: 20px;
        padding: 10px;

        border: solid 2px #65ffff;
        background-color: rgba(20, 85, 87, .6);
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

/* モジュール */
@media screen and (min-width: 401px)
{
    .Module
    {
        font-size: 110%;

        padding-top: 100px;
    }
}

@media screen and (max-width: 400px)
{
    .Module
    {
        padding-top: 50px;
    }
}

.Module h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Module h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 0 auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Module h2
    {
        font-size: 160%;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Module h3
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 600;

    text-align: center;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Module h3
    {
        font-size: 130%;

        margin: 0 0 20px 0;
        padding: 12px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

@media screen and (max-width: 400px)
{
    .Module h3
    {
        font-size: 110%;

        margin: 0 0 20px 0;
        padding: 8px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

.Module-Imagebox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 400px)
{
    .Module-Imagebox
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

@media screen and (min-width: 401px)
{
    .Module-Imagebox .Design
    {
        width: 65%;
    }
}

@media screen and (max-width: 400px)
{
    .Module-Imagebox .Design
    {
        width: 100%;
    }
}

@media screen and (min-width: 401px)
{
    .Module-Imagebox .Model
    {
        width: 30%;
        padding: 50px 10px 0 10px;
    }
}

@media screen and (max-width: 400px)
{
    .Module-Imagebox .Model
    {
        width: 100%;
        margin: 0 auto;
    }
}

.Module-Imagebox div
{
    text-align: center;

    background-color: rgba(255, 255, 255, .5);
}

@media screen and (min-width: 401px)
{
    .Module-Imagebox div
    {
        font-size: 80%;
        line-height: 150%;

        width: auto;
        height: 560px;
        margin: 0 auto 2% auto;
        padding: 10px 15px 10px 15px;

        border: solid 1px #65ffff;
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

@media screen and (max-width: 400px)
{
    .Module-Imagebox div
    {
        width: 360px;
        margin-bottom: 20px;
        padding: 10px;

        border: solid 2px #65ffff;
    }
}

.Module-Imagebox div img
{
    width: auto;
    max-height: 100%;
}

@media screen and (min-width: 401px)
{
    div .Model img
    {
        display: inline-block;

        padding: 0 20px 5px 20px;
    }
}

@media screen and (max-width: 400px)
{
    div .Model img
    {
        width: 50%;
        height: auto;
    }
}

@media screen and (min-width: 401px)
{
    div .Design img
    {
        display: inline-block;

        padding: 0 0 30px 0;
    }
}

/* 楽曲 */
@media screen and (min-width: 401px)
{
    .Song
    {
        padding-top: 100px;
    }
}

@media screen and (max-width: 400px)
{
    .Song
    {
        padding-top: 50px;
    }
}

.Song h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;
    letter-spacing: .05em;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Song h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 0 auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Song h2
    {
        font-size: 160%;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Song h3
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 600;

    text-align: center;
    letter-spacing: .05em;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Song h3
    {
        font-size: 130%;

        margin: 0 0 20px 0;
        padding: 12px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

@media screen and (max-width: 400px)
{
    .Song h3
    {
        font-size: 110%;

        margin: 0 0 20px 0;
        padding: 8px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

.Songlist
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.Songlist li
{
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Songlist li
    {
        width: 48%;
        margin-bottom: 2%;

        border: solid 1px #65ffff;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li
    {
        width: 360px;
        margin-bottom: 20px;

        border: solid 2px #65ffff;
        background-color: rgba(20, 85, 87, .6);
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

@media screen and (min-width: 401px)
{
    .Songlist li:nth-of-type(odd)
    {
        margin-right: 2%;
    }
}

@media screen and (min-width: 401px)
{
    .Songlist li dl
    {
        padding: 18px;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li dl
    {
        padding: 10px;
    }
}

.Songlist li dl dt
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

@media screen and (min-width: 401px)
{
    .Songlist li dl dt
    {
        width: 100%;
        height: 48px;
        margin-bottom: 14px;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li dl dt
    {
        width: 100%;
        height: 44px;
        margin-bottom: 10px;
    }
}

@media screen and (min-width: 401px)
{
    .Songlist li dl.Songlist_01 dt
    {
        background: url('../img/songlist_title_01.png') left top no-repeat;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li dl.Songlist_01 dt
    {
        background: url('../img/songlist_title_01_sp.png') left top no-repeat;
        background-size: auto 40px;
    }
}

@media screen and (min-width: 401px)
{
    .Songlist li dl.Songlist_02 dt
    {
        background: url('../img/songlist_title_02.png') left top no-repeat;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li dl.Songlist_02 dt
    {
        background: url('../img/songlist_title_02_sp.png') left top no-repeat;
        background-size: auto 40px;
    }
}

@media screen and (min-width: 401px)
{
    .Songlist li dl.Songlist_04 dt
    {
        background: url('../img/songlist_title_04.png') left top no-repeat;
    }
}

@media screen and (max-width: 400px)
{
    .Songlist li dl.Songlist_04 dt
    {
        background: url('../img/songlist_title_04_sp.png') left top no-repeat;
        background-size: auto 41px;
    }
}

.Songlist li dd img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

/* 新規楽曲 */
.Newsongs
{
    padding-top: 70px;
}

.Newsongs h2
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

@media screen and (min-width: 401px)
{
    .Newsongs h2
    {
        width: 100%;
        height: 80px;

        background: url('../img/title_newsongs.png') center top no-repeat;
    }
}

@media screen and (max-width: 400px)
{
    .Newsongs h2
    {
        width: 100%;
        height: 54px;

        background: url('../img/title_newsongs_sp.png') center top no-repeat;
        background-size: auto 40px;
    }
}

.Newsongs h3
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

@media screen and (min-width: 401px)
{
    .Newsongs h3
    {
        width: 100%;
        height: 40px;

        background: url('../img/title_songlist.png') left top no-repeat;
        background-size: auto auto;
    }
}

@media screen and (max-width: 400px)
{
    .Newsongs h3
    {
        width: 100%;
        height: 62px;

        background: url('../img/title_about_sp.png') 20px 20px no-repeat;
        background-size: auto 40px, 100% auto;
    }
}

.NewSonglist
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.NewSonglist li
{
    background-color: rgba(20, 85, 87, .6);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .NewSonglist li
    {
        width: 98%;
        margin: 0 auto 3% auto;

        border: solid 1px #65ffff;
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li
    {
        width: 360px;
        margin-bottom: 30px;
        padding: 10px;

        border: solid 2px #65ffff;
        background-color: rgba(20, 85, 87, .6);
    }
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl
    {
        padding: 18px;
    }
}

.NewSonglist li dl dt
{
    font-size: 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl dt
    {
        width: 100%;
        height: 28px;
        margin-bottom: 14px;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl dt
    {
        width: 100%;
        height: 44px;
        margin-bottom: 10px;
    }
}

.NewSonglist li dl dd
{
    text-align: center;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl dd
    {
        font-size: 92%;
    }
}

.NewSonglist li dl dd ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl dd ul
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

.NewSonglist li dl dd li
{
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl dd li
    {
        width: 49%;
        margin: 0 auto 2% auto;

        background-color: transparent;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl dd li
    {
        width: 100%;
        margin-bottom: 20px;
        padding: 0;

        background-color: transparent;
    }
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl dd li:nth-of-type(odd)
    {
        margin-right: 2%;
    }
}

.NewSonglist li dl dd li img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_01 dt
    {
        background-image: url('../img/newsongs_title_01.png'), url('../img/newsongs_artist_01.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_01 dt
    {
        background: url('../img/newsongs_title_01_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_02 dt
    {
        background-image: url('../img/newsongs_title_02.png'), url('../img/newsongs_artist_02.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_02 dt
    {
        background: url('../img/newsongs_title_02_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_02 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_03 dt
    {
        background-image: url('../img/newsongs_title_03.png'), url('../img/newsongs_artist_03.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_03 dt
    {
        background: url('../img/newsongs_title_03_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_03 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_04 dt
    {
        background-image: url('../img/newsongs_title_04.png'), url('../img/newsongs_artist_04.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_04 dt
    {
        background: url('../img/newsongs_title_04_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_04 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_05 dt
    {
        background-image: url('../img/newsongs_title_05.png'), url('../img/newsongs_artist_05.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_05 dt
    {
        background: url('../img/newsongs_title_05_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_05 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_06 dt
    {
        background-image: url('../img/newsongs_title_06.png'), url('../img/newsongs_artist_06.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_06 dt
    {
        background: url('../img/newsongs_title_06_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_06 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_07 dt
    {
        background-image: url('../img/newsongs_title_07.png'), url('../img/newsongs_artist_07.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_07 dt
    {
        background: url('../img/newsongs_title_07_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_07 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_08 dt
    {
        background-image: url('../img/newsongs_title_08.png'), url('../img/newsongs_artist_08.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_08 dt
    {
        background: url('../img/newsongs_title_08_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_08 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_09 dt
    {
        background-image: url('../img/newsongs_title_09.png'), url('../img/newsongs_artist_09.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_09 dt
    {
        background: url('../img/newsongs_title_09_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_09 rt
{
    font-size: 70%;
}

@media screen and (min-width: 401px)
{
    .NewSonglist li dl.NewSonglist_10 dt
    {
        background-image: url('../img/newsongs_title_10.png'), url('../img/newsongs_artist_10.png');
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
    }
}

@media screen and (max-width: 400px)
{
    .NewSonglist li dl.NewSonglist_10 dt
    {
        background: url('../img/newsongs_title_10_sp.png') left top no-repeat;
        background-size: auto 44px;
    }
}

.NewSonglist li dl.NewSonglist_10 rt
{
    font-size: 70%;
}

.Newsongs_text
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    width: 100%;
    height: 40px;

    text-align: center;

    color: #009fa5;
}

@media screen and (min-width: 401px)
{
    .Newsongs_text
    {
        font-size: 180%;

        margin: 0 0 30px 0;
    }
}

@media screen and (max-width: 400px)
{
    .Newsongs_text
    {
        font-size: 145%;

        width: 100%;
        height: 40px;
        margin: 0 0 30px 0;
    }
}

/* 動画　*/
.Dojo
{
    -webkit-animation: TopDojo 600ms both;
            animation: TopDojo 600ms both;
    -webkit-animation-delay: 2600ms;
            animation-delay: 2600ms;
}

@-webkit-keyframes TopDojo
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

@keyframes TopDojo
{
    0%
    {
        opacity: .0;
    }
    100%
    {
        opacity: 1.0;
    }
}

.Dojo-movie-list
{
    position: absolute;

    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Dojo-movie-list
    {
        top: 510px;
        left: 140px;

        width: 302px;
        height: 175px;
    }
}

@media screen and (max-width: 400px)
{
    .Dojo-movie-list
    {
        z-index: 3;
        top: 370px;
        left: 10px;

        width: 190px;
        height: 135px;
    }
}

.Dojo-movie-list-content
{
    padding: 4px;

    background: -webkit-gradient(linear, left top, right top, from(#77e8da), color-stop(33%, #f3ff62), color-stop(66%, #f3ff62), to(#ff79c8));
    background: linear-gradient(to right, #77e8da 0%, #f3ff62 33%, #f3ff62 66%, #ff79c8 100%);
}

@media screen and (min-width: 401px)
{
    .Dojo-movie-list-btn
    {
        position: relative;

        overflow: hidden;

        width: 100%;
        height: 175px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 400px)
{
    .Dojo-movie-list-btn
    {
        position: relative;

        display: block;
        overflow: hidden;

        width: 100%;
        height: 135px;
    }
}

.Dojo-movie-list-btn a
{
    display: block;

    width: 100%;
    height: 175px;
}

@media screen and (max-width: 400px)
{
    .Dojo-movie-list-btn a
    {
        height: 135px;
    }
}

@media screen and (min-width: 401px)
{
    .Dojo-movie-list-btn img
    {
        margin-top: -23px;
    }
}

@media screen and (min-width: 401px)
{
    .Dojo-movie-list-btn::before
    {
        position: absolute;
        top: 0;

        display: block;

        width: 302px;
        height: 175px;

        content: '';

        background-image: url('../img/dojo_btn.png');
        background-position: 0 0;
        background-size: 100% 200%;
    }
}

@media screen and (max-width: 400px)
{
    .Dojo-movie-list-btn::before
    {
        position: absolute;
        top: 0;

        display: block;

        width: 100%;
        height: 135px;

        content: '';

        background-image: url('../img/dojo_btn.png');
        background-position: 0 0;
        background-size: 100% 200%;
    }
}

@media screen and (min-width: 401px)
{
    .Dojo-movie-list-btn:hover::before
    {
        position: absolute;

        display: block;

        width: 302px;
        height: 175px;

        background-image: url('../img/dojo_btn.png');
        background-position: 0 100%;
    }
}

/* 購入ガイド */
@media screen and (min-width: 401px)
{
    .Guide-Logo
    {
        width: 460px;
        height: 180px;
        margin: 20px auto 0 auto;

        background-image: url('../img/logo.png');
        background-repeat: no-repeat;
        background-size: 100% auto;
    }
    .Guide-Logo a
    {
        display: block;

        width: 460px;
        height: 180px;
    }
}

@media screen and (max-width: 400px)
{
    .Guide-Logo
    {
        width: 300px;
        height: 120px;
        margin: 20px auto 0 auto;

        background-image: url('../img/logo.png');
        background-repeat: no-repeat;
        background-size: 100% auto;
    }
    .Guide-Logo a
    {
        display: block;

        width: 300px;
        height: 120px;
    }
}

@media screen and (min-width: 401px)
{
    .Guide
    {
        padding: 80px 0;
    }
}

@media screen and (max-width: 400px)
{
    .Guide
    {
        padding: 20px 0 30px 0;
    }
}

.Guide h2
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    text-align: center;

    color: #fff;
    background: linear-gradient(-45deg, #ff58a5 25%, #fe65b7 25%, #fe65b7 50%, #ff58a5 50%, #ff58a5 75%, #fe65b7 75%, #fe65b7);
    -webkit-box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
            box-shadow: 0 0 12px 2px rgba(255, 255, 255, .8);
}

@media screen and (min-width: 401px)
{
    .Guide h2
    {
        font-size: 180%;

        width: 1000px;
        margin: 20px auto 25px auto;
        padding: 25px;

        background-size: 16px 16px;
    }
}

@media screen and (max-width: 400px)
{
    .Guide h2
    {
        font-size: 160%;

        margin: 0 0 15px 0;
        padding: 20px;

        background-size: 14px 14px;
    }
}

.Guide h3
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 600;

    text-align: center;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Guide h3
    {
        font-size: 130%;

        margin: 0 0 20px 0;
        padding: 12px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

@media screen and (max-width: 400px)
{
    .Guide h3
    {
        font-size: 120%;

        margin: 0 0 20px 0;
        padding: 8px;

        background: linear-gradient(-45deg, #01c7ce 25%, #0dd0d7 25%, #0dd0d7 50%, #01c7ce 50%, #01c7ce 75%, #0dd0d7 75%, #0dd0d7);
        background-size: 12px 12px;
    }
}

.Guidelist
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.Guidelist > li
{
    position: relative;

    background-color: rgba(16, 15, 16, .5);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Guidelist > li
    {
        width: 48%;
        min-height: 515px;
        margin-bottom: 2%;

        border: solid 1px #65ffff;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li
    {
        width: 360px;
        min-height: 430px;
        margin-bottom: 20px;

        border: solid 2px #65ffff;
        background-color: rgba(16, 15, 16, .5);
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li.line2
    {
        height: 540px;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li.line3
    {
        height: 565px;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li.line4
    {
        height: 590px;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li:nth-of-type(odd)
    {
        margin-right: 2%;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl
    {
        padding: 18px;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl
    {
        padding: 10px;
    }
}

.Guidelist > li dl dt
{
    font-family: 'M PLUS 1p','Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 800;

    color: #fff;
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dt
    {
        font-size: 150%;

        width: 100%;
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dt
    {
        font-size: 120%;

        width: 100%;
        margin-bottom: 10px;
    }
}

.Guidelist > li dl dd
{
    color: #fff;
}

.Guidelist > li dl dd.Guide-item
{
    font-size: 110%;

    text-align: left;
}

.Guidelist > li dl dd.Guide-image
{
    text-align: center;
}

.Guidelist > li dl dd.Guide-image span
{
    font-family: 'Montserrat','Helvetica Neue','メイリオ','Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-weight: 200;

    color: rgba(255, 255, 255, .5);
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-image span
    {
        font-size: 250%;

        position: absolute;
        right: 0;
        bottom: 230px;
        left: 0;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-image span
    {
        font-size: 220%;

        display: block;

        min-height: 270px;
        padding-top: 35%;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-image img
    {
        position: absolute;
        bottom: 80px;
        left: 24px;

        width: 90%;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-image img
    {
        width: 95%;
        margin: 10px 0 0 0;
    }
}

.Guidelist > li dl dd.Guide-wear
{
    text-align: center;
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-wear
    {
        position: absolute;
        right: 0;
        bottom: 430px;
        left: 0;

        width: 100%;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-wear
    {
        width: 100%;
        margin: 10px auto 0 auto;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-link
    {
        position: absolute;
        bottom: 10px;

        width: 92%;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link
    {
        width: 100%;
        margin: 20px auto 0 auto;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul.Reverse
    {
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul.Reverse .Reverse-1
    {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul.Reverse .Reverse-2
    {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul.Reverse .Reverse-3
    {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
}

.Guidelist > li dl dd.Guide-link ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

.Guidelist > li dl dd.Guide-link ul > li
{
    position: relative;
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-link ul > li
    {
        width: 24%;
        margin: 0 1%;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul > li
    {
        width: 48%;
        margin: 0 1% 2% 1%;
    }
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-link ul > li.Guide-link-2
    {
        width: 45%;
        margin: 0 1%;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul > li.Guide-link-2
    {
        width: 80%;
    }
}

.Guidelist > li dl dd.Guide-link ul > li a
{
    font-size: 80%;
    line-height: 1.6em;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    width: 100%;
    padding: 8px 6px 4px 0;

    text-decoration: none;

    color: #fff;
    border: solid 2px #0c8e93;
    border-radius: 6px;
    background-color: #00b5bb;
}

@media screen and (min-width: 401px)
{
    .Guidelist > li dl dd.Guide-link ul > li a
    {
        height: 54px;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist > li dl dd.Guide-link ul > li a
    {
        height: 44px;
    }
}

.Guidelist > li dl dd.Guide-link ul > li a > strong
{
    font-size: 130%;

    display: block;
}

.Guidelist > li dl dd.Guide-link ul > li a:after
{
    font-size: 80%;

    position: absolute;
    top: 40%;
    right: 1%;

    display: block;

    width: 10px;
    height: 10px;

    content: '▲';
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);

    color: #fff;
}

.Guidelist > li dl dd img
{
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

.Guidelist li.Wear
{
    position: relative;

    background-color: rgba(16, 15, 16, .5);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .Guidelist li.Wear
    {
        width: 80%;
        min-height: 515px;
        margin-bottom: 2%;

        border: solid 1px #65ffff;
    }
}

@media screen and (max-width: 400px)
{
    .Guidelist li.Wear
    {
        width: 360px;
        min-height: 430px;
        margin-bottom: 20px;

        border: solid 2px #65ffff;
        background-color: rgba(16, 15, 16, .5);
        -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
    }
}

.Guide-wear a
{
    font-size: 90%;

    position: relative;

    display: inline-block;

    padding: 0 24px 0 20px;

    text-decoration: none;

    color: #fff;
    border: solid 3px #cb3885;
    border-radius: 18px;
    background-color: #f5549f;
}

.Guide-wear a:after
{
    font-size: 40%;

    position: absolute;
    top: 0;
    right: 3px;

    display: block;

    content: '▲';
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

.Notes li
{
    margin-left: 1em;

    text-indent: -1em;
}

/*　フッター　*/
.MikuLink
{
    text-align: center;

    background-color: rgba(11, 41, 39, .4);
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 401px)
{
    .MikuLink
    {
        padding: 20px;
    }
}

@media screen and (max-width: 400px)
{
    .MikuLink
    {
        padding: 20px 0 4px 0;
    }
}

@media screen and (min-width: 401px)
{
    .MikuLink img
    {
        margin: 0 6px;
    }
}

@media screen and (max-width: 400px)
{
    .MikuLink img
    {
        width: 46%;
        margin: 0 2% 4% 2%;
    }
}

footer
{
    width: 100%;
    margin: 0 auto;
    padding: 20px 0 40px 0;

    color: #fff;
    background: linear-gradient(-45deg, #444 25%, #424242 0, #424242 50%, #444 0, #444 75%, #424242 0, #424242);
    background-attachment: fixed;
    background-size: 20px 20px;
}

footer .FooterContent
{
    font-size: 80%;
    line-height: 180%;

    text-align: center;
}

@media screen and (max-width: 400px)
{
    footer .FooterContent
    {
        padding: 0 10px;

        text-align: left;
    }
}

footer .FooterLogo
{
    padding: 20px 0 0 0;

    text-align: center;
}

footer .FooterLogo img
{
    margin: 0 10px;
}

footer .FooterLogo img.sega
{
    width: 98px;
    height: auto;
}

footer .FooterLogo img.hatsunemiku
{
    width: 110px;
    height: auto;
}

@media screen and (max-width: 400px)
{
    footer .FooterLogo
    {
        padding: 20px 0 40px 0;
    }
}

.SNS
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    width: 100%;
    height: auto;
    margin: 0 auto 20px auto;
}

.icon
{
    font-size: 12px;

    display: block;

    width: 46px;
    height: 46px;
    margin: 5px;

    background-image: url('../img/sns_icon.png');
    background-size: 300% 100%;
}

.snsButton
{
    display: inline-block;

    width: 100%;
    height: 100%;
}

.icon a:hover
{
    -webkit-filter: brightness(120%);
            filter: brightness(120%);
}

.SNS-tw
{
    font-size: 0;

    margin: 14px 5px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-position: -100% 0;
}

.SNS-fa
{
    font-size: 0;

    margin: 14px 5px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-position: -300% 0;
}

.SNS-li
{
    font-size: 0;

    margin: 14px 5px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background-position: -200% 0;
}

.header
{
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;

    width: 60px;
    height: 60px;
}

.global-nav
{
    position: fixed;
    z-index: 200;
    /* これで隠れる */
    top: 0;
    right: -430px;

    overflow: hidden;

    width: 410px;
    /* スマホに収まるくらい */
    height: 110vh;
    padding-top: 40px;

    -webkit-transition: all .6s;
            transition: all .6s;

    background-color: rgba(255, 255, 255, .8);
    /* メニューが多くなったらスクロールできるように */
}

.hamburger
{
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;

    width: 60px;
    /* クリックしやすいようにちゃんと幅を指定する */
    height: 60px;
    /* クリックしやすいようにちゃんと高さを指定する */

    cursor: pointer;
}

.global-nav__list
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.global-nav__item
{
    padding: 0 14px;

    text-align: center;
}

.global-nav__item img
{
    width: 220px;
}

.global-nav__item a
{
    display: block;

    padding: 6px 0;

    text-decoration: none;
}

.hamburger__line
{
    position: absolute;
    left: 11px;

    width: 18px;
    height: 1px;

    -webkit-transition: all .6s;
            transition: all .6s;

    background-color: #111;
}

.black-bg
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    visibility: hidden;

    width: 100vw;
    height: 110vh;

    cursor: pointer;
    -webkit-transition: all .6s;
            transition: all .6s;

    opacity: 0;
}

/* 表示された時用のCSS */
.nav-open .global-nav
{
    right: 0;
}

.nav-open .black-bg
{
    visibility: visible;

    opacity: .8;
}

/* 下層ページ */
@media screen and (min-width: 401px)
{
    .Content-inner
    {
        width: 900px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 400px)
{
    .Content-inner
    {
        width: 100%;
        padding: 0 20px 0 20px;
    }
}

.T-shirt-Screen
{
    width: 97%;
    margin: 0 auto 3% auto;
    padding: 20px 20px 0 20px;

    color: #1e1e1e;
    border-top: solid 4px #76e6ea;
    border-bottom: solid 4px #76e6ea;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1);
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1);
}

@media screen and (max-width: 400px)
{
    .T-shirt-Screen
    {
        width: 360px;
        padding: 10px;
    }
}

.T-shirt-Screen-text
{
    width: 650px;
    margin: 20px auto;
    padding-bottom: 10px;
}

@media screen and (max-width: 400px)
{
    .T-shirt-Screen-text
    {
        width: 100%;
        margin: 20px auto 0 auto;
    }
}

#T-shirt
{
    position: relative;
}

@media screen and (min-width: 401px)
{
    #T-shirt
    {
        padding-top: 120px;
    }
}

@media screen and (max-width: 400px)
{
    #T-shirt
    {
        padding-top: 60px;
    }
}

#T-shirt h2
{
    position: relative;

    display: block;

    padding: 15px 0;

    text-align: center;
}

@media screen and (min-width: 401px)
{
    #T-shirt h2
    {
        width: 100%;
        height: 66px;
        margin: 0 auto 30px auto;

        background: linear-gradient(-225deg, transparent 12px, #f150af 12px), linear-gradient(#f150af 0%, #f150af 100%), linear-gradient(-45deg, #f150af 12px, #f150af 12px), linear-gradient(#f150af 0%, #f150af 100%);
        background-repeat: no-repeat;
        background-position: top left, bottom left, bottom right, top right;
        background-size: 50.1% 50.1%;
    }
}

@media screen and (max-width: 400px)
{
    #T-shirt h2
    {
        width: 100%;
        height: 70px;
        margin: 0 0 20px 0;

        border-top: solid 4px rgba(255, 255, 255, .8);
        background-color: #f150af;
    }
}

#T-shirt h2 img
{
    position: absolute;
    right: 0;
    left: 0;

    margin: 0 auto;
}

@media screen and (min-width: 401px)
{
    #T-shirt h2 img
    {
        width: auto;
        height: 40px;
    }
}

@media screen and (max-width: 400px)
{
    #T-shirt h2 img
    {
        width: auto;
        height: 40px;
    }
}

#T-shirt h2:before
{
    position: absolute;
    top: 0;
    left: 16px;

    display: block;

    width: 994px;
    height: 66px;

    content: '';

    background: linear-gradient(-45deg, transparent 25%, #f25eb5 25%, #f25eb5 50%, transparent 50%, transparent 75%, #f25eb5 75%, #f25eb5);
    background-attachment: scroll;
    background-size: 100px 100px;
}

#T-shirt h2:after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 64px;

    content: '';

    background-image: url(../img/title_bg_leftbottom.png);
    background-repeat: no-repeat;
    background-position: left top;
}

#Twitter
{
    position: relative;
}

@media screen and (min-width: 401px)
{
    #Twitter
    {
        padding-top: 120px;
    }
}

@media screen and (max-width: 400px)
{
    #Twitter
    {
        padding-top: 60px;
    }
}

#Twitter h2
{
    position: relative;

    display: block;

    padding: 15px 0;

    text-align: center;
}

@media screen and (min-width: 401px)
{
    #Twitter h2
    {
        width: 100%;
        height: 115px;
        margin: 0 auto 30px auto;

        background: linear-gradient(-225deg, transparent 12px, #f150af 12px), linear-gradient(#f150af 0%, #f150af 100%), linear-gradient(-45deg, #f150af 12px, #f150af 12px), linear-gradient(#f150af 0%, #f150af 100%);
        background-repeat: no-repeat;
        background-position: top left, bottom left, bottom right, top right;
        background-size: 50.1% 50.1%;
    }
}

@media screen and (max-width: 400px)
{
    #Twitter h2
    {
        width: 100%;
        height: 135px;
        margin: 0 0 20px 0;

        border-top: solid 4px rgba(255, 255, 255, .8);
        background-color: #f150af;
    }
}

#Twitter h2 img
{
    position: absolute;
    right: 0;
    left: 0;

    margin: 0 auto;
}

@media screen and (min-width: 401px)
{
    #Twitter h2 img
    {
        width: auto;
        height: 86px;
    }
}

@media screen and (max-width: 400px)
{
    #Twitter h2 img
    {
        width: 86%;
        height: auto;
    }
}

#Twitter h2:before
{
    position: absolute;
    top: 0;
    left: 16px;

    display: block;

    width: 994px;
    height: 114px;

    content: '';

    background: linear-gradient(-45deg, transparent 25%, #f25eb5 25%, #f25eb5 50%, transparent 50%, transparent 75%, #f25eb5 75%, #f25eb5);
    background-attachment: scroll;
    background-size: 100px 100px;
}

@media screen and (max-width: 400px)
{
    #Twitter h2:before
    {
        height: 130px;
    }
}

#Twitter h2:after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 64px;

    content: '';

    background-image: url(../img/title_bg_leftbottom.png);
    background-repeat: no-repeat;
    background-position: left top;
}

@media screen and (max-width: 400px)
{
    #Twitter h2:after
    {
        display: none;
    }
}

@media screen and (min-width: 401px)
{
    .pc_only
    {
        display: block;
    }
}

@media screen and (max-width: 400px)
{
    .pc_only
    {
        display: none;
    }
}

@media screen and (min-width: 401px)
{
    .sp_only
    {
        display: none;
    }
}

@media screen and (max-width: 400px)
{
    .sp_only
    {
        display: block;
    }
}

.TwitterPresent
{
    font-size: 110%;

    margin-bottom: 15px;
}

.TwitterPresent li
{
    font-size: 100%;

    display: inline-block;

    margin-left: 1em;

    text-indent: -1em;
}

@media screen and (min-width: 401px)
{
    .TwitterPresent li
    {
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 400px)
{
    .TwitterPresent li
    {
        margin-bottom: 20px;
    }
}

.TwitterPresent li:last-of-type
{
    margin-bottom: 0;
}

.TwitterPresent .person
{
    font-size: 80%;
    line-height: 100%;

    display: inline-block;

    width: 60px;
    padding: 6px 6px 4px 6px;

    text-align: center;

    color: #fff;
    border-radius: 4px;
    background-color: #f150af;
}

.twitterdate
{
    font-size: 120%;

    margin-bottom: 15px;
}

@media screen and (max-width: 400px)
{
    .twitterdate
    {
        margin-top: 8px;
        margin-bottom: 5px;
    }
}
