*{
	box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
	.drawer-hamburger {
		width: 60px !important;
    	height: 50px !important;
    	padding-left: 15px !important;
	    padding-right: 15px !important;
	    padding-top: 30px !important;
	}

	header{
		height: 54px !important;
	}

	.header-left img{
		width: 40% !important;
		position: relative;
	}

	.header-left h1{
		padding-top: 10px !important;
		padding-bottom: 0;
	}

	.header-left p {
    	font-size: 8px !important;
    	position: absolute;
    	padding-left: 5px !important;
    	left:120px !important;
    	top:-15px !important;
	}

	.header-right{
		display: none;
	}

	.drawer{
		display: block !important;
	}

	.top-wrapper img{
		height: 350px;
		width: 100%;
		position: relative;
	}

	.top-wrapper p {
	    font-size: 18px;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%,-50%);
	    margin: 0;
	    padding: 20px 0;
	    color: #fff;
	    font-weight: bold;
	    border-bottom: 1px solid #fff;
	    border-top: 1px solid #fff;
	}

	.menu-works span{
  	position:relative;
 	display: inline-block;
}

.menu-works span:after{
 	content:"";
 	display: block;
 	position:absolute;
 	left: 0;
 	bottom: 0px;
 	width: 100%;
 	height: 1px;
 	background: #205736;
}

.menu-works span:before{
 	content:"";
 	display: block;
 	position:absolute;
 	left: 0;
 	bottom:-5px;
 	width: 100%;
 	height: 1px;
 	background: #205736;
}

.works-wrapper{
	padding: 35px 0 !important;
}

	.works-image{
		flex-direction:column;
	}

	.works-image-list img{
		width: 100%;
	}

	.works-image-list p{
		width: 100%;
		font-size: 13px;
		padding-top:0;
		padding-bottom: 15px;
	}

	.menu-works-eg{
		margin-bottom: 20px;
		font-size: 10px;
		margin-top: 5px;
	}

	.link-menu{
		width: 100%;
	}

	.works-link{
		text-align: center;
		border: 1px solid #205736;
	    padding: 20px;
	    font-size: 20px;
	    font-weight: bold;
	    display: block;
	    width: 100%;
	    margin-right: auto;
	    margin-left: auto;
	    text-align: center;
	    text-decoration: none;
	    position: relative;
	}

	.works-link:before {
	    content: "";
	    position: absolute;
	    right: 0;
	    bottom: 0;
	    width: 0;
	    height: 0;
	    border-style: solid;
	    border-width: 0 0 30px 30px;
	    border-color: transparent transparent #205736 transparent;
	}

	.concept-1{
		display: none;
		width: 100%;
	}

	.concept-2{
		width: 100% !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-left:0;
		margin-top: 5px !important;
		font-size: 18px;
	}

	.concept-3{
		display: block;
	}

	.concept-3 img{
		width: 100%;
	}

	.menu-concept{
		text-align: center;
		font-size: 30px;
	}

	.menu-concept-eg{
		text-align: center;
		font-size: 14px;
	}

	.concept-2 h3 {
    	font-size: 15px !important;
    	margin: 0px;
    }

    .menu-concept-jp{
    	font-size: 13px;
    }

    .concept-link{
		text-align: center;
		border: 1px solid #205736;
	    padding: 12px;
	    font-size: 13px;
	    font-weight: bold;
	    display: block;
	    width: 100%;
	    margin-right: auto;
	    margin-left: auto;
	    text-align: center;
	    text-decoration: none;
	    position: relative;
	}

	.concept-link:before {
	    content: "";
	    position: absolute;
	    right: 0;
	    bottom: 0;
	    width: 0;
	    height: 0;
	    border-style: solid;
	    border-width: 0 0 30px 30px;
	    border-color: transparent transparent #205736 transparent;
	}

	.menu-news{
		text-align: center;
		;
	}

	.news{
		float: none
	}

	.menu-news-eg{
		margin-bottom: 20px;
		font-size: 10px;
		margin-top: 5px;
	}

	.menu-news{
		font-size: 18px;
	}

	th{
		display: inline-block;
	}

	.foot-left{
		width: 100%;
		float: none;
		padding: 20px 0;
		border-bottom: 1px solid #e6eae8;
	}

	.foot-right{
		border-left: none;
		width: 100%;
		float: none;
	}

	footer{
		background-color: #e6eae8;
		padding-top: 20px !important;
		margin-top: 40px !important; 
	}

	.footer-wrapper{
		margin-top: 20px !important;
		height: 30px;
	}

	.footer-wrapper-left{
		display: none;
	}

	.footer-wrapper-right{
		font-size: 9px;
		float: none;
		text-align: center;
		padding-top: 9px;
	}

	.foot-left p{
		text-align: center;
		font-size: 13px;
	}

	.foot-left h1{
		text-align: center;
	}

	.foot-right h2{
		text-align: center;
		font-size: 20px !important;
	}

	.foot-right span{
		font-size: 11px;
	}

	.foot-right p{
		font-size: 13px;
	}

	.foot-left img{
		width: 50%;
	}

	.contact-link{
		text-align: center;
	}

	.foot-wrapper{
		margin-right: 10px !important;
		margin-left:10px !important;
		padding-left:10px !important;
		padding-right: 10px !important;
	}

	.foot-right{
		padding:20px 0;
	}

	table {
	    border-collapse: separate;
	    margin-top: 0;
	}

	th,td{
		display: block;
	}

	.news-list{
		margin-right: 20px;
		margin-left: 0 !important
	}

	.news-list th {
	    font-size: 13px;
	    font-weight: normal;
	    padding-bottom: 20px;
	}

	.news-list th span{
		font-size: 11px;
		padding: 0 15px;
		margin-left: 10px;
	}

	.news-list td {
    	padding-bottom: 20px !important;
    	padding-left: 0;
	}

	.news-wrapper {
    	padding-top: 40px !important;
	}

	.menu-works{
		font-size: 18px;
	}

	.works-link{
		padding: 12px;
		font-size: 13px;
		margin-top:15px !important;
		margin-bottom: 0 !important;
	}

	.concept-link{
		padding:10px;
	}

	.menu-concept{
		font-size: 18px !important;
	}

	.menu-concept-eg{
		font-size: 10px !important;
		margin-bottom: 20px;
	    margin-top: 5px;
	}

	.news-list td{
		font-size: 13px;
	}

	.news-list td{
		padding-bottom: 20px;
	}

	.news-list th{
		padding-bottom: 10px !important;
	}

	.menu-concept span{
	  	position:relative;
	 	display: inline-block;
	}

	.menu-concept span:after{
	 	content:"";
	 	display: block;
	 	position:absolute;
	 	left: 0;
	 	bottom: 0;
	 	width: 100%;
	 	height: 1px;
	 	background: #205736;
	}

	.menu-concept span:before{
	 	content:"";
	 	display: block;
	 	position:absolute;
	 	left: 0;
	 	bottom:-5px;
	 	width: 100%;
	 	height: 1px;
	 	background: #205736;
	}

	.menu-news span{
	  	position:relative;
	 	display: inline-block;
	}

	.menu-news span:after{
	 	content:"";
	 	display: block;
	 	position:absolute;
	 	left: 0;
	 	bottom: 0px;
	 	width: 100%;
	 	height: 1px;
	 	background: #205736;
	}

	.menu-news span:before{
	 	content:"";
	 	display: block;
	 	position:absolute;
	 	left: 0;
	 	bottom:-5px;
	 	width: 100%;
	 	height: 1px;
	 	background: #205736;
	}



	.fa-envelope {
	    position: absolute;
	    left: 10px;
	    top: 15px;
	}


}


