@charset "UTF-8";
/****************************************
contents
*****************************************/
.page {
  height: 100vh;
}

.box1 {
  width: 100vw;
  height: auto;
  min-height: 100vh;  
  background-size: cover;
  background-position: center;
  }

.hero{
	max-height: 100%;
	width: 100%;
	overflow:hidden;
}

.hero__img{
	width: 100%;
}

.sec{
	margin-bottom: 0px;height: 100vh;
}

.page-title{
	text-align: center;
height:100vh;
}

.page-title__title{
	color: #333;
	font-size: 33px;
	font-weight: 700;
	margin-bottom: 40px;
}

/*scroll_buttom*/
.demo a {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  color: #fff;
  font : normal 400 20px/1 'Josefin Sans', sans-serif;
  letter-spacing: .1em;
  text-decoration: none;
  transition: opacity .3s;
}
.demo a:hover {
  opacity: .5;
}
#section01 a {
  padding-top: 60px;
}
#section01 a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}

/****************************************
chapter01
*****************************************/
.animation-box:nth-child(odd){
	background: #eee;
}

.animation-box{
	padding: 120px;
	transition:.5s;
}

.animation-box.active{
	background: #666;
	color: #fff;
}

/****************************************
chapter02
*****************************************/
.img-container{
	overflow: hidden;
	position: relative;
}
.img-container img{width:100%;}
.img-container__img{
	display: block;
	opacity: 0;
	position: relative;
	transition:all .5s .3s ease; 
	z-index: 0;
}


.img-container:before{
	background: #333;
	content: '';
	display: block;
	width:100%;
	height:100%;
	position: absolute;
	transform: translateX(-100%);
	transition:all .8s 0s ease; 
	z-index: 1;		
}

.text-container{
	padding:0 2%;
}

.text-container__title{
	color: #333;
	display: inline-block;
	font-size: 60px;
	font-weight: 700;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.text-container__title:before{
	background: #333;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transform: translateX(-100%);
	transition:all .8s .3s ease; 
	width: 100%;
	z-index: 1;		
}

.text-container__title__inner{
	display: inline-block;
	opacity: 0;
	transition: all .8s .5s ease;
}

.text-container__text{
	left: -50px;
	opacity: 0;
	position: relative;
	transition: all .5s .5s ease;
}

/*アニメーションするプロパティを設定します*/
.img-container.active img{
	opacity: 1;
}

.img-container.active:before{
	transform: translateX(100%);	
}

.text-container.active .text-container__title:before{
	transform: translateX(100%);
}

.text-container.active .text-container__title__inner{
	opacity: 1;
}

.text-container.active .text-container__text{
	left: 0;
	opacity: 1;
}

/*戻るボタン*/
.history_back_field{width:100%;display:flex;justify-content:center;margin-top:5%;padding:0;}
.history_back_btn{padding:1% 2%;}
/****************************************
mobile max-width:480px
*****************************************/
@media screen and (max-width:480px) {
.page-title__title{font-size: 20px;font-weight: 700;}
.text-container{padding:0;}
.text-container__title{font-size: 24px;}
.sec{margin-bottom: 2%;}
.demo a {margin-left:-8%;}
}
