@charset "utf-8";

.txt-link{
  color: #1c3a83;
  text-decoration: underline;
}
/*
.txt-link-2{
  color: #3eaf3e;
  text-decoration: underline;
}
*/
#contents{
  width: 100%;
  position: relative;
}
#contents figure img{
  width: 100%;
}
.mv{
  width: 100%;
  background: #ffffff;
}
.mv-title{
  width: 679px;
  margin: 0 auto;
  padding: 44px 0 54px;
}
.mv-title img{
  width: 100%;
}


.contents-detail{
  padding-bottom: 30px;
}

.chronological-table{
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.1s ease 0.1s ease;
  transition: opacity 0.1s ease, transform 0.1s ease, visibility 0.1s ease;
  position: fixed;
  top: 83px;
  left: 0;
  z-index: 10;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  width: 130px;
  opacity: 0;
  visibility: hidden;
}
.chronological-table.active {
  -webkit-transform: translateY(0);
      transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.chronological-table > div {
  width: 60px;
  border-top: 1px solid #1e1a33;
}

.chronological-table p a{
  font-size: 16px;
  font-weight: bold;
  color: #1e1a33;
  display: block;
  border-bottom: 1px solid #1e1a33;
  text-align: center;
  text-decoration: none;
}

/*

modal

------------------------------------------------------------------*/
.modal-bg{
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 109;
  opacity: 0;
  visibility: hidden;
  background: rgba(0,0,0,0.8);
}
.modal-bg + .modal-bg{
  position: absolute;
  background: none;
  z-index: 110;
  height: auto;
}
.modal-bg.active {
  opacity: 1;
  visibility: visible;
}
.modal-element{
  display: none;
  width: 472px;
  background: #ffffff;
  padding: 60px 40px 40px;
  -webkit-box-sizing: border-box;
      box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -236px;
}

.modal-mov-element{
  display: none;
  width: 930px;
  height: 540px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -465px;
}

#mov-player {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#mov-player iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.modal-mov-element .btn-modal-close {
  top: -40px;
  right: 0;
}
.btn-modal-close{
  position: absolute;
  width: 20px;
  top: 20px;
  right: 20px;
  margin: 0 0 0 0;
}
.btn-modal-close a{
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  display: block;
}
.btn-modal-close a:hover {
  -webkit-transform: scale(1.2);
      transform: scale(1.2);
}
.btn-modal-close img{
  width: 100%;
}
.modal-txt{
  font-size: 15px;
  color: #000000;
}

.modal-txt a{
  color: #1c3a83;
  /* text-decoration: none; */
}
.modal-element .box {
  display: none;
}
/*

mv

------------------------------------------------------------------*/
.contents-mv-title-1{
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 0 0;
}
.contents-mv-title-2{
  font-size: 16px;
  text-align: center;
  line-height: 1.8;
  margin: 5px 0 0 0;
}
.mv-fukidashi{
  width: 142px;
  margin: 0 auto 5px;
}
.mv-fukidashi img{
  width: 100%;
}
.contents-mv{
  position: relative;
}
.contents-mv-title{
  width: 462px;
  position: absolute;
  top: 132px;
  left: 50%;
  margin-left: -231px;
  background: rgba(255,255,255,0.8);
  z-index: 2;
  padding: 20px 0;
}
.mvbg{
  width: 829px;
  margin: 128px auto 0;
  position: relative;
}
.mvbg img{
  width: 100%;
}
.mvbg span img{
  width: 46px;
}
.obi{
  position: absolute;
  top: -2px;
  left: 50%;
  margin-left: -23px;
}

