@charset "shift_jis";

/* main-inner */

#main #main-inner {
    border: none;
    background: url('../img/bg_ptrn.png') repeat center top;
    margin-top: 10px;
}

#main #main-title,
#main #cont-wrap h3,
#main #sec01,
#main #sec02,
#main #sec03,
#main #sec04,
#main #sec05,
#main #sec06 {
    position: relative;
    width: 864px;
}

#main #main-title h2,
#main #main-title .chara,
#main #main-title .lead,
#main #sec01 p,
#main #sec02 p,
#main #sec03 .charalist,
#main #sec03 p,
#main #sec04 h2,
#main #sec04 p {
    position: absolute;
    margin: 0;
    padding: 0;
}


/* main-title */

#main #title-area {
    z-index: 10;
    height: 35px;
}

#main #title-area h1 {
    position: absolute;
    top: 12px;
    left: 11px;
}

#main #main-title {
    height: 749px;
    background: url('../img/head_bg.png') center top no-repeat;
    top: -45px;
}

#main #main-title h2 {
    top: 35px;
    left: 13px;
    z-index: 2;
    position: relative;
}

#main #main-title h2 .mov1 {
    position: absolute;
    bottom: -9px;
    right: 214px;
}

#main #main-title .chara {
    bottom: -22px;
    right: 12px;
    z-index: 1;
}

#main #main-title .lead {
    bottom: 12px;
    left: 18px;
    z-index: 1;
}

/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */

#main #sec01 {
    height: 860px;
    margin-top: -45px;
}

#main #sec01 .sec01-txt {
    top: 55px;
    right: 50px;
}

#main #sec01 .sec01-img01 {
    top: 10px;
    left: 17px;
}

#main #sec01 .sec01-btn {
    position: absolute;
    top: 290px;
    right: 40px;
}

#main #sec01 .sec01-subBox {
    background: url('../img/sec1_bg.png') no-repeat center top;
    position: absolute;
    top: 390px;
    left: 31px;
    width: 805px;
    height: 448px;
}

#main #sec01 .sec01-subBox .sec01-sub-ttl {
    position: relative;
    top: 10px;
    left: 23px;
}

#main #sec01 .sec01-subBox .sec01-sub-txt {
    position: relative;
    top: 18px;
    left: 23px;
}

#main #sec01 .sec01-subBox .friend1 {
    position: absolute;
    bottom: 54px;
    left: 0px;
}
#main #sec01 .sec01-subBox .friend2 {
    position: absolute;
    bottom: 52px;
    left: 175px;
}
#main #sec01 .sec01-subBox .friend3 {
    position: absolute;
    bottom: 42px;
    right: 288px;
}
#main #sec01 .sec01-subBox .friend4 {
    position: absolute;
    bottom: 50px;
    right: 0px;
}

/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */

#main #sec02 {
    height: 2910px;
}

#main #sec02 .sec02-txt {
    position: absolute;
    top: 0px;
    right: 35px;
}

#main #sec02 .sec02-img01 {
    position: absolute;
    top: -5px;
    left: 25px;
}

#main #sec02 .gameList {
    background: url('../img/sec2_bg.png') no-repeat center top;
    height: 2522px;
    position: relative;
    top: 360px;
    left: 0;
}
#main #sec02 .gameList div a {
    position: relative;
    z-index: 2;
}
#main #sec02 .gameList div:nth-child(odd)::after {
    content:" ";
    display:inline-block;
    width:101px;
    height:71px;
    background:url('../img/sec2_line.png');
    background-size:contain;
    vertical-align:middle;
    position: absolute;
    bottom: 55px;
    right: -45px;
    transform: rotate(50deg);
    z-index: 1;
}
#main #sec02 .gameList div:nth-child(2)::after,
#main #sec02 .gameList div:nth-child(4)::after,
#main #sec02 .gameList div:nth-child(6)::after,
#main #sec02 .gameList div:nth-child(8)::after {
    content:" ";
    display:inline-block;
    width:101px;
    height:71px;
    background:url('../img/sec2_line.png');
    background-size:contain;
    vertical-align:middle;
    position: absolute;
    bottom: 55px;
    left: -50px;
    transform: rotate(-10deg);
    z-index: 1;
}
/*
#main #sec02 .gameList div a:hover img {
    transform: scale(1.05);
    transition: .5s;
}*/
#main #sec02 .gameList div a:hover img {
    animation-duration: 0.4s;
    animation-name: hover;
    opacity: 0.9;
}
@keyframes hover {
    0% { transform: scale(1); }
    70% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

#main #sec02 .gameList div {
    position: absolute;
    width: 396px;
}

