@charset "UTF-8";

/*---------------------
MARK: GLOBAL CSS
---------------------*/
html, body {
	height: 100%;
}

@media (max-width: 1400px) {
	html {
		font-size: 11px;
	}
}
@media (max-width: 960px) {
	html {
		font-size: 10px;
	}
}

body {
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.83333;
}

@media (min-width: 641px) {
	.sp_only {
		display: none !important;
	}
}
@media (min-width: 840px) {
	.sp_only_m {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.pc_only {
		display: none !important;
	}

	.tb_only {
		display: none !important;
	}

	.sp-center {
		text-align: center;
	}
	img {
		width: 100%;
	}
}

/*
MARK: HEADER
*/

#header {
	width: 100%;
	padding: 1em 0;
	box-sizing: border-box;
	position: fixed;
	left: 0px;
	top: 0px;
	/* background: black; */
	color: white;
	z-index: 100;
}
#header .hide {
	display: none;
}
#header .nav ul li:not(:last-child)::after {
	display: contents;
	border-right: 1px solid white;
	content: '';
	padding-top: 0.5em;
	padding-left: 2em;
}
#header .nav ul a {
	color: white;
}
#header.bg-black,
#header nav.nav ul.bg-black,
body.page--privacy-policy #header,
body.page--isms-policy #header {
	background: black;
}

body.page--privacy-policy #content,
body.page--isms-policy #content {
	margin-top: 4em;
}
/* Do not group them together, this will break the menu */
@media (max-width: 640px) {
	#header {
		background-size: 100%;
		height: 48px;
		padding-top: 0px;
	}
}
@media (min-width: 640px) {
	#header {
		display: flex;
		justify-content: space-between;
	}
	#header .nav ul {
		display: flex;
		padding-top: 8px;
		padding-right: 55px;
	}
	#header .nav ul li {
		margin-left: 33px;
	}
}
@media (min-width: 640px) {
	#header .nav ul li {
		margin-left: 1.6rem;
	}
}
@media (min-width: 640px) {
	#header .nav ul a {
		text-decoration: none;
		font-family: 'Open Sans Condensed', sans-serif;
		/* font-size: 20px; */
		font-size: 1.45455rem;
		font-weight: bold;
		display: inline-block;
		padding: 0 2px;
		transition: 0.3s ease-out;
		cursor: pointer;
	}
}
@media (max-width: 640px) {
	#header .nav ul a:hover {
		color: #4BC9F0;
	}
	#header .nav ul .active {
		text-decoration: underline;
		color: #4BC9F0;
	}
	#header .menu-btn {
		text-decoration: none;
		color: white;
		position: absolute;
		right: 0px;
		top: 0.5em;
		padding: 0 5px;
		text-align: center;
	}
	#header .menu-btn .hide {
		display: none;
	}
	#header .menu-btn img {
		width: 3em;
		height: auto;
	}
	#header .nav ul {
		backdrop-filter: blur(10px);
		position: absolute;
		width: 100%;
		top: 4em;
		right: -100%;
		padding-bottom: 1em;
	}
	body.page--privacy-policy #header .nav ul,
	body.page--isms-policy #header .nav ul {
		background-color: black;
	}
	#header .nav ul li {
		padding-left: 1em;
		padding-top: 1em;
	}
	#header .nav ul li a {
		color: white;
		font-family: 'Open Sans Condensed', sans-serif;
		font-weight: bold;
		text-decoration: none;
		display: block;
		font-size: 2rem;
	}
	#header .nav ul li:not(:last-child)::after {
		display: none;
	}
}


#header .logo {
	margin: 1em 0 0 2em;
}
#header .logo img {
	width: 40%;
	height: auto;
}
@media (max-width: 640px) {
	#header .logo img {
		width: 35%;
		height: auto;
	}
}
body.page--home #header .logo a {
	display: none;
}

.scroll-content {
	overflow: clip;
	width: 100%;
}

/*
MARK: FOOTER
*/

#footer {
	width: 100%;
	/* position: absolute; */
	/* bottom: 0; */
	background:hsl(0, 0%, 0%);
	color: hsl(0, 0%, 100%);
	padding: 0.5em 0;
}
#footer .copy {
	margin: 1em 0;
	text-align: center;
}
@media (max-width: 1400px) {
	#footer .copy {
		font-size: 1rem;
	}
}

/*------------------
MARK: TITLE
-------------------*/

.title {
	background: rgb(2,2,2);
	background: linear-gradient(47deg, rgba(2,2,2,1) 0%, rgba(17,14,29,1) 32%, rgba(72,53,158,1) 51%, rgba(56,93,135,1) 72%, rgba(42,153,128,1) 100%);
	text-align: center;
	position: relative;
	height: 20%;
	overflow: clip;
}
.title-video {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	z-index: 1;
}
.title div {
	padding: 15% 0;
}
.title img {
	position: relative;
	z-index: 2;
}
@media (max-width: 640px) {
	.title {
		height: auto;
		overflow: inherit;
	}
	.title-video {
		width: 215%;
	}
	.title div {
		padding: 53% 6em;
	}
}

/*
MARK: INFO BLOCKS
*/
.info-spacer {
	margin: 4em 8em;
}