@media only screen and (max-width: 500px) {
	.header-left img{
		width: 40% !important;
	}
}


@media only screen and (max-width: 1078px) {

	#local-nav li {
	    font-size:16px;
	    border-bottom:none;
	    padding-top: 10px;
	    padding-bottom: 10px;
	}

	#local-nav span {
	    font-size:16px;
	    border-bottom:none;
	    padding-top: 10px;
	    padding-bottom: 10px;
	    padding-left: 20px;
	}

	.drawer-hamburger {
		width: 80px;
    	height: 80px;
    	padding-left: 20px;
	    padding-right: 20px;
	    padding-top: 32px;
	}

	header{
		height: 80px;
	}

	.header-left img{
		width: 80%;
		position: relative;
	}

	.header-left h1{
		padding-top: 5px;
		padding-bottom: 0;
	}

	.header-left p {
    	font-size: 12px;
    	position: absolute;
    	padding-left: 5px;
    	left:220px;
    	top:-10px;
	}

	.top-wrapper p{
		font-size: 25px;
	}

	.drawer--right.drawer-open .drawer-nav {
	    right: 0 !important;
	    left: 50% !important;
	    opacity: 1;
	    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	    transition: 0.5s ease;
	    width: 100% !important;
	    margin-right: 10px;
	}

	.container{
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.drawer--right .drawer-hamburger{
		background-color: #205736;
	}

	.drawer-nav {
	    position: absolute !important;
	}

	.header-right{
		display: none;
	}

	.drawer-hamburger{
		display: block !important;
		top:0;
		right: 0;
	}

	.drawer--right .drawer-hamburger{
		right: 0 ;
	}
	

	table {
	    border-collapse: separate;
	}

	th,td{
		display: block;
	}

	.news-list{
		margin-right: 20px;
		margin-left: 20px;
	}

	.news-list th {
	    font-weight: normal;
	    padding-bottom: 20px;
	}

	.news-list td {
    	padding-bottom: 40px;
    	padding-left: 0;
	}

	.news-wrapper {
    	padding-top: 80px;
	}

	.works-wrapper {
    	padding: 40px 0;
	}

	.menu-concept{
		margin-top:0;
	}

	.concept-2 p{
		margin-bottom: 20px;
	}

	.concept-2 h3{
		font-size: 23px;
	}

	.concept-2{
		width: 40%;
	}

	.works-link{
		margin-top: 0;
		margin-bottom: 40px;
	}

	footer{
		margin-top: 60px;
		padding-top: 40px;
	}

	.footer-wrapper{
		margin-top: 40px;
	}

	.tel h2{
		font-size: 24px;
	}

}


@media only screen and (max-width: 1124px) {
	.tel {
		    margin-top: 15px;
		    text-align: center;
		    padding-top: 10px !important;
		    padding-bottom: 10px !important;
		    font-size: 15px !important;
		    position: relative;
		    width: 100%;
		}

}
