h1 {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: 300ms all;
    transition: 300ms all;
    -webkit-transform: translate3d(2000px, 0, 2000px);
    transform: translate3d(2000px, 0, 2000px);
    -webkit-transition-delay: 1550ms;
    transition-delay: 1550ms;
    z-index: 30;
    opacity: 0;
}

h1.anime {
    -webkit-transform: translate3d(0, 0, 2000px);
    transform: translate3d(0, 0, 2000px);
}

.chara {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: 280ms all;
    transition: 280ms all;
    -webkit-transform: translateY(25px) scale(0.5) translate3d(0, 0, 2000px);
    transform: translateY(25px) scale(0.5) translate3d(0, 0, 2000px);
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    opacity: 0;
    z-index: 1;
}

.chara.anime {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 2000px) scale(1);
    transform: translate3d(0, 0, 2000px) scale(1);
}

.bg-diagonal {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translate3d(0, 0, 2000px);
    transform: translate3d(0, 0, 2000px);
    opacity: 0;
    -webkit-transition: 300ms all;
    transition: 300ms all;
}

.bg-diagonal.anime {
    opacity: 1;
}

.catch_01 img {
    -webkit-transition: 350ms all;
    transition: 350ms all;
    -webkit-transform: translate(90px, 10px);
    transform: translate(90px, 10px);
    opacity: 0;
}

.catch_01 img.anime {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
}

.catch_01 .cath_01_01 img {
    -webkit-transition-delay: 600ms;
    transition-delay: 600ms;
}

.catch_01 .cath_01_02 img {
    -webkit-transition-delay: 685ms;
    transition-delay: 685ms;
}

.catch_01 .cath_01_03 img {
    -webkit-transition-delay: 770ms;
    transition-delay: 770ms;
}

.catch_01 .cath_01_04 img {
    -webkit-transition-delay: 855ms;
    transition-delay: 855ms;
}

.catch_01 .cath_01_05 img {
    -webkit-transition-delay: 940ms;
    transition-delay: 940ms;
}

.catch_01 .cath_01_06 img {
    -webkit-transition-delay: 1025ms;
    transition-delay: 1025ms;
}

.catch_01 .cath_01_07 img {
    -webkit-transition-delay: 1110ms;
    transition-delay: 1110ms;
}

.catch_01 .cath_01_08 img {
    -webkit-transition-delay: 1195ms;
    transition-delay: 1195ms;
}

.catch_01 .cs_01_01 img {
    -webkit-transition-delay: 600ms;
    transition-delay: 600ms;
}

.catch_01 .cs_01_02 img {
    -webkit-transition-delay: 685ms;
    transition-delay: 685ms;
}

.catch_01 .cs_01_03 img {
    -webkit-transition-delay: 770ms;
    transition-delay: 770ms;
}

.catch_01 .cs_01_04 img {
    -webkit-transition-delay: 855ms;
    transition-delay: 855ms;
}

.catch_01 .cs_01_05 img {
    -webkit-transition-delay: 940ms;
    transition-delay: 940ms;
}

.catch_01 .cs_01_06 img {
    -webkit-transition-delay: 1025ms;
    transition-delay: 1025ms;
}

.catch_01 .cs_01_07 img {
    -webkit-transition-delay: 1110ms;
    transition-delay: 1110ms;
}

.catch_01 .cs_01_08 img {
    -webkit-transition-delay: 1195ms;
    transition-delay: 1195ms;
}

.catch_01 .cs_01_09 img {
    -webkit-transition-delay: 1280ms;
    transition-delay: 1280ms;
}

.catch_02 {
    -webkit-transition: 200ms all;
    transition: 200ms all;
    -webkit-transform: translate3d(300px, -320px, 2001px) scale(2.5) !important;
    transform: translate3d(300px, -320px, 2001px) scale(2.5) !important;
    -webkit-transition-delay: 1955ms;
    transition-delay: 1955ms;
    opacity: 0;
}

.catch_02.anime {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 2001px) scale(1) !important;
    transform: translate3d(0, 0, 2001px) scale(1) !important;
}

.bg-container {
    opacity: 0;
    -webkit-transition: opacity 800ms;
    transition: opacity 800ms;
}

