@charset "utf-8";
/* CSS Document */
html, body {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1.5;
    font-size: 14px;
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #000000;
    background: #000000;
}
img {
    width: 100%;
    vertical-align: bottom
}
li {
    list-style: none;
}
.sp {
    display: block
}
.pc {
    display: none;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
.btn.detail {
    max-width: 488px;
    margin: 0 auto;
    padding: 0 40px;
}
#nav_list {
    background: #000000;
    width: 100%;
    z-index: 99;
}
#nav_list ul {
    display: flex;
    flex-wrap: wrap;    
    width: 100%;
    padding: 10px 10px;
    justify-content: center;
    box-sizing: border-box;
}
#nav_list li {
    width: 33.33333%;
    max-width: 214px;
}
#nav_list li a {
    display: block;
    padding: 10px 5px;
}
#chara {
    background-image: url(../img/border_1.jpg), url(../img/bg_ptn_1.gif); 
    background-repeat: repeat-x,repeat;
    background-position: top, top;
    padding: 50px 0;
}
#chara h2 {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 50px;
    box-sizing: border-box;
}
#chara h3 {
    max-width: 520px;
    margin: 20px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
#chara p {
    text-align: center;
}
#chara .lead_txt {
    margin-top: 20px;
}
#chara ul {
    max-width: 1000px;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#chara li {
    width: 47%;
    max-width: 240px;
    list-style: none;
    flex-wrap: wrap;
    margin: 20px 1.5% 0 1.5%;
}
#chara .btn_ability {
    max-width: 180px;
    margin: 10px auto 0;
    padding: 0 10px;
}
#chara .andmore {
    max-width: 168px;
    padding: 0 30px;
    margin: 30px auto 0;
    box-sizing: border-box;
}
#chara .end_txt {
    margin-top: 40px;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 2;
}
#chara .notice_txt {
    margin-top: 20px;
    padding: 10px;
    color: #ff0000;
}
#chara .emphasize{
    background: #fff952;
}
#chara #btn_shinka {
    max-width: 488px;
    margin: 20px auto 0;
    padding: 0 30px;
    box-sizing: border-box;
}
#gacha {
    background-image: url(../img/border_3.gif), url(../img/bg_ptn_5.gif);
    background-repeat: repeat-x,repeat;
    background-position: top, top;
    padding: 50px 10px 50px;
    box-sizing: border-box;
}
#gacha #gacha_inner {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#gacha dl {
    max-width: 242px;
    width: 49%;
    margin-right: 1%;
}
#gacha dl:nth-child(even) {
    margin-right: 0;
}
#gacha dl:nth-child(3),
#gacha dl:nth-child(4) {
    margin-top: 10px;
}
#dungeon {
    background-image: url(../img/border_4.gif), url(../img/bg_dungeon_2.jpg);
    background-repeat: repeat-x, repeat-y;
    background-position: top, top;
    background-size: auto,contain;
    overflow: hidden;
    padding-bottom: 80px;
}
#dungeon #dungeon_chara {
    background-image: url(../img/bg_dungeon.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 16px;
    padding-top: 50px;
}
#dungeon h2 {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 60px;
}
#dungeon #dungeon_chara h3 {
    max-width: 506px;
    margin: 0 auto;
   padding: 10px 60px 0;
}
#dungeon #img_dungeon_1 {
    max-width: 1400px;
    margin: 20px auto 0;
    transform: scale(1.8);
    transform-origin: top;
    padding-bottom: 56.25%;
}
#dungeon #img_dungeon_2 {
    max-width: 978px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}
#dungeon #img_dungeon_4 {
    max-width: 870px;
    margin: 0 auto;
    padding: 0 10px;
}
#dungeon #img_dungeon_3 {
    background-image: url(../img/bg_dungeon_3.png),url(../img/bg_dungeon_4.png);
    background-position: top center, bottom center;
    background-repeat: no-repeat, no-repeat;
    background-size: 100%;
    max-width: 1002px;
    padding: 50px 10px;
    margin: 0 auto;
    box-sizing: border-box;
}
#dungeon #img_dungeon_3-2 {
    position: relative;
}
#dungeon #img_dungeon_3-2 .btn {
    position: absolute;
    top: 0;
    left: 45%;
    transform: translate(-45%, 0);
}