.info {
	max-width: 1600px;
	font-size: 1.2em;
}

.info .info-title {
	font-size: 2em;
	font-weight: bold;
}

.info .info-block {
	margin: 1.5em 0 2em 0;
}

.info .info-block div.text {
	white-space: pre-wrap;
	word-wrap: normal;
}

.info-link {
	font-size: 1.2em;
	color: white;
	padding: 9em 0;
	text-align: center;
	background-image: url('../img/omc_production_bg.webp');
}

.info-link div:first-child {
	margin: 0 0 3em;
}

.info-link div:last-child {
	margin: 1em 0;
}

.info-link div a {
	background: hsla(230, 84%, 60%, 1);
	color: white;
	padding: 1em 2em;
	text-decoration: none;
	font-weight: bold;
}
.info-link div a:hover {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.info-spacer {
		margin: 4em 1.5em;
	}

	.info {
		max-width: 100%;
	}
	.info .info-title {
		line-height: 1.2em;
	}

	.info .info-block img {
		width: 50%;
	}
}

/*------------------
MARK: ACCESS
--------------------*/
#access .access-flx {
	display: flex;
	justify-content: space-between;
}

#access .hide {
	display: none;
}

#access .access-list {
	width: 50%;
}

#access .access-list .section-title {
	font-size: 2em;
	font-weight: bold;
}

#access .map-menu > div {
	margin: 1em 0;
}

#access .map-menu div a {
	font-weight: bold;
	text-decoration: none;
	color: black;
	font-size: 1.2em;
}
#access .map-menu div a:hover {
	text-decoration: underline;
}

#access .map-menu div a.on {
	color: blue;
}

#access .map-menu div a span.on {
	display: inline-block;
	padding-left: 0.5em;
}

#access .map-menu div a span.off {
	display: none;
}

#access .map-menu div a span img {
	width: 1.0em;
}
#access .map-menu div div.link-down {
	text-align: center;
	margin-top: 0.5em;
}
#access .map-menu div div.link-down img {
	width: 2em;
}

#access .map-list {
	width: 50%;
}

#access .map-list .active {
	opacity: 1;
	transform: none;
}
#access .map-list .hide {
	display: none;
}
#access .map-list iframe {
	width: 660px;
	height: 470px;
	border: solid 5px black;
	box-sizing: border-box;
	background: white;
}
@media (max-width: 1170px) {
	#access .access-list {
		margin-right: 1em;
	}
}
@media (max-width: 1400px) {
	#access .map-list iframe {
		width: 100%;
		height: 388.90845px;
	}
}
@media (max-width: 800px) {
	#access .access-flx {
		display: inline-block
	}
	#access .access-list,
	#access .map-list {
		width: 100%;
		margin-right: 0;
	}

	#access .map-menu div.position-stick {
		position: sticky;
		top: 5em;
		background: white;
	}

	#access .map-list iframe {
		border: solid 4px black;
	}
}

/*
MARK: PRIVACY POLICY
*/

section.privacy-policy {
	border-bottom: 1px solid hsla(0, 0%, 67%, 1);
	max-width: 1600px;
	font-size: 1.2em;
	margin: 6em 8em;
	padding-bottom: 4em;
}

section.privacy-policy:last-child {
	border-bottom: 0px;
}

section.privacy-policy .section-title {
	font-size: 2em;
	text-align: center;
	margin-bottom: 1em;
}

body.page--isms-policy section.privacy-policy .section-title {
	text-align: left;
}

section.privacy-policy div {
	white-space: pre-wrap;
	word-wrap: normal;
}

/* section.privacy-policy div span {
	color: hsla(306, 100%, 50%, 1);
} */

section.privacy-policy div.align-center,
section.privacy-policy div.image-info {
	text-align: center;
	white-space: inherit;
}

section.privacy-policy div.image-align {
	margin: 1.5em 0;
}

@media (max-width: 640px) {
	section.privacy-policy {
		margin: 4em 1.5em;
		max-width: 100%;
		font-size: 1.15em;
	}
	section.privacy-policy .section-title {
		text-align: left;
		margin-bottom: 0;
	}
	section.privacy-policy div.image-align {
		padding: 0 1.5em;
	}
	section.privacy-policy div.image-info {
		text-align: left;
	}
}

/*
MARK: ANIMATIONS*
*/

#access .map-fade-in {
	animation-name:fadeInAnime;
	animation-duration: 0.7s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes fadeInAnime{
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

#header .menu-move-in {
	animation-name:menuAppear;
	animation-duration: 0.5s;
	animation-fill-mode:forwards;
	/* opacity: 0; */
}

@keyframes menuAppear{
	from {
		/* opacity: 0; */
		transform: translateX(-100%);
	}

	to {
		/* opacity: 1; */
		transform: translateX(0);
	}
}

#header .menu-move-out {
	animation-name:menuDisappear;
	animation-duration: 0.5s;
	animation-fill-mode:forwards;
	/* opacity: 0; */
}

@keyframes menuDisappear{
	from {
		/* opacity: 1; */
		transform: translateX(0);
	}

	to {
		/* opacity: 0; */
		transform: translateX(-100%);
	}
}

/* END */
