@charset "utf-8";

@keyframes wave_left {
0% {opacity: 0;transform: translateX(-100%);}
100% {opacity: 1;transform: translateX(0%);}
}
@keyframes wave_right {
0% {opacity: 0;transform: translateX(100%);}
100% {opacity: 1;transform: translateX(0%);}
}

#titleSCT {
padding-bottom: 13.5%;
}
#titleSCT .cont {
padding: 65px 0 0 0;
text-align: center;
}
#titleSCT.activeView h1 {
animation: head 0.7s ease forwards;
}
#titleSCT h1 {
opacity: 0;
}
#titleSCT h1 img {
display: block;
margin: 0 auto;
width: 270px;
}
@media screen and (min-width: 768px) {
	#titleSCT {
	padding-bottom: 9%;
	}
	#titleSCT .cont {
	padding: 100px 0 0 0;
	text-align: center;
	}
	#titleSCT h1 img {
	width: 510px;
	}
}


#contents .set {
opacity: 0;
}
#contents .set.activeView {
animation: sct_bottom_sp 0.7s ease forwards;
}
#introductionSCT {
position: relative;
background-color: var(--color-sub3);
}
#introductionSCT .cont {
padding: 20px 0 0 0;
}
#introductionSCT::before {
content: '';
display: block;
position: absolute;
left: 0;
bottom: calc(100% - 1px);
background: url("../../common/img/lin_wave.svg") no-repeat center center;
background-size: 100% auto;
width: 100%;
padding-top: 18.0433%;
}
#introductionSCT h2 {
margin-bottom: 20px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 25px;
line-height: 1.4;
color: var(--color-sub1);
text-align: center;
}
#introductionSCT h2 span {
font-size: 18px;
}
#introductionSCT p {
margin-bottom: 30px;
text-align: center;
line-height: 2.38;
}
#introductionSCT img {
display: block;
width: 100%;
}
@media screen and (min-width: 768px) {
	#contents .set.activeView {
	animation: sct_bottom_pc 0.7s ease forwards;
	}
	#introductionSCT .cont {
	margin: 0 auto;
	padding: 0 0 0 0;
	width: 720px;
	}
	#introductionSCT h2 {
	margin-bottom: 20px;
	font-size: 42px;
	}
	#introductionSCT h2 span {
	font-size: 28px;
	}
	#introductionSCT p {
	margin-bottom: 50px;
	font-size: 16px;
	line-height: 2.28;
	}
}

#explanSCT {
position: relative;
background-color: var(--color-sub3);
padding: 60px 0 0 0;
}
#explanSCT .cont {
background-color: #fff;
border-radius: var(--radius-block);
margin: 0 20px 0 20px;
padding: 20px 20px 25px 20px;
opacity: 0;
}
#explanSCT.activeView .cont {
animation: img_bottom 0.7s ease forwards;
}
#explanSCT h2 {
margin-bottom: 19px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
line-height: 1.4;
color: var(--color-sub1);
text-align: center;
}
#explanSCT p {
margin-bottom: 20px;
line-height: 2;
}
#explanSCT img {
display: block;
width: 100%;
}
#explanSCT .images {
display: flex;
flex-direction: column;
gap: 15px;
margin-top: 15px;
}
@media screen and (min-width: 768px) {
	#explanSCT {
	padding: 95px 0 0 0;
	}
	#explanSCT .cont {
	border-radius: 30px;
	margin: 0 auto;
	padding: 50px 0 80px 0;
	width: 960px;
	}
	#explanSCT h2 {
	margin-bottom: 45px;
	font-size: 28px;
	line-height: 1.5;
	}
	#explanSCT .block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	#explanSCT .pack {
	box-sizing: border-box;
	padding-left: 80px;
	width: 480px;
	}
	#explanSCT .image {
	padding-top: 10px;
	width: 450px;
	}
	#explanSCT p {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 2.28;
	}
	#explanSCT img {
	display: block;
	width: 100%;
	}
	#explanSCT .images {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 0;
	margin-top: 40px;
	}
	#explanSCT .images img {
	display: block;
	width: 300px;
	}
}

#afterwordSCT {
position: relative;
background-color: var(--color-sub3);
padding: 60px 0 60px 0;
}
#afterwordSCT .cont {
margin: 0 20px 0 20px;
opacity: 0;
}
#afterwordSCT.activeView .cont {
animation: img_bottom 0.7s ease forwards;
}
#afterwordSCT h2 {
margin-bottom: 19px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
line-height: 1.4;
color: var(--color-sub1);
text-align: center;
}
#afterwordSCT p {
text-align: center;
line-height: 2.28;
}
@media screen and (min-width: 768px) {
	#afterwordSCT {
	position: relative;
	background-color: var(--color-sub3);
	padding: 75px 0 90px 0;
	}
	#afterwordSCT h2 {
	margin-bottom: 25px;
	font-size: 28px;
	}
	#afterwordSCT p {
	text-align: center;
	font-size: 16px;
	line-height: 2.38;
	}
}
