@charset "UTF-8";
/* ==========================================================
Name:
    module.css

Description:
    サイトで共通使用する汎用モジュール及びページ固有のスタイルを記述する
    汎用モジュールは、アルファベット降順(A->Z)に記述する
    ページ固有のスタイルは、ディレクトリ名のアルファベット降順(A->Z)、
    ファイル名のアルファベット降順(A->Z)にそれぞれ記述する

Contents:
    module
    page
    utility
========================================================== */
/* ==========================================================
*
*   module
*
========================================================== */
/* ---------------------------------------------
*   hover
--------------------------------------------- */
.hover {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.hover:hover {
    opacity: 0.8;
}

/* ---------------------------------------------
*   bg
--------------------------------------------- */
.bg-white {
    background-color: #e7e7e7;
}

.bg-black {
    background-color: #231815;
}

.bg-gray {
    background-color: #3e3a39;
}

/* ---------------------------------------------
*   movie
--------------------------------------------- */
.movie-play {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: auto;
    margin-bottom: 10px;
    margin-left: auto;
    max-width: 62.5px;
    max-height: 62.5px;
    width: 4.16667vw;
    height: 4.16667vw;
    border-radius: 50%;
    background-color: #c02528;
    color: #000;
    vertical-align: top;
    cursor: pointer;
    -webkit-transition: all 0.35s ease-in;
    transition: all 0.35s ease-in;
    -webkit-animation: ScaleDownSP 1s ease-out infinite;
    animation: ScaleDownSP 1s ease-out infinite;
}

.off .movie-play {
    cursor: default;
}

.movie-play:hover {
    -webkit-animation: ScaleDownStop 1s ease-out 1 forwards;
            animation: ScaleDownStop 1s ease-out 1 forwards;
}

.movie-play__icon {
    position: absolute;
    top: 50%;
    left: 53%;
    font-size: 1.6vw !important;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.movie-play--none:hover {
    cursor: auto;
    -webkit-animation: ScaleDownSP 1s ease-out infinite;
            animation: ScaleDownSP 1s ease-out infinite;
}

@media screen and (max-width: 750px) {
    .movie-play {
        width: 9.77199vw;
        height: 9.77199vw;
    }
    .movie-play__icon {
        font-size: 3vw !important;
    }
}

@media screen and (min-width: 1500px) {
    .movie-play__icon {
        font-size: 24px !important;
    }
}

@-webkit-keyframes ScaleDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    30% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    60% {
        -webkit-transform: scale(0.99);
        transform: scale(0.99);
    }
    85% {
        -webkit-transform: scale(1.01);
        transform: scale(1.01);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ScaleDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    30% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    60% {
        -webkit-transform: scale(0.99);
        transform: scale(0.99);
    }
    85% {
        -webkit-transform: scale(1.01);
        transform: scale(1.01);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes ScaleDownSP {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    85% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ScaleDownSP {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    85% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes ScaleDownStop {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.08);
        transform: scale(1.08);
    }
}

@keyframes ScaleDownStop {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.08);
        transform: scale(1.08);
    }
}

@keyframes ScaleDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    30% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    60% {
        -webkit-transform: scale(0.99);
        transform: scale(0.99);
    }
    85% {
        -webkit-transform: scale(1.01);
        transform: scale(1.01);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ScaleDownSP {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    15% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
    }
    85% {
        -webkit-transform: scale(1.02);
        transform: scale(1.02);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ScaleDownStop {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.08);
        transform: scale(1.08);
    }
}

/* ---------------------------------------------
*   js-modal-youtube
--------------------------------------------- */
.js-modal-youtube {
    display: block;
    margin: 0 auto;
    width: 60px;
    outline: none;
}

.js-modal-youtube--none {
    pointer-events: none;
}

@media screen and (max-width: 1500px) {
    .js-modal-youtube {
        width: 9.57655vw;
    }
}

/* ---------------------------------------------
*   yu2fvl
--------------------------------------------- */
.yu2fvl {
    top: 0;
    z-index: 9999;
}

.yu2fvl-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.yu2fvl-overlay {
    z-index: 9998;
    background: #000;
    opacity: 0.8;
}

.yu2fvl-close {
    margin: 0;
    padding: 0;
    width: 100%;
    outline: 0;
    border: 0;
    background: none;
    color: #fff;
    text-align: right;
    font-size: 40px;
    cursor: pointer;
}

@media screen and (max-width: 500px) {
    .yu2fvl {
        top: 3px;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 9999;
        margin: auto !important;
        min-width: 300px !important;
        min-height: 202.5px !important;
    }
}

@media screen and (max-width: 500px) {
    .yu2fvl {
        top: 3px;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 9999;
        margin: auto !important;
        min-width: 300px !important;
        min-height: 202.5px !important;
    }
}

/* ---------------------------------------------
*   keyvisual
--------------------------------------------- */
.keyvisual {
    position: fixed;
    left: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

.keyvisual__background {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.keyvisual__background-inner {
    position: absolute;
    left: 50%;
    width: 100%;
    height: 100%;
    background-image: url(../img/pc/bg_mainvisual.png), url(../img/pc/bg_mainvisual_repeat.png);
    background-position: center top,center bottom;
    background-size: 1500px,1500px;
    background-repeat: no-repeat,repeat-y;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

.keyvisual__title {
    position: absolute;
    top: 470px;
    left: calc(50% - 440px);
    width: 395px;
}

.keyvisual__catch {
    position: absolute;
    top: 65%;
    left: calc(50% - 550px);
    display: inline-block;
    text-align: center;
    font-weight: bold;
}

.keyvisual__catch-upper {
    display: block;
    color: #c9262e;
    font-size: 2.214rem;
}

.keyvisual__catch-lower {
    display: block;
    color: #e7e7e7;
    letter-spacing: .1em;
    font-size: 2.214rem;
}

.keyvisual__lead {
    position: absolute;
    top: 130px;
    right: calc(50% - 609px);
    display: inline-block;
    color: #231815;
    text-align: center;
    letter-spacing: .05em;
    font-weight: bold;
    font-size: 1.58771rem;
}

.keyvisual__movie {
    position: absolute;
    top: 379px;
    right: calc(50% - 492px);
    display: inline-block;
}

.keyvisual__movie-text {
    color: #231815;
    text-align: center;
    letter-spacing: .2em;
    font-size: 1.09714rem;
}

.keyvisual .js-modal-youtube {
    width: auto;
}

.keyvisual .movie-play {
    max-width: none;
    max-width: initial;
    max-width: auto;
    max-height: none;
    max-height: initial;
    max-height: auto;
    width: 83px;
    height: 83px;
}

.keyvisual .movie-play__icon {
    font-size: 28px !important;
}

@media screen and (max-width: 1200px) {
    .keyvisual {
        top: 100px !important;
        height: 41.83333vw !important;
    }
    .keyvisual__background-inner {
        position: static;
        background-size: 100% auto,100% auto;
        -webkit-transform: none;
                transform: none;
    }
    .keyvisual__title {
        top: 73%;
        left: 20.6%;
        width: 26.33333vw;
    }
    .keyvisual__movie {
        top: 61%;
        right: 17.7%;
    }
    .keyvisual__catch {
        top: auto;
        bottom: 18%;
        left: 11%;
    }
    .keyvisual__catch-upper {
        font-size: 2.583vw;
    }
    .keyvisual__catch-lower {
        font-size: 2.583vw;
    }
    .keyvisual__lead {
        top: 18%;
        right: 9.2%;
        font-size: 1.85233vw;
    }
    .keyvisual__catch {
        bottom: 10%;
    }
    .keyvisual__movie-text {
        font-size: 1.28vw;
    }
    .keyvisual .movie-play {
        width: 5.16667vw;
        height: 5.16667vw;
    }
    .keyvisual .movie-play__icon {
        font-size: 2vw !important;
    }
}

@media screen and (max-width: 750px) {
    .keyvisual {
        position: absolute;
        top: 60px !important;
        left: 0;
        -webkit-box-sizing: initial;
                box-sizing: initial;
        padding-top: 0;
        height: 90.74463vw !important;
        background: url(../img/sp/bg_mainvisual_sp.png) 0 0 no-repeat;
        background-size: 100%;
        -webkit-transform: none;
                transform: none;
    }
    .keyvisual__background {
        z-index: 1;
    }
    .keyvisual__background-inner {
        position: relative;
        left: 0;
        background-color: transparent;
        background-image: none;
    }
    .keyvisual__title {
        top: 46%;
        left: 50%;
        width: 41.69381vw;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
    }
    .keyvisual__catch {
        bottom: 38%;
        left: 50%;
        width: 100%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
    }
    .keyvisual__catch-upper {
        letter-spacing: .12em;
        font-size: 5.21173vw;
        line-height: 1.3;
    }
    .keyvisual__catch-lower {
        letter-spacing: .02em;
        font-size: 5.21173vw;
    }
    .keyvisual__lead {
        top: 71%;
        left: 0;
        width: 100%;
        font-size: 4.42997vw;
    }
    .androidphone .keyvisual__lead {
        top: 72%;
    }
    .keyvisual__movie {
        top: auto;
        right: 9%;
        bottom: 67.9%;
    }
    .keyvisual__movie-text {
        color: #fff;
        font-size: 2.60586vw;
        line-height: 1.4;
    }
    .keyvisual .movie-play {
        width: 9.77199vw;
        height: 9.77199vw;
    }
    .keyvisual .movie-play__icon {
        font-size: 3vw !important;
    }
}

/* ---------------------------------------------
*   index-section
--------------------------------------------- */
.index-section {
    position: relative;
    z-index: 22;
}

.index-section__inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto;
    padding: 5.83333% 3.33333%;
    width: 82.83333%;
}

.index-section__section--impression .index-section__inner {
    padding-bottom: 10%;
    background: #fff url(../img/pc/bg_impression.png) 0 0 no-repeat;
    background-size: auto 100%;
}

.index-section__section--features .index-section__inner {
    padding-bottom: 0;
    background: #000 url(../img/pc/bg_features.gif) center 0 no-repeat;
    background-size: 80%;
}

.index-section__section--model .index-section__inner,
.index-section__section--lineup .index-section__inner {
    background-color: #fff;
}

.index-section__item {
    margin-right: 0;
    margin-left: auto;
    width: 43.78571%;
}

.index-section__title {
    margin-bottom: 25px;
    font-weight: bold;
}

.index-section__title-en {
    display: block;
    color: #c9262e;
    letter-spacing: .8em;
    font-size: 0.91429rem;
}

.index-section__title-jp {
    display: block;
    color: #000;
    font-size: 1.94286rem;
}

.index-section__section--features .index-section__title {
    text-align: center;
}

.index-section__section--features .index-section__title-jp {
    color: #fff;
    letter-spacing: .1em;
    font-size: 2.74286rem;
}

.index-section__section--lineup .index-section__title-jp {
    text-align: center;
}

.index-section__column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: justify;
    margin-bottom: 25px;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
            justify-content: space-between;
}

.index-section__column-item {
    position: relative;
    width: 47.80488%;
}

.index-section__column-item .js-modal-youtube {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.androidphone .index-section__column-item .js-modal-youtube {
    top: 56%;
}

.index-section__column--comingsoon .index-section__column-item {
    width: 100%;
}

.index-section__nav {
    margin: 0 auto;
    width: 73.66667vw;
}

.index-section__nav--fixed {
    position: fixed;
    top: 60px;
    left: 50%;
    z-index: 99;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

.index-section__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: justify;

    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.index-section__nav-list-item {
    width: 32.14194%;
}

.index-section__nav-link {
    position: relative;
    display: block;
    padding: .5% 0 1.2%;
    border-radius: 20px;
    background-color: rgba(206, 41, 52, 0.6);
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.37143rem;
}

.index-section__nav-link:after {
    position: absolute;
    bottom: -54%;
    left: 50%;
    width: 16.5px;
    height: 14.5px;
    background: url(../img/pc/icon_arrow.png) 0 0 no-repeat;
    background-size: 100%;
    content: "";
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

.index-section__lineup {
    padding: 0 5%;
}

.index-section__lineup-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: justify;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
            justify-content: space-between;
}

.index-section__lineup-column:nth-of-type(n+2) {
    margin-top: 9.5%;
}

.index-section__lineup-column-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 39.13043%;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
}

.index-section__lineup-column-item:nth-of-type(2) {
    width: 42.99517%;
}

.index-section__lineup-logo {
    width: 6.83333vw;
}

.index-section__lineup-title {
    margin-top: 5px;
    color: #231815;
}

.index-section__lineup-title-en {
    display: block;
    font-weight: bold;
    font-size: 2rem;
}

.index-section__lineup-title-jp {
    display: block;
    font-size: 1.25rem;
}

.index-section__lineup-image {
    margin-top: -6%;
    margin-bottom: 3%;
}

.ie11 .index-section__lineup-image {
    max-height: 380px;
    height: 25vw;
}

.index-section__lead {
    line-height: 1.7;
}

.index-section__lineup-link {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    padding: 2%;
    width: 14.66667vw;
    border-radius: 20px;
    background-color: #d2262e;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 0.91429rem;
}

@media screen and (min-width: 1500px) {
    .index-section__nav {
        width: 1120px;
    }
    .index-section__lineup-logo {
        width: 102.5px;
    }
    .index-section__lineup-link {
        width: 220px;
    }
}

@media screen and (max-width: 1500px) {
    .index-section__section--lineup {
        padding-bottom: 5.86319vw;
    }
    .index-section__title {
        margin-top: 0;
        margin-bottom: 2.5%;
    }
    .index-section__title-en {
        font-size: 1.06667vw;
    }
    .index-section__title-jp {
        font-size: 2.26667vw;
    }
    .index-section__lead {
        font-size: 1.16667vw;
    }
    .index-section__section--features .index-section__title-jp {
        margin-top: 1vw;
        font-size: 3.2vw;
    }
    .index-section__column {
        margin-bottom: 2.5%;
    }
    .index-section__text {
        font-size: 1.16667vw;
    }
    .index-section__nav-link {
        border-radius: 2vw;
        font-size: 1.6vw;
    }
    .index-section__nav-link:after {
        width: 1.2vw;
        height: 0.933333333vw;
    }
    .index-section__lineup-title-en {
        font-size: 2vw;
    }
    .index-section__lineup-title-jp {
        font-size: 1.16667vw;
    }
    .index-section__lineup-link {
        border-radius: 2vw;
        font-size: 1.06667vw;
    }
}

@media screen and (max-width: 750px) {
    .index-section__inner {
        padding: 5.83333% 4.03909vw;
        width: 92.3127vw;
    }
    .index-section__section--impression .index-section__inner {
        padding-bottom: 5.83333%;
        background: #fff url(../img/sp/bg_impression_sp.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .index-section__section--features .index-section__inner {
        background-position: 0 0;
        background-size: 100%;
    }
    .index-section__section--lineup .index-section__inner {
        padding-right: 3.19218vw;
        padding-left: 2.34528vw;
    }
    .index-section__item {
        margin-right: auto;
        width: 100%;
    }
    .index-section__title {
        margin-bottom: 5.53746vw;
    }
    .index-section__section--impression .index-section__title {
        text-align: right;
    }
    .index-section__title-en {
        font-size: 2.60586vw;
    }
    .index-section__title-jp {
        font-size: 5.47231vw;
    }
    .index-section__lead {
        font-size: 3.51792vw;
    }
    .index-section__section--features .index-section__title-jp {
        letter-spacing: .1em;
        font-size: 5.47231vw;
    }
    .index-section__section--lineup .index-section__title-jp {
        text-align: center;
    }
    .index-section__column {
        margin-bottom: 3.25733vw;
    }
    .index-section__column-item {
        width: 40.71661vw;
    }
    .index-section__column--comingsoon {
            -ms-flex-pack: center;
        margin-top: 13.6vw;

        -webkit-box-pack: center;
                justify-content: center;
    }
    .index-section__column--comingsoon .index-section__column-item {
        width: 69.05537vw;
    }
    .index-section__text {
        font-size: 3.51792vw;
    }
    .index-section__nav {
        width: 100%;
    }
    .index-section__nav--fixed {
        position: static;
        -webkit-transform: none;
                transform: none;
    }
    .index-section__nav-list-item {
        width: 32.14194%;
    }
    .index-section__nav-link {
        padding: 2.5% 0;
        border-radius: 6vw;
        font-size: 3.12704vw;
    }
    .index-section__nav-link:after {
        bottom: -31%;
        width: 2.28013vw;
        height: 1.9544vw;
    }
    .index-section__lineup {
        padding: 0;
    }
    .index-section__lineup-column:nth-of-type(n+2) {
        margin-top: 13.35505vw;
    }
    .index-section__lineup-column-item {
        width: 39.60912vw;
    }
    .index-section__lineup-column-item:nth-of-type(2) {
        width: 42.34528vw;
    }
    .index-section__lineup-logo {
        margin-left: 1.30293vw;
        width: 16.28664vw;
    }
    .index-section__lineup-title {
        margin-top: 4%;
        margin-left: 1.30293vw;
    }
    .index-section__lineup-title-en {
        font-size: 3.90879vw;
    }
    .index-section__lineup-title-jp {
        font-size: 2.73616vw;
    }
    .index-section__lineup-image {
        margin-top: -1.9544vw;
        margin-bottom: 3.25733vw;
    }
    .index-section__lineup-link {
        padding: 3.5% 0;
        width: 36.15635vw;
        border-radius: 4vw;
        font-size: 2.60586vw;
    }
}

/* ---------------------------------------------
*   index-sub-section
--------------------------------------------- */
.index-sub-section {
    margin-top: 24%;
}

.index-sub-section:nth-of-type(n+2) {
    margin-top: 7%;
}

.index-sub-section__title {
    margin-bottom: 3%;
    font-weight: bold;
}

.index-sub-section__title-en {
    display: block;
    margin-bottom: 1%;
    color: #c9262e;
    letter-spacing: .8em;
    font-size: 0.91429rem;
}

.index-sub-section__title-jp {
    display: block;
    color: #fff;
    font-size: 2.05714rem;
}

.index-sub-section__num {
    display: inline-block;
    color: #c9262e;
    font-size: 1.48571rem;
}

.index-sub-section__text {
    margin-bottom: 2.5%;
    line-height: 1.7;
}

.index-sub-section__image {
    margin: 0 -500%;
    padding: 0 495.6%;
}

@media screen and (max-width: 1500px) {
    .index-sub-section__title-en {
        font-size: 1.06667vw;
    }
    .index-sub-section__title-jp {
        font-size: 2.4vw;
    }
    .index-sub-section__text {
        font-size: 1.16667vw;
    }
    .index-sub-section__num {
        font-size: 1.73333vw;
    }
}

@media screen and (max-width: 750px) {
    .index-sub-section {
        margin-top: 20.00651vw;
    }
    .index-sub-section:nth-of-type(n+2) {
        margin-top: 8.79479vw;
    }
    .index-sub-section__title {
        margin-bottom: 3.25733vw;
    }
    .index-sub-section__title-en {
        margin-bottom: 2vw;
        letter-spacing: .8em;
        font-size: 2.60586vw;
    }
    .index-sub-section__title-jp {
        font-size: 5.47231vw;
    }
    .index-sub-section__num {
        margin-left: 1.7vw;
        font-size: 3.90879vw;
    }
    .index-sub-section__text {
        margin-bottom: 3.90879vw;
        font-size: 3.51792vw;
    }
    .index-sub-section__image {
        margin: 0 -500%;
        padding: 0 495.6%;
    }
}

/* ---------------------------------------------
*   index-models-section
--------------------------------------------- */
.index-models-section__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: justify;
    margin: 0 auto;
    width: 82.83333%;
    background-color: #020202;

    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.index-models-section:nth-of-type(even) .index-models-section__inner {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    background-color: #fff;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
}

.index-models-section__content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 6% 1.8% 3% 8%;
    width: 50%;
}

.index-models-section:nth-of-type(even) .index-models-section__content {
    padding: 6% 6% 3% 3.8%;
}

.index-models-section__image {
    overflow: hidden;
    width: 50%;
}

.index-models-section__title {
    color: #e7e7e7;
    font-weight: bold;
    font-size: 2.28571rem;
}

.edge .index-models-section__title {
    margin-top: 6%;
}

.index-models-section:nth-of-type(even) .index-models-section__title {
    color: #020202;
}

.index-models-section__text {
    margin-top: 2%;
    line-height: 1.7;
}

@media screen and (max-width: 1500px) {
    .index-models-section__title {
        font-size: 2.66667vw;
    }
    .index-models-section__text {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 750px) {
    .index-models-section__inner {
        display: block;
        width: 92.3127vw;
    }
    .index-models-section__content {
        padding: 7.49186vw 9.77199vw;
        width: 100%;
    }
    .index-models-section:nth-of-type(even) .index-models-section__content {
        padding: 7.49186vw 9.77199vw;
    }
    .index-models-section__image {
        width: 100%;
    }
    .index-models-section__title {
        font-size: 5.47231vw;
    }
    .edge .index-models-section__title {
        margin-top: 0;
    }
    .index-models-section__text {
        font-size: 3.51792vw;
    }
}

[data-fadein] {
    opacity: 0;
}

/* ==========================================================
*
*   page
*
========================================================== */
/* ---------------------------------------------
*   Index Page
--------------------------------------------- */
/* ==========================================================
*
*   utility
*
========================================================== */
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 0.32573vw !important;
    }
    .mgt-sp--10 {
        margin-top: 0.65147vw !important;
    }
    .mgt-sp--15 {
        margin-top: 0.9772vw !important;
    }
    .mgt-sp--20 {
        margin-top: 1.30293vw !important;
    }
    .mgt-sp--25 {
        margin-top: 1.62866vw !important;
    }
    .mgt-sp--30 {
        margin-top: 1.9544vw !important;
    }
    .mgt-sp--35 {
        margin-top: 2.28013vw !important;
    }
    .mgt-sp--40 {
        margin-top: 2.60586vw !important;
    }
    .mgt-sp--45 {
        margin-top: 2.9316vw !important;
    }
    .mgt-sp--50 {
        margin-top: 3.25733vw !important;
    }
    .mgt-sp--55 {
        margin-top: 3.58306vw !important;
    }
    .mgt-sp--60 {
        margin-top: 3.90879vw !important;
    }
    .mgt-sp--65 {
        margin-top: 4.23453vw !important;
    }
    .mgt-sp--70 {
        margin-top: 4.56026vw !important;
    }
    .mgt-sp--75 {
        margin-top: 4.88599vw !important;
    }
    .mgt-sp--80 {
        margin-top: 5.21173vw !important;
    }
    .mgt-sp--85 {
        margin-top: 5.53746vw !important;
    }
    .mgt-sp--90 {
        margin-top: 5.86319vw !important;
    }
    .mgt-sp--95 {
        margin-top: 6.18893vw !important;
    }
    .mgt-sp--100 {
        margin-top: 6.51466vw !important;
    }
    .mgt-sp--105 {
        margin-top: 6.84039vw !important;
    }
    .mgt-sp--110 {
        margin-top: 7.16612vw !important;
    }
    .mgt-sp--115 {
        margin-top: 7.49186vw !important;
    }
    .mgt-sp--120 {
        margin-top: 7.81759vw !important;
    }
    .mgt-sp--125 {
        margin-top: 8.14332vw !important;
    }
    .mgt-sp--130 {
        margin-top: 8.46906vw !important;
    }
    .mgt-sp--135 {
        margin-top: 8.79479vw !important;
    }
    .mgt-sp--140 {
        margin-top: 9.12052vw !important;
    }
    .mgt-sp--145 {
        margin-top: 9.44625vw !important;
    }
    .mgt-sp--150 {
        margin-top: 9.77199vw !important;
    }
    .mgt-sp--155 {
        margin-top: 10.09772vw !important;
    }
    .mgt-sp--160 {
        margin-top: 10.42345vw !important;
    }
    .mgt-sp--165 {
        margin-top: 10.74919vw !important;
    }
    .mgt-sp--170 {
        margin-top: 11.07492vw !important;
    }
    .mgt-sp--175 {
        margin-top: 11.40065vw !important;
    }
    .mgt-sp--180 {
        margin-top: 11.72638vw !important;
    }
    .mgt-sp--185 {
        margin-top: 12.05212vw !important;
    }
    .mgt-sp--190 {
        margin-top: 12.37785vw !important;
    }
    .mgt-sp--195 {
        margin-top: 12.70358vw !important;
    }
    .mgt-sp--200 {
        margin-top: 13.02932vw !important;
    }
    .mgt-sp--205 {
        margin-top: 13.35505vw !important;
    }
    .mgt-sp--210 {
        margin-top: 13.68078vw !important;
    }
    .mgt-sp--215 {
        margin-top: 14.00651vw !important;
    }
    .mgt-sp--220 {
        margin-top: 14.33225vw !important;
    }
    .mgt-sp--225 {
        margin-top: 14.65798vw !important;
    }
    .mgt-sp--230 {
        margin-top: 14.98371vw !important;
    }
    .mgt-sp--235 {
        margin-top: 15.30945vw !important;
    }
    .mgt-sp--240 {
        margin-top: 15.63518vw !important;
    }
    .mgt-sp--245 {
        margin-top: 15.96091vw !important;
    }
    .mgt-sp--250 {
        margin-top: 16.28664vw !important;
    }
}

/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 0.32573vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 0.65147vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 0.9772vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 1.30293vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 1.62866vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 1.9544vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 2.28013vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 2.60586vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 2.9316vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 3.25733vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 3.58306vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 3.90879vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 4.23453vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 4.56026vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 4.88599vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 5.21173vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 5.53746vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 5.86319vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 6.18893vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 6.51466vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 6.84039vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 7.16612vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 7.49186vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 7.81759vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 8.14332vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 8.46906vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 8.79479vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 9.12052vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 9.44625vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 9.77199vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 10.09772vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 10.42345vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 10.74919vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 11.07492vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 11.40065vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 11.72638vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 12.05212vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 12.37785vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 12.70358vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 13.02932vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 13.35505vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 13.68078vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 14.00651vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 14.33225vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 14.65798vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 14.98371vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 15.30945vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 15.63518vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 15.96091vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 16.28664vw !important;
    }
}

@media screen and (min-width: 751px) {
    .pc-hide {
        display: none !important;
    }
}

@media screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}