#exchange {
    background-image: url(../img/border_5.gif), url(../img/bg_ptn_1.gif);
    background-repeat: repeat-x, repeat-y;
    background-position: top, top;
    background-size: auto,cover;
    padding: 50px 0;
}
#exchange h2 {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: border-box;
}
#exchange .date {
    max-width: 474px;
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: border-box;
}
#exchange .date {
    padding-top: 20px;
}
#exchange dl {
    padding-top: 20px;
}
#exchange dt {
    max-width: 500px;
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: border-box;
}
#exchange dd {
    background-image: url(../img/bg_exchange.png),url(../img/bg_exchange.png);
    background-position: top center,center 92%;
    background-repeat: no-repeat, no-repeat;
    background-size: 100%;
    max-width: 1002px;
    padding: 50px 10px 0;
    margin: 0 auto;
    box-sizing: border-box;
}
#exchange dd p {
    max-width: 506px;
    margin: 0 auto;
    padding: 30px 60px 0;
    box-sizing: border-box;
}
#login {
    background-image: url(../img/border_2.gif), url(../img/bg_ptn_2.gif);
    background-repeat: repeat-x,repeat;
    background-position: top, top;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden;
    padding: 50px 10px 0;
}
#login h2 {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 50px;
    box-sizing: border-box;
}
#login dl {
    margin: 20px 0 40px;
}
#login dt {
    background: #fff952;
    display: inline;
    font-size: 1.2rem;
    font-family: "HiraginoSans","ヒラギノ角ゴ Pro W8";
    font-weight: 800;
    line-height: 2;
}
#login dd {
    margin-top: 20px;
    line-height: 1.5;
}
#login dd p {
    padding: 0 10px;
    box-sizing: border-box;
}
#login #login_img {
    max-width: 1082px;
    margin: 20px auto 0;
    transform: translateY(0) scale(1.3);
    transform-origin: top center;
}
#login .btn.detail {
    padding-top: 20%;
}
#campaign {
    background-image: url(../img/border_3.gif), url(../img/bg_ptn_3.gif);
    background-repeat: repeat-x,repeat;
    background-position: top, top;
    padding: 50px 10px 50px;
    box-sizing: border-box;
}
#campaign ol {
    max-width: 1024px;
    margin: 30px auto 0;
    flex-wrap: wrap;
    justify-content: center;
}
#campaign ol li {
    max-width: 506px;
    margin: 0 auto;
}
#campaign ol li:last-child {
    padding-top: 20px;
}
#campaign h2 {
    max-width: 910px;
    margin: 0 auto 0;
}
#campaign .campaign_list_middle {
    position: relative;
    display: flex;
    align-items: center;
}
#campaign .campaign_list_bottom {
    background-repeat: no-repeat;
    background-size: contain;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