.bg-container.anime {
    opacity: 1;
}

.line-container {
    position: absolute;
    left: 0;
    top: 400px;
    z-index: 10;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translate3d(0, 0, 2000px);
    transform: translate3d(0, 0, 2000px);
}

.line-container > div {
    position: absolute;
    height: 100px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 270ms all;
    transition: 270ms all;
}

.line-container > div.anime {
    -webkit-transform: translateX(-4000px);
    transform: translateX(-4000px);
}

.line-container > div.line01 {
    width: 4000px;
    background: url("../images/top/line_01.png") repeat-x left top;
    left: 0;
    top: 140px;
    -webkit-transition-delay: 1400ms;
    transition-delay: 1400ms;
}

.line-container > div.line02 {
    width: 4000px;
    background: url("../images/top/line_02.png") repeat-x left top;
    left: 0;
    top: 190px;
    -webkit-transition-delay: 1540ms;
    transition-delay: 1540ms;
}

.line-container > div.line03 {
    width: 4000px;
    background: url("../images/top/line_03.png") repeat-x left top;
    left: 0;
    top: 260px;
    -webkit-transition-delay: 1660ms;
    transition-delay: 1660ms;
}

.line-container > div.line04 {
    width: 4000px;
    background: url("../images/top/line_04.png") repeat-x left top;
    left: 0;
    top: 220px;
    -webkit-transition-delay: 1850ms;
    transition-delay: 1850ms;
}

section .char {
    opacity: 0;
}

section .char img {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: scaleY(0.75);
    transform: scaleY(0.75);
}

section .img, section .text {
    opacity: 0;
}

section .bg-h2 {
    overflow: hidden;
    -webkit-transition: 400ms all;
    transition: 400ms all;
}

section .bg-h2.hide {
    width: 0px !important;
}

section .bg-h2.bg-h2_01 {
    width: 974px;
    height: 280px;
    background: url("../images/top/bg-h2_01.png") no-repeat left top;
}

section .bg-h2.bg-h2_02 {
    width: 805px;
    height: 280px;
    background: url("../images/top/bg-h2_02.png") no-repeat right top;
}

section .bg-h2.bg-h2_03 {
    width: 835px;
    height: 252px;
    background: url("../images/top/bg-h2_03.png") no-repeat left top;
}

section .bg-h2.bg-h2_04 {
    width: 968px;
    height: 273px;
    background: url("../images/top/bg-h2_04.png") no-repeat right top;
}

section.section_00 .text_00_01 {
    -webkit-transition: 150ms all;
    transition: 150ms all;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms;
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    z-index: 100;
}

section.section_00 .text_00_01.anime {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

section.section_00 .bg {
    -webkit-transition: 230ms all;
    transition: 230ms all;
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    -webkit-transition-delay: 500ms;
    transition-delay: 500ms;
    opacity: 0;
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    z-index: 0;
}

section.section_00 .bg.anime {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

section.section_00 .chara_00_01,
section.section_00 .chara_00_02 {
    -webkit-transition: 200ms all;
    transition: 200ms all;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    -webkit-transition-delay: 750ms;
    transition-delay: 750ms;
}

section.section_00 .chara_00_01.anime,
  section.section_00 .chara_00_02.anime {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

section.section_00 .text_00_02 {
    -webkit-transition: 800ms all;
    transition: 800ms all;
    -webkit-transition-delay: 1450ms;
    transition-delay: 1450ms;
}

section.section_00 .text_00_02.anime {
    opacity: 1;
}

section.section_00 .thumbnail {
    -webkit-transition: 350ms all;
    transition: 350ms all;
    -webkit-transform: scale(0.5, 0.2);
    transform: scale(0.5, 0.2);
    opacity: 0;
}

section.section_00 .thumbnail.anime {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

section.section_00 .thumbnail.anime::before {
    opacity: 0;
}

section.section_00 .thumbnail::before {
    position: absolute;
    content: "";
    display: block;
    opacity: 1;
    background: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

section.section_00 .thumbnail_01 {
    -webkit-transition-delay: 660ms;
    transition-delay: 660ms;
}

section.section_00 .thumbnail_01::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 810ms;
    transition-delay: 810ms;
}

section.section_00 .thumbnail_02 {
    -webkit-transition-delay: 720ms;
    transition-delay: 720ms;
}

section.section_00 .thumbnail_02::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 870ms;
    transition-delay: 870ms;
}

section.section_00 .thumbnail_03 {
    -webkit-transition-delay: 780ms;
    transition-delay: 780ms;
}

section.section_00 .thumbnail_03::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 930ms;
    transition-delay: 930ms;
}

section.section_00 .thumbnail_04 {
    -webkit-transition-delay: 840ms;
    transition-delay: 840ms;
}

section.section_00 .thumbnail_04::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 990ms;
    transition-delay: 990ms;
}

section.section_00 .thumbnail_05 {
    -webkit-transition-delay: 900ms;
    transition-delay: 900ms;
}

section.section_00 .thumbnail_05::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 1050ms;
    transition-delay: 1050ms;
}

