@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: 77px 0 0 0;
text-align: center;
}
#titleSCT.activeView h1,
#titleSCT.activeView .en {
animation: head 0.7s ease forwards;
}
#titleSCT .en {
color: var(--color-sub1);
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 48px;
letter-spacing: 0.1em;
line-height: 1.2;
opacity: 0;
}
#titleSCT h1 {
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 15px;
letter-spacing: 0.15em;
line-height: 1.2;
opacity: 0;
}
@media screen and (min-width: 768px) {
	#titleSCT {
	padding-bottom: 10%;
	}
	#titleSCT .cont {
	padding: 139px 0 0 0;
	text-align: center;
	}
	#titleSCT .en {
	font-size: 110px;
	}
	#titleSCT h1 {
	font-size: 18px;
	}
}


#contents .set {
opacity: 0;
}
#contents .set.activeView {
animation: sct_bottom_sp 0.7s ease forwards;
}
#principleSCT {
position: relative;
background-color: var(--color-sub3);
}
#principleSCT .cont {
padding: 30px 20px 0 20px;
}
#principleSCT::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%;
}
#principleSCT h2 {
margin-bottom: 2px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
letter-spacing: 0.15em;
line-height: 1.2;
color: var(--color-sub1);
text-align: center;
}
#principleSCT p {
text-align: center;
}
#principleSCT strong {
font-weight: 400;
font-family: 'BIZ UDMincho', serif;
font-size: 24px;
letter-spacing: 0.3em;
}
@media screen and (min-width: 768px) {
	#contents .set.activeView {
	animation: sct_bottom_pc 0.7s ease forwards;
	}
	#principleSCT .cont {
	padding: 30px 0 0 0;
	}
	#principleSCT h2 {
	margin-bottom: 26px;
	font-size: 28px;
	}
	#principleSCT strong {
	position: relative;
	font-size: 42px;
	}
	#principleSCT strong::before {
	transform: translateY(-50%);
	content: '';
	position: absolute;
	left: -140px;
	top: 50%;
	background-color: #000;
	width: 100px;
	height: 1px;
	}
	#principleSCT strong::after {
	transform: translateY(-50%);
	content: '';
	position: absolute;
	right: -140px;
	top: 50%;
	background-color: #000;
	width: 100px;
	height: 1px;
	}
}

#greetingSCT {
position: relative;
background-color: var(--color-sub3);
}
#greetingSCT .cont {
padding: 40px 20px 95px 20px;
}
#greetingSCT h2 {
margin-bottom: 8px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
letter-spacing: 0.15em;
line-height: 1.2;
color: var(--color-sub1);
text-align: center;
}
#greetingSCT p {
margin-bottom: 13px;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 2;
}
#greetingSCT .image img {
display: block;
max-width: 100%;
height: auto;
opacity: 0;
}
#greetingSCT .image.activeView img {
animation: img_top 0.7s ease forwards;
}
@media screen and (min-width: 768px) {
	#greetingSCT .cont {
	margin: 0 auto;
	padding: 125px 0 150px 0;
	width: 960px;
	}
	#greetingSCT h2 {
	margin-bottom: 28px;
	font-size: 28px;
	}
	#greetingSCT .block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	#greetingSCT p {
	margin-bottom: 0;
	width: 520px;
	line-height: 2.29;
	}
	#greetingSCT .image {
	padding-top: 6px;
	width: 400px;
	}
}

#originSCT {
position: relative;
z-index: 1;
background: url("../img/ori_bg_sp.jpg") no-repeat center center;
background-size: cover;
}
#originSCT::before {
content: '';
position: absolute;
left: 0;
top: -30px;
background: url("../img/ori_lin1.svg") no-repeat center center;
background-size: contain;
width: 209px;
height: 100px;
opacity: 0;
}
#originSCT.activeView::before {
animation: wave_left 0.7s ease forwards;
}
#originSCT::after {
content: '';
position: absolute;
right: 0;
bottom: -30px;
background: url("../img/ori_lin2.svg") no-repeat center center;
background-size: contain;
width: 209px;
height: 100px;
opacity: 0;
}
#originSCT.activeView::after {
animation: wave_right 0.7s ease forwards;
}
#originSCT .cont {
padding: 100px 20px 95px 20px;
}
#originSCT h2 {
margin-bottom: 23px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
letter-spacing: 0.15em;
line-height: 1.2;
color: var(--color-sub1);
text-align: center;
}
#originSCT .catch {
margin-bottom: 32px;
text-align: center;
opacity: 0;
}
#originSCT.activeView .catch {
animation: head 0.7s ease forwards;
}
#originSCT .catch strong {
font-weight: 400;
font-family: 'BIZ UDMincho', serif;
font-size: 24px;
letter-spacing: 0.3em;
line-height: 1.67;
color: #fff;
}
#originSCT .lead {
position: relative;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 2.29;
text-align: center;
color: #fff;
z-index: 2;
}
@media screen and (min-width: 768px) {
	#originSCT {
	background: url("../img/ori_bg_pc.jpg") no-repeat center center;
	background-size: cover;
	}
	#originSCT::before {
	top: -40px;
	width: 417px;
	height: 200px;
	}
	#originSCT::after {
	bottom: -40px;
	width: 417px;
	height: 200px;
	}
	#originSCT .cont {
	padding: 70px 20px 65px 20px;
	}
	#originSCT h2 {
	margin-bottom: 42px;
	font-size: 28px;
	}
	#originSCT .catch {
	margin-bottom: 32px;
	text-align: center;
	}
	#originSCT .catch strong {
	font-size: 42px;
	line-height: 1.71;
	}
}

