#nikkei-header,
#nikkei-footer,
#nikkei-copyright {
  position: relative;
  z-index: 12;
}

.brand_white#nikkei-header {
  padding-bottom: 3px;
  border-bottom: none;
}
.brand_white#nikkei-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-image: linear-gradient(to right, #00acea 0%, #89ba17 50%, #ffe900 100%);
}

@media screen and (min-width: 769px) {
  body {
    min-width: 1024px;
  }
}
/*@media screen and (min-width: 769px) and (max-width: 1440px) {
  .allWrap{
    overflow-x: scroll;
    position:relative;
  }
  #wrapper{
    min-width: calc(1024px + 160px);
    width: max-content;
  }
}*/
#wrapper {
  max-width: 1440px;
  margin: 0 auto;
}
#wrapper * {
  font-family: "Inter", "BIZ UDGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #333;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#wrapper .bold {
  font-weight: 600;
  color: #000;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
#wrapper img {
  display: block;
  width: 100%;
  height: auto;
}
#wrapper sup {
  display: inline-block;
  font-size: 60%;
  transform: translateY(-0.3em);
}
#wrapper br.pc {
  display: none;
}
#wrapper .top {
  position: relative;
  z-index: 10;
  margin-bottom: 20%;
  padding-top: 47vw;
}
#wrapper .top .top-bg {
  position: absolute;
  width: 100%;
  height: 140vw;
  right: 0;
  top: 0;
  overflow: hidden;
}
#wrapper .top .top-bg > div {
  position: relative;
  width: 100%;
  height: 50%;
}
#wrapper .top .top-bg > div img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  object-position: center top;
}
#wrapper .top h1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding-left: 3%;
}
#wrapper .top h1 span {
  display: block;
  height: 8vw;
  overflow: hidden;
}
#wrapper .top h1 span img {
  width: auto;
  height: 100%;
}
#wrapper .top h1 span + span {
  margin-top: 1.8%;
}
#wrapper .top .top-lead {
  position: relative;
  width: 85%;
  margin: 73vw auto 0;
  font-size: 15px;
  line-height: 2;
}
#wrapper .top.fade .top-bg > div img:nth-of-type(2) {
  opacity: 0;
  transform: translateX(-5%);
  transition: 1.5s;
}
#wrapper .top.fade .top-bg > div:nth-of-type(2) img:nth-of-type(2) {
  transform: translateX(5%);
  transition-delay: 0.8s;
}
#wrapper .top.fadein .top-bg > div img:nth-of-type(2) {
  opacity: 1;
  transform: none;
}
#wrapper .top.fadein .top-bg > div:nth-of-type(2) img:nth-of-type(2) {
  opacity: 1;
  transform: none;
}
#wrapper .timeline {
  position: relative;
  margin-bottom: 50px;
  transition: opacity 1s, filter 0.5s;
}
#wrapper .timeline .showObj {
  display: none;
}
#wrapper .timeline .timeline-side {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 10px;
  width: 50px;
  height: calc(100vh - 10px);
  padding-top: 5px;
  padding-right: 3px;
}
#wrapper .timeline .timeline-side img {
  width: 20px;
  margin: 0 auto;
}
#wrapper .timeline .timeline-side::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 100%;
  right: 0;
  top: 0;
  background: linear-gradient(to bottom, #a3d7f7 0%, #a3d7f7 10%, #004098 25%, #a3d7f7 40%, #a3d7f7 50%, #a3d7f7 60%, #004098 75%, #a3d7f7 90%, #a3d7f7 100%);
  background-size: 100% 200%;
  background-position: 0% 100%;
  background-repeat: no-repeat;
  animation: Timeline 3s linear infinite;
}
#wrapper .timeline .timeline-main {
  min-height: calc(100vh - 10px);
  margin-top: calc(10px - 100vh);
  padding: 40px 0 5px 50px;
}
#wrapper .timeline .timeline-main h2 {
  margin-bottom: 40px;
  padding: 0 15px;
}
#wrapper .timeline .timeline-main h2 > img {
  max-width: 550px;
}
#wrapper .timeline .timeline-main h2 span {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 4%;
}
#wrapper .timeline .timeline-main h2 span img {
  width: auto;
  height: 3.7vw;
  max-height: 20px;
  margin-bottom: 2%;
}
#wrapper .timeline .timeline-text {
  padding: 0 20px;
}
#wrapper .timeline .timeline-text:last-child {
  margin-bottom: 50px;
}
#wrapper .timeline .timeline-text p {
  margin-top: 2em;
  font-size: 15px;
  line-height: 1.8;
}
#wrapper .timeline .timeline-text p.note {
  margin-top: 1.5em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-text p.pc {
  display: none;
}
#wrapper .timeline .timeline-photo1 {
  margin: 50px auto;
  padding: 0 20px;
}
#wrapper .timeline .timeline-photo1 img + img {
  margin-top: 3px;
}
#wrapper .timeline .timeline-photo1 p {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo2 {
  margin: 50px auto;
  padding: 0 30px;
}
#wrapper .timeline .timeline-photo2 > div > div {
  position: relative;
}
#wrapper .timeline .timeline-photo2 > div > div img:nth-of-type(2), #wrapper .timeline .timeline-photo2 > div > div img:nth-of-type(3) {
  position: absolute;
  left: 0;
  top: 0;
}
#wrapper .timeline .timeline-photo2 > div > div.fade img:nth-of-type(2), #wrapper .timeline .timeline-photo2 > div > div.fade img:nth-of-type(3) {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(5px);
  will-change: filter;
  transition: 0.8s;
}
#wrapper .timeline .timeline-photo2 > div > div.fadein img:nth-of-type(2), #wrapper .timeline .timeline-photo2 > div > div.fadein img:nth-of-type(3) {
  opacity: 1;
  filter: none;
  transform: translateY(0px);
}
#wrapper .timeline .timeline-photo2 > div p {
  margin-top: 5px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo2 .arrow {
  display: block;
  width: 24px;
  height: 30px;
  margin: 20px auto 10px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: linear-gradient(to bottom, #2386b9 0%, #eeeeee 100%);
}
#wrapper .timeline .timeline-photo2 cite {
  display: block;
  width: 85%;
  margin: 30px auto 0;
  padding-left: 3em;
  text-indent: -3em;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo3 {
  margin: 50px auto;
  padding: 0 20px;
}
#wrapper .timeline .timeline-photo3 > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
}
#wrapper .timeline .timeline-photo3 > div > div {
  width: 40%;
  margin-bottom: 10%;
}
#wrapper .timeline .timeline-photo3 > div > div p {
  margin-top: 5px;
  text-align: center;
  font-size: 14px;
  color: #005baa;
}
#wrapper .timeline .timeline-photo3 > div > div.fade img {
  opacity: 0;
  transform: scale(0.3);
  transition: 0.8s cubic-bezier(0.16, 0.8, 0.46, 1);
}
#wrapper .timeline .timeline-photo3 > div > div.fade:nth-of-type(2) img, #wrapper .timeline .timeline-photo3 > div > div.fade:nth-of-type(4) img {
  transition-delay: 0.2s;
}
#wrapper .timeline .timeline-photo3 > div > div.fadein img {
  opacity: 1;
  transform: none;
}
#wrapper .timeline .timeline-photo3 p {
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo4 {
  margin: 50px auto;
  padding: 0 20px;
}
#wrapper .timeline .timeline-photo4 > div {
  display: flex;
  justify-content: space-between;
  width: 85%;
  margin: 0 auto;
}
#wrapper .timeline .timeline-photo4 > div > div {
  width: 45%;
}
#wrapper .timeline .timeline-photo4 > div > div > div {
  position: relative;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div.timeline-photo4-1 {
  height: 63.3%;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div.timeline-photo4-2 {
  height: 50.8%;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div > div {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div > div img {
  position: absolute;
  left: 0;
  bottom: 0;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  padding-right: 12%;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  font-size: 7vw;
  text-align: right;
  transform: translateY(-95%);
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p span {
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  font-size: 120%;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p.blue {
  color: #023f88;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p.blue span {
  color: #023f88;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p.green {
  color: #00a656;
}
#wrapper .timeline .timeline-photo4 > div > div > div > div p.green span {
  color: #00a656;
}
#wrapper .timeline .timeline-photo4 > div > div > p {
  margin-top: 15px;
  text-align: center;
  font-size: 16px;
}
#wrapper .timeline .timeline-photo4 > div > div > p.blue {
  color: #005baa;
}
#wrapper .timeline .timeline-photo4 > div > div > p.green {
  color: #00a656;
}
#wrapper .timeline .timeline-photo4 > p {
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}
#wrapper .timeline .timeline-photo4 cite {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 10px auto 0;
  padding-left: 3em;
  text-indent: -3em;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo5 {
  margin: 50px auto;
  padding: 0 10px;
}
#wrapper .timeline .timeline-photo5 > div {
  position: relative;
}
#wrapper .timeline .timeline-photo5 > div span {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
}
#wrapper .timeline .timeline-photo5 > div span img {
  width: auto;
  height: 100%;
}
#wrapper .timeline .timeline-photo5 > div img {
  position: absolute;
  left: 0;
  top: 0;
}
#wrapper .timeline .timeline-photo5 > div img:nth-of-type(1) {
  position: relative;
}
#wrapper .timeline .timeline-photo5 > p {
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}
#wrapper .timeline .timeline-photo5 cite {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 10px auto 0;
  padding-left: 3em;
  text-indent: -3em;
  font-size: 12px;
  line-height: 1.5;
}
#wrapper .timeline .timeline-photo7 {
  width: calc(100% - 40px);
  margin: 50px auto;
}
#wrapper .timeline .timeline-photo7 > div {
  padding: 15px;
  background-color: #f2f9ff;
}
#wrapper .timeline .timeline-photo7 > div h3 {
  margin-bottom: 15px;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  color: #005baa;
}
#wrapper .timeline .timeline-photo7 > div > div {
  position: relative;
}
#wrapper .timeline .timeline-photo7 > div > div img {
  position: absolute;
  left: 0;
  top: 0;
}
#wrapper .timeline .timeline-photo7 > div > div img:nth-of-type(1) {
  position: relative;
}
#wrapper .timeline .timeline-photo7 > div p {
  margin-top: 15px;
  font-size: 13px;
  line-height: 1.6;
}
#wrapper .timeline.tm-fade {
  opacity: 0;
  transition: opacity 1s;
}
#wrapper .culture {
  margin: 80px auto;
}
#wrapper .culture h2 {
  margin-bottom: 40px;
}
#wrapper .culture h2 img {
  width: auto;
  height: 5.8vw;
  margin: 0 auto;
}
#wrapper .culture > p {
  width: 85%;
  margin: 2em auto 0;
  font-size: 15px;
  line-height: 1.8;
}
#wrapper .culture > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
#wrapper .culture .culture-fig {
  position: relative;
  width: 95%;
  margin: 20px auto 0;
  overflow: hidden;
}
#wrapper .culture .culture-fig img {
  position: absolute;
  left: 0;
  top: 0;
}
#wrapper .culture .culture-fig img:nth-of-type(1) {
  position: relative;
}
#wrapper .culture .culture-caption {
  margin: -30% auto 20px;
  padding-top: 30%;
}
#wrapper .culture .culture-caption li h3 {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 600;
}
#wrapper .culture .culture-caption li h3.blue {
  color: #023f88;
}
#wrapper .culture .culture-caption li h3.green {
  color: #00a656;
}
#wrapper .culture .culture-caption li h3.yellow {
  color: #f1b100;
}
#wrapper .culture .culture-caption li p {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.5;
}
#wrapper .culture .culture-caption li + li {
  margin-top: 15px;
}
#wrapper .last {
  margin-top: 80px;
}
#wrapper .last .photo {
  width: 85%;
  margin: 50px auto;
}
#wrapper .last .photo.pc {
  display: none;
}
#wrapper .last .text {
  width: 85%;
  margin: 0 auto;
}
#wrapper .last .text p {
  margin: 2em auto 0;
  font-size: 15px;
  line-height: 1.8;
}

