@charset "UTF-8";
/* CSS Document */

#mobile_header{
    display: none;}
.header {
background: #000!important;
z-index: 10;
}

.content{
	letter-spacing : 0.1em;
display: block;
margin: 0 auto;
width: 1200px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}


h1{
	position: relative;
	font-size: 1.8em;
}



.a_1{
position: relative;
	display: block;
z-index: 3;
	height: 1500px;
}

.gradation1{
position: absolute;
	display: block;
	background: linear-gradient(to bottom, #bfdeff 10%,  #fad1bd 30%, #faf8cb 90%, #fff);
z-index: 1;
	height: 1500px;
	width: 1200px;
	top: 0;
	opacity:0.8; 
}

.a_1 img:nth-child(2){
position: absolute;
width: 40%;
top: 35%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	z-index:1 
}

.a_1 img:nth-child(3){
position: absolute;
width: 60%;
top: 0;
left: 0;
z-index: -1;
}

.a_1 img:nth-child(4){
position: absolute;
width: 40%;
top: 600px;
right: 0;
z-index: -1;
}

.a_1 img:last-child{
position: absolute;
width: 10%;
bottom: 10%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	z-index:1 
}

.a_2{
	position: relative;
	height: 500px;
}

.a_2 p{
	text-align: center;
	line-height: 3em;
}

.a_2 img{
	position: absolute;
	width: 10%;
bottom: 10%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}



.a_3{
	margin-top: 200px;
	position: relative;
	height: 1200px;
	padding-bottom: 100px;
}

.a_3 h1::before{
	position: absolute;
	content:"1";
	font-size: 3em;
	top: 0;
	left: 20px;
	line-height: 0.5;
}


.a_3 img:first-of-type{
	position: absolute;
	width: 50%;
	top: 200px;
	left: 0;
}

.a_3 img:last-of-type{
	position: absolute;
	width: 50%;
	bottom: 110px;
	right: 50px;
}

.a_3 p:first-of-type{
	position: absolute;
	top: 350px;
	right: 60px;
}

.a_3 p:last-of-type{
	position: absolute;
	bottom: 250px;
	left: 120px;
}

.a_4{
	position: relative;
	height: 1330px;
}

.a_4 h1::before{
	position: absolute;
	content:"2";
	font-size: 3em;
	top: 0;
	left: 20px;
	line-height: 0.5;
}


.a_4 img:first-of-type{
	position: absolute;
	width: 50%;
	top: 200px;
	left: 100px;
}

.a_4 img:last-of-type{
	position: absolute;
	width: 50%;
	bottom: 280px;
	right: 200px;
}

.a_4 p:first-of-type{
	position: absolute;
	top: 350px;
	right: 60px;
}

.a_4 p:last-of-type{
	position: absolute;
	bottom: 200px;
	right: 210px;
}

.a_5{
	margin-top: 20px;
	position: relative;
	height: 1200px;
}

.a_5 h1::before{
	position: absolute;
	content:"3";
	font-size: 3em;
	top: 0;
	left: 20px;
	line-height: 1;
}


.a_5 img:first-of-type{
	position: absolute;
	width: 50%;
	top: 200px;
	left: 100px;
}

.a_5 img:nth-of-type(2){
	position: absolute;
	width: 150px;
	bottom: 100px;
	left: 300px;
}

.a_5 img:last-of-type{
	position: absolute;
	width: 50%;
	bottom: 100px;
	right: 80px;
}

.a_5 p:first-of-type{
	position: absolute;
	top: 380px;
	right: 150px;
}


.a_5 p:last-of-type{
	position: absolute;
	bottom: 270px;
	left: 110px;
}


.a_6{
	margin: 100px auto;
	width: 800px;
	position: relative;
	height: 800px;
	border-bottom: 5px solid #808080;
	border-top: 5px solid #808080;
}

.pink{
	position: absolute;
	width: 800px;
	height: 80px;
	border-left: 20px solid #ffd4bf;
	border-right: 20px solid #ffd4bf;
	top: 360px;
}

.a_6 p{
	font-size: 25px;
	font-weight: 100;
	letter-spacing: 2px;
	width: 200px;
	text-align: right;
}

.a_6 p:first-of-type{
	position: absolute;
top: 20%;
left: 54%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	color: #808080;
animation-name: fadein-one;
animation-duration: 0.5s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
@keyframes fadein-one {
0% {
opacity: 0;
}

	90% {
opacity: 0;
	}
	
100% {
opacity: 1;
}
}

.a_6 p:nth-of-type(2){
	position: absolute;
top: 35%;
left: 54%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	color: #808080;
animation-name: fadein-two;
animation-duration: 1.2s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
@keyframes fadein-two {
0% {
opacity: 0;
}

	90% {
opacity: 0;
	}
	
100% {
opacity: 1;
}
}

.a_6 p:nth-of-type(3){
	position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	color: #808080;
animation-name: fadein-three;
animation-duration: 1.9s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
@keyframes fadein-three {
0% {
opacity: 0;
}

	90% {
opacity: 0;
	}
	
100% {
opacity: 1;
}
}

.a_6 p:last-of-type{
	position: absolute;
top: 65%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
	color: #808080;
animation-name: fadein-four;
animation-duration: 2.6s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
@keyframes fadein-four {
0% {
opacity: 0;
}

	90% {
opacity: 0;
	}
	
100% {
opacity: 1;
}
}


.a_6_5{
	display: block;
	margin: 0 auto;
	width: 10%;
	height: 200px;
}

.a_7{
	margin-bottom: 100px;
}

.a_7 p{
	font-family: 'Noto Sans JP', sans-serif
}

h6{
	display: block;
	width: 840px;
	margin: 0 auto;
	font-size: 1em;
}

.item{
	width: 900px;
margin: 0 auto;
display: flex;
	justify-content:space-between;
display: -ms-flexbox;
flex-wrap: wrap;
-ms-flex-wrap: wrap;
vertical-align: bottom;
padding: 0;
}

.item > div{
width: 230px;
height: 350px;
padding: 0px;
margin: 25px;
display: flex;
	line-height: 1.2em;
}

.item a{
	text-decoration: none;
	color: #000;
}

.item a:hover{
	text-decoration: underline;
	color: #000;
}

.item img:hover{
opacity: 0.6;
}


h7{
	display: block;
	width: 150px;
	margin: 0 auto;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	margin-bottom: 20px;
}

a:last-child{
	text-decoration-color: #000;
}

h7:hover{
	color: #ccc;
}

a:last-child:hover{
	text-decoration-color: #ccc;
}
/*タイムライン全体の設定*/

.timeline li{
    /*線の起点とするためrelativeを設定*/
    position: relative;
  list-style: none;
  padding:0 0 20px 0;
}

.timeline dl{
  margin:0 0 20px 3em;
}

.timeline dd strong{
  display: block;
  padding:10px 0;
}

/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
  position: absolute;
  right:0.55em;
  top:0;
  width:2px;/*線の太さ*/
  height:1px;/*はじめは高さを0に*/
  background: #ccc;
}


/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::before{
  content:'▼';
  position: absolute;
  top:0;
  right:0;
color:  #ccc;
	line-height: 0;
}
/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
  content:'▲';
  position: absolute;
  bottom:0;
  right:0;
color:  #ccc;
	line-height: 0;
}





.gradation{
	height: 500px;
/*  background: -moz-linear-gradient(top, #FFF, #FFC778 30%, #F89174 60%, #748af8);
  background: -webkit-linear-gradient(top, #FFF, #FFC778 30%, #F89174 60%, #748af8);*/
  background: linear-gradient(to bottom, #FFF, #faf8cb 30%, #fad1bd 60%, #bfdeff);
	min-width: 1200px;
}

footer{
	background-color: #bfdeff;
z-index: 7;
}



/*上下線*/
.underline{
  position: absolute;
  content:"";
	width: 0;
  height:7px;
  background:#ffd4bf;/* 枠線の色*/
	
}


.u_1{
	top: 80px;
	z-index: -1;
	left: 390px;
}



.u_1.u_lineanime {
  animation: lineAnime3 1s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

@keyframes lineAnime3 {
0% {
width:0%;
}
100%{
width:310px;
}
}


.u_2{
	top: 185px;
	z-index: -1;
	left: 450px;
}

.u_2.u_lineanime {
  animation: lineAnime4 1s linear 1s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

@keyframes lineAnime4 {
0% {
width:0%;
}
100%{
width:240px;
}
}


.u_3,.u_4{
	top: 40px;
	z-index: -1;
	left: 90px;
}

.u_5{
	top: 80px;
	z-index: -1;
	left: 90px;
}

.u_3.u_lineanime,.u_4.u_lineanime,.u_5.u_lineanime {
  animation: lineAnime5 1s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

@keyframes lineAnime5 {
0% {
width:0%;
}
100%{
width:520px;
}
}
.u_4.u_lineanime {
  animation: lineAnime6 1s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

@keyframes lineAnime6 {
0% {
width:0%;
}
100%{
width:400px;
}
}
.u_5.u_lineanime {
  animation: lineAnime7 1s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

@keyframes lineAnime7 {
0% {
width:0%;
}
100%{
width:420px;
}
}

/*枠線が伸びて出現*/

.lineTrigger{
  position: relative; /* 枠線が書かれる基点*/
  opacity:0;
	width: 300px;
	height: 300px;
	margin: 0 auto;
	margin-top: 250px;
}

.lineTrigger.lineanime{
  animation-name:lineAnimeBase;
  animation-duration:2.6s;
  animation-fill-mode:forwards;
}

@keyframes lineAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*上下線*/
.lineTrigger::before,
.lineTrigger::after{
  position: absolute;
  content:"";
  width:0;
  height:4px;
  background:#808080;/* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after{
  position: absolute;
  content:"";
  width: 4px;
  height:0;
  background:#808080;/* 枠線の色*/
}

/*上線*/
.lineTrigger::before {
  top:0;
  left:0;
}

.lineTrigger.lineanime::before {
  animation: lineAnime .5s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before{ 
  top:0;
  right:0;
}

.lineTrigger.lineanime .line2::before {
  animation: lineAnime2 .5s linear .5s forwards;/*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.lineTrigger::after { 
  bottom:0;
  right:0;
}

.lineTrigger.lineanime::after {
  animation: lineAnime .5s linear 1s forwards;/*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after{ 
  bottom:0;
  left:0;
}

.lineTrigger.lineanime .line2::after {
  animation: lineAnime2 .5s linear 1.5s forwards;/*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime {
  0% {width:0%;}
    100%{width:100%;}
}

@keyframes lineAnime2 {
  0% {height:0%;}
    100%{height:100%;}
}

/*枠線内側の要素*/


.sa {
opacity: 0;
transition: all .6s ease;
}

.sa.show {
opacity: 1;
transform: none;
}
