@charset "utf-8";


/* layout =============================================================
======================================================================== */


/* =====================================================================

	container
	
======================================================================== */


	.l-container-1920,
	.l-container-pc,
	.l-container {
		margin-right: auto;
		margin-left: auto;
		}
	.l-container-1920:before, .l-container-1920:after,
	.l-container-pc:before, .l-container-pc:after,
	.l-container:before, .l-container:after {
		display: table;
		content: " ";
		}
	.l-container-1920:after,
	.l-container-pc:after,
	.l-container:after {
		clear: both;
		}


	@media print, screen and (min-width: 1920px) {
		.l-container-1920 {
			max-width: 1920px;
			width: 100%;
			}
	}
	@media print, screen and (min-width: 768px) {
		.l-container-1920 {
			min-width: 1100px;
			}
		.l-container-pc,
		.l-container {
			width: 1100px;
			padding-left: 50px;
			padding-right: 50px;
			box-sizing: border-box;
			}
			.l-minWidth {
				min-width: 1100px;
				}
		.l-wrap {
			width: 100%;
			min-width: 1100px;
			position: relative;
			z-index: 10;
			background-color: #fff;
			}
		.l-main {
			float: left;
			width: 650px;
			}
		.l-sub {
			float: right;
			width: 300px;
			margin-bottom: 5.0rem;
			}
		
	}
	@media (max-width: 767px) {
		.l-container-pc {
			width: 100%;
			}
		.l-container {
			width: 92%;
			}
		.l-wrap {
			width: 100%;
			position: relative;
			z-index: 10;
			background-color: #fff;
			}
		.l-sub {
			margin-top: 4.0rem;
			}
		.l-contentbox {
			padding-left: 4%;
			padding-right: 4%;
			}

	}






/* =====================================================================

	header
	
======================================================================== */

.l-header {
	width: 100%;
	box-sizing:	border-box;
	background-color: #fff;
	position: relative;
	z-index: 100;
	}
.l-header a {
	text-decoration: none !important;
	}
		.l-header::after {
			position: absolute;
			content: url(../img/common/bg_shadowbottom.png);
			left: 50%;
			margin-left: -668px;
			bottom: -13px;
			line-height: 0;
			}


	@media print, screen and (min-width: 768px) {


		/* l-header */
		.l-header {
			width: 100%;
  			height: 80px;
			text-align: center;
			}
			.l-header::before {
				position: absolute;
				content: url(../img/common/bg_shadowtop.png);
				left: 50%;
				margin-left: -668px;
				top: -11px;
				line-height: 0;
				}

		/* not home  */
		.l-page .l-header {
			position: fixed;
			top: 0px;
			left: 0;
			z-index: 900;
			}

		/* only home */
		.l-home .l-header::before {
				position: absolute;
				content: url(../img/common/bg_shadowtop.png);
				left: 50%;
				margin-left: -668px;
				top: -11px;
				}
		.l-home .l-hlogomark {
			display: none;
			}
		.l-header-fix {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 100;
			width: 100%;
			transition: .3s;
			transform: translateY(-200%);
			}
		.l-header-fix .l-hlogomark {
			display: inline-block;
			}
		.l-header-fix  .l-header::before {
				top: 0px;
				}
		.is-show {
			transform: translateY(0);
			}





		/* hlogo */
		.l-header h1 {
			position: absolute;
			top: 13px;
			left: 20px;
			width: 300px;
			}


		/* Navi */
		.l-header nav {
			display: inline-block;
			margin: 0 auto;
			}


		/* l-hnav */
		.l-hnav > li {
			display: inline;
			padding: 0 10px;
			}
			.l-hnav > li a {
				display: inline-block;
				width: 100%;
				padding: 30px 3px 3px 3px;
				color: #190C01;
				font-weight: bold;
				text-decoration: none;
				box-sizing: border-box;
				border-bottom: solid 3px #fff;
				}
			.l-hnav > li a:hover {
				cursor: pointer;
				border-bottom: solid 3px #669900;
				}
			.l-hnav > li a.active {
				color: #669900;
				border-bottom: solid 3px #669900;
				}

	}
	@media (max-width: 1200px) {
		/* Navi */
		.l-header nav {
			padding-left: 60px;
			}
	}
	@media (max-width: 767px) {
		.l-header {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 100;
			height: 50px;
			text-align: left;
			}
		.l-header h1 {
			height: 50px;
			margin-top: 2px;
			margin-left: 15px;
			}
		.l-header h1 img {
			height: 45px;
			}
		.l-hnav02,
		.l-hnav {
			display: none;
			}
	}