.balloon-txt {
  position: relative;
  z-index: 11;
  left: 409px !important;
  right: auto !important;
}
.balloon-txt p {
  font-size: 28px;
  height: 66px;
  font-weight: bold;
  background: #1e1a33;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  border-radius: 10px;
  display: table;
  table-layout:fixed;
  padding: 7px 18px 7px 24px;
  transition: .2s ease-out;
  -webkit-transition: .2s ease-out;
}
.balloon-txt p:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -9px;
  margin-top: -5px;
  background: url(/store/techo/ja/2022/pc/about/img/history/fukidashi_left.svg) no-repeat center center;
  background-size: 10px;
  width: 10px;
  height: 10px;
}
.balloon-txt p span:nth-child(1) {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.36;
  white-space: nowrap;
}
.btn-detail {
  position: absolute;
  bottom: -43px;
  right: 0;
}
.btn-detail a {
  display: inline-block;
  width: 128.5px;
}
.btn-detail a img {
  width: 100%;
  height: auto;
}
.history-section{
  width: 800px;
  height: calc(16488px + 1690px);
  margin: 333px auto 0;
  background: url(/store/techo/ja/2022/pc/about/img/history/obi_2.svg) repeat-y center center;
  background-size: 46px;
  position: relative;
}
.history-section:after{
  content: "";
  display: block;
  background: url(/store/techo/ja/2022/pc/about/img/history/obi-bottom.png) no-repeat center center;
  background-size: 60px;
  width: 60px;
  height: 58px;
  position: absolute;
  bottom: -30px;
  left: calc(50% + 1px);
  margin-left: -31px;
}
.caption{
  font-size: 15px;
  color: #1e1933;
  background: rgba(255,255,255,0.8);
  padding: 10px;
}
.period-list{
  width: 300px;
  margin: 0 0 0 0;
  overflow: hidden;
}
.period-list dt{
  font-size: 15px;
  font-weight: bold;
  color: #1e1933;
  float: left;
  margin: 0 0 0 0;
}
.period-list dd{
  font-size: 15px;
  color: #1e1933;
  margin: 0 0 0 0;
}
.thumb-circle{
  border-radius: 100%;
  display: block;
  margin: 0 0 5px 0;
  -webkit-box-sizing: border-box;
      box-sizing: border-box;
}
.history-section.color-2022 .thumb-circle,
.history-section.color-2022 .thumb-square{
  border: 10px solid #f18e8e;
}
.thumb-square{
  border-radius: 10px;
  display: block;
  margin: 0 0 5px 0;
  -webkit-box-sizing: border-box;
      box-sizing: border-box;
}
.marking{
  background: #ffdede;
}

/*

2002

---------------------------------------------------------------------- */
.period-element-2002{
  position: absolute;
  top: -259px;
  left: 80px;
}
.period-2002{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2002 {
  position: absolute;
  top: -256px;
  /* right: 60px; */
}
.box-2002-1{
  position: absolute;
  top: 32px;
  left: 72px;
  width: 365px;
  margin: 0 0 0 0;
}
.box-2002-1 .caption{
  width: 70%;
  margin: 0 0 0 50px;
}
.box-2002-2{
  position: absolute;
  top: -120px;
  right: -105px;
  width: 476px;
  margin: 0 0 0 0;
}
.box-2002-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
  text-align: center;
}

