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

/* ----------------------------------------- COMMON ----------------------------------------- */
* {
	margin: 0;
	padding: 0;
	user-select: none;
	box-sizing: border-box;
}
html, body {
	color: #A1A3A6;
	font-family: "Noto Sans JP", serif;
	font-size: 14px;
}


/* ----------------------------------------- COMMON ----------------------------------------- */
h1 {
	padding: 0 8px;
	font-family: "Barlow Condensed";
	font-weight: normal;
	letter-spacing: 0.5rem;
/*	text-shadow: 1px 1px 0px #101010, 1.5px 1.5px 0px #AAA;*/
	font-size: 2.1rem;
}
h2, h3, h4 {
	font-weight: normal;
}

	h1 > *, h2 > *, h3 > *, h4 > * {
		font-size: 1.2rem;
		letter-spacing: normal;
		text-shadow: none;
	}

h1.title {
	position: absolute;
	top: 24px;
	width: 80%;
}
	h1.title.right {
		left: 20%;
		text-align: right;
	}

ul {
	list-style: none;
}
img {
	width: 100%;
}

.alignCenter {
	text-align: center;
}


/* ----------------------------------------- LAYOUT ----------------------------------------- */
#wrapper {
	width: 100%;
	height: 100vh;
	scroll-snap-type: y mandatory;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	background: url("../img/back_main.jpg") repeat;
}
	.content {
		position: relative;
		width: 100%;
		height: 100vh;
		scroll-snap-align: start;
	}
		.content:nth-child(odd) {
		}
		.content:nth-child(even) {
			background-color: rgba(0,0,0,0.3);
		}

		.content .body {
			padding-top: 80px;
		}
#copyright {
	position: fixed;
	bottom: 8px;
	width: 100%;
	font-size: 0.8rem;
	text-align: center;
}

/*-------- ABSOLUTE POSITION --------*/
.middleCenter {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*-------- FLEX --------*/
.flex {
	display: flex;
}
	.flex > * {
		flex: 1 1 0%;
	}

/*-------- LIST --------*/
ul.icon_data {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	padding: 8px 0;
}
	ul.icon_data li {
		display: block;
		width: 64px;
		height: 64px;
		border: 3px solid #AAA;
		border-radius: 32px;
		background: #FFF;
	}
		ul.icon_data li p {
			text-align: center;
		}
			ul.icon_data li p:first-child {
				padding-top: 4px;
			}
			ul.icon_data li p:last-child {
				font-size: 1.6rem;
				line-height: 1.6rem;
			}

ul.stepList {
	
}

ul.hashList {
	display: flex;
	flex-wrap: wrap;
	margin-top: 12px;
	font-size: 0.8rem;
}
	ul.hashList li {
		margin: 0 2px;
		padding: 2px 6px;
		color: #AAA;
		background: #666;
	}

ul.thumbList {
	display: flex;
	flex-wrap: wrap;
	max-height: calc(100vh - 120px);
	overflow-y: scroll;
}
	.thumbList li {
		display: block;
		width: 45vw;
		padding: 8px;
	}


/*--- icon ---*/
.iconList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	.iconList > a {
		position: relative;
		display: block;
		margin: 0 4px;
		padding: 8px;
		width: 54px;
		height: 54px;
		border: 3px solid #FFF;
		border-radius: 54px;
	}
		.iconList > a img {
			width: 100%;
		}


/* ----------------------------------------- CONTENT ----------------------------------------- */
#pross_logo_bl {
	width: 320px;
	height: 120px;
}

/*-------- ABOUT --------*/
#about.content {
	background: url("../img/back_about.jpg");
	background-size: cover;
	background-position: center;
}
	#about.content .body {
		padding-top: 120px;
		padding-left: 24px;
		padding-right: 24px;
	}
		#about.content .body p {
			margin-bottom: 24px;
			background-color: rgba(0,0,0,0.3);
		}

/*-------- PRODUCTS --------*/
#products.content {
	
}
#products.content .body {
	overflow-x: scroll;
}
#products.content h3 {
	padding: 16px 0;
}

	#products.content .flex > li {
		padding: 8px;
		min-width: 75%;
	}
		#products.content li h2 {
			position: relative;
			margin: 0 20% -16px 20%;
			padding: 4px;
			font-size: 1.2rem;
			text-align: center;
			background: #000;
			z-index: 1;
		}
		#products.content li div > p {
			line-height: 1.6rem;
			text-align: justify;
		}

/*-------- HOW TO USE --------*/
.howto_map {
	display: flex;
	flex-wrap: wrap;
	background: #FFF;
}
	.howto_map > * {
		position: relative;
		width: 50%;
	}

#howtouse.content {
	overflow: hidden;
}
#howtouse.content .body {
	display: flex;
	margin-right: 12px;
	margin-left: 12px;
	overflow-x: scroll;
}
	#howtouse.content .body > div {
		margin: 0 12px;
		min-width: 80vw;
	}
		#howtouse.content .body > div .stepList {
			height: 70vh;
			overflow-y: scroll;
		}
			#howtouse.content .body > div .stepList li {
				margin-bottom: 8px;
				padding: 8px;
				background: #333;
			}

		#howtouse.content .body > div h2 {
			padding-bottom: 12px;
			font-size: 1.1rem;
			font-weight: bold;
		}
			#howtouse.content .body > div h3 {
				padding-bottom: 8px;
			}
				#howtouse.content .body > div h3 span {
					position: relative;
					top: -8px;
					left: -8px;
					padding: 0 9px 2px 8px;
					color: #333;
					background: #999;
				}
			#howtouse.content .body > div p {
				text-align: justify;
				font-size: 0.9rem;
			}

/*-------- MODAL --------*/
#modalArea {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #2d240f;
	z-index: 1;
	transition-duration: 1s;
}
	#modalArea.hide {
		top: 100vh;
		opacity: 0;
	}

	#modalArea > div {
		padding: 12px;
		font-size: 0.8rem;
	}
		#modalArea > div.hide {
			display: none;
		}
		#modalArea h3 {
			padding: 16px 8px 8px 8px;
			font-size: 1.2rem;
		}
			#modalArea h3 span {
				padding: 0 8px;
				color: #afa875;
				border-bottom: 1px solid #afa875;
			}
		#modalArea p {
			
		}


.modalCloseBtn {
	position: absolute;
	left: calc(50% - 30px);
	bottom: 80px;
	width: 40px;
	height: 40px;
	color: #A00;
	font-size: 1.8rem;
	text-align: center;
	border-radius: 40px;
	background: #FFF;
	cursor: pointer;
}




