@charset "utf8";

html, body {
	margin: 0;
	padding: 0;
	font-family: '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'メイリオ', sans-serif;
	color: #fff;
	background: #232831;
}

.border {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	opacity: 0.5;
	pointer-events: none;
}
.border.border1 {
	height: calc(100% - 70px);
	width: calc(100% - 70px);
	border: solid 4px #fff;
}
.border.border2 {
	height: calc(100% - 50px);
	width: calc(100% - 50px);
	border: solid 2px #fff;
}

main {
	display: block;
	height: 100vh;
	background-size: auto auto;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, rgba(1, 12, 15, 0.24) 4px, rgba(1, 12, 15, 0.24) 20px);
}
	main > article {
		position: relative;
		width: calc(100% - 128px);
		max-width: 1500px;
		margin: 0 auto;
		height: 100vh;
		font-size: 18px;
	}
		main > article > div {
			position: absolute;
			top: 30%;
			left: 0;
			right: -150px;
			width: 500px;
			margin: 0 auto;
		}
			main > article > div > h1 {
				margin: 0;
				padding: 0;
				font-size: 2em;
				font-weight: bold;
			}
				main > article > div > h1 rt {
					opacity: 0.7;
				}
			main > article > div > p {
				font-weight: bold;
			}

#ai {
	display: block;
	position: absolute;
	left: 64px;
	bottom: 0;
	height: 50vw;
}
#sign {
	display: block;
	position: absolute;
	right: 60px;
	bottom: 50px;
	height: 100px;
}

#photo {
	padding: 64px;
	margin: 0 auto;
	height: 700px;
	max-width: 800px;
}
.swiper-container {
	width: 100%;
	height: 300px;
	margin-left: auto;
	margin-right: auto;
}
.swiper-slide {
	background-size: cover;
	background-position: center;
}
.gallery-top {
	height: 80%;
	width: 100%;
}
.gallery-thumbs {
	height: 20%;
	box-sizing: border-box;
	padding: 10px 0;
}
.gallery-thumbs .swiper-slide {
	width: 25%;
	height: 100%;
	opacity: 0.4;
}
.gallery-thumbs .swiper-slide-thumb-active {
	opacity: 1;
}

._gallery {
	position: relative;
	text-align: center;
	padding: 64px 128px 128px 128px;
	color: #fff;
	background: #111317;
}
	._gallery > h2 {
		margin: 0;
		padding: 64px;
		font-size: 38px;
		font-weight: bold;
	}
	._gallery > .grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 64px;
		align-items: center;
		max-width: 1300px;
		margin: 0 auto;
	}
		._gallery > .grid > div > a {
			display: block;
			width: 100%;
		}
			._gallery > .grid > div > a > img {
				max-height: 400px;
				max-width: 100%;
			}
	._gallery > aside {
		margin-top: 64px;
		padding: 64px;
		background: #0c0d0e;
		background-size: auto auto;
		background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, #090a0a 4px, #090a0a 20px);
	}

.galleryItem {
	min-width: 0;
}
	.galleryItem > p {
		word-wrap: break-word;
	}

#share {
	padding: 68px 0 82px 0;
	background: #111317;
}

#wanted {
	position: relative;
	text-align: center;
	padding: 64px;
	background: #464c56;
	font-size: 18px;
}
	#wanted:after {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		bottom: -128px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 0;
		height: 0;
		border-top: solid 64px #464c56;
		border-right: solid 64px transparent;
		border-bottom: solid 64px transparent;
		border-left: solid 64px transparent;
	}
	#wanted:before {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		bottom: -192px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 0;
		height: 0;
		border-top: solid 96px #111317;
		border-right: solid 96px transparent;
		border-bottom: solid 96px transparent;
		border-left: solid 96px transparent;
	}

body > footer {
	text-align: center;
	padding: 64px;
	background: #0d0e0e;
}
	body > footer > small {
		font-size: 14px;
		opacity: 0.7;
	}
