@charset "UTF-8";
html {
    font-family: 'Noto Sans JP', sans-serif;
}
body {
    text-align: center;
    position: relative;
}
ul, h1, h2, h3, h4, p, img{
    vertical-align: top;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4{
    font-weight: normal;
}
a{
    text-decoration: none;
    display: block;
}
li {
    list-style-type:none;
}

.imgwidth{
    width: 100%;
}

.contents{
    margin: 0 auto;
}


/*----------SP*/
@media screen and (max-width: 768px) {
    html {
        line-height: 1;
        width: 100%;
        min-width: 320px;
        font-size: 3.4375vw;
        margin: 0;
        padding: 0;
    }
    .touroku {
        background-image: url('../img/spbgtop.jpg');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100%;

        margin: 0;
        padding: 0;
        width: 100%;
    }
    header{
        width: 100%;
        min-width: 320px;
        height: 110vw;
        margin: 0;
        position: relative;
    }

    .hidden_sp {
        display: none !important; }

    .sharebox{
        width: 6vw;
        text-align: center;
        position: fixed;
        height: 100%;
        top: 25%;

        left: 2%;
        z-index: 4;
    }
    .sharetxt {
        width: 11px;
    }
    .sharebox ul li{
        margin-top: 6vw;
    }
    .rtxt{
        position: fixed;
        width: 2vw;
        right: 2%;
        height: 100%;
        top: 25%;
        z-index: 4;
    }

    .logo {
        width: 70vw;
        margin: 0 auto;
        padding: 17vw 0 3vw 0;
    }


    main {
        text-align: left;
        margin-top: 80vw;
    }

    .tourokubtn {
        width: 26vw;
        float: left;
        margin: 2vw 0 0 2vw;
    }

    .languagebox {
        width: 48vw;
        margin: 0 auto;
        padding-top: 3vw;
        margin-left: 16vw;
    }
    .languagebox .language {
        color: #fff;
        position: absolute;
        top: 4.3%;
        left: 43vw;
    }
    .languagelist {
        width: 22vw;
        background-color: #000;
        display: none;
        position: absolute;
        top: 9.3vw;
        left: 42vw;
        text-align: left;
    }
    .languagelist li:nth-child(1) {
        border-top: 1px solid #fff;
    }
    .languagelist li {
        padding: 2px;
        line-height: 1.8;
        border-bottom: 1px solid #fff;
    }
    .languagelist a {
        color: #fff;
        display: block;
    }


    .menuopen {
        width: 10vw;
        position: fixed;
        top: 3vw;
        left: 3vw;
        z-index: 4;
    }
    .menuclose {
        width: 10vw;
        position: fixed;
        top: 3vw;
        left: 3vw;
        z-index: 4;
    }
    .menu {
        text-align: left;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-color: #fff;
        display: none;
        z-index: 4;

        box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
        -moz-box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
        -webkit-box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
    }
    .menu li {
        display: block;
        padding-left: 10vw;
    }
    .menu li:first-child {
        padding-top: 10vw;
    }
    .menu li:last-child {
        padding-bottom: 10vw;
    }
    .menu a {
        color: #000;
        height: 100%;
        font-weight: bold;
        letter-spacing: 3px;
        font-size: 3.75vw;
        padding: 2px 10px;
        line-height: 2;
    }


    .topbtnarea {
        position: absolute;
        top: 30vw;
        width: 100%;
    }
    .topbtnarea .toptwbtninner {
        width: 30vw;
        margin-top: -25vw;
        margin-right: 3vw;
        float: right;
    }
    .topbtnarea .topmoviebtninner {
        width: 80%;
        margin: 105vw 10% 0 10%;
    }

    .sptopbtninner{
        width: 35vw;
        display: block;
        margin: 17vw auto 0 auto;
    }


    section.mainbuttonarea {
        width: 80%;
        margin: 0 10%;
    }
    .mainbuttonarea .topbanner li {
        padding-top: 5vw;
    }
    .mainbuttonarea .storebanner li {
        padding-top: 8vw;
        float: left;
    }
    .mainbuttonarea .storebanner {
        display: inline-block;
    }
    .mainbuttonarea .asbtn {
        width: 40%;
        padding: 0 5% 0 3%;
    }
    .mainbuttonarea .gpbtn {
        width: 50%;
    }
    .mainbuttonarea aside {
        font-size: 3.125vw;
        padding: 2vw 0;
        line-height: 1.3;
    }


    .spcbtbtn {
        padding: 4vw 3vw;
    }


    section.news{
        text-align: left;
        width: 90vw;
        margin: 4vw auto 3vw auto;
        clear: both;
        overflow: hidden;
    }
    .newsbox {
        overflow: hidden;
        padding: 5vw 4% 5vw 8%;
    }
    .newsbox li {
        line-height: 2;
        padding-bottom: 3vw;
    }
    .newstitle {
        width: 15vw;
    }
    section.news a{
        color: #000;
        text-decoration: underline;
    }

    #news {
        padding: 2vw 0;
    }

    .readmore {
        font-weight: bold;
    }


    section.story{
        text-align: left;
        clear: both;
    }
    .storytitle {
        font-family: 'Roboto Condensed', sans-serif;
        letter-spacing: 0.3em;
        text-align: center;
        line-height: 1.7;
        padding-top: 69vw;
    }
    section.story > div {
        font-family: 'Noto Serif JP', serif;
        font-size: 	4.0625vw;
    }
    section.story p {
        line-height: 2.4;
    }
    .storyboxright {
        text-align: right;
    }

    .storybox1 {
        margin-top: 5vw;
        background-image: url("../img/sptopimg2.jpg");
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
    }
    .storybox1 .storybox1inner {
    }
    .storybox1 .storyboxright {
        width: 50%;
        margin: 2vw auto 39vw auto;
    }
    .storybox1 .storyboxinner p {
        width: 83%;
        margin: 9vw 6% 10vw 11%;
        padding-bottom: 8vw;
    }
    .storybox1 .storyboxinner img {
        width: 87%;
        padding-left: 13%;
    }

    .storybox2 {
        background-image: url("../img/sptopimg6.jpg");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        padding-bottom: 15vw;
    }
    .storybox2 .storyboxright img{
        width: 87%;
        padding-right: 13%;
    }
    .storybox2 .storyboxleft p {
        width: 83%;
        margin: 9vw 7% 10vw 9%;
        text-align: right;
    }
    .storybox2 .storyboxright p {
        width: 83%;
        margin: 9vw 6% 10vw 11%;
        text-align: left;
    }



    section.character{
        clear: both;
        width: 95vw;
        margin: 0 auto;

        background-image: url('../img/characterbg.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: contain;

        position: relative;
        z-index: 1;
    }
    .charactertitle {
        width: 32vw;
        position: absolute;
        top: 10vw;
        padding-left: 9%;
    }
    .characterslider {
        position: relative;
    }
    .characterlist p {
        width: 23vw;
        position: absolute;
        top: 107vw;
        left: 50%;
        margin-left: -40vw;
    }
    .characterlist > img {
        margin-top: -9vw;
    }
    .characterlist .voicelist {
        position: absolute;
        top: 113vw;
        left: 50%;
        margin-left: -31vw;
    }
    .characterslider .voicelist li {
        display: inline-block;
        padding-right: 2vw;
        width: 19vw;
    }
    .character .iconlist {
        padding-top: 16vw;
        position: relative;
    }
    .character .iconlist img {
        width: 15vw;
    }


    .swiper-my-pagination .swiper-pagination-bullet {
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        opacity: 1;
    }
    .swiper-my-pagination .swiper-pagination-bullet-active {
        background: transparent;
        border: #ffaf04 2px solid;
        border-radius: 50px;
    }
    .swiper-pagination-bullet {
        background: transparent;
        border: transparent 2px solid;
        border-radius: 50px;
    }
    .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 1vw 3.7vw;
    }
    .swiper-my-pagination .swiper-pagination-bullet:nth-child(1) {
        margin-left: 16vw;
    }

    .swiper-button-prev, .swiper-button-next {
        width: 3vw;
        height: 6vw;
    }
    .swiper-button-prev:hover, .swiper-button-next:hover {
        opacity: 0.5;
    }
    .swiper-button-prev {
        background-image: url("../img/prev.png");
        background-size: 3vw 6vw;
        margin-left: 1vw;
    }
    .swiper-button-next {
        background-image: url("../img/next.png");
        background-size: 3vw 6vw;
        margin-right: 1vw;
    }


    section.system{
        background-image: url('../img/systembg.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;

        z-index: 2;
        position: relative;
    }
    .systemtitle {
        width: 20vw;
        padding: 14vw 0 2vw 0;

        margin: 0 auto;
    }
    .systemsliderbox {
        width: 80vw;
        margin: 0 auto;
    }
    .systemslider {
        text-align: center;
    }
    .systemlist > a {
        width: 80vw;
        margin: 0 auto;
        padding-bottom: 10vw;
    }
    .systemlist > img {
        width: 80vw;
    }
    .slick-dots {
        bottom: 0;
        top: 39vw;
    }
    .single-item .slick-prev {
        left: -8vw;
        top: 22vw;
        background-size: 3vw;
    }
    .single-item .slick-next {
        right: -8vw;
        top: 22vw;
        background-size: 3vw;
    }
    .system aside {
        text-align: center;
        padding-bottom: 3vw;
        font-size: 1.5vw;
    }


    section.mainbottom {
        padding: 10vw 6% 0 6%;
    }
    .mainbottom .cast {
        padding: 5vw;
    }
    .mainbottom .spec {
        padding: 5vw;
    }


    footer {
        width: 70vw;
        margin: 0 auto;
        padding: 10vw 0;
        overflow: hidden;
    }
    footer .links {
        width: 20vw;
        margin: 0 auto;
    }
    footer ul{
        float: left;
    }
    footer .footerLink {
        text-align: center;
        padding-bottom: 15vw;
    }
    footer .footerLink li{
        display: inline-block;
        margin: 4vw 0;
    }
    footer .footerLink li:nth-child(1) {
        width: 60vw;
    }
    footer .footerLink li:nth-child(2) {
        width: 40vw;
    }
    footer .footerLink li:nth-child(3) {
        width: 40vw;
    }
    footer .footerLink2 li{
        display: inline-block;
        margin: 2vw 1vw 0 1vw;
        font-size: 3.125vw;
        line-height: 1.5;
    }
    footer .footerLink2 li img{
        width: 3vw;
        padding: 1vw 0 0 1vw;
    }
    footer .footerLink2 li:last-of-type {
        display: block;
    }
    footer a, footer p{
        color: #050505;
    }

    footer .totop {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 30vw;
    }


    /*-------体験会-------*/
    .demopage {
        background-image: url('../img/demo/spbgtop.jpg');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 110%;

        margin: 0;
        padding: 0;
        width: 100%;
    }
    .demopage header{
        height: 130vw;
    }

    .demopage .languagebox {
        margin-left: 26vw;
    }
    .demopage .languagebox .language {
        top: 3.5%;
        left: 53vw;
    }
    .demopage .languagelist {
        left: 52vw;
    }

    .demopage .logo{
        padding: 95.5vw 0 0 0;
    }
    #demo .title{
        padding: 5vw 10vw;
        background-color: #e4e0da;
    }
    #demo .title img{
        width: 100%;
    }
    .demopage main {
        margin-top: 0;
    }
    #demo .demo_con{
        padding: 4vw 5vw 4vw 10vw;
    }
    #demo .demo_con img{
        width: 100%;
    }
    #demo .demo_con_2{
        padding: 2vw 5vw 2vw 10vw;
    }
    #demo .demo_con_2 img{
        width: 100%;
    }
    #demo .demo_con_3{
        padding: 4vw 5vw;
    }
    #demo .demo_con_3 img{
        width: 30vw;
        float: right;
    }
    #demo .demobtn{
        margin: 20vw 5vw 5vw 10vw;
        display: block;
    }
    #demo .demobtn img{
        width: 100%;
    }

    /*-------メッセージ-------*/
    .messagepage {
        background-image:
                url('../img/messagebgtop.jpg'),
                url('../img/messagebgbtm.jpg');
        background-repeat:
                no-repeat,
                no-repeat;
        background-size:
                100% auto,
                100% auto;
        background-position:
                center top,
                center bottom;
    }
    .messagepage .title{
        padding: 15vw 0;
        font-size: 5.9375vw;
        color: #fff;
        letter-spacing: 0.2em;
    }
    #message {
        font-family: 'Noto Serif JP', serif;
        margin-top: -40vw;
        padding: 0 6% 0 11%;
    }
    #message p {
        margin: 0 auto;
        text-align: left;
        line-height: 2.3;
    }
    #message .cvmessage {
        font-size: 3.75vw;
        padding-bottom: 7vw;
        letter-spacing: 0.1em;
    }
    #message .cv {
        padding-bottom: 30vw;
    }
    #message .cv:last-child {
        padding-bottom: 0;
    }
    #message .charactername {
        font-size: 4.0625vw;
        letter-spacing: 0.1em;
        padding-right: 5vw;
    }
    #message .cvname {
        font-size: 7.1875vw;
        letter-spacing: 0.3em;
    }
    .messagepage footer {
        width: 100%;
        padding-top: 40vw;
        padding-bottom: 20vw;
    }
    .messagepagefooter .totop {
        width: 40vw;
        position: inherit;
        display: inline-block;
    }
    .messagepage .footerLink2 {
        position: relative;
        top: -40px;
    }
    .messagepage .footerLink2 a {
        color: #050505;
    }
    .messagepage .footerLink2  li img {
        width: 3vw;
        padding: 1px 0 0 4px;
    }
    .messagepage .footerLink2  li {
        display: inline-block;
        margin: 2vw 1vw 0 1vw;
        font-size: 3.125vw;
    }
}



