@charset "UTF-8";

@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@600;900&family=Karantina:wght@400;700&display=swap';

.a3020112-functionBox__content, .a3020112-design__box, .a3020112-concept__inner, .a3020112-brand__inner, .a3020112-about__inner {
    width: 100%;
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__content, .a3020112-design__box, .a3020112-concept__inner, .a3020112-brand__inner, .a3020112-about__inner {
        padding: 0 5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__content, .a3020112-design__box, .a3020112-concept__inner, .a3020112-brand__inner, .a3020112-about__inner {
        padding: 0 5.3333333333vw;
    }
}

.a3020112-about__text {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
}

@media not all and (max-width: 699px) {
    .a3020112-about__text {
        font-size: 1rem;
        line-height: 1.9;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__text {
        font-size: 6.4vw;
        line-height: 2;
    }
}

.page-genre .block-page-top {
    z-index: 101;
}

[data-js-include] > .page-a3020112__wrapper,
[data-js-include] > .page-a3020112__mv,
[data-js-include] > .page-a3020112__about,
[data-js-include] > .page-a3020112__concept,
[data-js-include] > .page-a3020112__function,
[data-js-include] > .page-a3020112__brand,
.page-a3020112 {
    position: relative;
    width: 100%;
    overflow: clip;
    font-family: Lato, "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 1rem;
    color: #fff;
    background-color: #000;
}

@media screen and (max-width: 699px) {
    [data-js-include] > .page-a3020112__wrapper,
  [data-js-include] > .page-a3020112__mv,
  [data-js-include] > .page-a3020112__about,
  [data-js-include] > .page-a3020112__concept,
  [data-js-include] > .page-a3020112__function,
  [data-js-include] > .page-a3020112__brand,
  .page-a3020112 {
        font-size: 2.6666666667vw;
    }
}

[data-js-include] > .page-a3020112__wrapper img,
[data-js-include] > .page-a3020112__mv img,
[data-js-include] > .page-a3020112__about img,
[data-js-include] > .page-a3020112__concept img,
[data-js-include] > .page-a3020112__function img,
[data-js-include] > .page-a3020112__brand img,
.page-a3020112 img {
    width: 100%;
}

[data-js-include] > .page-a3020112__wrapper svg,
[data-js-include] > .page-a3020112__mv svg,
[data-js-include] > .page-a3020112__about svg,
[data-js-include] > .page-a3020112__concept svg,
[data-js-include] > .page-a3020112__function svg,
[data-js-include] > .page-a3020112__brand svg,
.page-a3020112 svg {
    width: 100%;
}

[data-js-include] > .page-a3020112__wrapper button,
[data-js-include] > .page-a3020112__mv button,
[data-js-include] > .page-a3020112__about button,
[data-js-include] > .page-a3020112__concept button,
[data-js-include] > .page-a3020112__function button,
[data-js-include] > .page-a3020112__brand button,
.page-a3020112 button {
    padding: 0;
    margin: 0;
    overflow: visible;
    text-transform: none;
    -webkit-appearance: button;
    background-color: transparent;
    border-style: none;
}

[data-js-include] > .page-a3020112__wrapper button,
[data-js-include] > .page-a3020112__mv button,
[data-js-include] > .page-a3020112__about button,
[data-js-include] > .page-a3020112__concept button,
[data-js-include] > .page-a3020112__function button,
[data-js-include] > .page-a3020112__brand button,
[data-js-include] > .page-a3020112__wrapper [type=button],
[data-js-include] > .page-a3020112__mv [type=button],
[data-js-include] > .page-a3020112__about [type=button],
[data-js-include] > .page-a3020112__concept [type=button],
[data-js-include] > .page-a3020112__function [type=button],
[data-js-include] > .page-a3020112__brand [type=button],
.page-a3020112 button,
.page-a3020112 [type=button] {
    cursor: pointer;
}

[data-js-include] > .page-a3020112__wrapper button::-moz-focus-inner,
[data-js-include] > .page-a3020112__mv button::-moz-focus-inner,
[data-js-include] > .page-a3020112__about button::-moz-focus-inner,
[data-js-include] > .page-a3020112__concept button::-moz-focus-inner,
[data-js-include] > .page-a3020112__function button::-moz-focus-inner,
[data-js-include] > .page-a3020112__brand button::-moz-focus-inner,
[data-js-include] > .page-a3020112__wrapper [type=button]::-moz-focus-inner,
[data-js-include] > .page-a3020112__mv [type=button]::-moz-focus-inner,
[data-js-include] > .page-a3020112__about [type=button]::-moz-focus-inner,
[data-js-include] > .page-a3020112__concept [type=button]::-moz-focus-inner,
[data-js-include] > .page-a3020112__function [type=button]::-moz-focus-inner,
[data-js-include] > .page-a3020112__brand [type=button]::-moz-focus-inner,
.page-a3020112 button::-moz-focus-inner,
.page-a3020112 [type=button]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

[data-js-include] > .page-a3020112__wrapper button:-moz-focusring,
[data-js-include] > .page-a3020112__mv button:-moz-focusring,
[data-js-include] > .page-a3020112__about button:-moz-focusring,
[data-js-include] > .page-a3020112__concept button:-moz-focusring,
[data-js-include] > .page-a3020112__function button:-moz-focusring,
[data-js-include] > .page-a3020112__brand button:-moz-focusring,
[data-js-include] > .page-a3020112__wrapper [type=button]:-moz-focusring,
[data-js-include] > .page-a3020112__mv [type=button]:-moz-focusring,
[data-js-include] > .page-a3020112__about [type=button]:-moz-focusring,
[data-js-include] > .page-a3020112__concept [type=button]:-moz-focusring,
[data-js-include] > .page-a3020112__function [type=button]:-moz-focusring,
[data-js-include] > .page-a3020112__brand [type=button]:-moz-focusring,
.page-a3020112 button:-moz-focusring,
.page-a3020112 [type=button]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

@media (hover: hover) and (pointer: fine) {
    [data-js-include] > .page-a3020112__wrapper a:hover,
  [data-js-include] > .page-a3020112__mv a:hover,
  [data-js-include] > .page-a3020112__about a:hover,
  [data-js-include] > .page-a3020112__concept a:hover,
  [data-js-include] > .page-a3020112__function a:hover,
  [data-js-include] > .page-a3020112__brand a:hover,
  .page-a3020112 a:hover {
        text-decoration: none;
    }
}

[data-js-include] > .page-a3020112__wrapper a:focus,
[data-js-include] > .page-a3020112__mv a:focus,
[data-js-include] > .page-a3020112__about a:focus,
[data-js-include] > .page-a3020112__concept a:focus,
[data-js-include] > .page-a3020112__function a:focus,
[data-js-include] > .page-a3020112__brand a:focus,
[data-js-include] > .page-a3020112__wrapper button:focus,
[data-js-include] > .page-a3020112__mv button:focus,
[data-js-include] > .page-a3020112__about button:focus,
[data-js-include] > .page-a3020112__concept button:focus,
[data-js-include] > .page-a3020112__function button:focus,
[data-js-include] > .page-a3020112__brand button:focus,
.page-a3020112 a:focus,
.page-a3020112 button:focus {
    text-decoration: none;
    outline-width: 0;
}

[data-js-include] > .page-a3020112__wrapper h2,
[data-js-include] > .page-a3020112__mv h2,
[data-js-include] > .page-a3020112__about h2,
[data-js-include] > .page-a3020112__concept h2,
[data-js-include] > .page-a3020112__function h2,
[data-js-include] > .page-a3020112__brand h2,
[data-js-include] > .page-a3020112__wrapper h3,
[data-js-include] > .page-a3020112__mv h3,
[data-js-include] > .page-a3020112__about h3,
[data-js-include] > .page-a3020112__concept h3,
[data-js-include] > .page-a3020112__function h3,
[data-js-include] > .page-a3020112__brand h3,
.page-a3020112 h2,
.page-a3020112 h3 {
    margin-top: 0;
    margin-bottom: 0;
}

[data-js-include] > .page-a3020112__wrapper picture,
[data-js-include] > .page-a3020112__mv picture,
[data-js-include] > .page-a3020112__about picture,
[data-js-include] > .page-a3020112__concept picture,
[data-js-include] > .page-a3020112__function picture,
[data-js-include] > .page-a3020112__brand picture,
.page-a3020112 picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

[data-js-include] {
    position: relative;
}

[data-js-include] .page-a3020112__mv .a3020112-mv__nav {
    display: none;
}

[data-js-include] .page-a3020112__nav {
    display: none;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock {
  /* テキスト系 */
  /* function系 */
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(1) {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(2) {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(3) {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(4) {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(5) {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(6) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(7) {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(8) {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(9) {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(10) {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(11) {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(12) {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(13) {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(14) {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(15) {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(16) {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(17) {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(18) {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(19) {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromUnder:nth-of-type(20) {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockOpacity {
    opacity: 1;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockOpacityDelayImage {
    opacity: 1;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockOpacityDelayImage img {
    opacity: 1;
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromLeft::before {
    opacity: 1;
}

@media not all and (max-width: 699px) {
    [data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromLeft::after {
        -webkit-animation: slide_fromLeft 0.3s forwards ease-out;
        animation: slide_fromLeft 0.3s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    [data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromLeft::after {
        -webkit-animation: slide_fromLeft_sp 0.5s forwards ease-out;
        animation: slide_fromLeft_sp 0.5s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    [data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromLeft.a3020112-functionBox__bg--3::after {
        -webkit-animation: slide_fromLeft_sp2 0.5s forwards ease-out;
        animation: slide_fromLeft_sp2 0.5s forwards ease-out;
    }
}

[data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromRight::before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

@media not all and (max-width: 699px) {
    [data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromRight::after {
        -webkit-animation: slide_fromRight 0.4s forwards ease-out;
        animation: slide_fromRight 0.4s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    [data-js-include] .page-a3020112__wrapper .js--inviewBlock .js--inviewBlockFromRight::after {
        -webkit-animation: slide_fromRight_sp 0.5s forwards ease-out;
        animation: slide_fromRight_sp 0.5s forwards ease-out;
    }
}

/*  MV */
@-webkit-keyframes mv_bgBefore {
    0% {
        -webkit-transform: skew(27deg) translate(-10.625rem, 0);
        transform: skew(27deg) translate(-10.625rem, 0);
    }

    99% {
        opacity: 1;
        -webkit-transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
        transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
    }

    100% {
        opacity: 0;
        -webkit-transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
        transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
    }
}

@keyframes mv_bgBefore {
    0% {
        -webkit-transform: skew(27deg) translate(-10.625rem, 0);
        transform: skew(27deg) translate(-10.625rem, 0);
    }

    99% {
        opacity: 1;
        -webkit-transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
        transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
    }

    100% {
        opacity: 0;
        -webkit-transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
        transform: skew(27deg) translate(calc(100% - 10.625rem), 0);
    }
}

@-webkit-keyframes mv_bgBefore_sp {
    0% {
        -webkit-transform: skew(27deg) translate(-33.3333333333vw, 0);
        transform: skew(27deg) translate(-33.3333333333vw, 0);
    }

    99% {
        opacity: 1;
        -webkit-transform: skew(27deg) translate(42%, 0);
        transform: skew(27deg) translate(42%, 0);
    }

    100% {
        opacity: 0;
        -webkit-transform: skew(27deg) translate(42%, 0);
        transform: skew(27deg) translate(42%, 0);
    }
}

@keyframes mv_bgBefore_sp {
    0% {
        -webkit-transform: skew(27deg) translate(-33.3333333333vw, 0);
        transform: skew(27deg) translate(-33.3333333333vw, 0);
    }

    99% {
        opacity: 1;
        -webkit-transform: skew(27deg) translate(42%, 0);
        transform: skew(27deg) translate(42%, 0);
    }

    100% {
        opacity: 0;
        -webkit-transform: skew(27deg) translate(42%, 0);
        transform: skew(27deg) translate(42%, 0);
    }
}

@-webkit-keyframes mv_bgRight {
    0% {
        opacity: 0;
        -webkit-transform: translate(-29.0625rem, 0);
        transform: translate(-29.0625rem, 0);
    }

    1% {
        opacity: 1;
        -webkit-transform: translate(-29.0625rem, 0);
        transform: translate(-29.0625rem, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@keyframes mv_bgRight {
    0% {
        opacity: 0;
        -webkit-transform: translate(-29.0625rem, 0);
        transform: translate(-29.0625rem, 0);
    }

    1% {
        opacity: 1;
        -webkit-transform: translate(-29.0625rem, 0);
        transform: translate(-29.0625rem, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@-webkit-keyframes mv_bgRight_sp {
    0% {
        opacity: 0;
        -webkit-transform: translate(-85.3333333333vw, 0);
        transform: translate(-85.3333333333vw, 0);
    }

    1% {
        opacity: 1;
        -webkit-transform: translate(-85.3333333333vw, 0);
        transform: translate(-85.3333333333vw, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@keyframes mv_bgRight_sp {
    0% {
        opacity: 0;
        -webkit-transform: translate(-85.3333333333vw, 0);
        transform: translate(-85.3333333333vw, 0);
    }

    1% {
        opacity: 1;
        -webkit-transform: translate(-85.3333333333vw, 0);
        transform: translate(-85.3333333333vw, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@-webkit-keyframes mv_bgRightParts {
    0% {
        width: 2.4375rem;
    }

    100% {
        width: 0;
    }
}

@keyframes mv_bgRightParts {
    0% {
        width: 2.4375rem;
    }

    100% {
        width: 0;
    }
}

@-webkit-keyframes mv_bgRightParts_sp {
    0% {
        width: 1.375rem;
    }

    100% {
        width: 0;
    }
}

@keyframes mv_bgRightParts_sp {
    0% {
        width: 1.375rem;
    }

    100% {
        width: 0;
    }
}

@-webkit-keyframes mv_navFadeIn {
    0% {
        opacity: 0;
        -webkit-transform: translate(-0.625rem, 0);
        transform: translate(-0.625rem, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@keyframes mv_navFadeIn {
    0% {
        opacity: 0;
        -webkit-transform: translate(-0.625rem, 0);
        transform: translate(-0.625rem, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@-webkit-keyframes mv_content {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0.625rem);
        transform: translate(0, 0.625rem);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@keyframes mv_content {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0.625rem);
        transform: translate(0, 0.625rem);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}
/* その他 */
@-webkit-keyframes slide_fromLeft {
    0% {
        left: 0;
    }

    100% {
        left: 101%;
    }
}

@keyframes slide_fromLeft {
    0% {
        left: 0;
    }

    100% {
        left: 101%;
    }
}

@-webkit-keyframes slide_fromRight {
    0% {
        right: 0;
    }

    100% {
        right: 101%;
    }
}

@keyframes slide_fromRight {
    0% {
        right: 0;
    }

    100% {
        right: 101%;
    }
}

@-webkit-keyframes slide_fromLeft_sp {
    0% {
        left: 0;
    }

    100% {
        left: 102%;
    }
}

@keyframes slide_fromLeft_sp {
    0% {
        left: 0;
    }

    100% {
        left: 102%;
    }
}

@-webkit-keyframes slide_fromLeft_sp2 {
    0% {
        top: -1%;
    }

    100% {
        top: -101%;
    }
}

@keyframes slide_fromLeft_sp2 {
    0% {
        top: -1%;
    }

    100% {
        top: -101%;
    }
}

@-webkit-keyframes slide_fromRight_sp {
    0% {
        right: 0;
    }

    100% {
        right: 105%;
    }
}

@keyframes slide_fromRight_sp {
    0% {
        right: 0;
    }

    100% {
        right: 105%;
    }
}

@-webkit-keyframes underline_flow {
    0% {
        width: 100%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        width: 100%;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }

    51% {
        width: 0%;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }

    52% {
        width: 0%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    100% {
        width: 100%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
}

@keyframes underline_flow {
    0% {
        width: 100%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        width: 100%;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }

    51% {
        width: 0%;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }

    52% {
        width: 0%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    100% {
        width: 100%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
}

.js--inviewBlock {
  /* テキスト系 */
  /* function系 */
}

.js--inviewBlock .js--inviewBlockFromUnder {
    opacity: 0;
    -webkit-transform: translate(0, 40px);
    transform: translate(0, 40px);
    -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;
}

.js--inviewBlock .js--inviewBlockFromUnder-delay25 {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s;
}

.js--inviewBlock .js--inviewBlockOpacity {
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.js--inviewBlock .js--inviewBlockOpacity-delay25 {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s;
}

.js--inviewBlock .js--inviewBlockOpacityDelayImage {
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.js--inviewBlock .js--inviewBlockOpacityDelayImage-delay25 {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s;
}

.js--inviewBlock .js--inviewBlockOpacityDelayImage-delay25 img {
    -webkit-transition-delay: 0.5s !important;
    transition-delay: 0.5s !important;
}

.js--inviewBlock .js--inviewBlockOpacityDelayImage img {
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.js--inviewBlock .js--inviewBlockFromLeft::before,
.js--inviewBlock .js--inviewBlockFromRight::before {
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.js--inviewBlock .js--inviewBlockFromLeft::after,
.js--inviewBlock .js--inviewBlockFromRight::after {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    background-color: #000;
    -webkit-transform: skewX(-26deg);
    transform: skewX(-26deg);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
}

@media not all and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromLeft::after,
  .js--inviewBlock .js--inviewBlockFromRight::after {
        width: 101%;
        height: 101%;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromLeft::after,
  .js--inviewBlock .js--inviewBlockFromRight::after {
        width: 102%;
        height: 105%;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromLeft.a3020112-functionBox__bg--3::after,
  .js--inviewBlock .js--inviewBlockFromRight.a3020112-functionBox__bg--3::after {
        width: 100%;
        height: 100%;
        left: 0;
        top: -1%;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@media not all and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromLeft::after {
        left: 0;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromLeft::after {
        left: -30.6666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromRight::after {
        right: 0;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock .js--inviewBlockFromRight::after {
        right: 0;
    }
}

.js--inviewBlock.is-inviewd {
  /* テキスト系 */
  /* function系 */
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(1) {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(2) {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(3) {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(4) {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(5) {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(6) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(7) {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(8) {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(9) {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(10) {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(11) {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(12) {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(13) {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(14) {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(15) {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(16) {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(17) {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(18) {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(19) {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromUnder:nth-of-type(20) {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

.js--inviewBlock.is-inviewd .js--inviewBlockOpacity {
    opacity: 1;
}

.js--inviewBlock.is-inviewd .js--inviewBlockOpacityDelayImage {
    opacity: 1;
}

.js--inviewBlock.is-inviewd .js--inviewBlockOpacityDelayImage img {
    opacity: 1;
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromLeft::before {
    opacity: 1;
}

@media not all and (max-width: 699px) {
    .js--inviewBlock.is-inviewd .js--inviewBlockFromLeft::after {
        -webkit-animation: slide_fromLeft 0.3s forwards ease-out;
        animation: slide_fromLeft 0.3s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock.is-inviewd .js--inviewBlockFromLeft::after {
        -webkit-animation: slide_fromLeft_sp 0.5s forwards ease-out;
        animation: slide_fromLeft_sp 0.5s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock.is-inviewd .js--inviewBlockFromLeft.a3020112-functionBox__bg--3::after {
        -webkit-animation: slide_fromLeft_sp2 0.5s forwards ease-out;
        animation: slide_fromLeft_sp2 0.5s forwards ease-out;
    }
}

.js--inviewBlock.is-inviewd .js--inviewBlockFromRight::before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

@media not all and (max-width: 699px) {
    .js--inviewBlock.is-inviewd .js--inviewBlockFromRight::after {
        -webkit-animation: slide_fromRight 0.4s forwards ease-out;
        animation: slide_fromRight 0.4s forwards ease-out;
    }
}

@media screen and (max-width: 699px) {
    .js--inviewBlock.is-inviewd .js--inviewBlockFromRight::after {
        -webkit-animation: slide_fromRight_sp 0.5s forwards ease-out;
        animation: slide_fromRight_sp 0.5s forwards ease-out;
    }
}

/* about */
.a3020112-about {
    position: relative;
    z-index: 2;
}

@media not all and (max-width: 699px) {
    .a3020112-about {
        padding-top: 6.25rem;
        padding-bottom: 5.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about {
        padding-top: 24.5333333333vw;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__inner {
        padding-right: 10.6666666667vw;
        padding-left: 10.6666666667vw;
    }
}

.a3020112-about__box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media not all and (max-width: 699px) {
    .a3020112-about__box {
        gap: 2.5rem;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding-bottom: 16vw;
    }
}

.a3020112-about__images {
    position: relative;
}

@media not all and (max-width: 699px) {
    .a3020112-about__images {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__images {
        width: 200vw;
        height: 121.0666666667vw;
        margin: 0 auto;
    }
}

.a3020112-about__image {
    position: absolute;
}

@media not all and (max-width: 699px) {
    .a3020112-about__image {
        -webkit-box-shadow: 1.25rem 1.25rem 2.5rem rgba(0, 0, 0, 0.5);
        box-shadow: 1.25rem 1.25rem 2.5rem rgba(0, 0, 0, 0.5);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__image {
        -webkit-box-shadow: 0 5.3333333333vw 10.6666666667vw rgba(0, 0, 0, 0.5);
        box-shadow: 0 5.3333333333vw 10.6666666667vw rgba(0, 0, 0, 0.5);
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__image--1 {
        top: -1.75rem;
        left: 5.0625rem;
        width: 16.125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__image--1 {
        top: 0;
        left: 37.3333333333vw;
        width: 68.5333333333vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__image--2 {
        top: 12.5rem;
        right: 6.5rem;
        width: 11rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__image--2 {
        top: 55.4666666667vw;
        left: 93.3333333333vw;
        width: 46.9333333333vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__image--3 {
        top: 15rem;
        left: 2.6875rem;
        width: 14.375rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__image--3 {
        top: 67.2vw;
        left: 21.3333333333vw;
        width: 60.8vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__image--4 {
        top: 22.0625rem;
        right: 2.25rem;
        width: 8.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__image--4 {
        bottom: 0;
        left: 121.0666666667vw;
        width: 37.3333333333vw;
    }
}

.a3020112-about__main {
    position: relative;
    z-index: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-about__main {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 35.25rem;
        flex: 0 0 35.25rem;
        padding: 4.5625rem 0;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__main {
        width: 115.2vw;
        padding: 28.8vw 0 17.0666666667vw;
        margin: 0 auto;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__heading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 0.625rem;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

.a3020112-about__headingEn {
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
}

@media not all and (max-width: 699px) {
    .a3020112-about__headingEn {
        font-size: 3rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__headingEn {
        font-size: 14.9333333333vw;
    }
}

.a3020112-about__headingJa {
    font-weight: 500;
    letter-spacing: 0.1em;
}

@media not all and (max-width: 699px) {
    .a3020112-about__headingJa {
        padding-bottom: 0.25rem;
        margin-top: 0.75rem;
        font-size: 0.8125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__headingJa {
        margin-top: 6.4vw;
        font-size: 5.3333333333vw;
    }
}

.a3020112-about__headingJa span {
    display: inline-block;
}

@media not all and (max-width: 699px) {
    .a3020112-about__headingJa span {
        margin-right: 0.125rem;
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__headingJa span {
        margin-right: 1.0666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-about__title {
        margin-top: 2.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__title {
        margin-top: 18.6666666667vw;
    }
}

.a3020112-about__title span {
    position: relative;
    z-index: 2;
    display: inline-block;
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 800;
    line-height: 1;
    color: #000;
    letter-spacing: 0.05em;
}

@media not all and (max-width: 699px) {
    .a3020112-about__title span {
        padding: 0.1875rem 0.4375rem 0.25rem;
        font-size: 1.875rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__title span {
        padding: 1.6vw 3.2vw;
        font-size: 9.0666666667vw;
    }
}

.a3020112-about__title span::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: #fff;
}

@media not all and (max-width: 699px) {
    .a3020112-about__title span:nth-child(n+2) {
        margin-top: 0.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__title span:nth-child(n+2) {
        margin-top: 2.1333333333vw;
    }
}

.a3020112-about__title span:nth-child(1)::before, .a3020112-about__title span:nth-child(3)::before {
    width: calc(100% - 0.625rem);
}

.a3020112-about__title span:nth-child(2)::before {
    width: calc(100% + 0.5rem);
}

@media not all and (max-width: 699px) {
    .a3020112-about__text {
        max-width: 23.75rem;
        margin-top: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-about__text {
        margin-top: 6.4vw;
    }
}

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

.a3020112-about__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* brand */
.a3020112-brand {
    position: relative;
    z-index: 1;
    color: #fff;
    background-color: #000;
    -webkit-transition: color 0.3s, background-color 0.5s;
    transition: color 0.3s, background-color 0.5s;
}

@media not all and (max-width: 699px) {
    .a3020112-brand {
        padding: 8.75rem 0 5.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand {
        padding: 26.6666666667vw 0 32vw;
    }
}

.a3020112-brand .a3020112-brand__logo {
    -webkit-transition: -webkit-filter 0.3s;
    transition: -webkit-filter 0.3s;
    transition: filter 0.3s;
    transition: filter 0.3s, -webkit-filter 0.3s;
    -webkit-filter: invert(0);
    filter: invert(0);
}

.a3020112-brand .a3020112-brand__product {
    overflow: hidden;
}

.a3020112-brand .a3020112-brand__product span {
    display: block;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

.a3020112-brand .a3020112-brand__description {
    overflow: hidden;
}

.a3020112-brand .a3020112-brand__description span {
    display: block;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: translate(0, 101%);
    transform: translate(0, 101%);
}

.a3020112-brand .a3020112-brand__links {
    overflow: hidden;
}

.a3020112-brand .a3020112-brand__links .a3020112-brand__link {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: translate(0, 102%);
    transform: translate(0, 102%);
}

.a3020112-brand.is-overed {
    color: #fff;
    background-color: #000;
}

.a3020112-brand.is-overed .a3020112-brand__product span {
    -webkit-transform: translate(0, -101%);
    transform: translate(0, -101%);
}

.a3020112-brand.is-overed .a3020112-brand__logo {
    -webkit-filter: invert(0);
    filter: invert(0);
}

.a3020112-brand.is-overed .a3020112-brand__description span {
    display: block;
    -webkit-transform: translate(0, 0%);
    transform: translate(0, 0%);
}

.a3020112-brand.is-overed .a3020112-brand__links {
    overflow: hidden;
}

.a3020112-brand.is-overed .a3020112-brand__links .a3020112-brand__link {
    -webkit-transform: translate(0, 0%);
    transform: translate(0, 0%);
}

.a3020112-brand__copy {
    font-weight: bold;
    text-align: center;
}

@media not all and (max-width: 699px) {
    .a3020112-brand__copy {
        margin-bottom: 6rem;
        font-size: 2.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__copy {
        margin-bottom: 10.6666666667vw;
        font-size: 6.4vw;
        line-height: 1.4;
    }
}

.a3020112-brand__logo {
    margin: 0 auto;
}

@media not all and (max-width: 699px) {
    .a3020112-brand__logo {
        max-width: 26.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__logo {
        max-width: 72.8vw;
    }
}

.a3020112-brand__product {
    font-weight: bold;
    text-align: center;
    line-height: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-brand__product {
        margin-top: 1.875rem;
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__product {
        margin-top: 4.2666666667vw;
        font-size: 4.2666666667vw;
    }
}

.a3020112-brand__description {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0;
}

@media not all and (max-width: 699px) {
    .a3020112-brand__description {
        margin-top: 0.125rem;
        font-size: 1.1875rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__description {
        margin-top: 2.1333333333vw;
        font-size: 4.2666666667vw;
    }
}

.a3020112-brand__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 2.375rem;
}

.a3020112-brand__link {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    color: #fff;
}

@media not all and (max-width: 699px) {
    .a3020112-brand__link {
        font-size: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__link {
        font-size: 4.2666666667vw;
    }
}

@media (hover: hover) and (pointer: fine) {
    .a3020112-brand__link:hover img {
        opacity: 1;
    }

    .a3020112-brand__link:hover::before {
        -webkit-animation: underline_flow 0.4s forwards ease-in-out;
        animation: underline_flow 0.4s forwards ease-in-out;
    }
}

.a3020112-brand__link::before {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #fff;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right;
    transform-origin: right;
}

.a3020112-brand__linkIcom {
    display: inline-block;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

@media not all and (max-width: 699px) {
    .a3020112-brand__linkIcom {
        width: 0.8125rem;
        margin-left: 0.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-brand__linkIcom {
        width: 3.4666666667vw;
        margin-left: 1.0666666667vw;
    }
}

/* concept */
.a3020112-concept {
    position: relative;
    z-index: 1;
    background-color: #DC2828;
}

@media not all and (max-width: 699px) {
    .a3020112-concept {
        padding: 7.5rem 0;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept {
        padding-top: 21.3333333333vw;
        padding-bottom: 26.6666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-concept__heading {
        margin-bottom: 4.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept__heading {
        margin-bottom: 21.3333333333vw;
        text-align: center;
    }
}

.a3020112-concept__headingEn {
    font-family: "Karantina", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 0.75;
}

@media not all and (max-width: 699px) {
    .a3020112-concept__headingEn {
        font-size: 6.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept__headingEn {
        font-size: 26.6666666667vw;
    }
}

.a3020112-concept__headingJa {
    font-weight: 600;
    line-height: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-concept__headingJa {
        margin-top: 1.625rem;
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept__headingJa {
        margin-top: 4.2666666667vw;
        font-size: 5.3333333333vw;
    }
}

.a3020112-concept__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media not all and (max-width: 699px) {
    .a3020112-concept__box {
        gap: 0 5.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-concept__boxImage {
        width: 27.8125rem;
    }
}

.a3020112-concept__boxImage img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
}

.a3020112-concept__description {
    color: #fff;
}

@media screen and (max-width: 699px) {
    .a3020112-concept__description {
        margin-top: 16vw;
    }
}

.a3020112-concept__description p + p {
    margin-top: 1.6em;
}

.a3020112-concept__description p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 1.6;
}

@media not all and (max-width: 699px) {
    .a3020112-concept__description p {
        font-size: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-concept__description p {
        font-size: 4vw;
    }
}

/* design */
.a3020112-design {
    position: relative;
    z-index: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-design {
        padding-top: 7.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design {
        padding-top: 32vw;
    }
}

.a3020112-design__heading {
    text-align: center;
}

@media not all and (max-width: 699px) {
    .a3020112-design__heading {
        margin-bottom: 5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__heading {
        margin-bottom: 14.6666666667vw;
    }
}

.a3020112-design__headingEn {
    font-family: "Karantina", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 0.75;
}

@media not all and (max-width: 699px) {
    .a3020112-design__headingEn {
        font-size: 6.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__headingEn {
        font-size: 26.6666666667vw;
    }
}

.a3020112-design__headingJa {
    font-weight: 600;
    line-height: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-design__headingJa {
        margin-top: 1.625rem;
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__headingJa {
        margin-top: 4.2666666667vw;
        font-size: 5.3333333333vw;
    }
}

.a3020112-design__row {
    position: relative;
    overflow: hidden;
}

@media not all and (max-width: 699px) {
    .a3020112-design__row {
        padding: 5rem 0;
    }
}

.a3020112-design__bg {
    position: absolute;
    top: 0;
    z-index: 1;
    pointer-events: none;
}

@media not all and (max-width: 699px) {
    .a3020112-design__bg {
        left: calc(50% - 37.5rem - 22rem);
        width: 79.1875rem;
        height: 100%;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__bg {
        left: 0;
        width: 73.3333333333vw;
    }
}

.a3020112-design__bg svg {
    display: block;
    width: auto;
    height: 100%;
}

.a3020112-design__box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 2;
}

@media not all and (max-width: 699px) {
    .a3020112-design__box {
        gap: 2.8125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxText {
        width: 31.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxText {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

.a3020112-design__boxTitle {
    line-height: 1.4;
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxTitle {
        font-size: 2rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxTitle {
        font-size: 1.5rem;
    }
}

.a3020112-design__boxDescription {
    line-height: 1.6;
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxDescription {
        margin-top: 2.5rem;
        font-size: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxDescription {
        margin-top: 10.6666666667vw;
        font-size: 4vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxDescription p + p {
        margin-top: 1.2em;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxDescription p + p {
        margin-top: 1.6em;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxNote {
        margin-top: 2.5rem;
        font-size: 0.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxNote {
        margin-top: 10.6666666667vw;
        font-size: 2.6666666667vw;
    }
}

.a3020112-design__boxImage {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

@media not all and (max-width: 699px) {
    .a3020112-design__boxImage {
        width: 30.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-design__boxImage {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
        margin-top: 5.3333333333vw;
        margin-bottom: 10.6666666667vw;
    }
}

/* function */
.a3020112-function {
    position: relative;
    z-index: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-function {
        padding-top: 7.5rem;
        padding-bottom: 12.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-function {
        padding-top: 32vw;
    }
}

.a3020112-function__heading {
    text-align: center;
}

@media not all and (max-width: 699px) {
    .a3020112-function__heading {
        margin-bottom: 5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-function__heading {
        margin-bottom: 21.3333333333vw;
    }
}

.a3020112-function__headingEn {
    font-family: "Karantina", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 0.75;
}

@media not all and (max-width: 699px) {
    .a3020112-function__headingEn {
        font-size: 6.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-function__headingEn {
        font-size: 26.6666666667vw;
    }
}

.a3020112-function__headingJa {
    font-weight: 600;
    line-height: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-function__headingJa {
        margin-top: 1.625rem;
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-function__headingJa {
        margin-top: 4.2666666667vw;
        font-size: 5.3333333333vw;
    }
}

/* function */
.a3020112-functionBox {
    position: relative;
    overflow: hidden;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox + .a3020112-functionBox {
        margin-top: 5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox + .a3020112-functionBox {
        margin-top: 21.3333333333vw;
    }
}

.a3020112-functionBox__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.a3020112-functionBox__content {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 2;
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.a3020112-functionBox__text {
    color: #fff;
    text-align: left;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__text {
        width: 31.5625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__text {
        margin-top: 8vw;
        width: 100%;
    }
}

.a3020112-functionBox__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__title {
        gap: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__title {
        gap: 4.2666666667vw;
    }
}

.a3020112-functionBox__titleFunction {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.a3020112-functionBox__titleIcon {
    display: inline-block;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__titleIcon {
        width: 1.5rem;
        margin-right: 0.375rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__titleIcon {
        width: 4.8vw;
        margin-right: 1.6vw;
    }
}

.a3020112-functionBox__titleLabel {
    display: block;
    font-family: "Karantina", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    line-height: 0.75;
    letter-spacing: 0.02em;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__titleLabel {
        margin-right: 0.25rem;
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__titleLabel {
        margin-right: 1.0666666667vw;
        font-size: 4.2666666667vw;
    }
}

.a3020112-functionBox__titleLabel > span {
    display: inline-block;
    letter-spacing: 0.02em;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__titleLabel > span {
        font-size: 1.4125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__titleLabel > span {
        font-size: 4.9333333333vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__titleText {
        margin-bottom: 2rem;
        font-size: 2rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__titleText {
        line-height: 1.4;
        margin-bottom: 4.2666666667vw;
        font-size: 6.4vw;
    }
}

.a3020112-functionBox__description {
    line-height: 1.8;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__description {
        font-size: 1rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__description {
        font-size: 4vw;
    }
}

.a3020112-functionBox__caption {
    line-height: 1.4;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox__caption {
        margin-top: 2rem;
        font-size: 0.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox__caption {
        margin-top: 6.4vw;
        font-size: 2.6666666667vw;
    }
}

.a3020112-functionBox__image {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--1 {
        padding: 2.125rem 0;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--1 {
        padding-top: 60vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--1 .a3020112-functionBox__content {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

.a3020112-functionBox--1 .a3020112-functionBox__bg {
    z-index: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--1 .a3020112-functionBox__bg {
        width: 59.4375rem;
        height: 30.125rem;
        left: calc(50% - 37.5rem - 23.75rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--1 .a3020112-functionBox__bg {
        width: 94.6666666667vw;
        height: 60vw;
        left: 0;
    }
}

.a3020112-functionBox--1 .a3020112-functionBox__bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--1 .a3020112-functionBox__bg::before {
        background: url("/contents/genre/a3020112/img/function_img_1.gif") no-repeat right 13.125rem center/31.6875rem auto;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--1 .a3020112-functionBox__bg::before {
        background: url("/contents/genre/a3020112/img/function_img_1.gif") no-repeat right 34.6666666667vw center/60vw auto;
    }
}

.a3020112-functionBox--1 .a3020112-functionBox__text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.a3020112-functionBox--1 .a3020112-functionBox__image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--2 {
        padding: 8.125rem 0;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--2 {
        padding-top: 74.6666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--2 .a3020112-functionBox__bg {
        width: 54.125rem;
        height: 30.125rem;
        left: auto;
        right: calc(50% - 37.5rem - 17.5rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--2 .a3020112-functionBox__bg {
        width: 22.1875rem;
        height: 17.5rem;
        left: auto;
        right: 0;
    }
}

.a3020112-functionBox--2 .a3020112-functionBox__bg svg, .a3020112-functionBox--2 .a3020112-functionBox__bg picture {
    width: 100%;
    height: 1;
}

.a3020112-functionBox--2 .a3020112-functionBox__bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    background: url("/contents/genre/a3020112/img/function_img_2.png") no-repeat left -0.5px bottom/cover;
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--3 {
        padding: 10.6666666667vw 0;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--3 .a3020112-functionBox__bg {
        width: 67.9375rem;
        height: 27rem;
        left: auto;
        right: calc(50% - 37.5rem - 15.3125rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--3 .a3020112-functionBox__bg {
        width: 100.5333333333vw;
        height: 146.1333333333vw;
        top: 0;
        left: -0.2666666667vw;
    }
}

.a3020112-functionBox--3 .a3020112-functionBox__text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.a3020112-functionBox--3 .a3020112-functionBox__image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--3 .a3020112-functionBox__image {
        width: 31.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--3 .a3020112-functionBox__image {
        width: 100%;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--4 {
        padding: 0.75rem 0;
    }
}

.a3020112-functionBox--4 .a3020112-functionBox__bg {
    left: auto;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__bg {
        width: 43.0625rem;
        height: 30.25rem;
        right: calc(50% - 75rem + 21.25rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__bg {
        width: 49.3333333333vw;
        height: 96.2666666667vw;
        right: 0;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__text {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__text {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-top: 16vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__image {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 27.8125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--4 .a3020112-functionBox__image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
    }
}

.a3020112-functionBox--5 .a3020112-functionBox__text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.a3020112-functionBox--5 .a3020112-functionBox__image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--5 .a3020112-functionBox__image {
        width: 29.25rem;
        padding-right: 1.5625rem;
        background: url("/contents/genre/a3020112/img/function_bg_5.svg") no-repeat right -1px bottom -1px/cover;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--5 .a3020112-functionBox__image {
        width: 100%;
        background: url("/contents/genre/a3020112/img/function_bg_5.svg") no-repeat top left 1px/100% auto;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--5 .a3020112-functionBox__image img {
        width: 82.6666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__bg {
        width: 75rem;
        height: 30.125rem;
        left: calc(50% - 37.5rem - 20rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__bg {
        width: 94.4vw;
        height: 84vw;
        left: 17.0666666667vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__text {
        margin-top: 2.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__text {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__image {
        width: 31.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-functionBox--6 .a3020112-functionBox__image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 66.1333333333vw;
        margin-left: auto;
        margin-right: -5.3333333333vw;
        padding-top: 6.6666666667vw;
    }
}

/* mv */
.a3020112-mv {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media not all and (max-width: 699px) {
    .a3020112-mv {
        background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(21.25rem, #DC2828));
        background: linear-gradient(to right, #000 calc(100% - 21.25rem), #DC2828 21.25rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv {
        background-color: #DC2828;
    }
}

.a3020112-mv img {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.a3020112-mv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0%;
    height: 100%;
    background-color: #DC2828;
    z-index: 3;
}

@media not all and (max-width: 699px) {
    .a3020112-mv::before {
        width: 102%;
        -webkit-transform: skew(27deg) translate(-10.625rem, 0);
        transform: skew(27deg) translate(-10.625rem, 0);
        -webkit-animation: mv_bgBefore 1s forwards 0.3s cubic-bezier(0.83, 0, 0.17, 1);
        animation: mv_bgBefore 1s forwards 0.3s cubic-bezier(0.83, 0, 0.17, 1);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv::before {
        width: 166.6666666667vw;
        -webkit-transform: skew(27deg) translate(-33.3333333333vw, 0);
        transform: skew(27deg) translate(-33.3333333333vw, 0);
        -webkit-animation: mv_bgBefore_sp 1s forwards 0.3s cubic-bezier(0.83, 0, 0.17, 1);
        animation: mv_bgBefore_sp 1s forwards 0.3s cubic-bezier(0.83, 0, 0.17, 1);
    }
}

.a3020112-mv__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bg {
        top: 0;
        left: calc(100% - 77.5rem);
        max-width: 77.5rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bg {
        bottom: 0;
        left: 0;
        width: 100%;
    }
}

.a3020112-mv__bg img, .a3020112-mv__bg picture {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: right bottom;
    object-position: right bottom;
    width: 100%;
    height: 100%;
}

.a3020112-mv__bgRight {
    position: absolute;
    z-index: 1;
    opacity: 0;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bgRight {
        top: 0;
        right: -9.375rem;
        width: 28.75rem;
        height: 2.1875rem;
        -webkit-transform: translate(-29.0625rem, 0);
        transform: translate(-29.0625rem, 0);
        -webkit-animation: mv_bgRight 0.7s forwards 1.1s ease;
        animation: mv_bgRight 0.7s forwards 1.1s ease;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bgRight {
        top: 0;
        right: -20vw;
        width: 82.6666666667vw;
        height: 4.8vw;
        -webkit-transform: translate(-85.3333333333vw, 0);
        transform: translate(-85.3333333333vw, 0);
        -webkit-animation: mv_bgRight_sp 0.7s forwards 1.1s ease;
        animation: mv_bgRight_sp 0.7s forwards 1.1s ease;
    }
}

.a3020112-mv__bgRight img, .a3020112-mv__bgRight picture {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left top;
    object-position: left top;
    width: 100%;
    height: 100%;
}

.a3020112-mv__bgRightParts1,
.a3020112-mv__bgRightParts2,
.a3020112-mv__bgRightParts3 {
    position: absolute;
    top: 0;
    display: block;
    z-index: 4;
    -webkit-transform: skew(27deg);
    transform: skew(27deg);
    background-color: #DC2828;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bgRightParts1,
  .a3020112-mv__bgRightParts2,
  .a3020112-mv__bgRightParts3 {
        width: 2.4375rem;
        height: 2.1875rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bgRightParts1,
  .a3020112-mv__bgRightParts2,
  .a3020112-mv__bgRightParts3 {
        width: 5.8666666667vw;
        height: 4.8vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bgRightParts1 {
        right: 25.8125rem;
        -webkit-animation: mv_bgRightParts 0.4s forwards 1.5s ease;
        animation: mv_bgRightParts 0.4s forwards 1.5s ease;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bgRightParts1 {
        right: 75.7333333333vw;
        -webkit-animation: mv_bgRightParts_sp 0.4s forwards 1.5s ease;
        animation: mv_bgRightParts_sp 0.4s forwards 1.5s ease;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bgRightParts2 {
        -webkit-animation: mv_bgRightParts 0.4s forwards 1.55s ease;
        animation: mv_bgRightParts 0.4s forwards 1.55s ease;
        right: 22.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bgRightParts2 {
        -webkit-animation: mv_bgRightParts_sp 0.4s forwards 1.6s ease;
        animation: mv_bgRightParts_sp 0.4s forwards 1.6s ease;
        right: 68.8vw;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-mv__bgRightParts3 {
        right: 19.4375rem;
        -webkit-animation: mv_bgRightParts 0.4s forwards 1.6s ease;
        animation: mv_bgRightParts 0.4s forwards 1.6s ease;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__bgRightParts3 {
        -webkit-animation: mv_bgRightParts_sp 0.4s forwards 1.7s ease;
        animation: mv_bgRightParts_sp 0.4s forwards 1.7s ease;
        right: 61.6vw;
    }
}

.a3020112-mv__nav {
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 10;
    opacity: 0;
    -webkit-transform: translate(-0.625rem, 0);
    transform: translate(-0.625rem, 0);
    -webkit-animation: mv_navFadeIn 0.3s forwards 1.5s ease;
    animation: mv_navFadeIn 0.3s forwards 1.5s ease;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__nav {
        position: absolute;
        top: 0;
        left: calc(50% - 38.75rem);
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__nav {
        display: none;
    }
}

.a3020112-mv__nav::after {
    content: "";
    display: block;
    width: calc((100vw - 75rem) / 2);
    height: 100%;
    background-color: #DC2828;
    position: absolute;
    left: calc((100vw - 75rem) / -2);
    bottom: 0;
}

.a3020112-mv__inner {
    margin-right: auto;
    margin-left: auto;
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-width: 77.5rem;
        padding: 5rem 0 6.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__inner {
        width: 100%;
        padding: 14.4vw 0 14.6666666667vw;
    }
}

.a3020112-mv__box {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__box {
        gap: 0 4.25rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.a3020112-mv__image {
    opacity: 0;
    -webkit-transform: translate(0, 0.625rem);
    transform: translate(0, 0.625rem);
    -webkit-animation: mv_content 0.6s forwards 1.1s ease;
    animation: mv_content 0.6s forwards 1.1s ease;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__image {
        width: 22.75rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__image {
        width: 100%;
        text-align: center;
    }

    .a3020112-mv__image img {
        width: 46.6666666667vw;
        margin: 0 auto;
    }
}

.a3020112-mv__title {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__title {
        margin: 0;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__title {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin: 2.6666666667vw 0 0;
    }
}

.a3020112-mv__titleMain {
    font-weight: 900;
    display: inline-block;
    opacity: 0;
    -webkit-transform: translate(0, 0.625rem);
    transform: translate(0, 0.625rem);
    -webkit-animation: mv_content 0.4s forwards 1.1s ease;
    animation: mv_content 0.4s forwards 1.1s ease;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__titleMain {
        margin-bottom: 2.75rem;
        font-size: 2rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__titleMain {
        margin-bottom: 2.1333333333vw;
        margin-left: 0.5em;
        font-size: 5.3333333333vw;
    }
}

.a3020112-mv__logo {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translate(0, 0.625rem);
    transform: translate(0, 0.625rem);
    -webkit-animation: mv_content 0.4s forwards 1.2s ease;
    animation: mv_content 0.4s forwards 1.2s ease;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__logo {
        width: 29.0625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__logo {
        width: 42.6666666667vw;
    }
}

.a3020112-mv__logo img {
    width: 100%;
    height: auto;
}

.a3020112-mv__titleSub {
    font-weight: 900;
    opacity: 0;
    -webkit-transform: translate(0, 0.625rem);
    transform: translate(0, 0.625rem);
    -webkit-animation: mv_content 0.4s forwards 1.3s ease;
    animation: mv_content 0.4s forwards 1.3s ease;
}

@media not all and (max-width: 699px) {
    .a3020112-mv__titleSub {
        margin-top: 1.8125rem;
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-mv__titleSub {
        margin-top: 4vw;
        font-size: 3.2vw;
    }
}

/* nav */
.page-a3020112__nav {
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media not all and (max-width: 699px) {
    .page-a3020112__nav {
        display: none;
        position: fixed;
        top: 7.6875rem;
        left: calc(50% - 38.75rem);
        pointer-events: none;
        opacity: 0;
        -webkit-transform: translate(-3.125rem, 0);
        transform: translate(-3.125rem, 0);
        -webkit-transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
        transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
    }

    .page-a3020112__nav.is-show {
        pointer-events: all;
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@media screen and (max-width: 699px) {
    .page-a3020112__nav {
        -webkit-transition: opacity 0.2s linear;
        transition: opacity 0.2s linear;
        position: sticky;
        top: 50px;
    }
}

@media not all and (max-width: 699px) {
    .is-load-end .page-a3020112__nav {
        -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
        transition: opacity 0.4s, -webkit-transform 0.4s;
        transition: opacity 0.4s, transform 0.4s;
        transition: opacity 0.4s, transform 0.4s, -webkit-transform 0.4s;
    }
}

.a3020112-nav {
    position: relative;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    pointer-events: all;
    background-color: #DC2828;
}

@media not all and (max-width: 699px) {
    .a3020112-nav {
        height: 2.125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav {
        width: 100%;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-nav--mv::before {
        display: none;
    }

    .a3020112-nav--mv::after {
        content: "";
        width: 0.625rem;
        height: 2.125rem;
        display: block;
        position: absolute;
        right: 1px;
        bottom: 0;
        border-top: none;
        border-bottom: 2.125rem solid #DC2828;
        border-right: 1.25rem solid transparent;
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
    }

    .a3020112-nav::before {
        content: "";
        width: 0.625rem;
        height: 2.125rem;
        display: block;
        position: absolute;
        left: 0.1px;
        bottom: 0;
        border-bottom: 2.125rem solid #DC2828;
        border-left: 1.25rem solid transparent;
        -webkit-transform: translate(-100%, 0);
        transform: translate(-100%, 0);
    }

    .a3020112-nav::after {
        content: "";
        width: 0.625rem;
        height: 2.125rem;
        display: block;
        position: absolute;
        right: 0.1px;
        bottom: 0;
        border-top: 2.125rem solid #DC2828;
        border-right: 1.25rem solid transparent;
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
    }
}

.a3020112-nav__list {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media not all and (max-width: 699px) {
    .a3020112-nav__list {
        padding: 0.3125rem 1.875rem;
        gap: 1.5rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav__list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 2.1333333333vw 0 1.6vw;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav__item:first-of-type button {
        border-left: none;
    }
}

button.a3020112-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
}

@media not all and (max-width: 699px) {
    button.a3020112-nav__link {
        gap: 0 0.375rem;
        color: transparent;
        background: -webkit-gradient(linear, left top, right top, color-stop(50%, #000), color-stop(50%, #fff)) 100%;
        background: linear-gradient(to right, #000 50%, #fff 50%) 100%;
        -webkit-background-clip: text;
        background-clip: text;
        background-size: 200% 100%;
        -webkit-transition: background-position 0.3s;
        transition: background-position 0.3s;
    }
}

@media (hover: hover) and (pointer: fine) {
    button.a3020112-nav__link:hover {
        background-position: 0 100%;
    }

    button.a3020112-nav__link:hover .a3020112-nav__icon {
        -webkit-filter: invert(1);
        filter: invert(1);
    }
}

@media screen and (max-width: 699px) {
    button.a3020112-nav__link {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0 4vw 0 6.6666666667vw;
        border-left: 1px solid #EA6D6D;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-nav__icon {
        width: 0.5625rem;
        height: 0.5rem;
        margin-right: 0.125rem;
        -webkit-filter: invert(0);
        filter: invert(0);
        -webkit-transition: -webkit-filter 0.2s;
        transition: -webkit-filter 0.2s;
        transition: filter 0.2s;
        transition: filter 0.2s, -webkit-filter 0.2s;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav__icon {
        position: absolute;
        top: 0.5333333333vw;
        left: 3.2vw;
        width: 2.1333333333vw;
        height: 1.8666666667vw;
    }
}

.a3020112-nav__labelEn {
    font-weight: bold;
    font-family: "Karantina", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    text-transform: uppercase;
    line-height: 0.75;
    letter-spacing: 0.06em;
}

@media not all and (max-width: 699px) {
    .a3020112-nav__labelEn {
        font-size: 1.5625rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav__labelEn {
        font-size: 4.8vw;
    }
}

.a3020112-nav__labelJp {
    display: inline-block;
    padding-top: 0.1em;
    font-weight: bold;
}

@media not all and (max-width: 699px) {
    .a3020112-nav__labelJp {
        font-size: 0.8125rem;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-nav__labelJp {
        font-size: 2.6666666667vw;
    }
}

@media screen and (max-width: 699px) {
    .a3020112-only-show--pc {
        display: none;
    }
}

@media not all and (max-width: 699px) {
    .a3020112-only-show--sp {
        display: none;
    }
}