@charset 'UTF-8';
/* --- foudation _mixin.scss --- */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
button, hr, input {
    overflow: visible;
}

audio, canvas, progress, video {
    display: inline-block;
}

progress, sub, sup {
    vertical-align: baseline;
}

html {
    font-family: sans-serif;
    line-height: 1.15;

        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

menu, article, aside, details, footer, header, nav, section {
    display: block;
}

h1 {
    margin: 0.67em 0; 
    font-size: 2em;
}

figcaption, figure, main {
    display: block;
}

figure {
    margin: 1em 40px;
}

hr {
    height: 0; 
    box-sizing: content-box;
}

code, kbd, pre, samp {
    font-size: 1em; 
    font-family: monospace,monospace;
}

a {
    background-color: transparent;

    -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
    outline-width: 0;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b, strong {
    font-weight: bolder;
}

dfn {
    font-style: italic;
}

mark {
    background-color: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub, sup {
    position: relative; 
    font-size: 75%;
    line-height: 0;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

button, input, optgroup, select, textarea {
    margin: 0; 
    font-size: 100%;
    font-family: sans-serif;
    line-height: 1.15;
}

button, select {
    text-transform: none;
}

[type=submit], [type=reset], button, html [type=button] {
    -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    padding: 0; 
    border-style: none;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: ButtonText dotted 1px;
}

fieldset {
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em; 
    border: 1px solid silver;
}

legend {
    display: table;
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal; 
    box-sizing: border-box;
}

textarea {
    overflow: auto;
}

[type=checkbox], [type=radio] {
    padding: 0; 
    box-sizing: border-box;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    outline-offset: -2px; 

    -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit; 

    -webkit-appearance: button;
}

summary {
    display: list-item;
}

[hidden], template {
    display: none;
}
/* --- foudation _base.scss --- */
* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    background-color: #000; 
    color: #2f2a00;
    font-size: 12px;
    font-size: 1.2rem;
    font-family: 'メイリオ',Meiryo,'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック',Verdana, sans-serif;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
       -moz-font-smoothing: antialiased;
            font-smoothing: antialiased;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
}
@media (min-width: 960px) {
    body {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

a:link {
    color: #2f2a00;
}

a:visited {
    color: #2f2a00;
}

a:hover {
    color: #2f2a00;
}

a:focus {
    color: #2f2a00;
}

a:active {
    color: #2f2a00;
}

li {
    list-style-position: inside;
}

nav li {
    list-style-type: none;
}

img {
    vertical-align: bottom;
}
@media (max-width: 959px) {
    img {
        max-width: 100%;
    }
}

table {
    border-spacing: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

label, select, button, input[type='button'], input[type='reset'], input[type='submit'], input[type='radio'], input[type='checkbox'] {
    cursor: pointer;
}

input, button, select {
    margin: 0;
    padding: 5px 10px;
    vertical-align: middle;
}

textarea {
    min-height: 10em;
    max-width: 100%;
    padding: 5px 10px;
    line-height: 1.4;
}

input[type='text'], input[type='number'], input[type='email'], textarea, select {
    border: 1px solid #2f2a00;
    border-radius: 3px;
}

input[type='checkbox'] + span {
    margin-right: 3px;
    vertical-align: middle;
}

input[type='radio'] {
    margin: 0 3px;
}

ul, li, p, ol, section, table, dl, img, picture, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

ul {
    list-style: inside none;
}

.sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.clearfix:after {
    display: block;
    clear: both;
    content: '';
}

/* --- layout _dmmheader.scss --- */
#dmm-olgnavi {
    padding: 0 12px;
    border-bottom: 1px solid #ccc;
    background: #fff;
    font-size: 12px;
    font-family: 'メイリオ',Meiryo,'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック',Verdana, sans-serif;
}
#dmm-olgnavi:after {
    display: block; 
    clear: both;
    content: '';
}
#dmm-olgnavi .dmm-btn {
    display: block;
    float: left;
    padding: 6px 0;
    text-decoration: none;
    line-height: 1;
}
#dmm-olgnavi .dmm-btn:hover {
    opacity: 0.8;
    -ms-filter: 'alpha(opacity=80)';
}
#dmm-olgnavi .dmm-logo {
    width: auto;
    height: 28px;
    border: none;
    vertical-align: middle;
}
#dmm-olgnavi .arrow {
    float: right;
    margin: 14px 0;
    padding-left: 14px;
    background: url(../../images/dmm_olgnavi/arrow_common.gif) no-repeat left center;
    color: #333;
    text-decoration: underline; 
    font-size: 12px;
}
#dmm-olgnavi .arrow:hover {
    text-decoration: none;
}

#dmm-olgnavi {
    position: relative;
    z-index: 9999;
}
#dmm-olgnavi img {
    opacity: 1;
    -ms-filter: 'alpha(opacity=100)';
}

/* --- layout _container.scss --- */
.l-container {
    position: relative;
    width: 100%;
}
.l-container:after {
    display: block;
    clear: both;
    content: '';
}
@media (max-width: 959px) {
    .l-container {
        padding-right: 15px; 
        padding-left: 15px;
    }
}
@media (min-width: 960px) {
    .l-container {
        max-width: 960px;
        margin: 0 auto;
    }
}
@media (min-width: 960px) {
    .l-container.is-full {
        max-width: 100%; 
        width: 100%;
    }
}
.l-container.is-static {
    width: 960px;
    margin: 0 auto;
}