#main #sec02 .gameList .sec02-game1 {
    top: 25px;
    left: 45px;
}

#main #sec02 .gameList .sec02-game2 {
    top: 237px;
    right: 30px;
}

#main #sec02 .gameList .sec02-game3 {
    top: 430px;
    left: 45px;
}

#main #sec02 .gameList .sec02-game4 {
    top: 646px;
    right: 30px;
}

#main #sec02 .gameList .sec02-game5 {
    top: 858px;
    left: 45px;
}

#main #sec02 .gameList .sec02-game6 {
    top: 1080px;
    right: 30px;
}

#main #sec02 .gameList .sec02-game7 {
    top: 1293px;
    left: 45px;
}

#main #sec02 .gameList .sec02-game8 {
    top: 1508px;
    right: 30px;
}

#main #sec02 .gameList .sec02-game9 {
    top: 1722px;
    left: 45px;
}

#main #sec02 .gameList .sec02-game10 {
    top: 1944px;
    right: 30px;
}

#main #sec02 .sec02-txt01 {
    top: 185px;
    left: 0;
    width: 811px;
    height: 204px;
    right: 0;
    margin: auto;
}

#main #sec02 .sec02-img02 {
    top: 400px;
    right: 50px;
    width: 364px;
    height: 381px;
}

#main #sec02 .sec02-txt02 {
    top: 800px;
    left: 0;
    width: 740px;
    height: 99px;
    right: 0;
    margin: auto;
}

#main #sec02 .sec02-ttl03 {
    top: 920px;
    left: 0;
    width: 804px;
    height: 58px;
    right: 0;
    margin: auto;
}

#main #sec02 .sec02-txt03 {
    top: 990px;
    left: 0;
    width: 811px;
    height: 123px;
    right: 0;
    margin: auto;
}

#main #sec02 .sec02-img03 {
    top: 1125px;
    left: 50px;
    width: 364px;
    height: 381px;
}

#main #sec02 .sec02-img04 {
    top: 1125px;
    right: 50px;
    width: 364px;
    height: 381px;
}

#main #sec02 .gameList .chara1 {
    position: absolute;
    top: -35px;
    right: 5px;
    z-index: 3;
}
#main #sec02 .gameList .chara2 {
    position: absolute;
    top: 460px;
    left: -30px;
    z-index: 3;
}
#main #sec02 .gameList .chara3 {
    position: absolute;
    bottom: 1100px;
    right: 290px;
    z-index: 3;
}
#main #sec02 .gameList .chara4 {
    position: absolute;
    bottom: 920px;
    left: -25px;
    z-index: 3;
}
#main #sec02 .gameList .chara5 {
    position: absolute;
    bottom: 640px;
    left: 335px;
    z-index: 3;
}
#main #sec02 .gameList .chara6 {
    position: absolute;
    bottom: 280px;
    right: -70px;
    z-index: 3;
}
#main #sec02 .gameList .chara7 {
    position: absolute;
    bottom: -15px;
    right: -20px;
    z-index: 3;
}
#main #sec02 .gameList .chara8 {
    position: absolute;
    bottom: 0;
    left: 30px;
    z-index: 3;
}

/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */

#main #sec03 {
    height: 2180px;
}

#main #sec03 .sec03-txt {
    position: absolute;
    top: 0px;
    right: 35px;
}

