@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");

:root {
	--color-black: #333333;
	--color-white: #ffffff;
	--color-blue-1: #00ffff;
	--color-blue-2: #0b56a8;
}

body {
	margin: 0;
	font-family: "Noto Sans JP";
	background-color: var(--color-white);
	color: var(--color-black);
	color: #888;
	font-weight: normal;
	text-transform: uppercase;
	overflow-x: hidden;
}

a {
	color: var(--color-blue-2);
	text-decoration: none !important;
}

#title {
	font-size: 14px;
	font-weight: bold;
	width: 100vw;
	text-align: center;
	display: block;
	letter-spacing: 5px;
	padding-left: 5px;
	font-weight: normal;
	color: white;
}

#img {
	width: 156px;
	margin: 75px auto 20px auto;
	display: block;
	border-radius: 50%;
	box-shadow: 0 4px 80px rgba(0, 60, 139, 0.4);
}

#background {
	background: radial-gradient(
			ellipse at 50% 50%,
			rgba(255, 255, 255, 0) 58%,
			rgba(0, 0, 102, 0.15) 100%
		),
		linear-gradient(135deg, #00ffff 0%, #0b56a8 100%);
	height: 500px;
	width: 200vw;
	position: absolute;
	top: 0;
	left: -50vw;
	z-index: -1;
}

#background::after {
	content: "";
	position: absolute;
	top: -70px;
	left: 50vw;
	z-index: -1;
	width: 100vw;
	height: 555px;
	box-shadow: inset 0 70px 60px rgba(0, 0, 102, 0.3);
}

#background::before {
	content: "";
	position: absolute;
	top: 450px;
	width: 200vw;
	height: 500px;
	border-radius: 50% 50% 0 0;
	background-color: white;
}

#app {
	padding-top: 140px;
	width: 100vw;
	text-align: center;
	max-width: 1000px;
	margin: auto;
	overflow-x: hidden;
}

.post {
	width: 350px;
	height: 350px;
	background-color: var(--color-white);
	margin: auto;
	margin-bottom: 150px;
	margin-left: 50px;
	margin-right: 50px;
	box-shadow: 0 0 80px rgba(0, 60, 139, 0.12);
	transform: translateY(0px);
	transition: box-shadow 200ms, transform 200ms;
	text-align: center;
	cursor: pointer;
	display: inline-block;
	border-radius: 32px;
}

.post:hover {
	box-shadow: 0 15px 80px rgba(0, 2, 139, 0.25);
	transform: translateY(-5px);
}

.post h2 {
	color: var(--color-gray-1);
	width: 100%;
	margin: 5px;
	margin-left: 0px;
	opacity: 0.6;
	letter-spacing: 2px;
	padding-left: 2px;
	font-size: 14px;
	transition: opacity 200ms;
	font-weight: normal;
}

.post:hover h2 {
	opacity: 1;
}

.post img {
	border-radius: 32px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ABOUT */

.post.about {
	text-transform: none;
	width: 800px;
	cursor: default;
}

.post.about h2 {
	text-transform: uppercase;
}

.post.about span {
	text-transform: uppercase;
	letter-spacing: 1px;
	padding-right: 1px;
}

.post.about img.scroll {
	position: relative;
	bottom: -0px;
	width: 50px;
	opacity: 0.2;
}

.post.about img.media {
	opacity: 0.5;
	transition: opacity 200ms;
	width: 30px;
	padding-top: 10px;
	padding-left: 5px;
	padding-right: 5px;
	border-radius: 0;
	cursor: pointer;
}

.post.about div.media {
	display: inline;
}

.post.about:hover div.media:not(:hover) img.media {
	opacity: 0.8;
}

.post.about:hover div.media img.media:hover {
	opacity: 0.8;
}

.post.about > div {
	padding: 50px;
	padding-bottom: 0px;
	height: calc(100% - 50px);
}

#banner {
	position: fixed;
	z-index: 500;
	top: 0;
	width: 100vw;
	height: 50px;
	text-align: center;
	line-height: 50px;
	display: block;
	box-shadow: var(--color-blue-1) 0 5px 5px;
}

#banner.blm {
	background-color: #141414;
	color: white;
}

#banner.valentines {
	background-color: #fc9c9c;
	color: black;
}

.post.about {
	width: min(80vw, 800px);
	margin: 0 0 150px;
	height: auto;
	padding-bottom: 32px;
}
.post {
	width: min(80vw, 350px);
}