/*----------PC*/
@media screen and (min-width: 769px) {
    html {
        line-height: 1.9;
        width: 100%;
        min-width: 1200px;
    }
    body {
        background-image: url('../img/topimage.jpg?0606');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100%;

        font-size: 14px;
        position: relative;
    }
    header {
        position: absolute;
        top: 0;
        width: 100%;
        padding-top: 20px;
    }


    .hidden_pc {
        display: none !important; }
    .headerarea {
        position: absolute;
        top: 0;
        width: 100%;
        padding-top: 35px;
    }
    .topimage {
        width: 100%;
    }
    .scroll {
        width: 50px;
        margin: 0 auto;
        padding-top: 100px;
    }


    .menuopen {
        cursor: pointer;
        width: 50px;
        position: fixed;
        top: 20px;
        left: 20px;
        z-index: 4;
    }
    .menuclose {
        width: 50px;
        cursor: pointer;
        position: fixed;
        top: 20px;
        left: 20px;
        z-index: 4;
    }
    .menu {
        text-align: left;
        position: fixed;
        top: 0;
        left: 0;
        padding: 70px 50px;
        background-color: #fff;
        display: none;
        z-index: 4;

        box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
        -moz-box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
        -webkit-box-shadow: -9px 10px 30px 2px rgba(50,50,50,0.4);
    }
    .menu li {
     display: block;
    }
    .menu a {
        color: #000;
        height: 100%;
        font-weight: bold;
        letter-spacing: 3px;
        font-size: 20px;
        padding: 2px 10px;
    }
    .menu a:hover {
        background-image: url('../img/menu_on.png');
        background-repeat: no-repeat;
        background-position: center left;
        background-size: 100%;
        color: #fff;
    }


    .sharebox{
        position: fixed;
        width: 35px;
        padding-top: 250px;
        padding-left: 20px;
        z-index: 1;
    }
    .sharetxt {
        width: 15px;
    }
    .sharebox ul li{
        margin-top: 28px;
    }
    .rtxt{
        position: fixed;
        width: 8px;
        right: 20px;
        padding-top: 320px;
        z-index: 1;
    }


    .tourokubtn {
        width: 300px;
        float: left;
        margin-top: 10px;
        margin-left: 27px;
    }


    .languagebox {
        width: 210px;
        margin: 0 auto;
        padding-bottom: 30%;
        position: relative;
    }
    .languagebox .language {
        color: #fff;
        position: absolute;
        top: 1px;
        left: 120px;
    }
    .languagelist {
        background-color: #000;
        display: none;
        position: absolute;
        top: 28px;
        right: 0;
        text-align: left;
    }
    .languagelist li:nth-child(1) {
        border-top: 1px solid #fff;
    }
    .languagelist li {
        width: 86px;
        padding: 0 5px;
        border-bottom: 1px solid #fff;
    }
    .languagelist a {
        color: #fff;
        display: block;
        opacity: 0.5;
    }


    .logo {
        width: 430px;
        margin: 0 auto;
    }

    .topbtnarea {
        position: absolute;
        top: 35px;
        right: 40px;
    }

    .toptwbtninner {
        width: 200px;
        float: right;
    }

    .topmoviebtninner {
        background-image: url('../img/moviebtn_on.jpg');
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: 100%;

        width: 300px;
        display: block;
        margin: 0 auto;
        margin-top: 100px;
    }


    .pccbtbtn {
        width: 840px;
        padding-top: 30px;
        margin: 0 auto;
    }

    section.news{
        font-size: 17px;
        text-align: left;
        width: 840px;
        margin: 40px auto 20px auto;
        padding: 25px 0;
        clear: both;
        overflow: hidden;
    }
    .newsbox {
        float: left;
    }
    .newstitle {
        width: 100px;
    }
    #news {
        padding: 10px 0;
    }

    section.news a{
        color: #000;
        text-decoration: underline;

        display: block;
        width: 830px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    section.news a:visited{
        color: #000;
    }

    section.news a:hover{
        color: #000;
        text-decoration: none;
    }

    .newsbox .bold {
        font-weight: bold;
    }
    .readmore {
        width: 100px;
        font-family: 'Roboto', sans-serif;
    }


    section.story{
        font-size: 17px;
        text-align: left;
        margin: 0 auto 40px auto;
        padding: 145px 0 25px 0;
        clear: both;

        background-image: url("../img/border.png");
        background-size: 1200px auto;
        background-position: center top;
        background-repeat: no-repeat;
    }
    .storytitle {
        font-family: 'Roboto Condensed', sans-serif;
        letter-spacing: 0.6em;
        text-align: center;
    }
    section.story > div {
        font-family: 'Noto Serif JP', serif;
        font-size: 14px;
    }
    section.story p {
        line-height: 2.8;
        padding-top: 30px;
    }
    .storyboxright {
        text-align: right;
    }

    .storybox1 {
        margin-top: 10px;
        background-image: url("../img/topimg2.jpg");
        background-size: 1200px auto;
        background-position: center;
        background-repeat: no-repeat;
    }
    .storybox1 .storybox1inner {
        width: 510px;
        margin: 0 auto;
        padding: 0 0 0 400px;

    }
    .storybox1 .storyboxright img{
        margin-top: 20px;
        width: 300px;
    }
    .storybox1 .storyboxinner img {
        padding: 40px 0 30px 0;
        width: 330px;
    }

    .storybox2 {
        background-image: url("../img/topimg6.jpg");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;

        margin: 40px auto;
    }
    .storybox2 .storyboxinner {
        width: 910px;
        margin: 0 auto;
    }
    .storybox2 .storyboxleft p{
        padding-bottom: 60px;
        float: left;
    }
    .storybox2 .storyboxright img{
        width: 400px;
    }
    .storybox2 .storyboxright p {
        padding-top: 120px;
        float: right;
    }
    .storybox2 .storyboxleft img{
        width: 400px;
    }


    section.character{
        clear: both;
        width: 970px;
        margin: 0 auto;

        background-image: url('../img/characterbg.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: contain;

        position: relative;
        z-index: 1;
    }
    .charactertitle {
        width: 420px;
        position: absolute;
        top: 165px;
        left: -20px;
    }
    .characterslider {
        position: relative;
    }
    .characterlist p {
        width: 90px;
        position: absolute;
        top: 650px;
        left: 170px;
    }
    .characterlist > img {
        width: 900px;
        padding-top: 90px;
        padding-left: 20px;
    }
    .characterlist .voicelist {
        position: absolute;
        top: 675px;
        left: 170px;
    }
    .characterslider .voicelist li {
        display: inline-block;
        padding-right: 5px;
        width: 50px;
        cursor: pointer;
    }
    .character .iconlist {
        position: absolute;
        bottom: 146px;
        margin-left: 70px;
        z-index: 1;
    }
    .character .iconlist img {
        width: 65px;
    }

    .swiper-my-pagination .swiper-pagination-bullet {
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        opacity: 1;
    }
    .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 25px;
    }
    .swiper-my-pagination .swiper-pagination-bullet-active {
        background: transparent;
        border: #ffaf04 2px solid;
        border-radius: 50px;
    }
    .swiper-pagination-bullet {
        background: transparent;
        border: transparent 2px solid;
        border-radius: 50px;
    }

    .swiper-button-prev, .swiper-button-next {
        width: 37px;
        height: 63px;
    }
    .swiper-button-prev:hover, .swiper-button-next:hover {
        opacity: 0.5;
    }
    .swiper-button-prev {
        background-image: url("../img/prev.png");
        background-size: 37px 63px;
        margin-left: 90px;
    }
    .swiper-button-next {
        background-image: url("../img/next.png");
        background-size: 37px 63px;
        margin-right: 90px;
    }


    section.system{
        margin: -60px auto 0 auto;

        background-image: url('../img/systembg.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;

        z-index: 2;
        position: relative;
    }
    .systemtitle {
        width: 190px;
        padding: 150px 0 30px 0;

        margin: 0 auto;
    }
    .systemsliderbox {
        width: 880px;
        margin: 0 auto;
    }
    .systemslider {
        padding-bottom: 50px;
        text-align: center;
        margin-bottom: 30px;
    }
    .systemlist > a {
        width: 580px;
        margin: 0 auto;
        padding-bottom: 50px;

        background-image: url('../img/systemthumb_img_bg.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: contain;
    }
    .systemlist .systemthumb_txt {
        width: 880px;
    }

    .slick-dots {
        bottom: 0;
        top: 275px;
    }
    .system aside {
        width: 860px;
        margin: 0 auto;
        text-align: center;
        padding-bottom: 20px;
    }


    section.mainbuttonarea {
        width: 840px;
        margin: 30px auto 70px auto;
        clear: both;
        overflow: hidden;
    }
    .mainbuttonarea ul {
        overflow: hidden;
        display: block;
    }
    .mainbuttonarea .topbanner li {
        width: 49%;
    }
    .mainbuttonarea ul .demobtnbox {
        float: left;
        background-image: url('../img/demobtn_on.png');
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .mainbuttonarea ul .messagebtnbox {
        float: right;
        background-image: url('../img/messagebtn_on.png');
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .mainbuttonarea .storebanner {
        width: 370px;
        margin: 0 auto;
        padding: 30px 0 10px 35px;
    }
    .mainbuttonarea ul .asbtn {
        width: 160px;
        float: left;
    }
    .mainbuttonarea ul .gpbtn {
        width: 196px;
        float: right;
    }
    .mainbuttonarea aside {
        clear: both;
        font-size: 12px;
        text-align: center;
    }



    section.mainbottom {
        width: 800px;
        margin: 0 auto;
        padding-top: 50px;
        overflow: hidden;
    }
    .mainbottom .cast {
        width: 450px;
        float: left;
    }
    .mainbottom .spec {
        width: 290px;
        float: right;
    }


    footer {
    	width: 600px;
        margin: 0 auto;
        padding: 80px 0;
        overflow: hidden;
	}
    footer .links {
        width: 60px;
        float: left;
        padding: 10px 5px 0 0;
    }
	footer ul{
        float: left;
	}
    footer .footerLink li{
        display: inline-block;
        margin: 0 6px;
    }
    footer .footerLink li:nth-child(1) {
        width: 150px;
    }
    footer .footerLink li:nth-child(2) {
        width: 100px;
    }
    footer .footerLink li:nth-child(3) {
        width: 110px;
    }
    footer .footerLink2 li{
        display: inline-block;
        margin: 8px 0 0 5px;
        font-size: 12px;
	}
    footer .footerLink2 li img{
        width: 11px;
        padding: 6px 0 0 1px;
    }

    footer a, footer p{
        color: #050505;
    }

    footer .totop {
        position: absolute;
        right: 20px;
        bottom: 0;
        width: 100px;
    }


    /*-------体験会-------*/
    .demopage {
        background-image: url('../img/demo/topimage.jpg');
    }
    .demopage .languagebox {
        padding-bottom: 17%;
    }
    .demopage .logo {
        width: 430px;
        margin: 12% auto 0 10%;
    }
    #demo .title{
        margin: 0 auto 40px auto;
        padding: 40px 0;
        background-color: #e4e0da;
    }
    #demo .title img{
        width: 490px;
    }
    #demo .demo_con{
        width: 1000px;
        margin: 0 auto 50px auto;
    }
    #demo .demo_con img{
        width: 100%;
    }

    #demo .demo_con_2{
        width: 950px;
        margin: 0 auto 50px auto;
    }
    #demo .demo_con_2 img{
        width: 100%;
    }

    #demo .demo_con_3{
        width: 1000px;
        margin: 0 auto 50px auto;
    }

    #demo .demo_con_3 img{
        width: 200px;
        float: right;
    }

    #demo .demobtn{
        width: 600px;
        margin: 20px auto;
        margin-top: 100px;
        display: block;
    }
    #demo .demobtn img{
        width: 100%;
    }


    /*-------メッセージ-------*/
    .messagepage {
        background-image:
                url('../img/messagebgtop.jpg'),
                url('../img/messagebgbtm.jpg');
        background-repeat:
                no-repeat,
                no-repeat;
        background-size:
                100% auto,
                100% auto;
        background-position:
                center top,
                center bottom;
    }
    .messagepage .title{
        margin: -170px auto 40px auto;
        padding: 40px 0;
        color: #fff;
        letter-spacing: 0.2em;
    }
    #message {
        font-family: 'Noto Serif JP', serif;
    }
    #message p {
        width: 800px;
        margin: 0 auto;
        text-align: left;
        line-height: 2.4;
    }
    #message .cvmessage {
        font-size: 16px;
        padding-bottom: 30px;
        letter-spacing: 0.1em;
    }
    #message .cv {
        padding-bottom: 120px;
    }
    #message .cv:last-child {
        padding-bottom: 0;
    }
    #message .charactername {
        font-size: 16px;
        padding-right: 50px;
        letter-spacing: 0.3em;
    }
    #message .cvname {
        font-size: 26px;
        letter-spacing: 0.3em;
    }
    .messagepage footer {
        width: 100%;
        padding-top: 500px;
        padding-bottom: 160px;
    }
    .messagepagefooter .totop {
        position: inherit;

        width: 1200px;
        margin: 0 auto;

        background-image: url('../img/backbtn_on.png');
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 220px;
    }
    .messagepagefooter a {
        width: 220px;
        text-align: center;
        display: inline-block;
    }
    .messagepage .footerLink2 {
        position: relative;
        top: -120px;
    }
    .messagepage .footerLink2 a {
        color: #050505;
    }
    .messagepage .footerLink2  li img {
        width: 11px;
        padding: 6px 0 0 1px;
    }
    .messagepage .footerLink2  li {
        display: inline-block;
        margin: 8px 0 0 5px;
        font-size: 12px;
    }
}