/*

2003

---------------------------------------------------------------------- */
.period-element-2003{
  position: absolute;
  top: 606px;
  left: 79px;
}
.period-2003{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2003{
  position: absolute;
  top: 620px;
  /* right: 28px; */
}
.box-2003-1{
  position: absolute;
  top: 866px;
  left: 69px;
  width: 399px;
  margin: 0 0 0 0;
}
.box-2003-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2003-2{
  position: absolute;
  top: 760px;
  right: -35px;
  width: 327px;
  margin: 0 0 0 0;
}
.box-2003-2 .caption{
  width: 100%;
  margin: 0 auto;
  background: none;
}
.img_2003_2{
  width: 327px;
}
.img_2003_3{
  position: absolute;
  top: 56px;
  right: -20px;
  z-index: 2;
  width:235px!important;
}

/*

2004

---------------------------------------------------------------------- */
.period-element-2004{
  position: absolute;
  top: 1431px;
  left: 70px;
}
.period-2004{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2004{
  position: absolute;
  top: 1447px;
  /* right: -25px; */
}
.box-2004-1{
  width: 366px;
  position: absolute;
  top: 1717px;
  left: 80px;
  margin: 0 0 0 0;
}
.box-2004-1 .caption{
  width: 70%;
  margin: 0 auto;
}
.box-2004-2{
  position: absolute;
  top: 1576px;
  right: -74px;
  width: 400px;
  margin: 0 0 0 0;
}
.box-2004-2 .thumb-square{
  width: 100%;
}
.box-2004-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2005

---------------------------------------------------------------------- */
.period-element-2005{
  position: absolute;
  top: 2280px;
  left: 70px;
}
.period-2005{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2005{
  position: absolute;
  top: 2286px;
  /* right: 115px; */
}
.box-2005-1{
  position: absolute;
  top: 2570px;
  left: 77px;
  width: 382px;
  margin: 0 0 0 0;
}
.box-2005-1 .caption{
  width: 80%;
  margin: 0 auto;
}
.box-2005-2{
  width: 403px;
  position: absolute;
  top: 2450px;
  right: -90px;
  margin: 0 0 0 0;
}
.box-2005-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}


/*

2006

---------------------------------------------------------------------- */
.period-element-2006{
  position: absolute;
  top: 3081px;
  left: 77px;
}
.period-2006{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2006{
  position: absolute;
  top: 3119px;
  right: -35px;
}
.box-2006-1{
  position: absolute;
  top: 3422px;
  left: 80px;
  width: 436px;
  margin: 0 0 0 0;
}
.box-2006-1 .caption{
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.box-2006-2{
  position: absolute;
  top: 3240px;
  right: -90px;
  width: 347px;
  margin: 0 0 0 0;
}
.box-2006-3{
  position: absolute;
  top: 3732px;
  right: 219px;
  width: 366px;
  margin: 0 0 0 0;
}
.box-2006-2 .caption{
  width: 100%;
  margin: 0 auto;
  background: none;
}


/*

2007

---------------------------------------------------------------------- */
.period-element-2007{
  position: absolute;
  top: 4281px;
  left: 70px;
}
.period-2007{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2007{
  position: absolute;
  top: 4279px;
  right: 25px;
}
.box-2007-1{
  position: absolute;
  top: 4602px;
  left: 79px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2007-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2007-2{
  position: absolute;
  top: 4430px;
  right: -7px;
  width: 358px;
  margin: 0 0 0 0;
}
.box-2007-3{
  position: absolute;
  top: 3808px;
  right: 289px;
  width: 387px;
  margin: 0 0 0 0;
}
.box-2007-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2008

---------------------------------------------------------------------- */
.period-element-2008{
  position: absolute;
  top: 5121px;
  left: 70px;
}
.period-2008{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2008{
  position: absolute;
  top: 5139px;
  right: 81px;
}
.box-2008-1{
  position: absolute;
  top: 5552px;
  left: 80px;
  width: 366px;
  margin: 0 0 0 0;
}
.box-2008-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2008-2{
  position: absolute;
  top: 5300px;
  right: -77px;
  width: 436px;
  margin: 0 0 0 0;
}
.box-2008-3{
  position: absolute;
  top: 5790px;
  right: 9px;
  width: 290px;
  margin: 0 0 0 0;
}
.box-2008-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2009

---------------------------------------------------------------------- */
.period-element-2009{
  position: absolute;
  top: 6301px;
  left: 77px;
}
.period-2009{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2009{
  position: absolute;
  top: 6292px;
  right: 6px;
}
.box-2009-1{
  position: absolute;
  top: 6622px;
  left: 79px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2009-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2009-2{
  position: absolute;
  top: 6467px;
  right: 44px;
  width: 286px;
  margin: 0 0 0 0;
}
.box-2009-3{
  position: absolute;
  top: 6900px;
  right: 79px;
  width: 290px;
  margin: 0 0 0 0;
}
.box-2009-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2010

---------------------------------------------------------------------- */
.period-element-2010{
  position: absolute;
  top: 7211px;
  left: 70px;
}
.period-2010{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2010{
  position: absolute;
  top: 7215px;
  right: -53px;
}
.box-2010-1{
  position: absolute;
  top: 7522px;
  left: 68px;
  width: 368px;
  margin: 0 0 0 0;
}
.box-2010-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2010-2{
  position: absolute;
  top: 7370px;
  right: 13px;
  width: 330px;
  margin: 0 0 0 0;
}
.box-2010-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2011

---------------------------------------------------------------------- */
.period-element-2011{
  position: absolute;
  top: 7931px;
  left: 77px;
}
.period-2011{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2011{
  position: absolute;
  top: 7933px;
  right: 55px;
}
.box-2011-1{
  position: absolute;
  top: 8262px;
  left: 80px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2011-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2011-2{
  position: absolute;
  top: 8070px;
  right: 54px;
  width: 287px;
  margin: 0 0 0 0;
}
.box-2011-2 img{
  width: 100%;
}
.box-2011-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}


/*

2012

---------------------------------------------------------------------- */
.period-element-2012{
  position: absolute;
  top: 8731px;
  left: 77px;
}
.period-2012{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2012{
  position: absolute;
  top: 8735px;
  right: 58px;
}
.box-2012-1{
  position: absolute;
  top: 9072px;
  left: 70px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2012-1 img{
  width: 100%;
}
.box-2012-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2012-2{
  position: absolute;
  top: 8880px;
  right: 26px;
  width: 366px;
  margin: 0 0 0 0;
}
.box-2012-2 img{
  width: 100%;
}
.box-2012-2 .caption{
  width: 96%;
  margin: 0 0 0 40px;
  background: none;
}


/*

2013

---------------------------------------------------------------------- */
.period-element-2013{
  position: absolute;
  top: 9531px;
  left: 77px;
}
.period-2013{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2013{
  position: absolute;
  top: 9540px;
  right: 145px;
}
.box-2013-1{
  position: absolute;
  top: 9862px;
  left: 85px;
  width: 280px;
  margin: 0 0 0 0;
}
.box-2013-1 .caption{
  width: 90%;
  margin: 0 auto;
}
.box-2013-2{
  position: absolute;
  top: 9700px;
  right: 31px;
  width: 366px;
  margin: 0 0 0 0;
}
.box-2013-2 .caption{
  width: 80%;
  margin: 0 auto;
  background: none;
}


/*

2014

---------------------------------------------------------------------- */
.period-element-2014{
    position: absolute;
  top: 10391px;
  left: 79px;
}
.period-2014{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2014{
    position: absolute;
  top: 10391px;
  right: 56px;
}
.box-2014-1{
  position: absolute;
  top: 10720px;
  left: 70px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2014-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2014-2{
  position: absolute;
  top: 10550px;
  right: 33px;
  width: 277px;
  margin: 0 0 0 0;
}
.box-2014-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}
.box-2014-3{
  position: absolute;
  top: 11000px;
  right: -67px;
  width: 431px;
  margin: 0 0 0 0;
  z-index: 11;
}

/*

2015

---------------------------------------------------------------------- */
.period-element-2015{
  position: absolute;
  top: 11461px;
  left: 77px;
}
.period-2015{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2015{
  position: absolute;
  top: 11467px;
  right: 80px;
}
.box-2015-1{
  position: absolute;
  top: 11832px;
  left: 74px;
  width: 334px;
  margin: 0 0 0 0;
}
.box-2015-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2015-2{
  position: absolute;
  top: 11632px;
  right: -70px;
  width: 436px;
  margin: 0 0 0 0;
}
.box-2015-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}
.box-2015-3{
  position: absolute;
  top: 12650px;
  right: 113px;
  width: 290px;
  margin: 0 0 0 0;
}

/*

2016

---------------------------------------------------------------------- */
.period-element-2016{
  position: absolute;
  top: 12271px;
  left: 76px;
}
.period-2016{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2016{
  position: absolute;
  top: 12321px;
  right: 99px;
}
.box-2016-1{
  position: absolute;
  top: 12612px;
  left: 79px;
  width: 436px;
  margin: 0 0 0 0;
  z-index: 11;
}
.box-2016-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2016-2{
  position: absolute;
  /* top: 12430px; */
  top: 12454px;
  right: -27px;
  width: 277px;
  margin: 0 0 0 0;
}
.box-2016-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}


/*

2017

---------------------------------------------------------------------- */
.period-element-2017{
  position: absolute;
  top: 13061px;
  left: 70px;
}
.period-2017{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2017{
  position: absolute;
  top: 13086px;
  right: -25px;
}
.box-2017-1{
  position: absolute;
  top: 13372px;
  left: 74px;
  width: 355px;
  margin: 0 0 0 0;
}
.box-2017-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2017-2{
  position: absolute;
  top: 13210px;
  right: -57px;
  width: 424px;
  margin: 0 0 0 0;
}
.box-2017-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2018

---------------------------------------------------------------------- */
.period-element-2018{
  position: absolute;
  top: 13931px;
  left: 70px;
}
.period-2018{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2018{
  position: absolute;
  top: 13978px;
  right: 5px;
}
.box-2018-1{
  position: absolute;
  top: 14271px;
  left: 70px;
  width: 436px;
  margin: 0 0 0 0;
}
.box-2018-1 .caption{
  width: 100%;
  margin: 0 auto;
}
.box-2018-2{
  position: absolute;
  top: 14100px;
  right: 3px;
  width: 280px;
  margin: 0 0 0 0;
}
.box-2018-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2019

---------------------------------------------------------------------- */
.period-element-2019{
  position: absolute;
  top: 14763px;
  left: 70px;
}
.period-2019{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2019{
  position: absolute;
  top: 14772px;
  right: -55px;
}
.box-2019-1{
  position: absolute;
  top: 15054px;
  left: 76px;
  width: 377px;
  margin: 0 0 0 0;
}
.box-2019-1 .caption{
  width: 80%;
  margin: 0 auto;
}
.box-2019-2{
  position: absolute;
  top: 14920px;
  right: -63px;
  width: 392px;
  margin: 0 0 0 0;
  z-index: 2;
}
.box-2019-2 .caption{
  width: 90%;
  margin: 0 auto;
  background: none;
}

/*

2020

---------------------------------------------------------------------- */
.period-element-2020{
  position: absolute;
  top: 15676px;
  left: 70px;
}
.period-2020{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2020{
  position: absolute;
  top: 15686px;
  right: -55px;
}
.box-2020-1{
  position: absolute;
  top: 15925px;
  left: 54px;
  width: 365px;
  margin: 0;
}
.box-2020-1 .caption{
  width: 93%;
  margin: 0 auto;
}
.box-2020-2{
  position: absolute;
  top: 15844px;
  left: 423px;
  width: 450px;
  margin: 0;
  z-index: 2;
}
.box-2020-2 .caption{
  width: 83%;
  margin: 0 auto;
  background: none;
}

/*

2021

---------------------------------------------------------------------- */
.period-element-2021{
  position: absolute;
  top: 16576px;
  left: 70px;
}
.period-2021{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2021{
  position: absolute;
  top: 16586px;
  right: -55px;
}
.box-2021-1{
  position: absolute;
  top: 16841px;
  left: 70px;
  width: 362px;
  margin: 0;
}
.box-2021-1 .caption{
  width: 95%;
  margin: 0 auto;
}
.box-2021-2{
  position: absolute;
  top: 16750px;
  left: 455px;
  width: 362px;
  margin: 0;
  z-index: 2;
}
.box-2021-2 .caption{
  width: 85%;
  margin: 0 auto;
  background: none;
}

/*

2022

---------------------------------------------------------------------- */
.period-element-2022{
  position: absolute;
  top: 17390px;
  left: 70px;
}
.period-2022{
  width: 300px;
  margin: 0 0 5px 0;
}
.balloon-txt.txt-2022{
  position: absolute;
  top: 17400px;
  right: -55px;
}
.box-2022-1{
  position: absolute;
  top: 17675px;
  left: 70px;
  width: 362px;
  margin: 0;
}
.box-2022-1 .caption{
  width: 95%;
  margin: 0 auto;
}
.box-2022-2{
  position: absolute;
  top: 17565px;
  left: 455px;
  width: 362px;
  margin: 0;
  z-index: 2;
}
.box-2022-2 .caption{
  width: 85%;
  margin: 0 auto;
  background: none;
}


.btn_mov a {
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.btn_mov a:hover {
  opacity: 0.8;
}


/* keyframes */
@keyframes anime1 {
  from { transform: translateY(0); }
  to  { transform: translateY(-604px); }
}
@keyframes anime2 {
  from { transform: translateY(0); }
  to  { transform: translateY(-960px); }
}
@keyframes anime3 {
  from { transform: translateY(0); }
  to  { transform: translateY(-700px); }
}
@keyframes anime4 {
  from { transform: translateY(0); }
  to  { transform: translateY(-513px); }
}
@keyframes anime5 {
  from { transform: translateY(0); }
  to  { transform: translateY(-435px); }
}
@keyframes anime6 {
  from { transform: translateY(0); }
  to  { transform: translateY(-612px); }
}
/*@keyframes anime7 {
  from { transform: translateY(0); }
  to  { transform: translateY(-459px); }
}*/
@keyframes anime8 {
  from { transform: translateY(0); }
  to  { transform: translateY(-486px); }
}
@keyframes anime9 {
  from { transform: translateY(0); }
  to  { transform: translateY(-420px); }
}


@keyframes anime1_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-453px); }
}
@keyframes anime2_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-720px); }
}
@keyframes anime3_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-525px); }
}
@keyframes anime4_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-342px); }
}
@keyframes anime5_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-290px); }
}
@keyframes anime6_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-459px); }
}
/*@keyframes anime7_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-306px); }
}*/
@keyframes anime7_noloop {
  from { transform: translateX(250px); }
  to  { transform: translateX(0px); }
}
/*@keyframes anime8_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-324px); }
}*/
@keyframes anime8_noloop {
  from { transform: translateX(245px); }
  to  { transform: translateX(0px); }
}
@keyframes anime9_noloop {
  from { transform: translateY(0); }
  to  { transform: translateY(-315px); }
}



.chara {
  transform: translateY(20px);
  transition: all 0.4s ease;
  opacity: 0;
  overflow: hidden;
  position: relative;
  position: absolute;
}
.chara.action {
  transform: translateY(0);
  opacity: 1;
}
.chara span {
  display: block;
  background-size: 100%, 100%;
  background-position: 0 0;
  background-repeat:repeat-y;
  /* animation-duration: 2s; */
  animation-delay: .5s;
  animation-iteration-count: infinite;
  animation-direction:alternate;
  position: absolute; top: 0; left: 0;
  width: 100%;
}
.chara.noloop span {
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}


/* *********** anima1 ************** */
.chara.anime1 {
  width: 189px; height: 151px;
  top: 580px;
  left: 520px;
}
.chara.anime1 span {
  animation-timing-function: steps(4);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime1/spritesheet.png);
  height: 400%;
}
.chara.anime1.noloop span {
  animation-timing-function: steps(3);
}
.chara.anime1.action span {
  animation-name: anime1;
}
.chara.anime1.noloop.action span {
  animation-name: anime1_noloop;
}

/* *********** anima2 ************** */
.chara.anime2 {
  width: 258px; height: 240px;
  top: 550px;
  left: 460px;
}
.chara.anime2 span {
  animation-timing-function: steps(4);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime2/spritesheet.png);
  height: 400%;
}
.chara.anime2.noloop span {
  animation-timing-function: steps(3);
}
.chara.anime2.action span {
  animation-name: anime2;
}
.chara.anime2.noloop.action span {
  animation-name: anime2_noloop;
}

/* *********** anima3 ************** */
.chara.anime3 {
  width: 187px; height: 175px;
  top: 720px;
  left: 570px;
}
.chara.anime3 span {
  animation-timing-function: steps(4);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime3/spritesheet.png);
  height: 400%;
}
.chara.anime3.noloop span {
  animation-timing-function: steps(3);
}
.chara.anime3.action span {
  animation-name: anime3;
}
.chara.anime3.noloop.action span {
  animation-name: anime3_noloop;
}

