@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900');

#sistaneo {
	color: #555;
	font-size: 14px;
	font-family: "Noto Sans JP";
}
#sistaneo * {
	transition: 1s;
}

/*----- COMMON -----*/
#sistaneo img {
	width: 100%;
}

#sistaneo a {
	font-size: inherit;
	text-decoration: none;
}

#sistaneo .flex {
	display: flex;
	flex-wrap: wrap;
}
	#sistaneo .flex > * {
		flex: 1 1 0;
	}

#sistaneo ::selection {
	color: #FFF;
	background: #9bd598;
}

#sistaneo .slidein_image {
	transform: translateX(32px);
	opacity: 0;
}
#sistaneo .fadein_text {
	transform: translateY(32px);
	opacity: 0;
}
#sistaneo .typing {
	opacity: 0;
}

/*----- H1 H2 H3 H4-----*/
#sistaneo h1,
#sistaneo h2,
#sistaneo h3,
#sistaneo h4 {
	font-weight: 200;
}

/*----- STRUCTURE-----*/
#sistaneo #kvArea {
	position: relative;
	width: 100%;
	background: #CCC;
}

#sistaneo #contentArea {
}
#sistaneo #specArea {
}
#sistaneo #productArea {
	margin-top: 80px;
	padding-bottom: 80px;
	text-align: center;
	background: #EEE;
}

#sistaneo .fixed_back01 {
	position: relative;
	height: 100vh;
	background-image: url("../img/fixed_back01.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: center;
}
	#sistaneo .fixed_back01 h2 {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 25%;
		transform: translate(-50%, -50%);
	}
		#sistaneo .fixed_back01 h2 span {
			letter-spacing: 0.5rem;
		}

/*----- KV AREA-----*/
#sistaneo #kvArea h1 {
	position: absolute;
	bottom: 16px;
	right: 60px;
	width: 480px;
}

#sistaneo #kvArea .lead {
	position: absolute;
	top: 60px;
	left: 10vw;
	font-size: 4rem;
	color: #7a5c7b;
	mix-blend-mode: difference;
}
#sistaneo #kvArea .image {
	height: 600px;
	background-image: url("../img/kv.jpg");
	background-position: bottom center;
	background-size: cover;
}

/*----- CONTENT AREA-----*/
#sistaneo #contentArea .contentBlock {
	position: relative;
	margin: 80px;
}
	#sistaneo #contentArea .contentBlock img {
		border-radius: 12px;
	}
	#sistaneo #contentArea .contentBlock .body h2 {
		margin-bottom: 32px;
		font-size: 3rem;
		line-height: 4rem;
	}
	#sistaneo #contentArea .contentBlock .body p {
		padding-bottom: 8px;
		font-size: 1.4rem;
		text-align: justify;
		line-height: 2.4rem;
	}

	#sistaneo #contentArea .contentBlock:nth-child(even) {
		margin-left: 20%;
	}
	#sistaneo #contentArea .contentBlock:nth-child(odd) {
		margin-right: 20%;
	}

	#sistaneo #contentArea .contentBlock .body {
		padding: 0 24px;
	}
	#sistaneo #contentArea .contentBlock .feature {
		position: absolute;
		top: 32px;
		left: -40px;
		color: #9bd598;
		transform: rotate(90deg);
	}
	#sistaneo #contentArea .contentBlock .image.shadow {
		position: relative;
		box-shadow: 12px -8px 0 0 rgb(214 231 213);
	}

/*----- SPEC AREA-----*/
#sistaneo #specArea .image li {
	margin: 24px;
	background: #EEE;
	border-radius: 50%;
}

#sistaneo #specArea .specBlock {
	position: relative;
	margin: 0 auto;
	width: 540px;
}
	#sistaneo #specArea .specBlock > div {
		margin: 8px 0;
		padding-bottom: 8px;
		min-width: 50%;
		border-bottom: 1px dashed #9bd598;
	}
		#sistaneo #specArea .specBlock > div span {
			display: block;
			margin-bottom: 4px;
			padding: 1px 4px;
			width: fit-content;
			color: #FFF;
			font-size: 1.2rem;
			line-height: 1.6rem;
			background: #9bd598;
		}


/*----- PRODUCT AREA-----*/
#sistaneo #productArea h2 {
	padding: 80px 0;
	font-size: 4rem;
}
	#sistaneo #productArea .body {
		padding-bottom: 60px;
		font-size: 1.6rem;
		line-height: 3rem;
	}
	#sistaneo #productArea .image {
		margin: 0 auto;
		max-width: 800px;
	}
	#sistaneo #productArea .linkBtn a {
		display: block;
		margin: 0 auto;
		padding: 12px 72px;
		width: fit-content;
		color: #FFF;
		border-radius: 8px;
		background: #9bd598;
		user-select: none;
	}
		#sistaneo #productArea .linkBtn a:hover {
			color: #9bd598;
			background: #333;
		}


@media screen and (max-width: 1199px){
	/*bootstrapを使用する場合。幅を1200pxとして
	左右に15pxずつpaddingをつけている為*/
}
@media screen and (max-width: 1169px){
	/*bootstrapを使用しない場合*/
}
	
@media screen and (max-width: 1024px){
}

@media (max-width: 767px){
	#sistaneo #kvArea h1 {
		width: 320px;
		left: 50%;
		transform: translateX(-50%);
	}
	#sistaneo #kvArea .image {
		background-position: 25%;
	}

	#sistaneo .fixed_back01 {
		height: 450px;
		background-attachment: unset;
		background-size: 200%;
	}
	#sistaneo .fixed_back01 h2 {
		width: 40%;
	}

	#sistaneo #contentArea .contentBlock {
		margin: 80px 0 120px 0;
	}
	#sistaneo #contentArea .contentBlock:nth-child(odd) {
		margin-right: 0;
	}
	#sistaneo #contentArea .contentBlock:nth-child(even) {
		margin-left: 0;
	}
	#sistaneo #contentArea .contentBlock img {
		border-radius: 0;
	}
	#sistaneo #contentArea .contentBlock .body {
		padding: 0 24px 24px 24px;
	}
	#sistaneo #contentArea .contentBlock .body h2 {
		font-size: 3.2rem;
	}
	#sistaneo #contentArea .contentBlock .body p {
		margin-bottom: 8px;
		font-size: 1.8rem;
		line-height: 2.8rem;
	}
	#sistaneo #contentArea .contentBlock .flex {
		flex-direction: column;
	}
	#sistaneo #contentArea .contentBlock .feature {
		padding: 0 4px 0px 32px;
		top: -32px;
		left: 0;
		color: #FFF;
		background: #9bd598;
		transform: rotate(0deg);
	}

	#sistaneo #specArea .image li {
		margin: 8px;
	}
	#sistaneo #specArea .specBlock {
		padding: 8px 24px;
		width: auto;
		flex-direction: column;
	}
	#sistaneo #specArea .specBlock.flex > * {
		flex: unset;
	}
	#sistaneo #productArea {
		padding-bottom: 32px;
	}
	#sistaneo #productArea .body {
		padding: 16px;
	}
	#sistaneo #productArea .body p {
		text-align: justify;
	}

}