#campaign .campaign_list_bottom .btn {
    position: absolute;
    top: -10px;
    margin: 0 50px;
    max-width: 506px;
    display: block;
}
#youtube {
    background-image: url(../img/bg_ptn_4.gif);
    padding: 60px 10px;
    box-sizing: border-box;
}
#youtube h2 {
    max-width: 610px;
    margin: 0 auto;
}
#youtube p {
    max-width: 1000px;
    margin: 10px auto 0;
    text-align: center;
}
#youtube .bnr {
    max-width: 500px;
    margin: 20px auto 0;
}
footer {
    background: #ffffff;
    padding: 30px 10px;
    box-sizing: border-box;
    text-align: center;
}
footer dt {
    font-size: 140%;
    font-weight: bold;
}
.download_box {
    margin-top: 5px;
}
.download_box ul {
    display: flex;
    max-width: 560px;
    margin: 0 auto;
}
.download_box li {
    list-style: none;
    margin-right: 5px;
}
.download_box li:last-child {
    margin-right: 0;
}
.back-to-top a {
    text-decoration: none;
    color: #ffffff;
}
.social {
    display: flex;
    flex-wrap: wrap;
    max-width: 200px;
    margin: 10px auto 0;
}
.social li {
    list-style: none;
}
.social li:first-child {
    margin-right: 15px;
}
#copyright {
    font-size: 10px;
    text-align: center;
    background: #000000;
    padding: 5px 0;
}
#copyright p {
    color: #ffffff;
    font-size: 10px;
}
#pagetop {
    display: none;
    position: fixed;
    width: 42px;
    height: 42px;
    bottom: 10px;
    right: 10px;
    z-index: 100;
    text-align: center;
}
.back-to-top a {
    text-decoration: none;
    color: #000000;
    font-weight: bold;
}

.modal-content {
    display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    width: 100%;
    z-index: 101;
    max-width: 840px;
}
.over-ray {
    background: url(../img/bg_ptn_3.gif);
    height: 100%;
    width: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 100;
}
.modal-content .btn {
    display: flex;
    margin: 5px auto 0;
    padding: 0 30px;
    justify-content: center;
    box-sizing: border-box;
}
.modal-content .btn li{
    max-width: 110px;
    margin-right: 10px;
    list-style: none;
}
.modal-content .btn li:last-child{
    margin-right: 0;
}
.modal-content .btn li a.active {
    cursor: default;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.modal_close {
    position: absolute;
    top: -20px;
    right: 10px;
    max-width: 40px;
}
#modal_ability .modal-content {
    margin: 10px auto 0;
}
#modal_ability strong {
    font-size: 120%;
    vertical-align: bottom;
    float: left;
    color: #000000;
}
#modal_ability ul {
    display: flex;
}
/*
#modal_ability ul.cho_kakusei_box {
    padding: 0 25px;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto;
}
*/
#modal_ability .cho_kakusei {
    display: none;
    list-style: none;
}
#modal_ability .cho_kakusei li {
    margin-right: 6px;
    list-style: none;
}
#modal_ability .cho_kakusei p {
    color: #ffffff;
    font-size: 130%;
    vertical-align: bottom;
    font-weight: bold;
}
#modal_ability li:last-child {
    margin-right: 0;
}
#modal_ability ul.cho_kakusei_box {
    height: 36px;
}
#modal_ability .cho_kakusei {
    margin-top: 5px;
}
#modal_ability .ability_img {
    position: relative;
    margin: 0 auto; 
   /* max-height: calc(100vh / 1.2);*/
    max-width: 640px;
    margin: 0 auto;
    padding: 0 30px;
}

#modal_ability .ability_img img {
    border: 1px solid #ffffff;
    max-width: calc(100vh / 1.77777777778);
    margin: 0 auto;
}
#modal_ability .ability_img .cho_kakusei img {
    max-width: 25px;
    vertical-align: middle;
    border: none;
}
#overlay {
    position: fixed;
    background:#000000;
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    z-index: 1000;
}
.illust {
    position: relative;
}
.cv {
    position: absolute;
    right: 10px;
    font-size: 1.3rem;
    bottom: 0;
    color: #000000;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 800;
    background: rgb(242 242 234 / 0.5);
    letter-spacing: 3px;
}

.center { text-align: center; }
.fs80per { font-size: 80%; }
.mt10 { margin-top: 10px; }

/*-------------- tablet size --------------------*/

@media screen and (min-width: 641px) {
html, body p {
	font-size: 16px;
}
#login #login_img {
    margin: 0 auto;
    transform: scale(1);
}
#dungeon #img_dungeon_1 {
    transform: scale(1);
    padding-bottom: 0;
}
#login .btn.detail {
    padding-top: 0;
}
.modal-content .btn li {
    max-width: 180px;
}
#modal_ability ul.cho_kakusei_box {
    max-height: none;
}
#modal_ability .ability_img .cho_kakusei img {
    width: calc(100vh / 1.77777777778);
    max-width: 25px;
}
.cv {
    font-size: 2rem;
}
}

