.page-block {
  position: relative;
}

.page-title {
  position: absolute;
  top: 200px;
  right: 50%;
  margin-right: -520px;
  padding-right: 22px;
}

.page-title span {
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #fff;
  -webkit-transform-origin: center top;
      -ms-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
  transition: 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
}

.page-title i {
  opacity: 0;
}

.page-copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  overflow: visible;
}

.page-copy.right {
  position: absolute;
  right: 50%;
  margin-right: -414px;
}

.page-copy i {
  opacity: 0;
}

.page-section {
  position: relative;
}

.page-section:after {
  content: '';
  display: block;
  clear: both;
}

.page-chapter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.page-chapter + .page-chapter {
  margin-top: 58px;
}

.page-box {
  background-color: #fff;
  padding: 60px 0;
  position: relative;
  clear: both;
  box-sizing: border-box;
}

.page-label {
  margin-left: 45px;
}

.page-label img {
  padding: 14px 7px;
  background-color: #323558;
}

.page-image {
  position: absolute;
}

#history,
#culture {
  background: url(../images/about/bg.jpg) center center repeat;
}

#history .anime-illust .anime-illust-list,
#culture .anime-illust .anime-illust-list {
  opacity: .5;
}

.mv {
  width: 100%;
  position: relative;
  background: url(../images/about/mv/pic.jpg) center center no-repeat;
  background-size: cover;
}

.mv:before {
  content: '';
  width: 100%;
  display: block;
  height: 0;
  padding-top: 60%;
}

.mv-text01 {
  margin-bottom: 60px;
}

.mv-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
}

.mv-title span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -190px 0 0 -24px;
  background-color: #fff;
  -webkit-transition: 0.7s cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s;
  transition: 0.7s cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s;
}

.mv-title img {
  padding: 16px 4px;
  -webkit-transition: .7s linear 1.3s;
  transition: .7s linear 1.3s;
}

.history {
  padding: 240px 0 200px;
  background-color: #2c2c46;
}

.tokugawa {
  position: relative;
  z-index: 0;
}

.tokugawa-title {
  top: 0px;
  z-index: 1;
}

.tokugawa-box {
  width: 520px;
  margin-bottom: 180px;
  float: left;
  padding-right: 58px;
}

@media only screen and (min-width: 1040px) {
  .tokugawa-box {
    width: calc(520px + (100% - 1040px) / 2);
  }
}

.tokugawa-text01 {
  text-align: right;
}

.tokugawa-image01 {
  top: 690px;
  right: -40px;
}

.tokugawa-image02 {
  top: 910px;
  right: -220px;
}

.tokugawa-illust1 {
  top: -383px;
  margin-left: -622px;
}

.tokugawa-illust1 .anime-illust-list {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}

.tokugawa-illust2 {
  top: 820px;
  margin-left: 356px;
  z-index: -1;
}

.tokugawa-illust2 .anime-illust-list {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
}

.yago-title {
  position: absolute;
  top: -80px;
  left: 50%;
  margin-left: -510px;
}

.yago-label {
  position: absolute;
  top: 175px;
  left: 575px;
}