.copy {
  width: 100%;
  margin-top: 80px;
}
.copy > div > div > img {
  display: block;
  width: 100%;
  height: auto;
}
.copy > div > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5vw 0;
}
.copy > div > div > div img {
  display: block;
  width: auto;
  height: 12.5vw;
}

.link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 100px 0;
}
.link .logo {
  display: block;
  width: 40%;
  margin-bottom: 40px;
  transition: opacity 0.3s;
}
.link .logo img {
  display: block;
  width: 100%;
  height: auto;
}
.link .logo:active {
  opacity: 0.6;
}
.link .text {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 25px;
}
.link .text img {
  display: block;
  width: auto;
  height: 5vw;
  max-height: 25px;
}
.link .text img + img {
  margin-left: min(2vw, 10px);
  filter: grayscale(100) contrast(2);
  will-change: filter;
  transition: filter 0.3s;
}
.link .text:active img + img {
  filter: grayscale(0) contrast(1);
}

@media screen and (min-width: 769px) {
  #wrapper br.pc {
    display: inline;
  }
  #wrapper br.sp {
    display: none;
  }
  #wrapper .top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 100px;
    padding-top: 0;
    height: calc(100vh - 51px);
    min-height: 700px;
    max-height: 900px;
  }
  #wrapper .top .top-bg {
    width: calc(100% - 540px);
    height: 100%;
  }
  #wrapper .top h1 {
    padding-left: 60px;
  }
  #wrapper .top h1 span {
    height: 65px;
  }
  #wrapper .top h1 span + span {
    margin-top: 16px;
  }
  #wrapper .top .top-lead {
    width: 470px;
    margin: 55px auto 0 70px;
    font-size: 16px;
  }
  #wrapper .timeline {
    max-width: 1350px;
    margin: 0 auto 80px;
  }
  #wrapper .timeline .timeline-side {
    top: 10px;
    width: 115px;
    height: calc(100vh - 30px);
    padding-top: 5px;
    padding-right: 6px;
  }
  #wrapper .timeline .timeline-side img {
    width: 40px;
  }
  #wrapper .timeline .timeline-side::after {
    width: 6px;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 10px), 50% 100%, 0% calc(100% - 10px));
            clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 10px), 50% 100%, 0% calc(100% - 10px));
  }
  #wrapper .timeline .timeline-main {
    min-height: calc(100vh - 30px);
    margin-top: calc(30px - 100vh);
    padding: 40px 0 5px 115px;
  }
  #wrapper .timeline .timeline-main::after {
    content: "";
    display: block;
    clear: both;
  }
  #wrapper .timeline .timeline-main h2 {
    width: calc(100% - 550px);
    min-width: 540px;
    margin-bottom: 80px;
    padding: 0 0 0 45px;
  }
  #wrapper .timeline .timeline-main h2 span {
    margin-top: 15px;
  }
  #wrapper .timeline .timeline-main h2 span img {
    margin-bottom: 5px;
  }
  #wrapper .timeline .timeline-text {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: calc(53% - 61px);
    min-width: 482px;
    left: max(542px, 47% + 61px);
    top: 0;
    height: 100%;
    padding: 0 6.7%;
  }
  #wrapper .timeline .timeline-text.text1 {
    height: calc(50% - 100px);
    top: 200px;
  }
  #wrapper .timeline .timeline-text.text2 {
    height: calc(50% - 100px);
    top: auto;
    bottom: 0;
  }
  #wrapper .timeline .timeline-text.text3, #wrapper .timeline .timeline-text.text4, #wrapper .timeline .timeline-text.text5 {
    position: relative;
    display: block;
    left: 0;
    height: auto;
    width: calc(46.3% - 61px + 53px);
    min-width: 413px;
    padding-left: 0;
    float: right;
    clear: right;
  }
  #wrapper .timeline .timeline-text.text3-1 {
    padding-top: 50px;
  }
  #wrapper .timeline .timeline-text.text3-2 {
    margin-top: 2em;
  }
  #wrapper .timeline .timeline-text.text4 {
    padding-top: 50px;
  }
  #wrapper .timeline .timeline-text.text5-1 {
    padding-top: 50px;
  }
  #wrapper .timeline .timeline-text.text5-2 {
    margin-top: 2em;
  }
  #wrapper .timeline .timeline-text.text5-3 {
    margin-top: 2em;
  }
  #wrapper .timeline .timeline-text:last-child {
    margin-bottom: 0;
  }
  #wrapper .timeline .timeline-text p {
    margin-top: 2em;
    font-size: 16px;
    line-height: 2;
  }
  #wrapper .timeline .timeline-text p:first-child {
    margin-top: 0;
  }
  #wrapper .timeline .timeline-text p.note {
    margin-top: 1.5em;
    font-size: 13px;
  }
  #wrapper .timeline .timeline-text p.pc {
    display: block;
  }
  #wrapper .timeline .timeline-text.sp {
    display: none;
  }
  #wrapper .timeline .timeline-photo1 {
    width: 47.3%;
    margin: 120px auto 120px 0;
    padding: 0 0 0 45px;
  }
  #wrapper .timeline .timeline-photo1 img + img {
    margin-top: 5px;
  }
  #wrapper .timeline .timeline-photo1 p {
    margin-top: 15px;
    font-size: 14px;
  }
  #wrapper .timeline .timeline-photo2 {
    width: 46.6%;
    margin: 0 0 100px 0;
    padding: 0 0 0 30px;
    float: left;
    clear: left;
  }
  #wrapper .timeline .timeline-photo2 > div {
    width: 400px;
  }
  #wrapper .timeline .timeline-photo2 > div:nth-of-type(2) {
    margin: 0 0 0 auto;
  }
  #wrapper .timeline .timeline-photo2 > div > div {
    position: relative;
  }
  #wrapper .timeline .timeline-photo2 > div > div img:nth-of-type(2), #wrapper .timeline .timeline-photo2 > div > div img:nth-of-type(3) {
    position: absolute;
    left: 0;
    top: 0;
  }
  #wrapper .timeline .timeline-photo2 > div p {
    margin-top: 10px;
    font-size: 16px;
  }
  #wrapper .timeline .timeline-photo2 .arrow {
    width: 34px;
    height: 40px;
    margin: 20px auto 5px;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: rotate(-15deg);
  }
  #wrapper .timeline .timeline-photo2 cite {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: auto;
  }
  #wrapper .timeline .timeline-photo3 {
    width: 47.3%;
    margin: 0 0 60px 0;
    padding: 0 0 0 45px;
    float: left;
    clear: left;
  }
  #wrapper .timeline .timeline-photo3 > div > div {
    width: 40%;
    margin-bottom: 8%;
  }
  #wrapper .timeline .timeline-photo3 > div > div p {
    font-size: 18px;
  }
  #wrapper .timeline .timeline-photo3 p {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    font-size: 14px;
  }
  #wrapper .timeline .float {
    width: 47.3%;
    padding: 0 0 0 45px;
    float: left;
    clear: left;
  }
  #wrapper .timeline .timeline-photo4 {
    width: 100%;
    margin-top: 0;
  }
  #wrapper .timeline .timeline-photo4 > div {
    width: 85%;
    max-width: 450px;
  }
  #wrapper .timeline .timeline-photo4 > div > div {
    width: 45%;
  }
  #wrapper .timeline .timeline-photo4 > div > div > div > div p {
    font-size: 42px;
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fade > div.timeline-photo4-1 {
    height: 0;
    transition: height 1.2s cubic-bezier(0.15, 0.85, 0.58, 1);
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fade > div.timeline-photo4-2 {
    height: 0;
    transition: height 1.2s 0.3s cubic-bezier(0.15, 0.85, 0.58, 1);
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fade > div p {
    opacity: 0;
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fadein > div.timeline-photo4-1 {
    height: 63.3%;
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fadein > div.timeline-photo4-2 {
    height: 50.8%;
  }
  #wrapper .timeline .timeline-photo4 > div > div > div.fadein > div p {
    opacity: 1;
  }
  #wrapper .timeline .timeline-photo4 > div > div > p {
    margin-top: 20px;
    font-size: 24px;
  }
  #wrapper .timeline .timeline-photo4 > p {
    margin-top: 30px;
    font-size: 15px;
  }
  #wrapper .timeline .timeline-photo5 {
    width: 100%;
    margin: 80px 0 80px;
  }
  #wrapper .timeline .timeline-photo5 > div {
    max-width: 540px;
    margin: 0 auto;
  }
  #wrapper .timeline .timeline-photo5 > div.fade span {
    width: 0;
    transition: width 1.3s 0.4s;
  }
  #wrapper .timeline .timeline-photo5 > div.fade img:nth-of-type(2) {
    opacity: 0;
    transition: opacity 0.5s 0.8s;
  }
  #wrapper .timeline .timeline-photo5 > div.fade img:nth-of-type(3) {
    transform: scale(0.5);
    transform-origin: 8% 70%;
    opacity: 0;
    transition: opacity 0.5s, transform 0.5s cubic-bezier(0.02, 1.05, 0.37, 1.15);
  }
  #wrapper .timeline .timeline-photo5 > div.fade img:nth-of-type(4) {
    transform: scale(0.5);
    transform-origin: 92% 17%;
    opacity: 0;
    transition: opacity 0.5s 1.5s, transform 0.5s 1.5s cubic-bezier(0.02, 1.05, 0.37, 1.15);
  }
  #wrapper .timeline .timeline-photo5 > div.fadein span {
    width: 100%;
  }
  #wrapper .timeline .timeline-photo5 > div.fadein img:nth-of-type(2) {
    opacity: 1;
  }
  #wrapper .timeline .timeline-photo5 > div.fadein img:nth-of-type(3) {
    opacity: 1;
    transform: none;
  }
  #wrapper .timeline .timeline-photo5 > div.fadein img:nth-of-type(4) {
    opacity: 1;
    transform: none;
  }
  #wrapper .timeline .timeline-photo5 > p {
    margin-top: 30px;
    font-size: 15px;
  }
  #wrapper .timeline .timeline-photo7 {
    position: relative;
    display: block;
    left: 0;
    height: auto;
    width: calc(46.3% - 61px + 53px);
    min-width: 413px;
    margin: 80px 0;
    padding-right: 6.7%;
    padding-left: 0;
    float: right;
    clear: right;
  }
  #wrapper .timeline .timeline-photo7 > div {
    padding: 20px;
  }
  #wrapper .timeline .timeline-photo7 > div h3 {
    margin-bottom: 20px;
    font-size: 18px;
  }
  #wrapper .timeline .timeline-photo7 > div p {
    margin-top: 20px;
    font-size: 13px;
    line-height: 1.6;
  }
  #wrapper .culture {
    position: relative;
    margin: 0 auto 100px;
    padding-top: 60px;
  }
  #wrapper .culture::after {
    content: "";
    display: block;
    clear: both;
  }
  #wrapper .culture h2 {
    float: right;
    clear: right;
    width: calc(53% - 61px);
    margin: 60px 0 0 0;
    padding: 0 0 0 6.7%;
  }
  #wrapper .culture h2 img {
    margin: 0;
    height: min(3.5vw, 40px);
  }
  #wrapper .culture > p {
    float: right;
    clear: right;
    width: calc(53% - 61px);
    margin: 2em 0 0 0;
    padding: 0 6.7%;
    font-size: 16px;
    line-height: 2;
  }
  #wrapper .culture > div {
    float: left;
    clear: left;
    display: block;
    width: calc(47% + 61px);
    margin-top: -150px;
    padding-left: 50px;
  }
  #wrapper .culture .culture-fig {
    width: 500px;
    margin: 0 auto;
  }
  #wrapper .culture .culture-fig.fade img:nth-of-type(2) {
    opacity: 0;
    transform: translateY(60%);
    transition: 0.8s;
  }
  #wrapper .culture .culture-fig.fade img:nth-of-type(3) {
    opacity: 0;
    transform: translateY(60%);
    transition: 0.8s 0.2s;
  }
  #wrapper .culture .culture-fig.fade img:nth-of-type(4) {
    opacity: 0;
    transform: translateY(60%);
    transition: 0.8s 0.4s;
  }
  #wrapper .culture .culture-fig.fadein img:nth-of-type(2) {
    opacity: 1;
    transform: none;
  }
  #wrapper .culture .culture-fig.fadein img:nth-of-type(3) {
    opacity: 1;
    transform: none;
  }
  #wrapper .culture .culture-fig.fadein img:nth-of-type(4) {
    opacity: 1;
    transform: none;
  }
  #wrapper .culture .culture-caption {
    position: relative;
    width: 500px;
    height: 360px;
    margin: -120px auto 0;
    padding-top: 100px;
  }
  #wrapper .culture .culture-caption li {
    position: absolute;
  }
  #wrapper .culture .culture-caption li::before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 3.5px;
  }
  #wrapper .culture .culture-caption li:nth-of-type(1) {
    left: 40px;
    top: 100px;
  }
  #wrapper .culture .culture-caption li:nth-of-type(1)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 50px;
    left: 70px;
    bottom: 100%;
    background-color: #023f88;
  }
  #wrapper .culture .culture-caption li:nth-of-type(1)::before {
    left: 67px;
    bottom: 100%;
    background-color: #023f88;
  }
  #wrapper .culture .culture-caption li:nth-of-type(2) {
    left: 90px;
    top: 250px;
  }
  #wrapper .culture .culture-caption li:nth-of-type(2)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 170px;
    left: 135px;
    bottom: 100%;
    background-color: #00a656;
  }
  #wrapper .culture .culture-caption li:nth-of-type(2)::before {
    left: 132px;
    bottom: 100%;
    background-color: #00a656;
  }
  #wrapper .culture .culture-caption li:nth-of-type(3) {
    right: 0;
    top: 100px;
  }
  #wrapper .culture .culture-caption li:nth-of-type(3)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 50px;
    left: 80px;
    bottom: 100%;
    background-color: #f1b100;
  }
  #wrapper .culture .culture-caption li:nth-of-type(3)::before {
    left: 77px;
    bottom: 100%;
    background-color: #f1b100;
  }
  #wrapper .culture .culture-caption li h3 {
    font-size: 24px;
  }
  #wrapper .culture .culture-caption li p {
    font-size: 14px;
    line-height: 1.6;
  }
  #wrapper .culture .culture-caption li + li {
    margin-top: 0;
  }
  #wrapper .culture .culture-caption.fade li {
    opacity: 0;
    transform: translateY(15px);
    transition: 0.8s;
  }
  #wrapper .culture .culture-caption.fade li:nth-of-type(2) {
    transition-delay: 0.4s;
  }
  #wrapper .culture .culture-caption.fade li:nth-of-type(3) {
    transition-delay: 0.8s;
  }
  #wrapper .culture .culture-caption.fadein li {
    opacity: 1;
    transform: none;
  }
  #wrapper .last {
    position: relative;
    margin-top: 0;
    height: min(200vh + 400px, 1480px);
  }
  #wrapper .last > div {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    top: max(0px, 50vh - 270px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  #wrapper .last .photo {
    margin: 0;
  }
  #wrapper .last .photo.sp {
    display: none;
  }
  #wrapper .last .photo.pc {
    display: block;
    position: relative;
    width: 480px;
    height: min(100vh, 540px);
    margin: 0 0 0 calc(26.9% - 210px);
  }
  #wrapper .last .photo.pc img {
    position: absolute;
    width: 480px;
    height: calc(100% - 60px);
    left: 0;
    top: 30px;
    object-fit: contain;
  }
  #wrapper .last .photo.pc img:nth-of-type(2) {
    opacity: 0;
    transition: opacity 0.8s;
  }
  #wrapper .last .photo.pc img:nth-of-type(2).show {
    opacity: 1;
  }
  #wrapper .last .last-text {
    width: calc(46.3% - 61px);
    padding: 0 6.7% 0 0;
  }
  #wrapper .last .text {
    width: 100%;
  }
  #wrapper .last .text p {
    font-size: 16px;
    line-height: 2;
  }
  #wrapper .last .text p:first-child {
    margin-top: 0;
  }
  .copy {
    position: relative;
    height: calc(33.2vw + 500px);
    min-height: 876px;
    max-height: 971px;
    margin-top: 200px;
  }
  .copy > div {
    position: -webkit-sticky;
    position: sticky;
    top: min(50vh - 188px, 50vh - 16.6vw);
    width: 100%;
    height: 33.2vw;
    min-height: 376px;
    max-height: 471px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .copy > div > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    min-width: 1024px;
    max-width: 1280px;
    margin: 0 auto;
  }
  .copy > div > div > img {
    width: 49.7%;
  }
  .copy > div > div > img:nth-of-type(1) {
    order: 1;
  }
  .copy > div > div > img:last-child {
    order: 2;
  }
  .copy > div > div > div {
    order: 3;
    width: 100%;
    padding: 0;
  }
  .copy > div > div > div img {
    height: 7.5vw;
    min-height: 85px;
    max-height: 107px;
  }
  .link {
    box-sizing: border-box;
    height: calc(100vh - 177px);
    min-height: 600px;
    padding: 100px 0 0;
  }
  .link .logo:hover {
    opacity: 0.6;
  }
  .link .text:hover img + img {
    filter: grayscale(0) contrast(1);
  }
}
@media screen and (min-width: 769px) and (min-height: 1081px) {
  #wrapper .timeline.timeline2 .timeline-side {
    height: 1050px;
  }
  #wrapper .timeline.timeline2 .timeline-main {
    min-height: 1050px;
    margin-top: -1050px;
  }
  #wrapper .timeline.timeline3 .timeline-side {
    height: 1050px;
  }
  #wrapper .timeline.timeline3 .timeline-main {
    min-height: 1050px;
    margin-top: -1050px;
  }
}
@media screen and (min-width: 1201px) {
  #wrapper .top {
    max-height: 1050px;
  }
  #wrapper .top .top-bg {
    width: 55%;
  }
  #wrapper .timeline .showObj {
    display: block;
    position: absolute;
    right: 0;
    width: 100px;
    opacity: 0;
    pointer-events: none;
    min-height: 1px;
  }
  #wrapper .timeline .showObj.showtext1 {
    height: calc(100vh - 50% + 222px);
    bottom: calc(100% - 235px - 50vh);
  }
  #wrapper .timeline .showObj.showtext2 {
    height: calc(100vh - 50% + 222px);
    bottom: calc(50% - 50vh - 12px);
  }
  #wrapper .timeline .showObj.showtext3 {
    height: calc(100vh - 100% + 500px);
    bottom: calc(100% - 250px - 50vh);
  }
  #wrapper .timeline .showObj.showtext4 {
    height: calc(100vh - 100% + 270px);
    bottom: calc(100% - 135px - 50vh);
  }
  #wrapper .timeline .showObj.showtext5 {
    height: calc(100vh - 50% + 168px);
    bottom: calc(100% - 130px - 50vh);
  }
  #wrapper .timeline .showObj.showtext6 {
    height: calc(100vh - 50% + 168px);
    bottom: calc(50% - 50vh + 37px);
  }
  #wrapper .timeline .timeline-photo1 {
    width: calc(100% - 580px);
  }
  #wrapper .timeline .timeline-text {
    position: fixed;
    width: 580px;
    height: 100vh;
    padding: 0 80px;
    left: calc(100% - 580px);
    opacity: 0;
    will-change: opacity;
    pointer-events: none;
    transition: opacity 0.3s;
  }
  #wrapper .timeline .timeline-text.text1 {
    height: 100vh;
    top: 0;
  }
  #wrapper .timeline .timeline-text.text2 {
    height: 100vh;
    top: 0;
    bottom: auto;
  }
  #wrapper .timeline .timeline-text.text3, #wrapper .timeline .timeline-text.text4, #wrapper .timeline .timeline-text.text5 {
    position: relative;
    left: 0;
    height: auto;
    width: 500px;
    padding: 0 80px 0 0;
    opacity: 1;
  }
  #wrapper .timeline .timeline-text.text3-1 {
    padding-top: 60px;
  }
  #wrapper .timeline .timeline-text.text4 {
    padding-top: 120px;
  }
  #wrapper .timeline .timeline-text.text5-1 {
    padding-top: 80px;
  }
  #wrapper .timeline .timeline-text.show {
    opacity: 1;
  }
  #wrapper .timeline .timeline-photo2 {
    width: calc(100% - 580px);
    padding: 0 0 0 40px;
  }
  #wrapper .timeline .timeline-photo2 > div {
    width: 87%;
    max-width: 520px;
  }
  #wrapper .timeline .timeline-photo3 {
    width: calc(100% - 580px);
  }
  #wrapper .timeline .float {
    width: calc(100% - 580px);
  }
  #wrapper .timeline .timeline-photo4 > div > div > div > div p {
    font-size: min(3.5vw, 51px);
  }
  #wrapper .timeline .timeline-photo7 {
    width: 500px;
    padding-right: 80px;
  }
  #wrapper .culture h2 {
    width: calc(420px + 10%);
    padding: 0 10% 0 0;
  }
  #wrapper .culture > p {
    width: calc(420px + 10%);
    padding: 0 10% 0 0;
    font-size: 17px;
  }
  #wrapper .culture > div {
    width: calc(100% - 575px);
  }
  #wrapper .culture .culture-fig {
    width: 87%;
    max-width: 600px;
  }
  #wrapper .last {
    height: min(200vh + 400px, 86vw + 120px + 400px);
  }
  #wrapper .last > div {
    top: max(0px, 50vh - 21.5vw - 30px);
  }
  #wrapper .last .last-text {
    width: calc(420px + 10%);
    padding: 0 5%;
  }
  #wrapper .last .text p {
    font-size: 17px;
  }
  #wrapper .last .photo.pc {
    width: 43vw;
    height: min(100vh, 43vw + 60px);
    margin-left: calc(23.5% - 210px);
  }
  #wrapper .last .photo.pc img {
    width: 100%;
  }
}
@media screen and (min-width: 1481px){
  #wrapper .last .last-text{
    padding: 0 10% 0 0;
  }
}
/* side */
@media screen and (max-width: 1024px) {
  #wrapper .timeline .timeline-side{
    top:50px;
  }
}
@media screen and (min-width: 1260px) {
  #wrapper .top .top-lead {
    width: 500px;
    font-size: 17px;
  }
  #wrapper .timeline .showObj.showtext1 {
    height: calc(100vh - 50% + 245px);
    bottom: calc(100% - 250px - 50vh);
  }
  #wrapper .timeline .showObj.showtext2 {
    height: calc(100vh - 50% + 245px);
    bottom: calc(50% - 50vh - 15px);
  }
  #wrapper .timeline .timeline-text p {
    font-size: 17px;
  }
}
@media screen and (min-width: 1201px) and (max-width: 1350px){
  #wrapper .timeline .timeline-text{
    padding-left: calc(80px + 80px);
  }
}
@media screen and (min-width: 1201px) and (min-height: 1081px) {
  #wrapper .timeline .timeline-text {
    position: absolute;
    height: 100%;
    opacity: 1;
  }
  #wrapper .timeline .timeline-text.text1 {
    height: calc(50% - 100px);
    top: 200px;
  }
  #wrapper .timeline .timeline-text.text2 {
    height: calc(50% - 100px);
    top: auto;
    bottom: 0;
  }
  #wrapper .timeline .timeline-text.text5 {
    height: calc(50% - 100px);
    top: 200px;
  }
  #wrapper .timeline .timeline-photo7 {
    position: absolute;
    height: calc(50% - 100px);
    top: auto;
    bottom: 0;
    opacity: 1;
  }
}
@media screen and (min-width: 1201px) and (max-height: 560px) {
  #wrapper .timeline .timeline-text p {
    margin-top: 1.5em;
    line-height: 1.8;
  }
  #wrapper .timeline .timeline-text p:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 1201px) and (max-height: 480px) {
  #wrapper .timeline .timeline-text {
    position: absolute;
    height: 100%;
    opacity: 1;
  }
  #wrapper .timeline .timeline-text.text1 {
    height: calc(50% - 100px);
    top: 200px;
  }
  #wrapper .timeline .timeline-text.text2 {
    height: calc(50% - 100px);
    top: auto;
    bottom: 0;
  }
  #wrapper .timeline .timeline-text.text5 {
    height: calc(50% - 100px);
    top: 200px;
  }
  #wrapper .timeline .timeline-photo7 {
    position: absolute;
    height: calc(50% - 100px);
    top: auto;
    bottom: 0;
    opacity: 1;
  }
}
@media screen and (min-width: 1350px) {
  #wrapper .timeline .timeline-text {
    left: calc(50% + 95px + 80px);
  }
}
@media screen and (min-width: 1422px) {
  .copy > div {
    top: max(0px, 50vh - 236px);
  }
}
@media screen and (min-width: 1441px) {
  #wrapper .last {
    height: min(200vh + 400px, 1760px);
  }
  #wrapper .last > div {
    top: max(0px, 50vh - 340px);
  }
  #wrapper .last .photo.pc {
    width: 620px;
    height: min(100vh, 680px);
  }
}
@keyframes Timeline {
  0% {
    background-position: 0% 100%;
  }
  100% {
    background-position: 0% 0%;
  }
}