/* *********** anima4 ************** */
.chara.anime4 {
  width: 191px; height: 171px;
  top: 720px;
  left: 450px;
}
.chara.anime4 span {
  animation-timing-function: steps(3);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime4/spritesheet.png);
  height: 300%;
}
.chara.anime4.noloop span {
  animation-timing-function: steps(2);
}
.chara.anime4.action span {
  animation-name: anime4;
}
.chara.anime4.noloop.action span {
  animation-name: anime4_noloop;
}

/* *********** anima5 ************** */
.chara.anime5 {
  width: 223px; height: 145px;
  top: -100px;
  left: 570px;
}
.chara.anime5 span {
  animation-timing-function: steps(3);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime5/spritesheet.png);
  height: 300%;
}
.chara.anime5.noloop span {
  animation-timing-function: steps(2);
}
.chara.anime5.action span {
  animation-name: anime5;
}
.chara.anime5.noloop.action span {
  animation-name: anime5_noloop;
}

/* *********** anima6 ************** */
.chara.anime6 {
  width: 191px; height: 153px;
  top: 760px;
  left: 50px;
}
.chara.anime6 span {
  animation-timing-function: steps(4);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime6/spritesheet.png);
  height: 400%;
}
.chara.anime6.noloop span {
  animation-timing-function: steps(3);
}
.chara.anime6.action span {
  animation-name: anime6;
}
.chara.anime6.noloop.action span {
  animation-name: anime6_noloop;
}

