@charset "utf-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * CSS Information
 * ===============================================================
 *
 * Site URL:  http://wonder-hero.net
 * File name: layout.css
 * Summary:   レイアウト用スタイル
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    structures
 *       =1-1    header
 *       =1-2    contents
 *                 - main contents
 *                 - navigation
 *       =1-3    sidepanel
 *       =1-4    footer
 *     =2    breakpoint checker (for javascript)
 *
 * ===============================================================
*/



/** =1
 * ========================================
 * structures
 * ========================================
 */

.l-container {
	position: relative;
	height: auto;
	min-height: 100%;
	width: 100%;
	margin: 0 auto;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 639px) {
		.l-container {
			right: 0;
			z-index: 2;
			margin: 0;
			-moz-transition: all 300ms ease-in-out;
			-webkit-transition: all 300ms ease-in-out;
			transition: all 300ms ease-in-out;
		}
		.is-panelopened .l-container {
			right: 250px;
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 640px) {
		.l-container {
		}
	}





	/** =1-1
	 * header
	 * ----------------------------------
	 */

	.l-header {
		width: 100%;
		height: 50px;
		padding: 15px 0;
	}
	#home .l-header {
		height: 100px;
		padding: 50px 0 30px;
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 639px) {
			.l-header {
				width: auto;
				padding: 15px 20px;
			}
			#home .l-header {
				width: auto;
				padding: 30px 20px;
			}
		}


	/** =1-2
	 * contents
	 * ----------------------------------
	 */

	.l-contents {
			background: url(../src/image/common/bg_main.png) repeat;
			background-size:contain;
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 639px) {
			.l-contents {
			}
		}

		/* -- >>> styles for wide layout ----- */
		@media screen and (min-width: 640px) {
			.l-contents {
			}
		}


		/* [ key visual ]
		------------------------------ */
		.l-keyvisual {
			width: 100%;
			height: 100vh;
			max-height: 960px;
			min-height: 640px;
			position: relative;
			background: #000000 url(../src/image/home/mainimg.jpg) no-repeat center top;
			background-size:contain;
		}

		.l-inner {
			margin: 0 auto;
			max-width:960px;
		}
		/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 639px) {
				#home .l-inner {
					min-height: 540px;
				}
			}
		
			/* -- >>> styles for wide layout ----- */
			@media screen and (min-width: 640px) {
				.l-inner {
					padding: 0 20px;
				}
				#home .l-inner {
					min-height: 640px;
					border: 1px solid;
					border-image: linear-gradient(to top, transparent, #000000 0%, #FFFFFF 25%);
					border-image-slice: 0 0 0 1;	
				}
			}
		
			

		/* [ main contents ]
		------------------------------ */
		.l-main {
		}


		.l-article {
			margin: 0 auto;
			padding: 60px 20px 80px;
		}
		#About .l-article {
			margin: 0 auto;
			padding: 30px 20px 50px;
		}

		.l-section {
			margin: 0 auto;
			width:100%;
			max-width:800px;
		}
			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 639px) {
				.l-article {
					margin: 0 auto;
					padding: 30px 20px 50px;
				}
				#About .l-article {
					padding: 20px 20px 50px;
				}
			}


		/* [ navigation ]
		------------------------------ */
		.l-nav {
		}

		.navList {
		}

			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 639px) {
				.l-nav {
					display: none;
				}

				.l-nav {
					background: rgba(0,0,0,0.95);
					position: absolute;
					top: 0px;
					bottom: 0;
					z-index: 10;
					width: 100%;
				}

				.l-nav .navHandler a {
					display: block;
					color: #000000;
					background: #cc9900;
					text-align: center;
					font-size: 120%;
					padding: 20px 0 ;
					width: 100%;
					margin: 20px auto 0;
					position: absolute;
					bottom: 0;
					}
				.l-nav .navHandler a:hover {
					background: #ffcc00;
				}
			}

			/* -- >>> styles for wide layout ----- */
			@media screen and (min-width: 640px) {
				.l-nav {
					display: none;
				}
				.l-nav {
					background: rgba(0,0,0,0.95);
					position: absolute;
					top: 0px;
					bottom: 0;
					z-index: 10;
					width: 100%;
				}
				#home .l-nav {
					background: none;
					position: static;
		
					display: block;
					width: 250px;
					padding-left: 15px;
				}
	
				.l-nav .navHandler a {
					display: block;
					color: #000000;
		/*
					background: #cc9900;
					text-align: center;
					font-size: 120%;
					padding: 20px 0;
					width: 100%;
					margin: 20px auto 0;
					position: absolute;
					bottom: 0;
		*/
					}
				.l-nav .navHandler a:hover {
					background: #ffcc00;
					}

			}



	/** =1-4
	 * footer
	 * ----------------------------------
	 */

	.l-footer {
		width: 100%;
		height: auto;
		background: rgba(3,24,38,0.9);
	}



/** =2
 * ========================================
 * breakpoint checker (for javascript)
 * ========================================
 */

#js-breakpointChecker {
	position: absolute;
	z-index: -100;
	width: 0;
	height: 0;
	overflow: hidden;
}

#js-breakpointChecker div {
	display: none;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 599px) {
		#js-breakpointChecker .narrow {
			display: block;
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 640px) {
		#js-breakpointChecker .wide {
			display: block;
		}
	}
