/* https://colorhunt.co/palette/793fdf7091f597fff4fffd8c */

body {
	margin: 0;
	overflow: hidden;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.background-video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.background-video video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 25vw;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(10px);
	color: #333;
	overflow-y: auto;
	box-sizing: border-box;
}

.content {
	width: 100vw;
	position: relative; /* position: relative を追加 */
}

.image-container {
	position: absolute;
	top: -40vw;
	left: -20vw;
	opacity: 0;
	z-index: 1;
	animation: slideInFade 1s forwards;
}

.image-container img {
	height: 60vw;
	filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.5)); /* box-shadow を filter: drop-shadow に変更 */
}

@keyframes slideInFade {
	0% {
		left: -20vw;
		opacity: 0;
	}
	100% {
		left: 10vw;
		opacity: 1;
	}
}

.content h1 {
	font-size: 5vw;
	margin-top: 10vh;
	margin-bottom: 10px;
}
.content h2 {
	font-size: 3vw;
	margin-bottom: 5vh;
}
.content .title {
	z-index: 1;
	position: absolute;
	top: -40vw;
	right: 10vw;
	width: 30vw;
	font-weight: bold;
	text-align: right;
	color: #97FFF4;
	text-shadow: 2px 3px 3px rgba(121, 63, 223, 0.8);
}
.content h1,
.content h2 {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

.description {
	font-size: 24px;
	width: 100%;
	min-height: 90vh;
	background-color: white;
	padding: 15vh 20px;
	margin-top: 40vw;
	box-sizing: border-box;
	text-align: left;
	color: #793FDF;
	text-shadow: 1.5px 1.5px 3px rgba(255, 253, 140, 0.8);
	/* clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 0 100%); 下の境界線を斜めにする */
	clip-path: polygon(0 10vh, 100% 0, 100% 100%, 0 100%); /* 上の境界線を斜めにする */
	/* clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%); 右の境界線を斜めにする */
	/* clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%); 左の境界線を斜めにする */
}

table {
	width: 80%;
	margin: 24px auto;
	border-collapse: collapse;
}
th, td {
	border: 1px solid #793FDF;
	border-spacing: 0;
	padding: 2vw 3vw;
}
th {
	text-align: right;
	padding-left: 0;
}
th.center, td.center {
	text-align: center;
}

a {
	color: #7091F5;
}

br.sp {
	display: none;
}

@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	.background-video video {
		min-width: auto;
		min-height: auto;
		top: 15%;
		height: 40vh;
	}
	table {
		width: 90%;
	}
	.content .title {
		top: -50vw;
	}
	.content h1 {
		font-size: 6vw;
	}
	.content h2 {
		font-size: 5vw;
	}
	.description {
		font-size: 16px;
	}
	br.sp {
		display: block;
	}
}