/* *********** anima7 ************** */
.chara.anime7 {
  width: 436px;
  height: 153px;
  top: 600px;
  left: 370px;
}
/*.chara.anime7 span {
  animation-timing-function: steps(3);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime7/spritesheet.png);
  height: 300%;
}*/
.chara.anime7 span {
  /*animation-timing-function: steps(3);*/
  transform: translateX(250px);
  -webkit-transform: translateX(250px);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime7/anime7.png);
  width: 187px;
  height: 152.5px;
  transition: all 0.4s ease-out;
  -webkit-transition: all 0.4s ease-out;
}
/*.chara.anime7.noloop span {
  animation-timing-function: steps(2);
}*/
.chara.anime7.action span {
  animation-name: anime7;
}
.chara.anime7.noloop.action span {
  animation-name: anime7_noloop;
}

/* *********** anima8 ************** */
.chara.anime8 {
  width: 455px;
  height: 162px;
  top: 656px;
  left: 370px;
}
.chara.anime8 span {
  /*animation-timing-function: steps(3);*/
  transform: translateX(250px);
  -webkit-transform: translateX(250px);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime8/anime8.png);
  width: 194px;
  height: 161.5px;
  transition: all 0.4s ease-out;
  -webkit-transition: all 0.4s ease-out;
}
/*.chara.anime8.noloop span {
  animation-timing-function: steps(2);
}*/
.chara.anime8.action span {
  animation-name: anime8;
}
.chara.anime8.noloop.action span {
  animation-name: anime8_noloop;
}