#main #sec03 .sec03-img01 {
    position: absolute;
    top: -20px;
    left: 25px;
    z-index: 2;
}

#main #sec03 .charalist {
    background: url('../img/sec3_bg.png') no-repeat center top;
    height: 1428px;
    position: relative;
    top: 300px;
    left: 0;
    z-index: 1;
    padding: 45px 41px;
}

#main #sec03 .charalist .charaLink {
    float: left;
    width: 50%;
    height: 460px;
    background: url('../img/sec3_box_bg.png') no-repeat center top;
    position: relative;
}

#main #sec03 .charalist .charaLink.link1 > img {
    position: absolute;
    top: -20px;
    left: 20px;
}
#main #sec03 .charalist .charaLink.link1 a {
    position: absolute;
    display: inline-block;
    bottom: 20px;
    left: 17px;
}

#main #sec03 .charalist .charaLink.link2 > img {
    position: absolute;
    top: -6px;
    left: 0;
}
#main #sec03 .charalist .charaLink.link2 a {
    position: absolute;
    display: inline-block;
    bottom: 20px;
    left: 18px;
}

#main #sec03 .charalist .charaLink.link3 > img {
    position: absolute;
    top: 26px;
    left: 26px;
}
#main #sec03 .charalist .charaLink.link3 a {
    position: absolute;
    display: inline-block;
    bottom: 20px;
    left: 0px;
}

#main #sec03 .charalist .charaLink.link4 > img {
    position: absolute;
    top: 26px;
    left: 26px;
}
#main #sec03 .charalist .charaLink.link4 a {
    position: absolute;
    display: inline-block;
    bottom: 30px;
    left: 18px;
}

#main #sec03 .charalist .charaLink.link5 > img {
    position: absolute;
    top: -2px;
    left: 20px;
}
#main #sec03 .charalist .charaLink.link5 a {
    position: absolute;
    display: inline-block;
    bottom: 34px;
    left: 17px;
}

#main #sec03 .charalist .charaLink.link6 > img {
    position: absolute;
    top: 15px;
    left: 20px;
}
#main #sec03 .charalist .charaLink.link6 a {
    position: absolute;
    display: inline-block;
    bottom: 20px;
    left: 18px;
}

#main #sec03 .sec03-img07 {
    position: absolute;
    bottom: 75px;
    right: -104px;
    z-index: 100;
}

#main #sec03 .copyright {
    width: 864px;
    position: absolute;
    bottom: 10px;
    left: 0;
    padding: 0 1em;
    box-sizing: border-box;
    line-height: 1.1;
    font-size: 10px;
}

/* ポップアップ * ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
#cboxLoadedContent section { position: relative; text-align: center; }
#cboxLoadedContent section a.btn {
    position: absolute;
    bottom: 20px;
    display: block;
    width: 396px;
    left: 9px;
}

/* main-footer */

.main-footer {
    position: relative;
    margin: 20px 0 0;
    padding-bottom: 32px;
}

.f-border {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #C1C1C1;
}

.main-footer .f-hard {
    position: absolute;
    top: 0;
    right: 0;
}

.f-border .f-hard {
    top: 20px;
}

.f-wrap {
    margin: 36px 0 0;
}

.main-footer .f-logo {
    float: left;
    width: 320px;
    text-align: center;
}

.main-footer .f-contents {
    float: right;
    width: 514px;
}

.main-footer .f-icon {
    float: left;
}

.main-footer .f-name {
    position: relative;
    float: right;
    width: 443px;
    height: 55px;
}

.main-footer .f-soft-ttl {
    position: absolute;
    top: 10px;
}

.main-footer .f-copyright {
    position: absolute;
    bottom: 10px;
    color: #FFFFFF;
    font-size: 9px;
}

.main-footer .f-note01 {
    margin: 5px 0 15px;
    color: #FFFFFF;
    font-size: 9px;
}

.main-footer .f-btn {
    margin: 15px 0 0;
}


/* clearfix */

.clearfix:after {
    content: '';
    display: block;
    clear: both;
}