section.section_00 .thumbnail_06 {
    -webkit-transition-delay: 960ms;
    transition-delay: 960ms;
}

section.section_00 .thumbnail_06::before {
    -webkit-transition: 180ms all;
    transition: 180ms all;
    -webkit-transition-delay: 1110ms;
    transition-delay: 1110ms;
}

section.section_01 .text_01_01 {
    -webkit-transition: 150ms all;
    transition: 150ms all;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms;
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
}

section.section_01 .text_01_01.anime {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

section.section_01 .text_01_02 {
    -webkit-transition: 150ms all;
    transition: 150ms all;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    -webkit-transition-delay: 300ms;
    transition-delay: 300ms;
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
}

section.section_01 .text_01_02.anime {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

section.section_01 .text_01_03 {
    -webkit-transition: 600ms all;
    transition: 600ms all;
    -webkit-transition-delay: 1000ms;
    transition-delay: 1000ms;
}

section.section_01 .text_01_03.anime {
    opacity: 1;
}

section.section_01 .img {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transition-timing-function: cubic-bezier(0.48, 0.88, 0.67, 1.13);
    transition-timing-function: cubic-bezier(0.48, 0.88, 0.67, 1.13);
}

section.section_01 .img.anime {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

section.section_01 .img.img_01_01 {
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
    -webkit-transition-delay: 700ms;
    transition-delay: 700ms;
}

section.section_01 .img.img_01_02 {
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transition-delay: 730ms;
    transition-delay: 730ms;
}

section.section_01 .img.img_01_03 {
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-delay: 760ms;
    transition-delay: 760ms;
}

section.section_02 .text_02_01 {
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    -webkit-transition-delay: 300ms;
    transition-delay: 300ms;
    -webkit-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
}

section.section_02 .text_02_01.anime {
    opacity: 1;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
}

section.section_02 .text_02_02 {
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms;
    -webkit-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
}

section.section_02 .text_02_02.anime {
    opacity: 1;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
}

section.section_02 .img_02_01, section.section_02 .img_02_02 {
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    -webkit-transition-delay: 600ms;
    transition-delay: 600ms;
}

section.section_02 .img_02_01.anime {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

section.section_02 .img_02_02 {
    -webkit-transition-delay: 800ms;
    transition-delay: 800ms;
}

section.section_02 .img_02_02.anime {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

section.section_02 .bgimg_02_01, section.section_02 .bgimg_02_02 {
    -webkit-transition: 200ms all;
    transition: 200ms all;
    -webkit-transition-delay: 750ms;
    transition-delay: 750ms;
}

section.section_02 .bgimg_02_01.anime {
    opacity: 1;
    -webkit-transform: rotateZ(5deg);
    transform: rotateZ(5deg);
}

section.section_02 .bgimg_02_02 {
    -webkit-transition-delay: 950ms;
    transition-delay: 950ms;
}

section.section_02 .bgimg_02_02.anime {
    opacity: 1;
    -webkit-transform: rotateZ(5deg);
    transform: rotateZ(5deg);
}

section.section_03 .text_03_01 {
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms;
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-timing-function: cubic-bezier(0.56, 0.67, 0.71, 1.61);
    transition-timing-function: cubic-bezier(0.56, 0.67, 0.71, 1.61);
    opacity: 1;
}

section.section_03 .text_03_01.anime {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
}

section.section_03 .text_03_02 {
    -webkit-transition: 250ms all;
    transition: 250ms all;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-delay: 400ms;
    transition-delay: 400ms;
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transition-timing-function: cubic-bezier(0.56, 0.67, 0.71, 1.61);
    transition-timing-function: cubic-bezier(0.56, 0.67, 0.71, 1.61);
    opacity: 1;
}

section.section_03 .text_03_02.anime {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
}

section.section_03 .img {
    -webkit-transition: all 200ms;
    transition: all 200ms;
    -webkit-transform-origin: 10%;
    transform-origin: 10%;
    -webkit-transform: rotateZ(15deg) scale(1.5);
    transform: rotateZ(15deg) scale(1.5);
}

section.section_03 .img.anime {
    opacity: 1;
    -webkit-transform: rotateZ(0deg) scale(1);
    transform: rotateZ(0deg) scale(1);
}

section.section_03 .img_03_01a {
    -webkit-transition-delay: 1200ms;
    transition-delay: 1200ms;
}

section.section_03 .img_03_01b {
    -webkit-transition-delay: 1250ms;
    transition-delay: 1250ms;
}

section.section_03 .img_03_01c {
    -webkit-transition-delay: 1300ms;
    transition-delay: 1300ms;
}

section.section_03 .img_03_01d {
    -webkit-transition-delay: 1350ms;
    transition-delay: 1350ms;
}

section.section_03 .bgimg_03_01, section.section_03 .bgimg_03_02 {
    -webkit-transition: 400ms all;
    transition: 400ms all;
    -webkit-transform: scale(0.8) rotateZ(-30deg);
    transform: scale(0.8) rotateZ(-30deg);
    -webkit-transition-delay: 700ms;
    transition-delay: 700ms;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
    transition-timing-function: cubic-bezier(0.21, 0.93, 0.7, 1.31);
}

section.section_03 .bgimg_03_01.anime {
    -webkit-transform: scale(1) rotateZ(3deg);
    transform: scale(1) rotateZ(3deg);
}

section.section_03 .bgimg_03_02 {
    -webkit-transition-delay: 750ms;
    transition-delay: 750ms;
}

section.section_03 .bgimg_03_02.anime {
    -webkit-transform: scale(1) rotateZ(3deg);
    transform: scale(1) rotateZ(3deg);
}

section.section_04 .chara_04_01 {
    -webkit-transition: 400ms all;
    transition: 400ms all;
    opacity: 0;
}

section.section_04 .chara_04_01.anime {
    opacity: 1;
}

section.section_04 .text_04_01 img, section.section_04 .text_04_02 img {
    opacity: 0;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
}

section.section_04 .img {
    -webkit-transition: 400ms all;
    transition: 400ms all;
    -webkit-transition-delay: 600ms;
    transition-delay: 600ms;
}

section.section_04 .img.anime {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

section.section_04 .img_04_01 {
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    opacity: 1;
}

section.section_04 .img_04_02 {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-delay: 670ms;
    transition-delay: 670ms;
    opacity: 1;
}

section.section_04 .img_04_03 {
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    -webkit-transition-delay: 740ms;
    transition-delay: 740ms;
    opacity: 1;
}

section.section_04 .img_04_04 {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    -webkit-transition-delay: 810ms;
    transition-delay: 810ms;
    opacity: 1;
}

section.section_04 .chara_04_03 {
    -webkit-transition: 800ms all;
    transition: 800ms all;
    -webkit-transition-delay: 1200ms;
    transition-delay: 1200ms;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
}

section.section_04 .chara_04_03.anime {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}

section.section_04 .text_04_03 {
    -webkit-transition: 600ms all;
    transition: 600ms all;
    -webkit-transition-delay: 1200ms;
    transition-delay: 1200ms;
}

section.section_04 .text_04_03.anime {
    opacity: 1;
}

section.section_04 .text_04_04 {
    -webkit-transition: 400ms all;
    transition: 400ms all;
    -webkit-transition-delay: 600ms;
    transition-delay: 600ms;
}

section.section_04 .text_04_04.anime {
    opacity: 1;
}