/* --- layout _nav.scss --- */
/* --- layout _footer.scss --- */
/* --- layout _nav.scss --- */
/* --- 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;
}
@media (min-width: 960px) {
    .l-grid {
        margin: 0 -10px;
    }
}

[class*='l-grid-'] {
    position: relative;
    float: left;
    min-height: 1px;
    width: 100%;
    padding: 0 10px;
}
@media (min-width: 960px) {
    [class*='l-grid-'] {
        padding: 0 10px;
    }
}

.l-grid-base-1 {
    width: 8.33333%;
}

.l-grid-base-offset-1 {
    margin-left: 8.33333%;
}

.l-grid-base-2 {
    width: 16.66667%;
}

.l-grid-base-offset-2 {
    margin-left: 16.66667%;
}

.l-grid-base-3 {
    width: 25%;
}

.l-grid-base-offset-3 {
    margin-left: 25%;
}

.l-grid-base-4 {
    width: 33.33333%;
}

.l-grid-base-offset-4 {
    margin-left: 33.33333%;
}

.l-grid-base-5 {
    width: 41.66667%;
}

.l-grid-base-offset-5 {
    margin-left: 41.66667%;
}

.l-grid-base-6 {
    width: 50%;
}

.l-grid-base-offset-6 {
    margin-left: 50%;
}

.l-grid-base-7 {
    width: 58.33333%;
}

.l-grid-base-offset-7 {
    margin-left: 58.33333%;
}

.l-grid-base-8 {
    width: 66.66667%;
}

.l-grid-base-offset-8 {
    margin-left: 66.66667%;
}

.l-grid-base-9 {
    width: 75%;
}

.l-grid-base-offset-9 {
    margin-left: 75%;
}

.l-grid-base-10 {
    width: 83.33333%;
}

.l-grid-base-offset-10 {
    margin-left: 83.33333%;
}

.l-grid-base-11 {
    width: 91.66667%;
}

.l-grid-base-offset-11 {
    margin-left: 91.66667%;
}

.l-grid-base-12 {
    width: 100%;
}

.l-grid-base-offset-12 {
    margin-left: 100%;
}

.l-grid-base-half {
    width: 50%;
    margin-left: 25%;
}

@media (min-width: 480px) {
    .l-grid-s-1 {
        width: 8.33333%;
    }
    .l-grid-s-offset-1 {
        margin-left: 8.33333%;
    }
    .l-grid-s-2 {
        width: 16.66667%;
    }
    .l-grid-s-offset-2 {
        margin-left: 16.66667%;
    }
    .l-grid-s-3 {
        width: 25%;
    }
    .l-grid-s-offset-3 {
        margin-left: 25%;
    }
    .l-grid-s-4 {
        width: 33.33333%;
    }
    .l-grid-s-offset-4 {
        margin-left: 33.33333%;
    }
    .l-grid-s-5 {
        width: 41.66667%;
    }
    .l-grid-s-offset-5 {
        margin-left: 41.66667%;
    }
    .l-grid-s-6 {
        width: 50%;
    }
    .l-grid-s-offset-6 {
        margin-left: 50%;
    }
    .l-grid-s-7 {
        width: 58.33333%;
    }
    .l-grid-s-offset-7 {
        margin-left: 58.33333%;
    }
    .l-grid-s-8 {
        width: 66.66667%;
    }
    .l-grid-s-offset-8 {
        margin-left: 66.66667%;
    }
    .l-grid-s-9 {
        width: 75%;
    }
    .l-grid-s-offset-9 {
        margin-left: 75%;
    }
    .l-grid-s-10 {
        width: 83.33333%;
    }
    .l-grid-s-offset-10 {
        margin-left: 83.33333%;
    }
    .l-grid-s-11 {
        width: 91.66667%;
    }
    .l-grid-s-offset-11 {
        margin-left: 91.66667%;
    }
    .l-grid-s-12 {
        width: 100%;
    }
    .l-grid-s-offset-12 {
        margin-left: 100%;
    }
    .l-grid-s-half {
        width: 50%;
        margin-left: 25%;
    }
}

@media (min-width: 640px) {
    .l-grid-m-1 {
        width: 8.33333%;
    }
    .l-grid-m-offset-1 {
        margin-left: 8.33333%;
    }
    .l-grid-m-2 {
        width: 16.66667%;
    }
    .l-grid-m-offset-2 {
        margin-left: 16.66667%;
    }
    .l-grid-m-3 {
        width: 25%;
    }
    .l-grid-m-offset-3 {
        margin-left: 25%;
    }
    .l-grid-m-4 {
        width: 33.33333%;
    }
    .l-grid-m-offset-4 {
        margin-left: 33.33333%;
    }
    .l-grid-m-5 {
        width: 41.66667%;
    }
    .l-grid-m-offset-5 {
        margin-left: 41.66667%;
    }
    .l-grid-m-6 {
        width: 50%;
    }
    .l-grid-m-offset-6 {
        margin-left: 50%;
    }
    .l-grid-m-7 {
        width: 58.33333%;
    }
    .l-grid-m-offset-7 {
        margin-left: 58.33333%;
    }
    .l-grid-m-8 {
        width: 66.66667%;
    }
    .l-grid-m-offset-8 {
        margin-left: 66.66667%;
    }
    .l-grid-m-9 {
        width: 75%;
    }
    .l-grid-m-offset-9 {
        margin-left: 75%;
    }
    .l-grid-m-10 {
        width: 83.33333%;
    }
    .l-grid-m-offset-10 {
        margin-left: 83.33333%;
    }
    .l-grid-m-11 {
        width: 91.66667%;
    }
    .l-grid-m-offset-11 {
        margin-left: 91.66667%;
    }
    .l-grid-m-12 {
        width: 100%;
    }
    .l-grid-m-offset-12 {
        margin-left: 100%;
    }
    .l-grid-m-half {
        width: 50%;
        margin-left: 25%;
    }
}

@media (min-width: 960px) {
    .l-grid-l-1 {
        width: 8.33333%;
    }
    .l-grid-l-offset-1 {
        margin-left: 8.33333%;
    }
    .l-grid-l-2 {
        width: 16.66667%;
    }
    .l-grid-l-offset-2 {
        margin-left: 16.66667%;
    }
    .l-grid-l-3 {
        width: 25%;
    }
    .l-grid-l-offset-3 {
        margin-left: 25%;
    }
    .l-grid-l-4 {
        width: 33.33333%;
    }
    .l-grid-l-offset-4 {
        margin-left: 33.33333%;
    }
    .l-grid-l-5 {
        width: 41.66667%;
    }
    .l-grid-l-offset-5 {
        margin-left: 41.66667%;
    }
    .l-grid-l-6 {
        width: 50%;
    }
    .l-grid-l-offset-6 {
        margin-left: 50%;
    }
    .l-grid-l-7 {
        width: 58.33333%;
    }
    .l-grid-l-offset-7 {
        margin-left: 58.33333%;
    }
    .l-grid-l-8 {
        width: 66.66667%;
    }
    .l-grid-l-offset-8 {
        margin-left: 66.66667%;
    }
    .l-grid-l-9 {
        width: 75%;
    }
    .l-grid-l-offset-9 {
        margin-left: 75%;
    }
    .l-grid-l-10 {
        width: 83.33333%;
    }
    .l-grid-l-offset-10 {
        margin-left: 83.33333%;
    }
    .l-grid-l-11 {
        width: 91.66667%;
    }
    .l-grid-l-offset-11 {
        margin-left: 91.66667%;
    }
    .l-grid-l-12 {
        width: 100%;
    }
    .l-grid-l-offset-12 {
        margin-left: 100%;
    }
    .l-grid-l-half {
        width: 50%;
        margin-left: 25%;
    }
}

/* --- layout _header.scss --- */
/* --- layout _footer.scss --- */
.l-page {
    position: relative;
    z-index: 2;
}

