html,* {
	margin:0;padding:0;
}
::selection {
	background-color: #fff;
}

body {
	font-family: "Momo Trust Sans",
	"Noto Sans JP",
	sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.025em;

	scroll-behavior: smooth;
	overscroll-behavior: none;
	height:100vh;
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	color:#222;
	background:#fff;
}


#intro{
	position:fixed;
	left:0;top:0;
	z-index:2;
	width:100vw;
	height:100vh;
	background:#fff;
	display:flex;
	justify-content: center;
	align-items: center;
}
#intro.start{
	animation: 1.5s forwards fadeout;
}
#intro .logo{
	max-width: 200px;
}
#intro.start .logo{
	animation: 1.5s forwards scdown;
}
.container{
	width:100%;padding:40px 0 0 0;
}
.content{
	display:flex;
	margin:0 auto;
	gap:10px;
	width:calc(100% - 20px);
	/*
	background:rgba(255,255,255,0.8);
	border-top:1px rgba(255,255,255,0.9) solid;
	border-bottom:1px rgba(255,255,255,0.9) solid;
	box-shadow: 0 0 50px rgba(0,0,0,0.05);
	filter: contrast(130%) brightness(1.3);
	backdrop-filter: blur(3px);
	*/
}
.content.start{
	animation: 2s forwards scup;
}
#defaultCanvas0{
	animation: base 10s infinite;
}
@keyframes base{
	20% {
	  opacity:1;
	}
	45% {
		opacity:0;
	}
	55% {
		opacity:0;
	}
	80% {
		opacity:1;
	}
}
@keyframes fadeout {
	0% {
	  opacity:1;
	}
	99% {
		opacity:0;
	}
	100% {
		opacity:0;
		display:none;
	}
}
@keyframes scdown {
	0% {
		scale:1;
	}
	100% {
		scale:0.8;
	}
}
@keyframes scup {
	0% {
		margin-top:50px;
	}
	100% {
		margin-top:0;
	}
}



.content header{
	width:33%;
	background:rgba(255,255,255,0.85);
	/*filter: contrast(130%) brightness(1.3);*/
	backdrop-filter: blur(4px);
	border-radius:30px;
	box-shadow: 0 0 25px rgba(0,0,0,0.06);
}
.content header h1{
	padding:140px 50px 40px 42px;
}
.content header .statement{
	padding:50px 42px 50px 42px;
	line-height: 1.8;
	font-size: 18px;
	display: flex;
	flex-direction: column;
	gap:8px;
}
.content header .statement .finish{
	font-size: 36px;
	line-height: 1.5;
	padding:40px 0 0 0;
}

main{
	display:flex;
	flex:1;
	gap:10px;
}
main article{
	width:50%;
	background:rgba(255,255,255,0.85);
	/*filter: contrast(130%) brightness(1.3);*/
	backdrop-filter: blur(4px);
	border-radius:30px;
	box-shadow: 0 0 25px rgba(0,0,0,0.06);
}

main article .inner{
	padding:42px;
	display:flex;
	flex-direction: column;
	gap:30px 0;
}
main article .inner h2{
	margin:0 0 24px 0;
	font-size:16px;font-weight: 700;
}
main article .inner dl{
	display:flex;
	flex-wrap: wrap;
	gap:0 2%;
	font-size:14px;line-height: 1.8;
}
main article .inner dl dt{
	width:28%;padding:0 0 12px;
}
main article .inner dl dd{
	width:70%;padding:0 0 12px;
}
main article .inner dl dd span{
	letter-spacing: 0.2em;
}
main article .inner p{
	margin:0 0 20px 0;
	font-size:14px;line-height: 1.8;
	color:#323232;
}
main article .inner p:last-child{
	margin:0;
}

.contact{
	padding:30px 0 60px 0;
	display:flex;
	justify-content: center;
}
.contact a{
	padding:12px 50px;
	font-size:18px;
	color:#fff;
	text-decoration: none;
	border-radius:30px;
	background:rgba(0,0,0,0.6);
	transition: background .3s;
}
.contact a:hover{
	background:rgba(0,0,0,0.95);
}
.copy{
	position:fixed;
	left:0;bottom:0;
	padding:0 0 20px 20px;
	color:rgba(0,0,0,0.7);
	font-size:12px;
	font-weight:500;
}

canvas{
	width:100vw;
	height:100vh;
	position:fixed;
	z-index:-1;
	top:0;left:0;
}





@media (max-width: 960px) {
	body{
		padding:100px 0;
	}
	.content{
		margin:60px auto 0 auto;
		flex-direction: column;
	}
	.content header{
		width:100%;
	}
	.copy{
		position:relative;
	}
}

@media (max-width: 640px) {
	#intro{
		position:fixed;
		left:0;top:0;
		z-index:2;
		width:100%;
		height:100%;
		background:#fff;
		display:flex;
		justify-content: center;
		align-items: center;
	}
	#intro .logo{
		max-width: 160px;
	}

	.content{
		margin:80px auto 0 auto;
	}
	.content header h1{
		padding:120px 40px 40px 50px;
	}
	.content header h1 img{
		width:60%;
	}
	.content header .statement{
		padding:40px 40px 40px 40px;
		line-height: 2;
		font-size: 18px;
	}
	.content header .statement .finish{
		font-size: 28px;
		padding:40px 0 20px 0;
	}
	main{
		display:flex;
		flex-direction: column;
	}
	main article{
		width:100%;
	}
	main article:first-child{
		border-bottom:1px rgba(255,255,255,0.6) solid;
	}
	main article .inner{
		padding:36px;
		display:flex;
		flex-direction: column;
		gap:30px 0;
	}
}