

ul {
    list-style: none;
}

/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
    overflow-y: scroll;
    box-sizing: border-box;
    /* All browsers without overlaying scrollbars */

    -webkit-text-size-adjust: 100%;
    /* iOS 8+ */
}

*, ::before, ::after {
    box-sizing: inherit;
}

::before, ::after {
    /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
    vertical-align: inherit; 
    text-decoration: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
    /* Reset `padding` and `margin` of all elements */
    margin: 0; 
    /* Set `background-repeat: no-repeat` to all elements */
    padding: 0;
    background-repeat: no-repeat;
}



/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
    display: block;
}

summary {
    display: list-item;
    /* Add the correct display in all browsers */
}

small {
    font-size: 80%;
    /* Set font-size to 80% in `small` elements */
}

[hidden], template {
    display: none;
    /* Add the correct display in IE */
}

abbr[title] {
    border-bottom: 1px dotted;
    /* Add a bordered underline effect in all browsers */
    text-decoration: none;
    /* Remove text decoration in Firefox 40+ */
}

a {
    background-color: transparent;
    /* Remove the gray background on active links in IE 10 */

    -webkit-text-decoration-skip: objects;
    /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active, a:hover {
    outline-width: 0;
    /* Remove the outline when hovering in all browsers */
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    /* Specify the font family of code elements */
}

b, strong {
    font-weight: bolder;
    /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
    font-style: italic;
    /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
    background-color: #ff0;
    color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub, sup {
    position: relative;
    vertical-align: baseline; 
    font-size: 75%;
    line-height: 0;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}


optgroup {
    font-weight: bold;
    /* Restore the font weight unset by the previous rule. */
}

button {
    overflow: visible;
    /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Style select like a standard input */
select {
    -moz-appearance: none;
    /* Firefox 36+ */
    -webkit-appearance: none;
    /* Chrome 41+ */
}

select::-ms-expand {
    display: none;
    /* Internet Explorer 11+ */
}

select::-ms-value {
    color: currentColor;
    /* Internet Explorer 11+ */
}

legend {
    /* Correct the color inheritance from `fieldset` elements in IE */
    display: table;
    /* Correct the text wrapping in Edge and IE */
    max-width: 100%;
    border: 0;
    /* Correct `color` not being inherited in IE 8/9/10/11 */
    color: inherit;
    /* Correct the text wrapping in Edge and IE */
    white-space: normal;
    /* Correct the text wrapping in Edge and IE */
}


/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
    border-style: none;
    /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
    vertical-align: baseline;
}

svg:not(:root) {
    overflow: hidden;
    /* Internet Explorer 11- */
}

audio, canvas, progress, video {
    display: inline-block;
    /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
    cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
    cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
    cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

::selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

/* --- foudation _base.scss --- */
/*doc
---
name: base button
category: module/button
---

## This is base button

* Base button style.
* Use `a` or `button` tag.

```html
<a class="btn">Button</a>
```
 */

/* body {
    position: relative;
    color: #5f3e0f;
    list-style: none;
    font-size: 12px;
    font-size: 1.2rem;
    font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
} */

footer a {
    color: #50290c;
    text-decoration: none;
}
footer a:hover {
    color: #835c3f;
    text-decoration: underline;
}

footer img {
    vertical-align: bottom;
}

footer .red {
    color: #d40000;
}

footer #dmm-olgnavi {
    position: relative;
    z-index: 510;
}

/* --- layout _grid.scss --- */
.l_grid {
    margin: 0 -10px;
    padding: 0;
}
.l_grid:after {
    display: block;
    clear: both;
    content: '';
}
.l_grid.is-adjust {
    margin: 0;
}
.l_grid.is-adjust > [class*='grid-'] {
    padding: 0;
}
.l_grid.is-right > [class*='grid-'] {
    float: right;
}
.l_grid [class*='grid-'] {
    position: relative;
    float: left;
    min-height: 1px;
    padding: 0 10px;
    box-sizing: border-box;
}

/* --- layout _container.scss --- */
.l_container {
    position: relative;
    width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* --- layout _header.scss --- */
.l_header {
    display: block;
}


/* --- layout _footer.scss --- */
.l_footer {
    padding: 24px 0;
    background: #1e1813;
    color: #fff;
    text-align: center;
}
.l_footer .footer-inner {
    padding-bottom: 24px;
    border-bottom: 1px solid #484644;
}
.l_footer .footer-inner:last-child {
    padding-top: 24px;
    padding-bottom: 0;
    border: none;
}
.l_footer .footer-upper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;

    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}
.l_footer .game-description {
    padding: 0 16px;
    color: #f9ffe2;
    text-align: left;
    font-size: 0;
}
.l_footer .game-description:after {
    display: block;
    clear: both;
    content: '';
}
.l_footer .game-description .footer-gamelogo {
    display: inline-block;
    max-width: 195px;
    width: 30%;
    padding-right: 12px;
    vertical-align: middle;
    box-sizing: border-box;
}
.l_footer .game-description .descriptions {
    display: inline-block;
    width: 70%;
    vertical-align: middle;
    text-align: left; 
    font-size: 12px;
    font-size: 1.2rem;
}
.l_footer .game-description .gametitle {
    margin-bottom: 8px;
    font-size: 24px;
}
.l_footer .game-description .outlines th {
    padding-right: 6px;
}
.l_footer .game-description .outlines td {
    padding-left: 6px;
    border-left: 1px solid #cacdb4;
}
.l_footer .game-description .overview {
    overflow: hidden;
}
.l_footer .game-description .overview dl {
    font-size: 12px;
}
.l_footer .game-description .overview dl:after {
    display: block;
    clear: both;
    content: '';
}
.l_footer .game-description .overview dt {
    float: left;
    width: 6.5em;
    margin-right: 5px;
}
.l_footer .game-description .overview dt:after {
    display: block;
    clear: both;
    content: '';
}
.l_footer .game-description .overview dt:after {
    display: inline-block;
    float: right;
    content: '：'; 
    vertical-align: middle;
}
.l_footer .game-description .overview dd {
    display: block; 
    overflow: hidden;
}
.l_footer .game-description .overview a {
    color: #efddae;
}
.l_footer .game-description .overview a:hover {
    text-decoration: underline;
}
.l_footer .game-description .app-buttons:after {
    display: block;
    clear: both;
    content: '';
}
.l_footer .game-description .app-buttons img {
    width: 100%;
}
.l_footer .game-description .app-buttons .app-button-item {
    margin-top: 24px;
}
.l_footer .game-description .app-buttons .app-button-item:first-child {
    margin-top: 0;
}
.l_footer .game-description .app-buttons .app-button-item a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.l_footer .game-description .app-buttons .app-button-item a:hover {
    opacity: 0.7;
}
.l_footer .game-description .app-buttons .app-button-item .app-text {
    display: block;
    margin-bottom: 3px;
}
.l_footer .game-description .app-buttons .button {
    display: inline-block;
    width: 60%;
    vertical-align: bottom;
    text-align: left; 
    font-size: 12px;
    font-size: 1.2rem;
}
.l_footer .game-description .app-buttons .qrcode {
    display: inline-block;
    width: 40%;
    padding-left: 10px;
    vertical-align: bottom;
    box-sizing: border-box;
}
.l_footer .game-description .app-buttons .qrcode img {
    width: 65px;
    height: auto;
}
.l_footer .dmm-description {
    padding: 0 16px;
    text-align: left;
    font-size: 0;
    line-height: 1.3;
}
.l_footer .dmm-description .sns {
    text-align: right;
}
.l_footer .dmm-description .sns .item {
    display: inline-block;
    max-width: 34px; 
    margin: 0 3px;
}
.l_footer .dmm-description .sns .item a {
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
}
.l_footer .dmm-description .sns .item a:hover {
    position: relative;
    top: 1px;
    opacity: 0.7;
}
.l_footer .dmm-description .sns .item.line {
    display: none;
}
.l_footer .dmm-description .sns .item img {
    width: 100%;
    height: auto;
}
.l_footer .dmm-description .logo {
    display: inline-block;
    width: 30%;
    padding-right: 12px;
    vertical-align: middle;
    box-sizing: border-box;
}
.l_footer .dmm-description .logo img {
    max-width: 233px;
    width: 100%;
}
.l_footer .dmm-description .sublinks {
    display: inline-block;
    width: 70%;
    vertical-align: middle; 
    font-size: 12px;
    font-size: 1.2rem;
}
.l_footer .dmm-description a {
    color: #efddae;
}
.l_footer .dmm-description .copyright {
    font-size: 12px;
    font-size: 1.2rem;
}
.l_footer .trademark {
    margin-top: 15px; 
    font-size: 10px;
}

/* --- utility _margin.scss --- */
.mg-t5 {
    margin-top: 5px !important;
}

.mg-t10 {
    margin-top: 10px !important;
}

.mg-t20 {
    margin-top: 20px !important;
}

.mg-t30 {
    margin-top: 30px !important;
}

.mg-t40 {
    margin-top: 40px !important;
}

.mg-r5 {
    margin-right: 5px !important;
}

.mg-r10 {
    margin-right: 10px !important;
}

.mg-r20 {
    margin-right: 20px !important;
}

.mg-r30 {
    margin-right: 30px !important;
}

.mg-r40 {
    margin-right: 40px !important;
}

.mg-b5 {
    margin-bottom: 5px !important;
}

.mg-b10 {
    margin-bottom: 10px !important;
}

.mg-b15 {
    margin-bottom: 15px !important;
}

.mg-b20 {
    margin-bottom: 20px !important;
}

.mg-b25 {
    margin-bottom: 25px !important;
}

.mg-b30 {
    margin-bottom: 30px !important;
}

.mg-b35 {
    margin-bottom: 35px !important;
}

.mg-b40 {
    margin-bottom: 40px !important;
}

.mg-l5 {
    margin-left: 5px !important;
}

.mg-l10 {
    margin-left: 10px !important;
}

.mg-l20 {
    margin-left: 20px !important;
}

.mg-l30 {
    margin-left: 30px !important;
}

.mg-l40 {
    margin-left: 40px !important;
}

.mg-0auto {
    margin: 0 auto !important;
}

/* --- utility _padding.scss --- */
.pd-t5 {
    padding-top: 5px !important;
}

.pd-t10 {
    padding-top: 10px !important;
}

.pd-t20 {
    padding-top: 20px !important;
}

.pd-t30 {
    padding-top: 30px !important;
}

.pd-t40 {
    padding-top: 40px !important;
}

.pd-r5 {
    padding-right: 5px !important;
}

.pd-r10 {
    padding-right: 10px !important;
}

.pd-r20 {
    padding-right: 20px !important;
}

.pd-r30 {
    padding-right: 30px !important;
}

.pd-r40 {
    padding-right: 40px !important;
}

.pd-b5 {
    padding-bottom: 5px !important;
}

.pd-b10 {
    padding-bottom: 10px !important;
}

.pd-b15 {
    padding-bottom: 15px !important;
}

.pd-b20 {
    padding-bottom: 20px !important;
}

.pd-b25 {
    padding-bottom: 25px !important;
}

.pd-b30 {
    padding-bottom: 30px !important;
}

.pd-b35 {
    padding-bottom: 35px !important;
}

.pd-b40 {
    padding-bottom: 40px !important;
}

.pd-l5 {
    padding-left: 5px !important;
}

.pd-l10 {
    padding-left: 10px !important;
}

.pd-l20 {
    padding-left: 20px !important;
}

.pd-l30 {
    padding-left: 30px !important;
}

.pd-l40 {
    padding-left: 40px !important;
}

.pd-0auto {
    padding: 0 auto !important;
}

/* --- utility _text-align.scss --- */
.left {
    text-align: left !important;
}

.center {
    text-align: center !important;
}

.right {
    text-align: right !important;
}

@media screen {
    [hidden~='screen'] {
        display: inherit;
    }
    [hidden~='screen']:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important;
    }
}

@media screen and (min-width: 1px) {
    html {
        font-size: 62.5%;
    }
    .grid-base-half {
        width: 50%;
        margin-right: 25%; 
        margin-left: 25%;
    }
    .grid-base-1 {
        width: 8.33333%;
        margin: 0;
    }
    .grid-base-2 {
        width: 16.66667%;
        margin: 0;
    }
    .grid-base-3 {
        width: 25%;
        margin: 0;
    }
    .grid-base-4 {
        width: 33.33333%;
        margin: 0;
    }
    .grid-base-5 {
        width: 41.66667%;
        margin: 0;
    }
    .grid-base-6 {
        width: 50%;
        margin: 0;
    }
    .grid-base-7 {
        width: 58.33333%;
        margin: 0;
    }
    .grid-base-8 {
        width: 66.66667%;
        margin: 0;
    }
    .grid-base-9 {
        width: 75%;
        margin: 0;
    }
    .grid-base-10 {
        width: 83.33333%;
        margin: 0;
    }
    .grid-base-11 {
        width: 91.66667%;
        margin: 0;
    }
    .grid-base-12 {
        width: 100%;
        margin: 0;
    }
    .grid-base-offset-1 {
        margin-left: 8.33333%;
    }
    .grid-base-offset-2 {
        margin-left: 16.66667%;
    }
    .grid-base-offset-3 {
        margin-left: 25%;
    }
    .grid-base-offset-4 {
        margin-left: 33.33333%;
    }
    .grid-base-offset-5 {
        margin-left: 41.66667%;
    }
    .grid-base-offset-6 {
        margin-left: 50%;
    }
    .grid-base-offset-7 {
        margin-left: 58.33333%;
    }
    .grid-base-offset-8 {
        margin-left: 66.66667%;
    }
    .grid-base-offset-9 {
        margin-left: 75%;
    }
    .grid-base-offset-10 {
        margin-left: 83.33333%;
    }
    .grid-base-offset-11 {
        margin-left: 91.66667%;
    }
    .grid-base-offset-12 {
        margin-left: 100%;
    }
}


@media screen and (max-width: 768px) {
    .grid-l-half {
        width: 50%;
        margin-right: 25%; 
        margin-left: 25%;
    }
    .grid-l-1 {
        width: 8.33333%;
        margin: 0;
    }
    .grid-l-2 {
        width: 16.66667%;
        margin: 0;
    }
    .grid-l-3 {
        width: 25%;
        margin: 0;
    }
    .grid-l-4 {
        width: 33.33333%;
        margin: 0;
    }
    .grid-l-5 {
        width: 41.66667%;
        margin: 0;
    }
    .grid-l-6 {
        width: 50%;
        margin: 0;
    }
    .grid-l-7 {
        width: 58.33333%;
        margin: 0;
    }
    .grid-l-8 {
        width: 66.66667%;
        margin: 0;
    }
    .grid-l-9 {
        width: 75%;
        margin: 0;
    }
    .grid-l-10 {
        width: 83.33333%;
        margin: 0;
    }
    .grid-l-11 {
        width: 91.66667%;
        margin: 0;
    }
    .grid-l-12 {
        width: 100%;
        margin: 0;
    }
    .grid-l-offset-1 {
        margin-left: 8.33333%;
    }
    .grid-l-offset-2 {
        margin-left: 16.66667%;
    }
    .grid-l-offset-3 {
        margin-left: 25%;
    }
    .grid-l-offset-4 {
        margin-left: 33.33333%;
    }
    .grid-l-offset-5 {
        margin-left: 41.66667%;
    }
    .grid-l-offset-6 {
        margin-left: 50%;
    }
    .grid-l-offset-7 {
        margin-left: 58.33333%;
    }
    .grid-l-offset-8 {
        margin-left: 66.66667%;
    }
    .grid-l-offset-9 {
        margin-left: 75%;
    }
    .grid-l-offset-10 {
        margin-left: 83.33333%;
    }
    .grid-l-offset-11 {
        margin-left: 91.66667%;
    }
    .grid-l-offset-12 {
        margin-left: 100%;
    }
    .l_footer .footer-inner {
        padding: 0;
        border: none;
    }
    .l_footer .footer-upper {
        display: block;
    }
    .l_footer .game-description {
        margin-bottom: 12px;
        padding: 0 6px;
        text-align: center;
    }
    .l_footer .game-description .footer-gamelogo {
        display: inline-block;
        width: auto;
    }
    .l_footer .game-description .descriptions {
        width: auto;
        margin-bottom: 20px;
    }
    .l_footer .game-description .app-buttons {
        width: 60%;
        margin: 0 auto;
    }
    .l_footer .game-description .app-buttons .app-button-item {
        float: left;
        width: 50%;
        margin-top: 0;
        text-align: center;
    }
    .l_footer .game-description .app-buttons .app-button-item .app-text {
        display: none;
    }
    .l_footer .game-description .app-buttons .button {
        width: 100%;
        padding: 0 12px;
        box-sizing: border-box;
    }
    .l_footer .game-description .app-buttons .qrcode {
        display: none;
    }
    .l_footer .dmm-description {
        text-align: center;
    }
    .l_footer .dmm-description .sns {
        margin-top: 20px;
        text-align: center;
    }
    .l_footer .dmm-description .logo {
        display: block;
        width: 100%;
        margin-bottom: 12px;
        text-align: center;
    }
    .l_footer .dmm-description .sublinks {
        display: block;
        width: 100%;
        text-align: center;
    }
    .c_button-more {
        font-size: 14px;
    }
    .c_global-navi .navi.is-pc {
        display: none;
    }
    .c_global-navi .navi.is-sp {
        display: block;
    }
    .c_head {
        margin-top: 0;
        margin-bottom: 12px;
        padding: 0 8%;
    }
    .c_head > .logo {
        position: relative;
        top: 0;
        left: 0;
        display: inline-block;
        width: 49%;
        vertical-align: middle;
    }
    .c_head > .caption {
        display: inline-block;
        width: 50%;
        vertical-align: middle;
    }
    .c_image-button button .button-active, .c_image-button span .button-active {
        display: none !important;
    }
    .c_image-button.is-follow img {
        max-width: 70%;
    }
    .c_image-button.is-contact img {
        max-width: 70%;
    }
    .c_image-button.is-gear .gear-left01 {
        top: -45%;
        left: 5%;
        width: 30%;
    }
    .c_image-button.is-gear .gear-left02 {
        top: 5%;
        left: -3%;
        width: 20%;
    }
    .c_image-button.is-gear .gear-left03 {
        top: 30%;
        left: 25%;
        width: 20%;
    }
    .c_image-button.is-gear .gear-left04 {
        top: -20%;
        left: 25%;
        width: 20%;
    }
    .c_image-button.is-gear .gear-left05 {
        top: 15%;
        left: 10%;
        width: 25%;
    }
    .c_image-button.is-gear .gear-right01 {
        top: 10%;
        right: 20%;
        width: 25%;
    }
    .c_image-button.is-gear .gear-right02 {
        top: -30%;
        right: -2%;
        width: 34%;
    }
    .c_image-button.is-gear .gear-right03 {
        top: 30%;
        right: 15%;
        width: 20%;
    }
    .c_image-button.is-gear .gear-right04 {
        top: -20%;
        right: 30%;
        width: 20%;
    }
    .c_image-button.is-gear .gear-right05 {
        top: -40%;
        right: 0;
        width: 20%;
    }
    .c_image-button.is-gear .gear-right06 {
        top: -40%;
        right: 15%;
        width: 25%;
    }
    .c_image-caption img {
        width: 60%;
        height: auto;
    }
    .c_image-caption.is-info img {
        max-width: 373px;
    }
    .c_image-caption.is-world img {
        max-width: 332px;
    }
    .c_image-caption.is-game img {
        max-width: 332px;
    }
    .c_image-caption.is-chara img {
        max-width: 238px;
    }
    .c_image-caption.is-staff img {
        max-width: 378px;
        width: 70%;
    }
    .c_image-caption.is-news img {
        max-width: 273px;
    }
    .c_image-caption.is-cast img {
        max-width: 313px;
    }
    .c_list.is-sp-flat .list-item {
        width: 100%;
    }
    .c_loader img {
        max-width: 463px;
        width: 70%;
    }
    .c_notice .big-lead {
        font-size: 16px;
    }
    .c_notice .sub-lead {
        font-size: 12px;
    }
    .c_notice .sub-lead span {
        font-size: 10px;
    }
    .c_notice .data-head {
        margin-bottom: 6px;
        font-size: 16px; 
        line-height: 1.3;
    }
    .c_notice .data-head.is-inline {
        min-width: 6em;
    }
    .c_notice .paragraph {
        font-size: 12px;
    }
    .c_popup .controller .prev, .c_popup .c_rotation-banner .controller .next, .c_rotation-banner .c_popup .controller .next {
        left: -6% !important;
    }
    .c_popup .controller .next {
        right: -6% !important;
    }
    .page-chara .error {
        font-size: 14px;
    }
    .page-chara .chara-list .item {
        margin-bottom: 8px;
    }
    .page-chara .text-top {
        max-width: 665px;
    }
    .page-chara .text-bottom {
        max-width: 650px;
    }
    .page-chara .subchara {
        max-width: 661px;
    }
    .page-chara .obj-flower {
        right: 2.7%;
    }
    .page-news .error {
        font-size: 14px;
    }
    .page-news .navi-news {
        max-width: 630px;
    }
    .page-news .news-wrap {
        padding: 10px;
    }
    .page-news .news-header .main {
        font-size: 16px;
        line-height: 1.3;
    }
    .page-top .section-play .pc-contents {
        display: none;
    }
    .page-top .section-play .sp-contents {
        display: block;
    }
    .page-top .section-world .lead {
        max-width: 663px;
        width: 90%;
        height: auto;
        padding: 0;
    }
    .page-top .section-world .text {
        max-width: 663px;
        width: 90%;
        height: auto;
        padding: 0;
    }
    .page-top .section-world .title {
        max-width: 715px;
        width: 95%;
        height: auto;
    }
    .page-top .section-world .button {
        margin-bottom: 0;
    }
    .page-top .section-world .button .is-pcview {
        display: none;
    }
    .page-top .section-world .button .is-spview {
        display: block;
    }
    .page-top .section-world .button img {
        max-width: 319px;
        height: auto;
    }
    .page-top .section-chara .text {
        max-width: 606px;
        width: 90%;
        height: auto;
    }
    .page-top .section-chara .chara {
        top: 23%;
        left: -13%;
        max-width: 1080px; 
        width: 140%;
    }
    .page-top .section-chara .button {
        margin-top: 95%;
    }
    .page-top .section-chara .button img {
        max-width: 319px;
        height: auto;
    }
    .page-top .section-staff .staff > .title.is-staff01 img {
        width: 132px;
    }
    .page-top .section-staff .staff > .title.is-staff02 img {
        width: 104px;
    }
    .page-top .section-staff .staff {
        margin: 10px 0;
    }
    .page-top .section-contact .title {
        max-width: 670px; 
        width: 90%;
    }
    .page-top .flex-component .order_world {
        -ms-flex-order: 2;

        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        order: 2;
    }
    .page-top .flex-component .order_campaign {
        -ms-flex-order: 1;

        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        order: 1;
    }
    .page-special .special-item-inner {
        padding: 0 12px;
    }
    .page-special .inner-twitter-icon {
        padding: 0 10px;
    }
    .page-system .sensyo, .page-system .kaisou, .page-system .shosou, .page-system .sansaku, .page-system .letter {
        margin-bottom: 40px;
    }
    .page-system .sensyo .system-title, .page-system .kaisou .system-title, .page-system .shosou .system-title, .page-system .sansaku .system-title, .page-system .letter .system-title {
        margin-bottom: -10px;
    }
    .page-system .system-notice img {
        width: 144px;
    }
    .page-world .story {
        padding: 40px 5% 40px; 
        background: url('../images/world/bg_story_sp.png') center center no-repeat;
        background-size: 100%;
    }
}
@media screen and (max-width: 600px) {
    .l_footer .game-description .app-buttons {
        width: 90%;
        margin: 0px auto;
    }
}


@media screen and (max-width: 480px) {
    .grid-s-half {
        width: 50%;
        margin-right: 25%; 
        margin-left: 25%;
    }
    .grid-s-1 {
        width: 8.33333%;
        margin: 0;
    }
    .grid-s-2 {
        width: 16.66667%;
        margin: 0;
    }
    .grid-s-3 {
        width: 25%;
        margin: 0;
    }
    .grid-s-4 {
        width: 33.33333%;
        margin: 0;
    }
    .grid-s-5 {
        width: 41.66667%;
        margin: 0;
    }
    .grid-s-6 {
        width: 50%;
        margin: 0;
    }
    .grid-s-7 {
        width: 58.33333%;
        margin: 0;
    }
    .grid-s-8 {
        width: 66.66667%;
        margin: 0;
    }
    .grid-s-9 {
        width: 75%;
        margin: 0;
    }
    .grid-s-10 {
        width: 83.33333%;
        margin: 0;
    }
    .grid-s-11 {
        width: 91.66667%;
        margin: 0;
    }
    .grid-s-12 {
        width: 100%;
        margin: 0;
    }
    .grid-s-offset-1 {
        margin-left: 8.33333%;
    }
    .grid-s-offset-2 {
        margin-left: 16.66667%;
    }
    .grid-s-offset-3 {
        margin-left: 25%;
    }
    .grid-s-offset-4 {
        margin-left: 33.33333%;
    }
    .grid-s-offset-5 {
        margin-left: 41.66667%;
    }
    .grid-s-offset-6 {
        margin-left: 50%;
    }
    .grid-s-offset-7 {
        margin-left: 58.33333%;
    }
    .grid-s-offset-8 {
        margin-left: 66.66667%;
    }
    .grid-s-offset-9 {
        margin-left: 75%;
    }
    .grid-s-offset-10 {
        margin-left: 83.33333%;
    }
    .grid-s-offset-11 {
        margin-left: 91.66667%;
    }
    .grid-s-offset-12 {
        margin-left: 100%;
    }
    .page-chara .obj-flower {
        right: 3.5%;
        max-width: 136px;
    }
}

@media screen and (max-width: 900px) {
    .l_container {
        width: 100%;
        padding: 0;
    }
    .c_wrapper-movie.is-full {
        width: 100%;
        padding-bottom: 56%;
    }
    .page-top .section-play {
        padding: 24px;
    }
    .page-top .section-news .timelines .object-pen {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .l_page .page-inner {
        padding: 20px 0 36px;
        background-size: 1020px auto;
    }
    .c_image-button.is-gear {
        width: auto;
    }
    .c_image-button.is-gear img {
        width: auto;
    }
    .c_popup .button-voice {
        top: 23%;
        right: 10%;
        max-width: none; 
        width: 74px;
    }
    .page-chara .niconico-bnr {
        padding: 3% 6%;
    }
    .page-rule .caption {
        margin: 10px 0 30px;
        font-size: 25px;
    }
    .page-rule .sub-caption {
        font-size: 18px;
    }
    .page-rule .lead {
        font-size: 14px;
    }
    .page-rule .paragraph {
        margin-bottom: 40px;
        font-size: 14px;
    }
    .page-system .sensyo .system-chara, .page-system .kaisou .system-chara, .page-system .shosou .system-chara, .page-system .sansaku .system-chara, .page-system .letter .system-chara {
        top: -30%;
        left: -220px;
        width: auto;
    }
    .page-system .shosou .system-chara {
        top: -1%;
        left: -9%;
        max-width: 500px;
    }
    .page-system .sansaku .system-chara {
        top: 0;
        right: -12%;
        left: auto;
        max-width: 537px;
    }
    .page-system .letter .system-chara {
        top: -1%;
        left: -18%;
        max-width: 575px;
    }
    .page-world .chara {
        margin-bottom: 80px;
    }
    .page-world .keyword {
        margin-bottom: 80px;
    }
    .page-world .content-items {
        padding: 0 30px;
    }
    .page-world .content-items .item {
        letter-spacing: -0.4em;
    }
    .page-world .content-items .lead {
        display: inline-block;
        width: 30%;
        vertical-align: middle;
        text-align: left;
        letter-spacing: normal;
    }
    .page-world .content-items .paragraph {
        display: inline-block;
        width: 70%;
        vertical-align: middle;
        text-align: left;
        letter-spacing: normal;
    }
    .page-world .chara-content .chara-text {
        max-width: 578px;
        width: 80%;
    }
    .page-world .chara-content .kantyo {
        top: 0;
        right: -13%;
        width: auto;
    }
}

@media screen and (min-width: 1020px) {
    .l_page .page-inner {
        padding: 20px 0 48px;
        background-size: 100% auto;
    }
}

