@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: 767px) {
	}

	/* -- >>> styles for medium layout ----- */
	@media screen and (min-width: 768px) and (max-width: 1199px) {
	}

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



.l-inner {
	margin-right: auto;
	margin-left: auto;
}

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

	/* -- >>> styles for medium layout ----- */
	@media screen and (min-width: 768px) and (max-width: 1199px) {
		.l-inner {
			width: 100%;
			max-width: 1050px;
			/* padding-right: 40px;
			padding-left: 40px;
			-webkit-box-sizing: border-box;
			box-sizing: border-box; */
		}
	}

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





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

	.l-header {
		position: relative;
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 767px) {
			.l-header {
				padding: 20px 5%;
			}
		}

		/* -- >>> styles for medium & wide layout ----- */
		@media screen and (min-width: 768px) {
			.l-header {
				padding: 40px;
			}
		}
		
		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 768px) and (max-width: 1199px) {
		}

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


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

	.l-contents {
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 767px) {
			.l-contents {
				padding-bottom: 40px;
			}
		}
		/* -- >>> styles for medium & wide layout ----- */
		@media screen and (min-width: 768px) {
			.l-contents {
				padding-bottom: 70px;
			}
		}
		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 768px) and (max-width: 1199px) {
		}

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


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

			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 767px) {
				.l-main {
					margin-bottom: 90px;
				}
			}
			/* -- >>> styles for medium & wide layout ----- */
			@media screen and (min-width: 768px) {
				.l-main {
					margin-bottom: 140px;
				}
			}
			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 768px) and (max-width: 1199px) {
			}

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

		.l-article {}

			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 767px) {
			}
	
			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 768px) and (max-width: 1199px) {
			}
	
			/* -- >>> styles for wide layout ----- */
			@media screen and (min-width: 1200px) {
			}

		.l-section {}

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

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 768px) and (max-width: 1199px) {
			}

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


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

			/* -- >>> styles for narrow layout ----- */
			@media screen and (max-width: 767px) {
				.l-nav {
					display: none;
					position: fixed;
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
					z-index: 100;
				}
			}

			/* -- >>> styles for medium & wide layout ----- */
			@media screen and (min-width: 768px) {
				.l-nav {
					display: block !important;
					opacity: 1 !important;
					float: right;
				}
				
			}

			/* -- >>> styles for medium layout ----- */
			@media screen and (min-width: 768px) and (max-width: 1199px) {
			}

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


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

	.l-footer {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
	}

		/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 767px) {
			.l-footer {
				padding-right: 5%;
				padding-bottom: 20px;
				padding-left: 5%;
			}
		}
		/* -- >>> styles for medium & wide layout ----- */
		@media screen and (min-width: 768px) {
			.l-footer {
				padding-right: 40px;
				padding-bottom: 50px;
				padding-left: 40px;
			}
		}

		/* -- >>> styles for medium layout ----- */
		@media screen and (min-width: 768px) and (max-width: 1199px) {
		}

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



/** =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: 767px) {
		#js-breakpointChecker .narrow {
			display: block;
		}
	}

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

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