/* *********** anima9 ************** */
.chara.anime9 {
  width: 195px; height: 105px;
  left: 50%;
  top: -97px;
  margin-left: -92px;
  z-index: 10;
}
.chara.anime9 span {
  animation-timing-function: steps(4);
  background-image: url(/store/techo/ja/2022/pc/about/img/history/anime9/spritesheet.png);
  height: 400%;
}
.chara.anime9.noloop span {
  animation-timing-function: steps(3);
}
.chara.anime9.action span {
  animation-name: anime9;
}
.chara.anime9.noloop.action span {
  animation-name: anime9_noloop;
}

#contents .tab {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  border-bottom: 3px solid #1e1933;
}
#contents .tab a {
  width: 360px;
  height: 68px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: #1e1a33;
  border: 1px #787585 solid;
  border-bottom: none;
  text-decoration: none;
  text-align: center;
  border-radius: 10px 10px 0 0;
}
#contents .tab a + a {
  margin-left: 60px;
}
#contents .tab a.current {
  border-color: #1e1a33;
  background: #1e1a33;
  color: #fff;
  pointer-events: none;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
#contents .tab a.current:before {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  background: #fff;
  color: #1e1a33;
}
#contents .tab a:before {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
  text-align: center;
  background: #1e1a33;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  margin-right: 24px;
}
#contents .tab a span {
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: bold;
}
#contents .btn-wrap {
  width: 230px;
  margin: 0 auto;
  overflow: hidden;
  padding: 98px 0 64px;
  position: relative;
  z-index: 11;
}
#contents .btn-wrap a {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  text-decoration: none;
  padding: 9px 0;
  height: auto;
  min-height: 40px;
}
#contents .btn-wrap a:before {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  color: #1e1a33;
  text-align: center;
  font-size: 15px;
  line-height: 1;
  right: 8px;
}
#contents .btn-wrap a span {
  font-size: 14px;
  line-height: 1.5;
}