/* --- layout _section.scss --- */
@media (max-width: 959px) {
    .l-section.is-bg {
        position: relative;
        z-index: 3;
    }
    .l-section.is-bg .bg-top img {
        width: 100%;
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .l-section.is-bg .bg-bottom {
        position: relative;
        z-index: 5; 
        -webkit-transform: translate(0, -5%);
            -ms-transform: translate(0, -5%);
                transform: translate(0, -5%);
    }
    .l-section.is-bg .bg-bottom img {
        width: 100%;
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .l-section.is-bg.is-nobt {
        border-bottom: 4px solid #84ffff;
    }
    .l-section.is-bg.is-nobt .bg-bottom {
        display: none;
    }
    .l-section.is-bg-fixed {
        overflow: hidden; 
        background: url(../../images/pre/bg_sect01_sp.png) 0 0 fixed;
        background-size: 100% auto;
    }
    .l-section.is-bg + .l-section.is-bg-fixed {
        margin-top: -15%;
        margin-bottom: -15%;
        padding-top: 15%;
        padding-bottom: 18%;
    }
}

@media (min-width: 960px) {
    .l-section.is-bg {
        position: relative;
        z-index: 4;
        background: url(../../images/pre/bg_sect_repeat_pc.png) 0 0 repeat;
    }
    .l-section.is-bg .bg-top, .l-section.is-bg .bg-bottom {
        width: 100%;
        height: 168px;
    }
    .l-section.is-bg .bg-top img, .l-section.is-bg .bg-bottom img {
        display: none;
    }
    .l-section.is-bg .bg-top:before, .l-section.is-bg .bg-top:after, .l-section.is-bg .bg-bottom:before, .l-section.is-bg .bg-bottom:after {
        position: absolute;
        bottom: 0;
        z-index: -1;
        width: 50%;
        height: 168px;
        background-position: 50% 0;
        background-repeat: repeat-x; 
        content: '';
    }
    .l-section.is-bg .bg-top:before, .l-section.is-bg .bg-bottom:before {
        left: -1100px;
    }
    .l-section.is-bg .bg-top:after, .l-section.is-bg .bg-bottom:after {
        right: -1100px;
    }
    .l-section.is-bg .bg-top {
        position: relative;
        top: -150px;
        margin-bottom: -10px;
        background: url(../../images/pre/bg_sect_top_pc01.png) 50% 0 no-repeat;
    }
    .l-section.is-bg .bg-top:before {
        background-image: url(../../images/pre/bg_sect_top_pc02.png);
    }
    .l-section.is-bg .bg-top:after {
        background-image: url(../../images/pre/bg_sect_top_pc03.png);
    }
    .l-section.is-bg .bg-bottom {
        position: absolute;
        bottom: -100px;
        background: url(../../images/pre/bg_sect_bottom_pc01.png) 50% 0 no-repeat;
    }
    .l-section.is-bg .bg-bottom:before {
        background-image: url(../../images/pre/bg_sect_bottom_pc02.png);
    }
    .l-section.is-bg .bg-bottom:after {
        background-image: url(../../images/pre/bg_sect_bottom_pc03.png);
    }
    .l-section.is-bg.is-nobt .bg-top {
        top: -15px;
        height: 30px;
        margin: 0;
        background: url(../../images/pre/bg_sect_top_pc04.png) 0 0 repeat-x;
    }
    .l-section.is-bg.is-nobt .bg-top:before, .l-section.is-bg.is-nobt .bg-top:after {
        display: none;
    }
    .l-section.is-bg.is-nobt .bg-bottom {
        bottom: -15px;
        height: 30px;
        margin: 0;
        background: url(../../images/pre/bg_sect_bottom_pc04.png) 0 0 repeat-x;
    }
    .l-section.is-bg.is-nobt .bg-bottom:before, .l-section.is-bg.is-nobt .bg-bottom:after {
        display: none;
    }
    .l-section.is-bg-fixed {
        width: 100%;
        background: url(../../images/pre/bg_sect01_pc.jpg) 0 0 fixed;
        background-size: cover;
    }
    .l-section.is-bg + .l-section.is-bg-fixed {
        padding-bottom: 100px;
    }
}

/* --- layout _wrapper.scss --- */
.l-wrapper {
    overflow: hidden;
}
@media (max-width: 959px) {
    .l-wrapper:after {
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1; 
        width: 100%;
        height: 100%;
        background: url(../../images/pre/bg_sp.jpg) 0 0 no-repeat;
        background-size: 100% auto;
        content: '';
    }
}
@media (min-width: 960px) {
    .l-wrapper {
        background: url(../../images/pre/bg_pc.jpg) 0 0 no-repeat fixed;
        background-size: 100% auto;
    }
}

/* --- layout _bg-fire.scss --- */
.c-bg-fire {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
}
.c-bg-fire.on {
    opacity: 1;
    -ms-filter: 'alpha(opacity=100)'; 
    -webkit-transition: 4s 1s opacity;
            transition: 4s 1s opacity;
}

/* --- component _img.scss --- */
.c-img-responsive {
    width: 100%;
    height: auto;
}
@media (min-width: 960px) {
    .c-img-responsive {
        display: inline-block;
        width: auto;
    }
}

.c-img-rounded {
    border-radius: 5px;
}

.c-img-circle {
    border-radius: 50%;
}

/* --- component _keyframes.scss --- */
@-webkit-keyframes fadeinout {
    0%, 100% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    50% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}
@keyframes fadeinout {
    0%, 100% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    50% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
        -webkit-transform: translate(-10%, 0);
                transform: translate(-10%, 0);
    }
    100% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
        -webkit-transform: translate(-10%, 0);
                transform: translate(-10%, 0);
    }
    100% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        height: 0; 
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    100% {
        height: auto; 
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}

@keyframes fadeInDown {
    0% {
        height: 0; 
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    100% {
        height: auto; 
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}

@-webkit-keyframes rotate {
    30% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes rotate {
    30% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    100% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    100% {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
}

/* --- project _pre.scss --- */
.fancybox-slide--video .fancybox-content {
    position: relative;
}
.fancybox-slide--video .fancybox-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media (max-width: 959px) {
    .fancybox-slide--video .fancybox-content {
        width: 100%;
        height: 0 !important;
        padding-top: 56.25%;
    }
}
@media (min-width: 960px) {
    .fancybox-slide--video .fancybox-content {
        width: 920px;
        height: 520px;
        margin: 0;
    }
}

.fancybox-image {
    opacity: 1;
    -ms-filter: 'alpha(opacity=100)';
}

.loading-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000; 
    width: 100%;
    height: 100%;
    height: 100vh;
}
.ie8 .loading-wrapper {
    display: none;
}
.loading-wrapper .loading-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    height: 50vh;
    background-color: black;
}
.loading-wrapper .loading-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    height: 50vh;
    background-color: black;
}
.loading-wrapper .loading-bar {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 9001; 
    width: 0;
    height: 4px;
    margin-top: -2px;
    background: -webkit-linear-gradient(left, #fff 0%, #00adff 100%);
    background:         linear-gradient(to right, #fff 0%, #00adff 100%);
    background-color: #fff;
}
.loading-wrapper .loading-text {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -2em;
    color: #fff;
    text-align: center;
    font-size: 16px;
    -webkit-transition: 0.5s opacity;
            transition: 0.5s opacity;
}
.loading-wrapper.loaded {
    -webkit-animation: 1s zindex 0.8s forwards;
            animation: 1s zindex 0.8s forwards;
}
.loading-wrapper.loaded .loading-top {
    -webkit-animation: 1s slideTop 0.8s forwards;
            animation: 1s slideTop 0.8s forwards;
}
.loading-wrapper.loaded .loading-bottom {
    -webkit-animation: 1s slideDown 0.8s forwards;
            animation: 1s slideDown 0.8s forwards;
}
.loading-wrapper.loaded .loading-bar {
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
    -webkit-transition: 0.2s opacity 0.8s;
            transition: 0.2s opacity 0.8s;
}
.loading-wrapper.loaded .loading-text {
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
}
.ie9 .loading-wrapper.loaded {
    display: none;
}

@-webkit-keyframes zindex {
    99% {
        z-index: 9000;
        display: block;
    }
    100% {
        z-index: 0;
        display: none;
    }
}

@keyframes zindex {
    99% {
        z-index: 9000;
        display: block;
    }
    100% {
        z-index: 0;
        display: none;
    }
}

@-webkit-keyframes slideTop {
    100% {
        -webkit-transform: translate3D(0, -100%, 0);
                transform: translate3D(0, -100%, 0);
    }
}

@keyframes slideTop {
    100% {
        -webkit-transform: translate3D(0, -100%, 0);
                transform: translate3D(0, -100%, 0);
    }
}

@-webkit-keyframes slideDown {
    100% {
        -webkit-transform: translate3D(0, 100%, 0);
                transform: translate3D(0, 100%, 0);
    }
}

@keyframes slideDown {
    100% {
        -webkit-transform: translate3D(0, 100%, 0);
                transform: translate3D(0, 100%, 0);
    }
}

.btn-fix {
    position: fixed;
    bottom: -40%;
    left: 0;
    z-index: 101;
    width: 100%;
    -webkit-transition: bottom 0.4s;
            transition: bottom 0.4s;
}
.btn-fix.on {
    bottom: 0;
}
.btn-fix .btn-regist {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
}
.btn-fix .btn-regist img {
    width: 100%;
}
.btn-fix .btn-regist:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url(../../images/pre/btn_regist_on.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-animation: 3s fadeinout infinite;
            animation: 3s fadeinout infinite;
}
.btn-fix .btn-pagetop {
    position: absolute;
    right: 0;
    bottom: -2px;
}
.btn-fix .btn-pagetop img {
    width: 100%;
}
.btn-fix .btn-pagetop:hover {
    opacity: 0.8;
    -ms-filter: 'alpha(opacity=80)';
}
@media (max-width: 959px) {
    .btn-fix .btn-regist {
        width: 25%;
    }
    .btn-fix .btn-pagetop {
        width: 10%;
    }
}

picture, img {
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
    -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
            transition: opacity 0.6s, -webkit-transform 0.6s;
            transition: opacity 0.6s, transform 0.6s;
            transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}
picture.on-view, img.on-view {
    opacity: 1;
    -ms-filter: 'alpha(opacity=100)'; 
    -webkit-transition: opacity 0.6s;
            transition: opacity 0.6s;
}
.ie8 picture, .ie9 picture, .ie10 picture, .ie8 img, .ie9 img, .ie10 img {
    opacity: 1;
    -ms-filter: 'alpha(opacity=100)';
}

.fn-onview.onview-top {
    -webkit-transition: 0.45s -webkit-transform;
            transition: 0.45s -webkit-transform;
            transition: 0.45s transform;
            transition: 0.45s transform, 0.45s -webkit-transform; 
    -webkit-transform: translate3d(0, 40px, 0);
            transform: translate3d(0, 40px, 0);
}
.fn-onview.onview-top.on-view {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.fn-onview.onview-left {
    -webkit-transition: 0.45s -webkit-transform;
            transition: 0.45s -webkit-transform;
            transition: 0.45s transform;
            transition: 0.45s transform, 0.45s -webkit-transform; 
    -webkit-transform: translate3d(-160px, 0, 0);
            transform: translate3d(-160px, 0, 0);
}
.fn-onview.onview-left.on-view {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.fn-onview.onview-right {
    -webkit-transition: 0.45s -webkit-transform;
            transition: 0.45s -webkit-transform;
            transition: 0.45s transform;
            transition: 0.45s transform, 0.45s -webkit-transform; 
    -webkit-transform: translate3d(160px, 0, 0);
            transform: translate3d(160px, 0, 0);
}
.fn-onview.onview-right.on-view {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

@media (max-width: 959px) {
    .page-preregist picture, .page-preregist img {
        width: 100%;
    }
    .page-preregist picture {
        display: block;
    }
    .page-preregist .inner {
        padding-right: 20px; 
        padding-left: 20px;
    }
    .page-preregist .sect-inner {
        position: relative;
        z-index: 2;
    }
    .page-preregist .logo-page {
        position: relative;
        z-index: 101;
        text-align: center;
    }
    .page-preregist .logo-page img {
        width: 88%;
    }
    .page-preregist .area-pic {
        position: relative;
        width: 100%;
    }
    .page-preregist .capt-sect {
        position: relative;
        width: 100%;
        margin-bottom: -16%;
        padding-top: 40%;
        background: url(../../images/pre/bg_capt01.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .page-preregist .capt-sect.on-view {
        -webkit-transform: translate(0, -18%);
            -ms-transform: translate(0, -18%);
                transform: translate(0, -18%);
    }
    .page-preregist .capt-sect picture {
        position: absolute;
        top: 28%;
        left: 0;
        z-index: 10;
    }
    .page-preregist .capt-sect:before, .page-preregist .capt-sect:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        content: '';
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
        -webkit-transition: 0.5s opacity;
                transition: 0.5s opacity;
    }
    .page-preregist .capt-sect.on-view:before {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
        -webkit-transition-delay: 1500ms;
                transition-delay: 1500ms;
    }
    .page-preregist .capt-sect.on-view:after {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
        -webkit-transition-delay: 2500ms;
                transition-delay: 2500ms;
    }
    .page-preregist .capt-sect:before {
        background: url(../../images/pre/bg_capt02.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .page-preregist .capt-sect:after {
        background: url(../../images/pre/bg_capt03.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .page-preregist .box-regist {
        position: relative;
        z-index: 101;
    }
    .page-preregist .box-regist ul {
        margin: 0;
        padding: 0;
        text-align: center; 
        font-size: 0;
    }
    .page-preregist .box-regist li {
        display: inline-block;
        width: 33.333%;
        font-size: 14px;
    }
    .page-preregist .box-regist li:nth-child(n+4) {
        margin-top: 1%;
    }
    .page-preregist .box-regist img {
        width: 100%;
    }
    .page-preregist .box-iframe {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }
    .page-preregist .box-iframe iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .page-preregist .sect.is-bg {
        background: url(../../images/pre/bg_sect_repeat.png) 0 0 repeat;
        background-size: 100% auto;
    }
    .page-preregist .sect + .sect {
        margin-top: 10%;
    }
    .page-preregist .page-header {
        min-height: 150vw;
        padding-top: 69%;
    }
}
@media (max-width: 959px) and (min-width: 960px) {
    .page-preregist .page-header {
        min-height: auto;
        padding-top: 450px;
    }
}

@media (max-width: 959px) {
    .page-preregist .page-header .area-pic {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
    }
    .page-preregist .page-header .pic-chr {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
                transition: opacity 0.6s, -webkit-transform 0.6s;
                transition: opacity 0.6s, transform 0.6s;
                transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s; 
        -webkit-transform: translate3D(0, 10px, 0);
            -ms-transform: translate3D(0, 10px, 0);
                transform: translate3D(0, 10px, 0);
    }
    .page-preregist .page-header .pic-chr.is-chr-1 {
        -webkit-transition-delay: 1600ms;
                transition-delay: 1600ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-2 {
        -webkit-transition-delay: 1500ms;
                transition-delay: 1500ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-3 {
        -webkit-transition-delay: 1400ms;
                transition-delay: 1400ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-4 {
        -webkit-transition-delay: 1000ms;
                transition-delay: 1000ms;
    }
    .page-preregist .page-header .pic-chr.on-view {
        -webkit-transform: translate3D(0, 0, 0);
            -ms-transform: translate3D(0, 0, 0);
                transform: translate3D(0, 0, 0);
    }
    .page-preregist .page-header .pic-header-text {
        position: absolute;
        top: 0;
    }
    .page-preregist .page-header .pic-header-text.is-tx-1 {
        right: 2%;
        width: 10.26%;
    }
    .page-preregist .page-header .pic-header-text.is-tx-2 {
        left: 2%;
        width: 20.53%;
    }
    .page-preregist .page-header .tx-header {
        position: relative;
        z-index: 102;
        margin-top: -12.5%;
    }
    .page-preregist .contents {
        margin-top: 5%;
    }
    .page-preregist .sect-campaign h2 {
        margin: -4% 0 -7%;
    }
    .page-preregist .sect-campaign h2 img {
        width: 73.2%;
    }
    .page-preregist .sect-campaign h2.on-view {
        -webkit-transform: translate(0, -60%);
            -ms-transform: translate(0, -60%);
                transform: translate(0, -60%);
    }
    .page-preregist .sect-campaign .cp-preregist h3, .page-preregist .sect-campaign .cp-twitter h3 {
        text-align: center;
    }
    .page-preregist .sect-campaign .cp-preregist h3 img, .page-preregist .sect-campaign .cp-twitter h3 img {
        width: 90%;
    }
    .page-preregist .sect-campaign .cp-twitter {
        margin-top: 10%;
    }
    .page-preregist .sect-campaign .list-cp li {
        margin-top: 2%; 
        line-height: 0;
    }
    .page-preregist .sect-campaign .list-cp li .pic-text {
        position: absolute;
        top: 0;
        right: 0;
        width: 19%;
    }
    .page-preregist .sect-campaign .list-cp li .pic-text img {
        width: 100%;
        height: auto;
    }
    .page-preregist .sect-campaign .list-cp .clear {
        position: relative;
    }
    .page-preregist .sect-campaign .list-cp .clear picture:before, .page-preregist .sect-campaign .list-cp .clear picture:after {
        position: absolute;
        display: block;
        content: '';
    }
    .page-preregist .sect-campaign .list-cp .clear picture:before {
        top: 0;
        left: 0;
        width: 21.533%;
        padding-top: 21.4%;
        background: url(../../images/pre/pic_present_complete_bg.png) 0 0 no-repeat;
        background-size: cover;
        -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
                transform-origin: 50% 50%;
        -webkit-animation: 3s rotate 1s forwards infinite linear;
                animation: 3s rotate 1s forwards infinite linear;
    }
    .ie8 .page-preregist .sect-campaign .list-cp .clear picture:before {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture:after {
        top: 16.7%;
        left: 3.7%;
        width: 14%;
        padding-top: 14%;
        background: url(../../images/pre/pic_present_complete.png) 0 0 no-repeat;
        background-size: cover; 
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    .ie8 .page-preregist .sect-campaign .list-cp .clear picture:after {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture.on-view:before {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture.on-view:after {
        -webkit-animation: 0.5s fadein 0.5s forwards;
                animation: 0.5s fadein 0.5s forwards;
    }
    .page-preregist .sect-campaign .list-cp.is-twitter picture:before {
        background-image: url(../../images/pre/pic_present_complete_bg2.png);
    }
    .page-preregist .sect-campaign .list-cp.is-twitter picture:after {
        left: 3.5%;
        background-image: url(../../images/pre/pic_present_complete2.png);
    }
    .page-preregist .sect-campaign .box-twitt {
        margin: 5% 0; 
        text-align: center;
    }
    .page-preregist .sect-campaign .box-twitt .twitter-tweet {
        margin-right: auto; 
        margin-left: auto;
    }
    .page-preregist .sect-campaign .btn-retwitt {
        position: relative;
        text-align: center;
    }
    .page-preregist .sect-campaign .btn-retwitt img {
        width: 85%;
    }
    .page-preregist .sect-campaign .pic-area {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
    }
    .page-preregist .sect-campaign .pic-area .pic-1, .page-preregist .sect-campaign .pic-area .pic-2, .page-preregist .sect-campaign .pic-area .pic-3, .page-preregist .sect-campaign .pic-area .pic-4, .page-preregist .sect-campaign .pic-area .pic-5, .page-preregist .sect-campaign .pic-area .pic-6, .page-preregist .sect-campaign .pic-area .pic-8 {
        display: none;
    }
    .page-preregist .sect-campaign .pic-area .pic-7 {
        position: absolute;
        top: 0;
        right: -14%;
        width: 69.8%;
        margin-top: -10%;
    }
    .page-preregist .sect-campaign .cp-datalinkage {
        margin-top: 10%;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-1, .page-preregist .sect-campaign .cp-datalinkage .pic-2 {
        display: block;
        text-align: center;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-1 {
        margin-top: 6%;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-1 img {
        width: 81%;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-2 {
        margin-top: 8%;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-2 img {
        width: 86%;
        margin-right: -4.5%;
    }
    .page-preregist .sect-campaign .cp-datalinkage .list-note {
        margin-top: 8%;
        color: #fff;
        font-size: 3.5vw;
        line-height: 1.4;
    }
    .page-preregist .sect-campaign .cp-datalinkage .list-note dd {
        margin: 0;
    }
    .page-preregist .sect-campaign .cp-datalinkage .list-note dd li {
        padding-left: 1em;
        text-indent: -1em;
    }
    .page-preregist .sect-movie .area-pic {
        padding-top: 36%;
    }
    .page-preregist .sect-movie .area-pic .pic-1 {
        position: absolute;
        top: 0;
        left: 0;
    }
    .page-preregist .sect-movie .area-pic .pic-2 {
        position: relative;
    }
    .page-preregist .sect-movie .tx-1 {
        position: relative;
        margin-top: -26%;
        margin-bottom: 6%;
        text-align: center;
    }
    .page-preregist .sect-movie .tx-1 img {
        width: 90%;
    }
    .page-preregist .sect-movie .tx-2 {
        margin: 5% 0; 
        text-align: center;
    }
    .page-preregist .sect-movie .tx-2 img {
        width: 59.6%;
    }
    .page-preregist .sect-movie .box-movie {
        text-align: center;
    }
    .page-preregist .sect-movie .box-movie img {
        width: 73.8%;
    }
    .page-preregist .sect-gamesystem .pic-2 {
        margin-top: -12%;
    }
    .page-preregist .sect-gamesystem .pic-3 {
        margin-top: 5%;
    }
    .page-preregist .sect-gamesystem .pic-4 {
        margin-top: -12%;
    }
    .page-preregist .sect-character {
        padding-bottom: 3%;
    }
    .page-preregist .sect-character .list-chr {
        width: 100%;
        margin: 11% 10.6% 3%; 
        padding: 0 0.4%;
        font-size: 0;
    }
    .page-preregist .sect-character .list-chr li {
        position: relative;
        display: inline-block;
        width: 50%;
        margin: 0 -5.3%; 
        font-size: 12px;
    }
    .page-preregist .sect-character .list-chr li:nth-child(odd) {
        z-index: 5;
    }
    .page-preregist .sect-character .list-chr a:hover, .page-preregist .sect-character .list-chr a:active, .page-preregist .sect-character .list-chr a:focus {
        outline: none;
    }
    .page-preregist .sect-character .tx-1 {
        text-align: center;
    }
    .page-preregist .sect-character .tx-1 img {
        width: 90%;
    }
    .page-preregist .sect-twitter {
        padding-bottom: 2%;
    }
    .page-preregist .sect-twitter h2 {
        margin: -4% 0 -7%;
    }
    .page-preregist .sect-twitter h2 img {
        width: 92%;
    }
    .page-preregist .sect-twitter h2.on-view {
        -webkit-transform: translate(0, -90%);
            -ms-transform: translate(0, -90%);
                transform: translate(0, -90%);
    }
    .page-preregist .sect-twitter .box-twitter {
        position: relative;
        width: 90%;
        margin: 0 auto;
    }
    .page-preregist .sect-twitter .btn-follow {
        position: relative;
        margin: 2% 0 5%; 
        text-align: center;
    }
    .page-preregist .sect-twitter .btn-follow img {
        width: 80%;
    }
    .page-preregist .sect-twitter .pic-area {
        display: none;
    }
    .page-preregist .sect-bottom .tx-1 {
        text-indent: -10px;
    }
    .page-preregist .sect-bottom .tx-1 img {
        width: 80%;
    }
    .page-preregist .sect-bottom .tx-2 {
        position: relative;
    }
    .page-preregist .sect-bottom .area-pic {
        margin: -5% 0 -25%;
    }
    .page-preregist .sect-bottom .pic-chr {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .page-preregist .sect-bottom .pic-chr img {
        width: 100%;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-1 {
        position: relative;
        -webkit-transition-delay: 600ms;
                transition-delay: 600ms;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-2 {
        -webkit-transition-delay: 500ms;
                transition-delay: 500ms;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-3 {
        -webkit-transition-delay: 400ms;
                transition-delay: 400ms;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-4 {
        -webkit-transition-delay: 0ms;
                transition-delay: 0ms;
    }
    .page-preregist .box-gameinfo {
        margin-top: 10%;
        color: #fff;
    }
    .page-preregist .box-gameinfo p {
        text-align: center;
        font-weight: bold;
        font-size: 3.5vw;
    }
    .page-preregist .box-gameinfo .ico-game {
        width: 30%;
        margin: 4% auto;
    }
    .page-preregist .box-gameinfo .list-gameinfo {
        font-size: 4vw; 
        line-height: 1.45;
    }
    .page-preregist .box-gameinfo .list-gameinfo:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-preregist .box-gameinfo .list-gameinfo dt {
        float: left;
        min-width: 6em;
        text-align: right;
    }
    .page-preregist .box-gameinfo .list-gameinfo dd {
        margin-left: 6.5em; 
        text-align: left;
    }
}

@media (min-width: 960px) {
    .page-preregist picture {
        display: inline-block;
    }
    .page-preregist .sect-inner {
        position: relative;
        z-index: 2;
        width: 960px;
        margin: 0 auto;
    }
    .page-preregist .logo-page {
        position: absolute;
        top: 20px;
        left: -5px;
        z-index: 101;
        text-align: center;
    }
    .page-preregist .capt-sect {
        text-align: center;
    }
    .page-preregist .box-regist {
        position: relative;
        z-index: 101; 
        margin: 0 60px 0;
    }
    .page-preregist .box-regist ul {
        text-align: center;
    }
    .page-preregist .box-regist li {
        display: inline-block;
        margin: 0 -4px;
    }
    .page-preregist .box-iframe {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }
    .page-preregist .box-iframe iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .page-preregist .page-header {
        position: relative;
        min-height: 732px;
        width: 960px;
        margin: 0 auto 190px;
        padding-top: 450px;
    }
    .page-preregist .page-header .area-pic {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }
    .page-preregist .page-header .pic-chr {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
                transition: opacity 0.6s, -webkit-transform 0.6s;
                transition: opacity 0.6s, transform 0.6s;
                transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s; 
        -webkit-transform: translate3D(0, 10px, 0);
            -ms-transform: translate3D(0, 10px, 0);
                transform: translate3D(0, 10px, 0);
    }
    .page-preregist .page-header .pic-chr.is-chr-1 {
        top: 20px;
        left: 270px;
        -webkit-transition-delay: 1600ms;
                transition-delay: 1600ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-2 {
        top: 40px;
        left: 350px;
        -webkit-transition-delay: 1500ms;
                transition-delay: 1500ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-3 {
        top: 120px;
        left: 150px;
        -webkit-transition-delay: 1400ms;
                transition-delay: 1400ms;
    }
    .page-preregist .page-header .pic-chr.is-chr-4 {
        top: 115px;
        left: 160px;
        -webkit-transition-delay: 1000ms;
                transition-delay: 1000ms;
        -webkit-animation: 5s move infinite;
                animation: 5s move infinite;
    }
    .page-preregist .page-header .pic-chr.on-view {
        -webkit-transform: translate3D(0, 0, 0);
            -ms-transform: translate3D(0, 0, 0);
                transform: translate3D(0, 0, 0);
    }
    .page-preregist .page-header .pic-header-text {
        position: absolute;
    }
    .page-preregist .page-header .pic-header-text.is-tx-1 {
        top: 10px;
        left: 900px;
    }
    .page-preregist .page-header .pic-header-text.is-tx-2 {
        top: 40px;
        left: 855px;
    }
    .page-preregist .page-header .tx-header {
        position: relative;
        z-index: 102;
        text-indent: -13px;
    }
    .page-preregist .sect + .sect {
        margin-top: 20px;
    }
    .page-preregist .sect-campaign {
        margin-top: -300px;
    }
    .page-preregist .sect-campaign h2 {
        margin-bottom: 20px;
    }
    .page-preregist .sect-campaign .sect-inner {
        min-height: 1180px;
    }
    .page-preregist .sect-campaign .sect-inner:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-preregist .sect-campaign .cp-preregist {
        float: left;
        width: 433px;
    }
    .page-preregist .sect-campaign .cp-twitter {
        float: right;
        width: 433px;
    }
    .page-preregist .sect-campaign .list-cp li {
        margin-top: 10px;
    }
    .page-preregist .sect-campaign .list-cp li .pic-text {
        position: absolute;
        top: 0;
        right: 0;
        width: 86px;
    }
    .page-preregist .sect-campaign .list-cp li .pic-text img {
        width: 100%;
        height: auto;
    }
    .page-preregist .sect-campaign .list-cp .clear {
        position: relative;
    }
    .page-preregist .sect-campaign .list-cp .clear picture:before, .page-preregist .sect-campaign .list-cp .clear picture:after {
        position: absolute;
        display: block;
        content: '';
    }
    .page-preregist .sect-campaign .list-cp .clear picture:before {
        top: 0;
        left: 0;
        width: 94px;
        height: 93px;
        background: url(../../images/pre/pic_present_complete_bg.png) 0 0 no-repeat;
        -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
                transform-origin: 50% 50%;
        -webkit-animation: 3s rotate 1s forwards infinite linear;
                animation: 3s rotate 1s forwards infinite linear;
    }
    .ie8 .page-preregist .sect-campaign .list-cp .clear picture:before, .ie9 .page-preregist .sect-campaign .list-cp .clear picture:before {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture:after {
        top: 16px;
        left: 17px;
        width: 62px;
        height: 62px;
        background: url(../../images/pre/pic_present_complete.png) 0 0 no-repeat;
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
    .ie8 .page-preregist .sect-campaign .list-cp .clear picture:after, .ie9 .page-preregist .sect-campaign .list-cp .clear picture:after {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture.on-view:before {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp .clear picture.on-view:after {
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-preregist .sect-campaign .list-cp.is-twitter picture:before {
        background-image: url(../../images/pre/pic_present_complete_bg2.png);
    }
    .page-preregist .sect-campaign .list-cp.is-twitter picture:after {
        left: 15px;
        background-image: url(../../images/pre/pic_present_complete2.png);
    }
    .page-preregist .sect-campaign .btn-retwitt {
        text-align: center;
    }
    .page-preregist .sect-campaign .pic-area {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1;
    }
    .page-preregist .sect-campaign .pic-area img {
        position: absolute;
    }
    .page-preregist .sect-campaign .pic-area .pic-1 {
        top: -123px;
        left: -680px;
        -webkit-transition-delay: 500ms;
                transition-delay: 500ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-2 {
        top: -143px;
        left: 200px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-3 {
        top: 727px;
        left: -680px;
        -webkit-transition-delay: 500ms;
                transition-delay: 500ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-4 {
        top: 550px;
        left: 200px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-5 {
        top: 1600px;
        left: -680px;
        -webkit-transition-delay: 500ms;
                transition-delay: 500ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-6 {
        top: 1490px;
        left: 200px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-7 {
        top: -240px;
        right: -620px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms;
    }
    .page-preregist .sect-campaign .pic-area .pic-8 {
        top: 760px;
        left: -590px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms;
    }
    .page-preregist .sect-campaign .cp-datalinkage {
        clear: both;
        padding-top: 60px;
        text-align: center;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-1, .page-preregist .sect-campaign .cp-datalinkage .pic-2 {
        display: inline-block;
        margin-top: 30px;
        vertical-align: top;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-1 {
        margin-right: 12px;
    }
    .page-preregist .sect-campaign .cp-datalinkage .pic-2 {
        margin-right: -27px; 
        margin-left: 12px;
    }
    .page-preregist .sect-campaign .cp-datalinkage .list-note {
        margin-top: 30px;
        margin-left: 130px;
        color: #fff;
        text-align: left;
        font-size: 16px;
        line-height: 1.4;
    }
    .page-preregist .sect-campaign .cp-datalinkage .list-note dd {
        margin: 0;
    }
    .page-preregist .sect-movie .sect-inner {
        position: relative;
        min-height: 1200px; 
        padding-top: 95px;
    }
    .page-preregist .sect-movie .area-pic .pic-1 {
        position: absolute;
        top: 250px;
        left: 285px;
    }
    .page-preregist .sect-movie .area-pic .pic-2 {
        position: relative;
        display: inline-block;
        margin: -50px 0 0 -535px;
    }
    .page-preregist .sect-movie .tx-1 {
        position: relative;
        margin-top: -340px;
        text-align: center; 
        text-indent: -30px;
    }
    .page-preregist .sect-movie .tx-2 {
        margin-top: 30px; 
        text-align: center;
    }
    .page-preregist .sect-movie .box-movie {
        position: relative;
        margin-top: 30px; 
        text-align: center;
    }
    .page-preregist .sect-movie .box-movie a:hover {
        opacity: 0.8;
        -ms-filter: 'alpha(opacity=80)';
    }
    .page-preregist .sect-gamesystem .sect-inner {
        min-height: 1600px;
    }
    .page-preregist .sect-gamesystem .pic-1 {
        margin: -100px 0 0 -100px;
    }
    .page-preregist .sect-gamesystem .pic-2 {
        margin: 0 0 0 -10px;
    }
    .page-preregist .sect-gamesystem .pic-3 {
        display: none;
    }
    .page-preregist .sect-gamesystem .pic-4 {
        display: none;
    }
    .page-preregist .sect-character .sect-inner {
        min-height: 840px;
    }
    .page-preregist .sect-character .list-chr {
        width: 100%;
        margin-bottom: 20px;
        padding-left: 13px; 
        font-size: 0;
    }
    .page-preregist .sect-character .list-chr li {
        display: inline-block;
        width: 33.333%;
        margin: 0 -13px; 
        font-size: 14px;
    }
    .page-preregist .sect-character .list-chr a:hover, .page-preregist .sect-character .list-chr a:active, .page-preregist .sect-character .list-chr a:focus {
        outline: none;
    }
    .page-preregist .sect-character .list-chr a:hover img, .page-preregist .sect-character .list-chr a:active img, .page-preregist .sect-character .list-chr a:focus img {
        opacity: 0.8;
        -ms-filter: 'alpha(opacity=80)';
    }
    .page-preregist .sect-character .tx-1 {
        text-align: center;
    }
    .page-preregist .sect-twitter {
        padding-bottom: 20px; 
        text-align: center;
    }
    .page-preregist .sect-twitter .sect-inner {
        z-index: auto; 
        min-height: 618px;
    }
    .page-preregist .sect-twitter h2 {
        position: relative;
        z-index: 2;
    }
    .page-preregist .sect-twitter .box-twitter {
        position: relative;
        z-index: 2; 
        width: 670px;
        margin: 30px auto 0;
    }
    .page-preregist .sect-twitter .btn-follow {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .page-preregist .sect-twitter .btn-follow a {
        position: relative;
        z-index: 101;
    }
    .page-preregist .sect-twitter .pic-area {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1;
    }
    .page-preregist .sect-twitter .pic-area img {
        position: absolute;
    }
    .page-preregist .sect-twitter .pic-area .pic-1 {
        top: 0;
        left: -600px;
        -webkit-transition-delay: 500ms;
                transition-delay: 500ms;
    }
    .page-preregist .sect-twitter .pic-area .pic-2 {
        top: 357px;
        left: 200px;
        -webkit-transition-delay: 550ms;
                transition-delay: 550ms; 

        transfrom: rotate(330deg);
    }
    .page-preregist .sect-bottom .sect-inner {
        z-index: auto; 
        padding-top: 520px;
    }
    .page-preregist .sect-bottom .tx-1 {
        position: absolute;
        top: 120px;
        left: 340px;
        z-index: 11;
    }
    .page-preregist .sect-bottom .tx-2 {
        position: absolute;
        top: 370px;
        left: 416px;
        z-index: 11;
    }
    .page-preregist .sect-bottom .area-pic {
        position: absolute;
        top: -170px;
        left: -180px;
        z-index: 10;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-2 {
        display: none;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-3 {
        display: none;
    }
    .page-preregist .sect-bottom .pic-chr.is-chr-4 {
        display: none;
    }
    .page-preregist .box-gameinfo {
        position: relative;
        z-index: 2; 
        width: 790px;
        margin: 50px auto;
        color: #fff;
    }
    .page-preregist .box-gameinfo:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-preregist .box-gameinfo p {
        float: right;
        width: 630px;
        text-align: center;
        font-weight: bold;
        font-size: 24px;
    }
    .page-preregist .box-gameinfo .ico-game {
        float: left;
    }
    .page-preregist .box-gameinfo .ico-game img {
        width: 160px;
    }
    .page-preregist .box-gameinfo .list-gameinfo {
        float: right;
        width: 630px;
        margin-top: 20px;
        font-size: 20px; 
        line-height: 1.4;
    }
    .page-preregist .box-gameinfo .list-gameinfo:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-preregist .box-gameinfo .list-gameinfo dt {
        float: left;
        min-width: 6em;
        text-align: right;
    }
    .page-preregist .box-gameinfo .list-gameinfo dd {
        margin-left: 6.5em; 
        text-align: left;
    }
}

@media (max-width: 959px) {
    .page-footer {
        position: relative;
        z-index: 5; 
        margin-top: 10%;
        padding-top: 12%;
        padding-bottom: 10%;
        background: url(../../images/pre/bg_footer_sp.png) 0 0 no-repeat;
        background-size: 100% auto;
        color: #fff;
        text-align: center;
    }
    .page-footer a {
        color: #fff;
        text-decoration: underline;
    }
    .page-footer .footer-social {
        margin-bottom: 15%; 
        font-size: 0;
    }
    .page-footer .footer-social li {
        display: inline-block;
        width: 18.666%;
        margin: 0 3%; 
        font-size: 1rem;
    }
    .page-footer .copyright-logo {
        width: 58%;
        margin: 0 auto 5%;
    }
    .page-footer .copyright {
        margin-top: 4%; 
        padding: 0 4%;
    }
}

@media (min-width: 960px) {
    .page-footer {
        position: relative;
        z-index: 5; 
        margin-top: 100px;
        padding: 21px 0 70px;
        background: url(../../images/pre/bg_footer_pc.png) 50% -24px repeat-x;
        color: #fff;
        text-align: center;
    }
    .page-footer:before {
        position: absolute;
        top: -62px;
        left: 0;
        display: block;
        width: 100%;
        height: 70px;
        background: url(../../images/pre/bg_footer_pc_top.png) 50% 0 repeat-x; 
        content: '';
    }
    .page-footer a {
        color: #fff;
        text-decoration: underline;
    }
    .page-footer .footer-social {
        margin-bottom: 100px;
        text-align: center;
        font-size: 0;
    }
    .page-footer .footer-social li {
        display: inline-block; 
        margin: 0 20px;
        font-size: 1rem;
    }
    .page-footer .footer-social a:hover {
        opacity: 0.8;
        -ms-filter: 'alpha(opacity=80)';
    }
    .page-footer .copyright-logo {
        margin-bottom: 30px;
    }
    .page-footer .copyright {
        margin-top: 30px;
    }
}

/* --- project _pre.scss --- */
.page-fasp {
    color: #fff;
}
.page-fasp .tx-warning {
    display: inline-block;
    margin-bottom: 0.5em; 
    color: #ffea00;
}
@media (max-width: 959px) {
    .page-fasp .page-header {
        text-align: center;
    }
    .page-fasp .page-header img {
        width: 70%;
    }
    .page-fasp .list-fasp-buttons {
        width: 100%;
        margin: 6% auto 3%;
        list-style: none;
        text-align: center; 
        font-size: 0;
    }
    .page-fasp .list-fasp-buttons li {
        display: inline-block;
        width: 100%;
        padding: 0 4%;
        vertical-align: top; 
        font-size: 1rem;
    }
    .page-fasp .list-fasp-buttons li.is-half {
        width: 50%;
    }
    .page-fasp .button-regist {
        position: relative;
        display: block;
        width: 100%;
        padding: 0;
        border: 2px solid #fff;
        border-radius: 5px;
        background: #0067bf;
        background: -webkit-linear-gradient(top, #04c4ff, #5909ea);
        background:         linear-gradient(to bottom, #04c4ff, #5909ea);
        box-shadow: 1px 1px 0 #0f007d inset, -1px -1px 0 #0f007d inset; 
        color: #fff;
        text-align: center;
        text-decoration: none;
        text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
        font-weight: bolder;
        font-size: 20px;
        font-size: 4vw;
        line-height: 70px;
        line-height: 10vw;
    }
    .page-fasp .sect-mail {
        margin: 0 15px;
        padding: 4% 2% 8%;
        background: url(../../images/pre/fasp/bg_patternsubpage01_pc.png) 0 0 repeat; 
        text-align: center;
        font-size: 20px;
        font-size: 3.5vw;
    }
    .page-fasp .sect-mail h1, .page-fasp .sect-mail h2 {
        margin: 0 0 3%;
    }
    .page-fasp .sect-mail p {
        margin-bottom: 4%;
    }
    .page-fasp .sect-mail .box-mail {
        padding-top: 4%;
    }
    .page-fasp .sect-mail .box-mail .input-email {
        width: 92%;
        background-color: #fff;
        color: #000;
        font-size: 16px;
        opacity: 1;
        -ms-filter: 'alpha(opacity=100)';
    }
    .page-fasp .sect-mail .box-mail .tx-wrap span {
        display: block;
    }
    .page-fasp .sect-mail .box-radio {
        margin: 0 0 6%;
        text-align: center;
        font-size: 0;
    }
    .page-fasp .sect-mail .box-radio label {
        display: inline-block;
        width: 45%;
        margin: 0 2.5%;
        border-radius: 40px; 
        background-color: #0067bf;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        font-size: 4vw;
        line-height: 80px;
        line-height: 12vw;
    }
    .page-fasp .sect-mail .box-radio input[type=radio] {
        margin: 0 10px 0 0;
    }
    .page-fasp .sect-mail .list-mailterm {
        margin-top: 7%;
        text-align: center;
        font-size: 0;
    }
    .page-fasp .sect-mail .list-mailterm li {
        display: block;
        margin-top: 1em;
        margin-left: -1px;
        font-size: 16px;
    }
    .page-fasp .sect-mail .list-mailterm a {
        display: inline-block;
        padding: 0 1em;
        border-right: 1px solid #fff;
        border-left: 1px solid #fff; 
        color: #fff;
        text-decoration: none;
    }
    .page-fasp .sect-mail .list-mailterm a:hover {
        text-decoration: underline;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow {
        width: 100%;
        margin-top: 10%;
        margin-bottom: 10%; 
        color: #fff;
        text-align: left;
        line-height: 1.45;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .twitter-icon {
        float: left;
        width: 27%;
        margin-top: 1%;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow p {
        margin-bottom: 4.5%;
        font-size: 20px;
        font-size: 3.5vw;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .fasp-follow-info {
        float: left;
        width: 73%;
        padding-left: 4%;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .fasp-follow-info span {
        color: #0cf;
    }
    .page-fasp .pic-area {
        position: absolute;
        top: 9%;
        left: 50%;
        width: 100%;
    }
    .page-fasp .pic-area .pic-1 {
        position: absolute;
        left: -75%; 
        width: 40%;
    }
    .page-fasp .pic-area .pic-2 {
        position: absolute;
        left: 33%; 
        width: 40%;
    }
}
@media (min-width: 960px) {
    .page-fasp .page-header {
        min-height: 298px; 
        text-align: center;
    }
    .page-fasp .inner {
        width: 960px;
        margin: 0 auto;
    }
    .page-fasp .button-regist {
        position: relative;
        display: block;
        width: 100%;
        height: 70px;
        padding: 0;
        border: 2px solid #fff;
        border-radius: 5px;
        background: #0067bf;
        background: -webkit-linear-gradient(top, #04c4ff, #5909ea);
        background:         linear-gradient(to bottom, #04c4ff, #5909ea);
        box-shadow: 3px 3px 0 #0f007d inset, -3px -3px 0 #0f007d inset;
        color: #fff;
        vertical-align: middle; 
        text-align: center;
        text-decoration: none;
        text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
        font-weight: bolder;
        font-size: 18px;
        line-height: 68px;
    }
    .page-fasp .button-regist:hover {
        background: #007feb;
        background: -webkit-linear-gradient(top, #04c4ff, #5909ea);
        background:         linear-gradient(to bottom, #04c4ff, #5909ea); 
        opacity: 0.8;
        -ms-filter: 'alpha(opacity=80)';
        -webkit-transform: translateY(1px);
            -ms-transform: translateY(1px);
                transform: translateY(1px);
    }
    .page-fasp .list-fasp-buttons {
        width: 560px;
        margin: 30px auto 0;
        list-style: none;
        text-align: center; 
        font-size: 0;
    }
    .page-fasp .list-fasp-buttons li {
        display: inline-block;
        width: 50%;
        padding: 0 2.5%;
        vertical-align: top;
        vertical-align: top; 
        font-size: 1rem;
    }
    .page-fasp .sect-mail {
        width: 960px;
        margin: 0 auto;
        padding: 20px 0 30px;
        background: url(../../images/pre/fasp/bg_patternsubpage01_pc.png) 0 0 repeat;
        text-align: center;
        font-size: 20px;
    }
    .page-fasp .sect-mail:before {
        top: -263px;
        height: 300px;
    }
    .page-fasp .sect-mail p {
        margin-bottom: 30px;
    }
    .page-fasp .sect-mail .box-mail {
        padding-top: 30px;
    }
    .page-fasp .sect-mail .box-mail .input-email {
        width: 560px;
        border: 1px solid #0067bf;
        background-color: #fff; 
        color: #000;
    }
    .page-fasp .sect-mail .box-radio {
        margin-bottom: 30px;
        text-align: center;
    }
    .page-fasp .sect-mail .box-radio label {
        display: inline-block;
        width: 260px;
        margin: 0 20px;
        border-radius: 40px; 
        background-color: #0067bf;
        color: #fff;
        font-weight: bold;
        line-height: 80px;
    }
    .page-fasp .sect-mail .box-radio input[type=radio] {
        margin-right: 0.5em;
    }
    .page-fasp .sect-mail .list-mailterm {
        margin-top: 30px;
        text-align: center;
        font-size: 0;
    }
    .page-fasp .sect-mail .list-mailterm li {
        display: inline-block;
        margin-top: 1em;
        margin-left: -1px;
        padding: 0 15px;
        border-right: 1px solid #fff;
        border-left: 1px solid #fff; 
        font-size: 16px;
    }
    .page-fasp .sect-mail .list-mailterm a {
        color: #fff;
        text-decoration: none;
    }
    .page-fasp .sect-mail .list-mailterm a:hover {
        text-decoration: underline;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow {
        width: 600px;
        margin: 0 auto 70px;
        color: #fff;
        text-align: left;
        line-height: 1.45;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow:after {
        display: block;
        clear: both;
        content: '';
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .twitter-icon {
        float: left;
        width: 200px;
        height: 200px;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow p {
        margin-bottom: 67px;
        font-size: 18px;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .fasp-follow-info {
        float: left;
        width: 400px;
        padding-left: 20px;
    }
    .page-fasp .sect-mail .box-fasp-twitter-follow .fasp-follow-info span {
        color: #0cf;
    }
    .page-fasp .pic-area {
        position: absolute;
        top: 0;
        left: 50%;
    }
    .page-fasp .pic-area .pic-1 {
        position: absolute;
        top: 200px;
        left: -600px;
    }
    .page-fasp .pic-area .pic-2 {
        position: absolute;
        top: 200px;
        left: 320px;
    }
    .page-fasp .page-footer {
        margin-top: 160px;
    }
}

/* --- utility _border.scss --- */
.u-bd-b {
    border-bottom: 1px solid #dadde4;
}

/* --- utility _color.scss --- */
.u-red {
    color: #f00;
}

/* --- utility _display.scss --- */
@media (min-width: 960px) {
    .u-visible-sp {
        display: none;
    }
}

@media (max-width: 959px) {
    .u-visible-pc {
        display: none;
    }
}

/* --- utility _float.scss --- */
.u-float-r {
    float: right;
}

.u-float-l {
    float: left;
}

.u-float-n {
    float: none;
}

/* --- utility _fontsize.scss --- */
.u-fs10 {
    font-size: 10px;
}

.u-fs11 {
    font-size: 11px;
}

.u-fs12 {
    font-size: 12px;
}

.u-fs13 {
    font-size: 13px;
}

.u-fs14 {
    font-size: 14px;
}

.u-fs15 {
    font-size: 15px;
}

.u-fs16 {
    font-size: 16px;
}

.u-fs17 {
    font-size: 17px;
}

.u-fs18 {
    font-size: 18px;
}

.u-fs19 {
    font-size: 19px;
}

.u-fs20 {
    font-size: 20px;
}

/* --- utility _margin.scss --- */
.u-mg-t5 {
    margin-top: 5px;
}

.u-mg-t10 {
    margin-top: 10px;
}

.u-mg-t15 {
    margin-top: 15px;
}

.u-mg-t20 {
    margin-top: 20px;
}

.u-mg-t30 {
    margin-top: 30px;
}

.u-mg-t40 {
    margin-top: 40px;
}

.u-mg-r5 {
    margin-right: 5px;
}

.u-mg-r10 {
    margin-right: 10px;
}

.u-mg-r15 {
    margin-right: 15px;
}

.u-mg-r20 {
    margin-right: 20px;
}

.u-mg-r30 {
    margin-right: 30px;
}

.u-mg-r40 {
    margin-right: 40px;
}

.u-mg-b5 {
    margin-bottom: 5px;
}

.u-mg-b10 {
    margin-bottom: 10px;
}

.u-mg-b15 {
    margin-bottom: 15px;
}

.u-mg-b20 {
    margin-bottom: 20px;
}

.u-mg-b30 {
    margin-bottom: 30px;
}

.u-mg-b40 {
    margin-bottom: 40px;
}

.u-mg-l5 {
    margin-left: 5px;
}

.u-mg-l10 {
    margin-left: 10px;
}

.u-mg-l15 {
    margin-left: 15px;
}

.u-mg-l20 {
    margin-left: 20px;
}

.u-mg-l30 {
    margin-left: 30px;
}

.u-mg-l40 {
    margin-left: 40px;
}

.u-mg-0auto {
    margin: 0 auto;
}

/* --- utility _textalign.scss --- */
.u-tx-r {
    text-align: right;
}

.u-tx-l {
    text-align: left;
}

.u-tx-c {
    text-align: center;
}

/* --- utility _verticalalign.scss --- */
.u-va-m {
    vertical-align: middle;
}

.u-va-t {
    vertical-align: top;
}

.u-va-b {
    vertical-align: bottom;
}

/* --- utility _width.scss --- */
.u-w100 {
    width: 100%;
}

.u-w95 {
    width: 95%;
}

.u-w90 {
    width: 90%;
}

.u-w85 {
    width: 85%;
}

.u-w80 {
    width: 80%;
}

.u-w75 {
    width: 75%;
}

.u-w70 {
    width: 70%;
}

.u-w65 {
    width: 65%;
}

.u-w60 {
    width: 60%;
}

.u-w55 {
    width: 55%;
}

.u-w50 {
    width: 50%;
}

.u-w45 {
    width: 45%;
}

.u-w40 {
    width: 40%;
}

.u-w35 {
    width: 35%;
}

.u-w30 {
    width: 30%;
}

.u-w25 {
    width: 25%;
}

.u-w20 {
    width: 20%;
}

.u-w15 {
    width: 15%;
}

.u-w10 {
    width: 10%;
}

.u-w5 {
    width: 5%;
}