/* sp-menu >>> */

	@media print, screen and (min-width: 768px) {
		#slide-menu,
		#button-close,
		#button-open {
			display: none;
			}
	}
	@media (max-width: 767px) {
		/* slide-menu */
		#button-open {
			position: fixed;
			top: 0;
			right: 0px;
			width: 50px;
			height: 50px;
			z-index: 1100;
			}
	
		#button-close {
			float: right;
			width: 50px;
			height: 50px;
			}
		
		#slide-menu{
			position: fixed;
			top: 0;
			right: -300px;
			width: 300px;
			height: 100vh;
			background: rgba(102,153,0,0.9);
			z-index: 1110;
			}
	
		.sp-hnav {
			margin-top: 50px;
			border-top: #d3d3d3 solid 1px;
			}
			.sp-hnav li{
				width: 100%;
				border-bottom: #d3d3d3 solid 1px;
				}
			.sp-hnav li a{
				display: inline-block;
				width: 100%;
				box-sizing: border-box;
				padding: 15px 20px;
				color: #fff;
				font-size: 1.6rem;
				}
	}



/* <<< sp-menu */




/* =====================================================================

	article
	
======================================================================== */


	.l-article {
		position: relative;
		word-break: break-all;
		}
	.l-home .l-article {
		background-color: #fff;
		}
	@media print, screen and (min-width: 768px) {
		.l-page .l-article {
			padding-bottom: 100px;
			}
	}
	@media (max-width: 767px) {
	}




/* =====================================================================

	Section
	
======================================================================== */


	@media print, screen and (min-width: 768px) {
		.l-section {
			padding-top: 90px;
			padding-bottom: 90px;
			}
		.l-section-t {
			padding-top: 90px;
			}
		.l-section-b {
			padding-bottom: 90px;
			}
	}

	@media (max-width: 767px) {
		.l-section {
			padding-top: 30px;
			padding-bottom: 30px;
			}
		.l-section-t {
			padding-top: 30px;
			}
		.l-section-b {
			padding-bottom: 30px;
			}
	}







/* =====================================================================

	footer
	
======================================================================== */

	.l-footer {
		clear: both;
		color: #fff;
		text-align: center;
		background-color: #669900;
		position: relative;
		overflow: hidden;
		}
		.l-footer::after {
			position: absolute;
			content: url(../img/common/bg_shadowbottom.png);
			left: 50%;
			margin-left: -668px;
			top: 0px;
			line-height: 0;
			}
	@media print, screen and (min-width: 768px) {
		.l-footer {
			padding: 85px 0 100px 0;
			}
		.l-copyright {
			padding-top: 85px;
			font-size: 1.4rem
			}
	}
	@media (max-width: 767px) {
		.l-footer {
			padding: 45px 0 10px 0;
			}
		.l-footer h1 {
			margin-right: auto;
			margin-left: auto;
			width: 60%;
			max-width: 397px;
			}
		.l-copyright {
			padding-top: 100px;
			}
	}




	/* pagetop contact tel */
	.l-pagetop {
		position: fixed;
		z-index: 100;
		pointer-events: none;
		opacity: 0;
		transition: all .7s;
		}
		.l-pagetop-on {
			opacity: 1;
			pointer-events: auto;
			}
	@media print, screen and (min-width: 768px) {
		.l-pagetop {
			width: 85px;
			}
		.l-pagetop img {
			width: 85px;
			}
			.l-pagetop a:hover img {
				opacity:1;
				filter: alpha(opacity=100);
				-ms-filter: "alpha( opacity=100 )";
				 -webkit-filter: brightness(1.2);
				 -moz-filter: brightness(1.2);
				 -o-filter: brightness(1.2);
				 -ms-filter: brightness(1.2);
				 filter: brightness(1.2);
				}	
		.l-contactBtn {
			position: fixed;
			z-index: 100;
			right: 0;
			top: 100px;
			}
		.l-contact-f,
		.l-tel-f {
			display: none;
			}
	}
	@media (max-width: 767px) {
		.l-pagetop {
			left: 0px;
			width: 100%;
			margin: 0;
			/*padding-bottom:env(safe-area-inset-bottom);*/
			}
		.l-pagetop a {
			}
			.l-pagetop a:hover:after,
			.l-pagetop a:active:after,
			.l-pagetop a:focus:after{
				display: none;
				}
		.l-pagetop > * {
			width: 70px;
			margin-bottom: 0;
			}
		.l-contactBtn {
			display: none;
			}

	}



