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

/**
 * CSS Information
 * ===============================================================
 *
 * Site URL:  http://
 * File name: layout.css
 * Summary:   レイアウト用スタイル
 * Author:    CrEa Inc.
 *
 * -----------------------------------
 *
 * 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: 599px) {
		.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 medium layout ----- */
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.l-container {
		}
	}

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



.l-inner,.l-header {
	margin: 0 auto;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 599px) {
		.l-inner,.l-header {
			width: 100%;
		}
	}

	/* -- >>> styles for medium layout ----- */
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.l-inner,.l-header {
			width: 100%;
			max-width: 1000px;
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 960px) {
		.l-inner,.l-header {
			width: 1000px;
		}
	}




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

	.l-contents {
	}

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

		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 600px) and (max-width: 959px) {
			.l-contents {
			}
		}

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


		/* [ main contents ]
		------------------------------ */
		.l-main {
			padding: 20px;
			background: #FFF;
		}

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

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 600px) and (max-width: 959px) {
				.l-main {
				}
			}

			/* -- >>> styles for wide layout ----- */
			@media screen and (min-width: 960px) {
				.l-main {
					float: left;
					width: 710px;/*750*/
				}
			}

		.l-article {
			margin: 0 auto 20px;
		}

			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 599px) {
				.l-article {
					padding: 0;
				}
			}

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 600px) and (max-width: 959px) {
				.l-article {
					padding: 0;
				}
			}

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

		.l-section {
		}

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

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 600px) and (max-width: 959px) {
				.l-section {
				}
			}

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


		/* [ navigation ]
		------------------------------ */
		.l-nav {
			background: #09A159;
		}

		.navList {
			background: #09A159;
		}

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

				.l-nav {
					position: absolute;
					top: 60px;
					z-index: 10;
					width: 100%;
				}

				.l-nav .navHandler {
					display: block;
				}
			}

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 600px) and (max-width: 959px) {
				.l-nav {
					display: block !important;
				}
			}

			/* -- >>> styles for wide layout ----- */
			@media screen and (min-width: 960px) {
				.l-nav {
					display: block !important;
					float: right;
					width: 210px;/*230*/
					padding:20px 10px;
				}
			}


	/** =1-3
	 * sidepanel
	 * ----------------------------------
	 */

	.l-sidepanel {
	}

	.l-sidepanel li a {
		display: block;
		padding: 5px;
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 599px) {
			.l-sidepanel {
				position: fixed;
				top: 0;
				right: -250px;
				z-index: -10;
				overflow-y: auto;
				width: 250px;
				height: 100%;
				background: #09A159;
				-moz-transition: all 300ms ease-in-out;
				-webkit-transition: all 300ms ease-in-out;
				transition: all 300ms ease-in-out;
			}

			.is-panelopened .l-sidepanel {
				display: block;
				z-index: 1;
				right: 0;
			}

			.l-sidepanel .navHandler {
				position: static;
			}
		}

		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 600px) and (max-width: 959px) {
			.l-sidepanel {
				display: none;
			}
		}

		/* -- >>> styles for wide layout ----- */
		@media screen and (min-width: 960px) {
			.l-sidepanel {
				display: none;
			}
		}


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

	.l-footer {
		width: 100%;
		height: 100px;
		background: #EBEBEB;
	}

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

		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 600px) and (max-width: 959px) {
			.l-footer {
			}
		}

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



/** =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 medium layout ----- */
	@media screen and (min-width: 600px) and (max-width: 959px) {
		#js-breakpointChecker .medium {
			display: block;
		}
	}

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