@charset "utf-8";
section:not(#pagetitle):not(#contact){
	width:min(95%,1200px);
	/*width:100%;*/
	padding:50px 0;
	margin:0 auto;
}

#subtitle{
	text-align: center;
}

#subtitle h2{
	display: inline-block;
	font-size:3rem;
	text-align: left;
	line-height: 1.2;
}

#subtitle h2 span{
	font-size:1.4rem;
}

section#move .play-btn{
	font-size:1rem;
}

section#move .play-btn .fa-solid{
	font-size:50px;
}
/*--------------------

	レスポンシブ

--------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	#subtitle{
		padding:0;
	}
	#subtitle h2{
		margin:50px 0 0 0 ;
		font-size:2rem;
		text-align: center;
	}
}

/*--------------------

	流れ

--------------------*/

section#flow{
	width:min(95%,1000px);
}

#flow h3{
	font-family: "Noto Serif JP", serif;
  font-weight: 600;
	font-size:1.8rem;
	margin-bottom:50px;
	text-align: center;
	line-height: 1.4;
	display: flex;
	align-items: center;
	column-gap:10px
}

#flow h3 span{
	opacity: 0;
}

#flow.act h3 span{
	animation: infade 0.3s ease-in-out 0.5s 1 normal forwards;
}

#flow h3::before,
#flow h3::after{
	content:'';
	flex:1;
	height: 2px;
	display: block;
	border-top:1px solid #A58181;
	border-bottom:1px solid #A58181;
	opacity: 0;
}

#flow.act h3::before{
	animation: sright 0.3s ease-in-out 0.8s 1 normal forwards;
}

#flow.act h3::after{
	animation: sleft 0.3s ease-in-out 0.8s 1 normal forwards;
}

#flow dt{
	border-top:1px solid #C5ADAD;
	display: flex;
	align-items: center;
	padding:0 20px;
}

#flow .no{
	width:60px;
	height: 80px;
	background-color: #408CC4;
	font-weight: 700;
	font-size:14px;
	color:#fff;
	line-height: 1.2;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-bottom:10px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), 50% 100%, 0 calc(100% - 10px));
}

#flow .no strong{
	font-size:20px;
}

#flow h4{
	display: inline-block;
	font-size:1.3rem;
	margin-right:20px;
}

#flow dt .text{
	flex:1;
	margin-left:20px;
}

#flow dd{
	border-top:1px dotted #C5ADAD;
	padding:15px 0 15px 100px;
}

#flow dd:last-child{
	border-bottom:1px solid #C5ADAD;
}

#flow dd ul{
	display: flex;
	gap:15px;
}

#flow dd li{
	flex:1;
	max-width:200px;
	opacity: 0;
}

#flow dd li.act{
	animation: infade 0.3s ease-in-out 0.5s 1 normal forwards;
}


#flow dd li.move{
	flex: none;
	width:215px;
	max-width:215px;
	position: relative;
}

#flow dd li video,
#flow dd li img{
	width:100%;
	height: auto;
	border-radius: 10px;
}


#flow dd li.move .play-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	position: absolute;
	  top: calc(50% - 25px);
	  left: calc(50% - 25px);
	  /*transform: translateY(-50%) translateX(-50%);*/
	font-size:50px;
	color:rgba(255,255,255,0.77);
	line-height: 1;
	cursor: pointer;
}

#flow dd li.move .play-btn.playActive{display:none;}

/*--------------------

	レスポンシブ

--------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	#flow dd{
		width:100%;
		padding:15px 5px;
	}
	#flow dd ul{
		flex-wrap: wrap;
		gap:15px 5px;
		justify-content: center;
	}
	
	#flow dd li{
		flex:none;
		width:calc( (100% / 3) - 5px);
		max-width:calc( (100% / 3) - 5px);;
	opacity: 0;
	}
	#flow dd li.move{
		width:100%;
		max-width:100%;
		text-align: center;
	}
	
	#flow dd li video{
		width:215px;
		margin:0 auto;
	}
}

/*--------------------

	データー

--------------------*/

#deta ul{
	width:min(100%,1000px);
	display: block;
	margin:0 auto;
}

#deta li{
	width:100%;
}

#deta li:nth-last-child(-n+2){
	border-bottom:none;
}


#deta li:last-child{
	border-bottom:1px solid #A58181;
}