.yago-box {
  width: 780px;
  padding-left: 60px;
  float: right;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (min-width: 1040px) {
  .yago-box {
    width: calc(780px + (100% - 1040px) / 2);
  }
}

.yago-illust1 {
  top: 745px;
  margin-left: -754px;
}

.yago-illust1 .anime-illust-list {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}

.yago-title div:nth-child(2) i:nth-child(1) {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms;
}

.yago-title div:nth-child(2) i:nth-child(2) {
  -webkit-animation-delay: 600ms;
          animation-delay: 600ms;
}

.yago-title div:nth-child(2) i:nth-child(3) {
  -webkit-animation-delay: 700ms;
          animation-delay: 700ms;
}

.yago-title div:nth-child(2) i:nth-child(4) {
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms;
}

.yago-title div:nth-child(2) i:nth-child(5) {
  -webkit-animation-delay: 900ms;
          animation-delay: 900ms;
}

.yago-title div:nth-child(2) i:nth-child(6) {
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
}

.yago-title div:nth-child(2) i:nth-child(7) {
  -webkit-animation-delay: 1100ms;
          animation-delay: 1100ms;
}

.yago-title div:nth-child(2) i:nth-child(8) {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
}

.yago-title div:nth-child(2) i:nth-child(9) {
  -webkit-animation-delay: 1300ms;
          animation-delay: 1300ms;
}

.yago-title div:nth-child(2) i:nth-child(10) {
  -webkit-animation-delay: 1400ms;
          animation-delay: 1400ms;
}

.product {
  padding: 320px 0 200px;
  background-color: #f9f9f4;
}

.product-title span {
  background-color: #232539;
}

.world-title {
  top: -40px;
}

.world-copy01 {
  position: absolute;
  top: -80px;
  right: -40px;
}

.world-copy02 {
  position: absolute;
  top: 145px;
  right: 678px;
}

.world-box {
  width: 880px;
  float: left;
  padding: 60px 120px 60px 0;
}

@media only screen and (min-width: 1040px) {
  .world-box {
    width: calc(880px + (100% - 1040px) / 2);
  }
}

.world-text {
  text-align: right;
}

.world-image01 {
  top: 540px;
  right: -240px;
}

.world-image02 {
  top: 800px;
  right: -130px;
}

.world-image03 {
  top: 1010px;
  right: 680px;
}

.world-illust1 {
  top: 690px;
  margin-left: -810px;
}

.world-illust1 .anime-illust-list {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}

.world-illust2 {
  top: -250px;
  margin-left: -610px;
}

.world-illust3 {
  top: 930px;
  margin-left: 435px;
}

.world-illust3 .anime-illust-list {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}

.culture {
  z-index: 2;
  padding: 320px 0 200px;
  background-color: #2c2c46;
}

.culture-title {
  top: 200px;
}

.edo-title {
  position: absolute;
  top: 120px;
  right: 800px;
}

.edo-box {
  width: 900px;
  padding-right: 60px;
  float: left;
  text-align: right;
  background: #fff url(../images/about/culture/bg.jpg) center right 410px no-repeat;
}

@media only screen and (min-width: 1040px) {
  .edo-box {
    width: calc(900px + (100% - 1040px) / 2);
  }
}

.edo-copy {
  position: absolute;
  top: 150px;
  right: 526px;
}

.edo-image {
  top: 660px;
  right: 380px;
}

.edo-illust1 {
  top: -315px;
  margin-left: -550px;
}

.edo-illust1 .anime-illust-list {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}

.edo-illust2 {
  top: auto;
  bottom: -290px;
  margin-left: -520px;
}

.edo-illust2 .anime-illust-list {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
}

.edo-illust3 {
  top: auto;
  bottom: 145px;
  margin-left: 470px;
}

.edo-illust3 .anime-illust-list {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
}

/* 202101修正
-----------------------------------*/
.career p.inside {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 3rem;
	font-weight: 700;
	font-family: serif;
	color: #232539;
	padding: 2rem 0;
	-webkit-transition: .7s linear 1.3s;
	transition: .7s linear 1.3s;
}

p.yago-text {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	font-size: 1.9rem;
	font-family: serif;
	font-weight: 700;
	line-height: 1.9;
	text-align: justify;
}

p.yago-text span.yago-01 {
	display: block;
	width: 427px;
	height: 480px;
	padding-bottom: 5rem;
}

p.yago-text span.yago-02 {
	display: block;
	width: 427px;
	height: 480px;
	background: url(/assets/images/about/history/yago/text01-logo.png) no-repeat left 3rem bottom;
}

.history-title.page-title {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 3rem;
	font-weight: 700;
	font-style: normal;
	font-family: serif;
	color: #fff;
	line-height: 1;
}