/*--------------　PC size --------------------*/

@media screen and (min-width: 1024px) {

html, body {
    font-size: 16px;
}
.sp {
	display: none;
}
.pc {
	display: block;
}
.btn.detail,
#nav_list ul,
#chara h2,
#chara h3,
#chara .andmore
#chara #btn_shinka,
#login h2,
#login dd p,
#campaign,
#campaign h2,
#youtube,
#dungeon #img_dungeon_2,
#exchange h2,
#exchange .date,
#exchange dt,
#exchange dd,
#exchange dd p,
.modal-content .btn {
    padding: 0;
    box-sizing: content-box;
}
#head {
    background-image: url(../img/bg_main.jpg);
    background-position: top center;
    background-size: cover;
}
#head .pc {
    max-width: 1508px;
    margin: 0 auto;
}
#nav_list li {
    margin-left: 30px;
}
#nav_list li:last-child {
    margin-left: 10px;
}
#nav_list li a {
    padding: 20px 0;
}
#chara ul {
    margin: 35px auto 0;
}
#chara .lead_txt {
    margin-top: 40px;
}
#chara li {
    margin: 0 13.33333px 0 0;
    padding-bottom: 30px;
}
#chara li:nth-child(4n) {
    margin: 0;
}
#chara li:last-child {
    padding-bottom: 0;
}
#gacha #gacha_inner {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#gacha dl {
    width: 100%;
    margin-right: 0;
}
#gacha dl:nth-child(even) {
    margin-right: 0;
}
#gacha dl:nth-child(3),
#gacha dl:nth-child(4) {
    margin-top: 0;
}
#gacha dl,
#gacha dl:nth-child(2) {
    margin-right: 10px;
}
#gacha dl:last-child {
    margin-right: 0;
}
#dungeon #dungeon_chara {
    padding-top: 80px;
}
#dungeon #img_dungeon_1 {
    margin: 50px auto 0;
}
#dungeon #img_dungeon_2 {
    margin: -100px auto 0;
}
#dungeon #img_dungeon_3 {
    padding: 70px 66px;
}
#exchange {
    padding: 80px 0;
}
#exchange .date {
    padding-top: 50px;
}
#exchange dd {
    padding-top: 50px;
}
#exchange #img_exchange {
    padding: 0 151px;
}
#exchange dd p {
    padding-top: 65px;
}
#login dl {
    margin: 50px 0 0;
}
#login dt {
    font-size: 1.8rem;
}
#login #login_img {
    transform: translateY(0) scale(1);
    margin-top: 50px;
}
#chara,
#campaign,
#login {
   padding: 80px 0; 
}
#campaign ol {
    display: flex;
}
#campaign ol li:first-child {
    margin-right: 12px;
}
#youtube {
    padding: 50px 0;
}
#pagetop {
    position: fixed;
    width: 84px;
    height: 84px;
    bottom: 10px;
    right: 10px;
    z-index: 100;
    text-align: center;
}
#modal_illust .modal_close {
    top: 20px;
    right: -10px;
}
#modal_ability .modal-content {
    width: auto;
}
.modal-content .illust {
    max-width: 840px;
    margin: 0 auto;
}
.modal-content .illust {
    position: relative;
    max-width: calc(100vw / 1.77777777778);
    margin: 0 auto;
}
.modal_close {
    cursor: pointer;
}
.modal_close {
    position: absolute;
    top: -28px;
    right: -28px;
    max-width: 56px;
}
#modal_ability .ability_img {
    padding: 0;
    width: calc(100vh / 1.77777777778);
}
#modal_ability .ability_img .cho_kakusei img {
    width: calc(100vh / 1.77777777778);
    max-width: 31px;
}
#modal_ability ul.btn {
    margin: 5px auto 0;
}
}