#sdgsSCT {
position: relative;
background-color: var(--color-sub3);
}
#sdgsSCT .cont {
padding: 100px 20px 50px 20px;
}
#sdgsSCT h2 {
margin-bottom: 8px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
letter-spacing: 0.15em;
line-height: 1.2;
color: var(--color-sub1);
text-align: center;
}
#sdgsSCT p {
margin-bottom: 17px;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 2;
}
#sdgsSCT .image img {
display: block;
margin: 0 auto;
max-width: 100%;
width: 210px;
height: auto;
opacity: 0;
}
#sdgsSCT .image.activeView img {
animation: img_bottom 0.7s ease forwards;
}
@media screen and (min-width: 768px) {
	#sdgsSCT .cont {
	margin: 0 auto;
	padding: 150px 0 90px 0;
	width: 960px;
	}
	#sdgsSCT h2 {
	margin-bottom: 28px;
	font-size: 28px;
	}
	#sdgsSCT .block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	#sdgsSCT p {
	margin-bottom: 0;
	width: 710px;
	line-height: 2.29;
	}
	#sdgsSCT .image {
	padding-top: 6px;
	width: 210px;
	}
	#sdgsSCT .image img {
	width: 210px;
	}
}

#overviewSCT {
position: relative;
background-color: var(--color-sub3);
}
#overviewSCT .cont {
padding: 50px 20px 100px 20px;
}
#overviewSCT h2 {
margin-bottom: 19px;
font-weight: 700;
font-family: 'BIZ UDMincho', serif;
font-size: 18px;
letter-spacing: 0.15em;
line-height: 1.2;
color: var(--color-sub1);
text-align: center;
}
#overviewSCT .block {
background-color: #fff;
border-radius: var(--radius-block);
margin-bottom: 20px;
padding: 16px 20px 10px 20px;
opacity: 0;
}
#overviewSCT .block.activeView {
animation: img_bottom 0.7s ease forwards;
}
#overviewSCT .block:last-child {
margin-bottom: 0;
}
#overviewSCT dl {
font-size: 13px;
line-height: 1.7;
}
#overviewSCT dt {
border-top: solid 1px var(--color-main);
float: left;
padding: 13px 0;
width: 4em;
font-weight: 700;
}
#overviewSCT dt:nth-of-type(1) {
border-top: none;
}
#overviewSCT dd {
border-top: solid 1px var(--color-main);
margin-left: 4em;
padding: 13px 0;
font-weight: 500;
}
#overviewSCT dd:nth-of-type(1) {
border-top: none;
}
#overviewSCT ol {
list-style: none;
counter-reset: number 0;
}
#overviewSCT li {
position: relative;
padding-left: 1em;
text-indent: -1em;
}
#overviewSCT li::before {
position: absolute;
left: 0;
top: 0;
counter-increment: number 1;
content: counter(number) ".";
}
@media screen and (min-width: 768px) {
	#overviewSCT .cont {
	margin: 0 auto;
	padding: 50px 0 100px 0;
	width: 960px;
	}
	#overviewSCT h2 {
	margin-bottom: 40px;
	font-size: 28px;
	}
	#overviewSCT .block {
	border-radius: 20px;
	margin-bottom: 40px;
	padding: 20px 60px 25px 60px;
	}
	#overviewSCT .block:last-child {
	margin-bottom: 0;
	}
	#overviewSCT dl {
	font-size: 16px;
	line-height: 1.75;
	}
	#overviewSCT dt {
	box-sizing: border-box;
	border-top: solid 2px var(--color-main);
	float: left;
	padding: 15px 0 15px 60px;
	width: 200px;
	font-weight: 700;
	}
	#overviewSCT dt:nth-of-type(1) {
	border-top: none;
	}
	#overviewSCT dd {
	border-top: solid 2px var(--color-main);
	margin-left: 200px;
	padding: 15px 0;
	font-weight: 500;
	}
	#overviewSCT dd:nth-of-type(1) {
	border-top: none;
	}
}
