/* 細々としたstyle */
.block { display: block; box-sizing: border-box; }
.w100 { width: 100%; }
.w95 { width: 95%; }
.w90 { width: 90%; }
.w85 { width: 85%; }
.w80 { width: 80%; }
.w75 { width: 75%; }
.w70 { width: 70%; }
.w66 { width: 66.6%; }
.w65 { width: 65%; }
.w60 { width: 60%; }
.w55 { width: 55%; }
.w50 { width: 50%; }
.w45 { width: 45%; }
.w40 { width: 40%; }
.w35 { width: 35%; }
.w33 { width: 33.3%; }
.w30 { width: 30%; }
.w25 { width: 25%; }
.w20 { width: 20%; }
.w15 { width: 15%; }
.w10 { width: 10%; }
.w5 { width: 5%; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.purple-text { color:#a194ff; }
.yellow-text { color:#fff000; }
.red-text { color:#FF0000; }
.disabled-text { color:#717171; }
.outlined-text {
    text-shadow: #000000 2px 0, #000000 -2px 0,
    #000000 0 -2px, #000000 0 2px,
    #000000 2px 2px, #000000 -2px 2px,
    #000000 2px -2px, #000000 -2px -2px,
    #000000 1px 2px, #000000 -1px 2px,
    #000000 1px -2px, #000000 -1px -2px,
    #000000 2px 1px, #000000 -2px 1px,
    #000000 2px -1px, #000000 -2px -1px;
}
.line-common {line-height: 1.5;}
.size14 {font-size: 0.58em;}
.size16 {font-size: 0.67em;}
.size18 {font-size: 0.75em;}
.size20 {font-size: 0.83em;}


/* フレックスボックス */
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.flex.inline {
    display : -ms-inline-flexbox;
    display : -webkit-inline-flex;
    display : inline-flex;
}
.flex.row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}
.flex.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.flex.wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex.nowrap {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.flex.justify-content-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.flex.justify-content-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}
.flex.justify-content-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex.justify-content-around {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}
.flex.justify-content-evenly {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: space-around; /* aroundで代用 */
    justify-content: space-evenly;
}
.flex.align-items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.flex.align-items-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}
.flex.align-items-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}
.flex.align-items-baseline {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-align-items: baseline;
    align-items: baseline;
}

/* フレックスボックス 子要素 */
.flex .align-self-center {
    -webkit-align-self: center;
    align-self: center;
}
.flex .align-self-start {
    -webkit-align-self: flex-start;
    align-self: flex-start;
}
.flex .align-self-end {
    -webkit-align-self: flex-end;
    align-self: flex-end;
}
.flex .align-self-baseline {
    -webkit-align-self: baseline;
    align-self: baseline;
}
.flex .no-grow {
    -webkit-flex-grow: 0;
    flex-grow: 0;
}
.flex .no-shrink {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}

/* フレックス幅指定 */
.flex .basis95 {-webkit-flex-basis: 95%;-ms-flex-preferred-size: 95%;flex-basis: 95%;}
.flex .basis90 {-webkit-flex-basis: 90%;-ms-flex-preferred-size: 90%;flex-basis: 90%;}
.flex .basis85 {-webkit-flex-basis: 85%;-ms-flex-preferred-size: 85%;flex-basis: 85%;}
.flex .basis80 {-webkit-flex-basis: 80%;-ms-flex-preferred-size: 80%;flex-basis: 80%;}
.flex .basis75 {-webkit-flex-basis: 75%;-ms-flex-preferred-size: 75%;flex-basis: 75%;}
.flex .basis70 {-webkit-flex-basis: 70%;-ms-flex-preferred-size: 70%;flex-basis: 70%;}
.flex .basis66 {-webkit-flex-basis: 66.6%;-ms-flex-preferred-size: 66.6%;flex-basis: 66.6%;}
.flex .basis65 {-webkit-flex-basis: 65%;-ms-flex-preferred-size: 65%;flex-basis: 65%;}
.flex .basis60 {-webkit-flex-basis: 60%;-ms-flex-preferred-size: 60%;flex-basis: 60%;}
.flex .basis55 {-webkit-flex-basis: 55%;-ms-flex-preferred-size: 55%;flex-basis: 55%;}
.flex .basis50 {-webkit-flex-basis: 50%;-ms-flex-preferred-size: 50%;flex-basis: 50%;}
.flex .basis45 {-webkit-flex-basis: 45%;-ms-flex-preferred-size: 45%;flex-basis: 45%;}
.flex .basis40 {-webkit-flex-basis: 40%;-ms-flex-preferred-size: 40%;flex-basis: 40%;}
.flex .basis35 {-webkit-flex-basis: 35%;-ms-flex-preferred-size: 35%;flex-basis: 35%;}
.flex .basis33 {-webkit-flex-basis: 33.3%;-ms-flex-preferred-size: 33.3%;flex-basis: 33.3%;}
.flex .basis30 {-webkit-flex-basis: 30%;-ms-flex-preferred-size: 30%;flex-basis: 30%;}
.flex .basis25 {-webkit-flex-basis: 25%;-ms-flex-preferred-size: 25%;flex-basis: 25%;}
.flex .basis20 {-webkit-flex-basis: 20%;-ms-flex-preferred-size: 20%;flex-basis: 20%;}
.flex .basis15 {-webkit-flex-basis: 15%;-ms-flex-preferred-size: 15%;flex-basis: 15%;}
.flex .basis10 {-webkit-flex-basis: 10%;-ms-flex-preferred-size: 10%;flex-basis: 10%;}
.flex .basis5 {-webkit-flex-basis: 5%;-ms-flex-preferred-size: 5%;flex-basis: 5%;}

.flex, .flex * {
    box-sizing: border-box;
}

/** 共通パーツのCSS **/
.link-button {
    background: -moz-linear-gradient(top, #370c85, #9730ef 30%, #460ba8 50%, #1a0a7b 70%, #672ad7);
    background: -webkit-gradient(linear, left top, left bottom, from(#370c85),color-stop(0.3, #9730ef),color-stop(0.5, #460ba8), color-stop(0.7, #1a0a7b), to(#672ad7));
    background-position: 0;
    padding: 0.55em 0;
    color: #ffffff;
    text-shadow: 1px 1px 1px #000, 2px 2px 1px #000;
    -moz-border-radius: 0.5em;
    -webkit-border-radius: 0.5em;
    border-radius: 0.5em;
    border: 0.15em solid #7e2cdb;
    border-collapse: separate;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
}
.link-button.disabled {
    background: -moz-linear-gradient(top, #868686, #ececec 30%, #adadad 50%, #737373 70%, #d5d5d5);
    background: -webkit-gradient(linear, left top, left bottom, from(#868686),color-stop(0.3, #ececec),color-stop(0.5, #adadad), color-stop(0.7, #737373), to(#d5d5d5));
    border: 0.15em solid #d3d3d3;
    cursor: auto;
}
/* タイトルヘッダ */
.common_header-title {
    text-align: center;
}
.common_header-title .header_title {
    padding: 0.25em 0;
}

/* ナビ */
.common_navi .navi-text {
    padding: 0.25em;
    text-align: justify;
}

/* ランキング報酬 */
.ranking-reward .reward-description {
    padding-left: 0.25em;
}

/* ページネーション */
.common_pagination {}
.common_pagination .pagination-button {
    text-align: center;
}
.common_pagination .pagination-pages .page {
    padding: 0 0.3em;
    margin: 0 0.2em;
}

/* ブロックリンク */
.common_link-block {
    width: 100%;
    text-align: center;
    padding: 0.75em;
    line-height: 1.5em;
    display: block;
    background: -moz-linear-gradient(top, #563f3f 0%, #191414 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#252525), color-stop(50%,#222222), color-stop(100%,#000000));
    border-bottom: 1px solid #444444;
    box-sizing: border-box;
}

/* 画像ボタン */
.common_image-button , .common_image-button * {
    box-sizing: border-box;
}
.common_image-button {
    text-align: center;
    position: relative;
}
.common_image-button .image-button-text {
    position: absolute;
    color: #000000;
}

/* ガチャバナー */
.common_gacha_gacha-banner, .common_gacha_gacha-banner * {
    box-sizing: border-box;
}
.common_gacha_gacha-banner .gacha-banner-link {
    text-decoration: none;
    color: #FFFFFF;
    display: inline-block;
}
.common_gacha_gacha-banner .gacha-banner-bottom {
    position: relative;
}
.common_gacha_gacha-banner .gacha-banner-bottom .gacha-banner-text {
    position: absolute;
}
