@charset "utf-8";
html {
	color: #000000;
	font-size: 16px;
	scroll-behavior: smooth;
	touch-action: manipulation;
}

body {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	background-color: #EFEFEF;
	text-align: left;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	text-decoration: none;
	color: #fff;
}

a:link {
	color: #7EBBE3;
}

a:visited {
	color: #7EBBE3;
}

.flex {
	display: flex;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.inner {
	width: min(1632px, 85%);
	margin-left: auto;
	margin-right: auto;
}

.sp {
	display: none;
}

.container {
	width: 100%;
}

.logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 100px;
}

.text {
	width: 1200px;
	margin: 0 auto;
	margin-top: 100px;

	& .text01 {
		font-size: 50px;
		padding-left: 100px;
	}

	& .text02 {
		display: flex;
		justify-content: end;
		margin-top: 120px;
		font-size: 22px;
		font-weight: 400;
		line-height: 1.5;
		padding-right: 100px;
	}
}

@media screen and (max-width: 768px) {
	main {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;		
	}

	.logo {
		margin-top: 0;
		padding-top: 100px;
	}

	.text {
		width: 100%;
		margin-top: 100px;
	
		& .text01 {
			font-size: 30px;
			padding-left: 30px;
			line-height: 1.5;
		}
	
		& .text02 {
			text-align: right;
			margin-top: 40px;
			font-size: 16px;
			padding-right: 0px;
		}

		.pc {
			display: none;
		}
	}
}

#opv-wrap {
	display: none;
	background-color: #DB0018;
	height: 100vh;
}

video#opv {
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100vw;
	height: 100vh;
	vertical-align: bottom;
}

@media screen and (max-width: 768px) {
	video#opv {
		width: 100%;
		height: auto;
		top: 50%;
		transform: translateY(-50%);
	}
}

main {
	display: none;
}


main .flex {
	height: 100vh;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -100px;

	& .img {
		width: 700px;
	}
}

.color01 {
	color: #DB0018;
}

.color02 {
	color: #255455;
}

.txt01 {
	margin-top: 50px;
}


@media screen and (max-width: 787px) {
	main .flex {
		& .img {
			width: 80%;
		}
	}
}