*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body{
	font-size: 20px !important;
}

@keyframes fadeIn {
  0% {opacity: 0.1}
  100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
  0% {opacity: 0.1}
  100% {opacity: 1}
}
a{font: #000;}
.wrapper{width:100%;
	min-height: 100vh;
	position: relative;/*←相対位置*/
	padding-bottom: 2rem;/*←footerの高さ*/
	box-sizing:border-box; }

/* メインメニュー
----------------------------*/
.header{
  padding: 0.0rem 5rem 0;
  width: 100%;
	z-index: 20;
	background: #fff;
	height:3rem;
	font-size: 1rem;
	position:fixed;
}
.menu{
	width: 100%;
	background: #fff;
	height:3rem;
	font-size: 1rem;
	display: flex;
	justify-content: space-between;
}
.company_logo{
  font-size: 1.2rem;
	margin-top:10px;
	min-width: 6rem;
}
.company_logo img{
  width: 150px;
}
.company_logo a{
	color: #000;
	text-decoration: none;
}
.gnav_menu{
	padding: 0rem;
	margin:1.5rem 0 0 0;
	width:550px;
	display: flex;
	background: #fff;
}

.gnav_menu_item{
  margin: 0rem 1.5rem 0 0;
  font-size:1rem;
	line-height:0rem;
	padding: 0;
}
.gnav_menu_item a{
  color: #000;
  text-decoration: none;
	background: #fff;
}
.gnav_menu_item a:hover, .gnav_menu_item a:active, .gnav_menu_item a:focus { color: #888888; }*/
/* メインメニュー　SNS
----------------------------*/
.gnav_menu_item_icon{
  margin-left: 1.5rem;
	line-height:2rem;
}
.gnav_menu_item_icon img{
  height: 1.2rem;
  width: 1.2rem;
}
/* メインメニュー　言語
----------------------------*/
#lang{
  margin-left: 1.5rem;
  font-size:1rem;
  line-height:2rem;}
#lang a{
  color: #333;
  text-decoration: none;
}
#lang input[type="radio"]{
  display    : none;
}
#lang label{
  display    : inline-block;
  padding    : 0px;
	margin-left: 0.6rem;
	font-size:1rem;
}
#lang .langCng{
	font-family: sans-serif;
}
#lang input[type="radio"]:checked + label {
}
.top-bar .langbuttons a {
	padding    : 0px;
	margin-left: 0.6rem;
	font-size:1rem;
	color:#999;
	cursor: pointer;
	font-family: sans-serif;
}
.top-bar .langbuttons a.on {
	color: #000;
	}
/* footer
----------------------------*/
footer{
	background: #fff;
	padding: 1rem 0rem;
	bottom:0px;
	width:100%;
	z-index:100;
	position: absolute;
  bottom: 0;
}
.copyright{
	color: #000;
	font-size: 0.8rem;
	text-align: center;
}

/* 共通　
----------------------------*/
main{
	font-size: 20px;
}
.content{
	background: #fff;
	padding: 8rem;
	width: 100%;
	font-size: 20px;
	margin:0 auto 2rem;
	z-index:10;
}
.container{
	background: #fff;
	display: flex;
	justify-content: center;
}
.content a{
	text-decoration: none;
	color:#000;
}
.container_flex{
	background: #fff;
}
.title{
	background: #fff;
	font-size:1.2rem;
  line-height:2rem;
	font-weight: bold;
	max-width: 52rem;
	margin:0 auto 1rem;
}
.flex_contents{
	background: #fff;
	font-size:18px;
	font-size:1rem;
  line-height:1.8rem;
	max-width: 52rem;
	padding-left: 3rem;
	margin:0 auto 1rem;
}

.flex_contents h3{
	font-weight: normal;
	color:red;
	margin-bottom: 0;
}
.flex_contents a:hover{
	text-decoration: underline;
}
.title_main{
	background: #fff;
	font-size:1.5rem;
  line-height:2rem;
	font-weight: bold;
	max-width: 52rem;
	margin:0 auto 1rem;
}
.main_content{
	background: #fff;
	font-size:18px;
	font-size:1rem;
  line-height:1.8rem;
	max-width: 50rem;
	padding-left: 2rem;
	margin:0 auto 1rem;
	display: flex;
}
.main_img{
	margin:0 0rem 2rem 0rem;
	max-width: 25rem;
	padding:0;
}
img.main_img {
	 height:500px;
 }
.sub_content{
	margin-left:2rem;
	width:25rem;
}
.sub_titile{
	font-weight: bold;
	min-width: 5rem;
	display: flex;
}
.sub_titile a{
	text-decoration: underline;
}
.sub_main{
	margin-bottom:1rem;
}
.sub_main img{
	vertical-align: baseline;
	width:180px;
}

.caution{
	width:100%;
	font-size:1.5rem;
  line-height:2rem;
	text-align: center;
}
/* index works
----------------------------*/
#content_works{
	z-index: 5;
	padding: 8rem 5rem 2rem;
	width: 100%;
	max-width:1200px;
	margin:0 auto 3rem;
	font:#000;
}
.item{
	position: relative;
	overflow: hidden;
}
/*.item:hover .hover {
	display: inline;
	opacity: 1;
	font:#000;
}
.hover{
	z-index: 10;
  position: absolute;
  padding: 5px;
  background-color: rgba(255, 255, 255, 0.55);
	width: 100%;
  height: 100%;
	top: 0;
  left: 0;
	cursor: pointer;
	-webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
}
.hover a:link{
	font:#000;
}
.hover a:visited{
	font:#000;
}
.hover p{
	position: absolute;
	bottom:8px;
	right:5px;
	font-size:1rem;
	font-weight:bolder;
	line-height: 1.4rem;
	font:#000;
	margin:0 3px 0;
}
.hover:after{
  content: "";
  position: absolute;
}
a .hover {
	color:#000;
	text-decoration: none;
}*/

/* news
----------------------------*/
.container_news{
	background: #fff;
	justify-content: center;
	display: flex;
	max-width: 52rem;
	margin:0 auto 0;
}
.news_date{
	background: #fff;
	font-size:1rem;
  line-height:1.8rem;
	min-width: 8rem;
	margin:0 auto 1rem;
}
.news_item{
	background: #fff;
	font-size:1rem;
	margin-left:2rem;
  line-height:1.8rem;
	width: 42rem;
	margin:0 0 1rem;
}


/* archive
----------------------------*/
.title2{
	background: #fff;
	font-size:1.2rem;
	font-weight: bold;
	max-width: 52rem;
	margin:0 auto 1rem;
}
.flex_contents2{
	background: #fff;
	font-size:18px;
	font-size:1rem;
  line-height:1.3rem;
	max-width: 52rem;
	padding-left: 3rem;
	margin:0 auto 1rem;
	display: flex;
}
.sub_titile2{
	font-weight: normal;
	font-size:1rem;
  line-height:1.3rem;
	width: 7rem;
}
.sub_main2{
	font-weight: normal;
	font-size:1rem;
  line-height:1.3rem;
	width:45rem;
}
/* contact contact form
----------------------------*/
.item_form{
	background: #fff;
	font-size:1rem;
  line-height:2rem;
	margin-left:2rem;
	width: 46rem;
}
.flex_contents h4{
	background: #fff;
	font-size:0.8rem;
	font-weight: normal;
	text-align: left;
	line-height:1.2rem;
	margin-bottom: 0.8rem;
	margin-left: 0;
}
.flex_contents h2{
	background: #fff;
	font-size:1rem;
  line-height:2rem;
	margin-bottom: 1rem;
	width:100%;
	font-weight: normal;;
}
#formWrap {
	width:40rem;
	margin:0 auto;
	font-size:1rem;
  line-height:2rem;
}
.form{
	width:46rem;
	margin: 0 auto;
	font-size:1rem;
	line-height:2rem;
}
.form_list{
	width:46rem;
	margin:0 auto;
	display: flex;
	justify-content: left;
}
.form_li1{
	min-width:10rem;
	margin-bottom: 0.6rem;
}
.form_li3{
	width:32rem;
	font-weight:normal;
	text-align:left;
	margin-bottom: 0.6rem;
}
.error p{
	font-weight:normal;
	font-size:0.8rem;
	text-align:left;
	margin-bottom: 0.3rem;
	color:#dc143c;
}

input[type="text"], input[type="tel"],input[type="email"],textarea {
	width:100%;
	padding:5px;
	display:block;
	font-size:0.8rem;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:30%;
	height:30px;
	margin:1rem auto 0;}
.formSubmitRow__submit{
	text-align: center;
}
.btnStyle1{
  background:#ddd;
  color:#000;
  width:200px;
  display:block;
	margin-left: auto;
	margin-right: auto;
	font-size:0.8rem;
  padding:7px;
  border:none;
  border-radius: 5px;
}

/*モバイル ----------------------------*/
@media(max-width: 1024px)
{
	.header{
	  display: flex;
	  padding: 0rem 0.5rem 0;
	  justify-content: space-between;
	  width: 100%;
		z-index: 20;
		background: #fff;
		height:3rem;
		font-size: 1rem;
		position:fixed;
	}
	.company_logo img{
	  width: 100px;
	}
	.gnav_menu_item{
	  margin: 0 1rem 0 0;
	  font-size:1rem;
		line-height:0rem;
		padding: 0;
	}
 /*  */
	.content{
		background: #fff;
		padding: 8rem 2rem 0;
		width: 100%;
		font-size: 20px;
		margin:0 auto 0rem;
		z-index:10;
	}
	.container_flex{
		background: #fff;
		max-width: 90%;
		margin:0 auto 0rem;
	}
	.title{
		padding:0;
		background: #fff;
		font-size:1.2rem;
	  line-height:2rem;
		font-weight: bold;
		max-width: 52rem;
		margin:0 auto 1rem;
	}
	.flex_contents{
		background: #fff;
		font-size:1rem;
	  line-height:1.8rem;
		max-width: 52rem;
		margin:0 auto 1rem;
	}
	.title_main{
		background: #fff;
		font-size:1.2rem;
	  line-height:2rem;
		font-weight: bold;
		max-width: 52rem;
		margin:0 auto 1rem;
	}
	.main_content{
		background: #fff;
		font-size:1rem;
	  line-height:1.8rem;
		max-width: 52rem;
		margin:0 auto 1rem;
		display: flex;
	}
 img.main_img {
		height:350px;
	}
	.sub_main img{
		vertical-align: baseline;
		width:150px;
	}
	/* news
	----------------------------*/
	.container_news{
		background: #fff;
		display: flex;
		max-width: 90%;
		margin:0 auto 0;
	}
	.news_date{
		background: #fff;
		font-size:1rem;
	  line-height:1.8rem;
		min-width: 8rem;
		margin:0 auto 1rem;
	}
	.news_item{
		background: #fff;
		font-size:1rem;
		margin-left:2rem;
	  line-height:1.8rem;
		margin:0 0 1rem;
	}
	/* contact contact form
	----------------------------*/
	.item_form{
		background: #fff;
		font-size:1rem;
	  line-height:2rem;
		margin-left:2rem;
		width: 90%;
	}
	#formWrap {
		width:100%;
		margin:0 auto;
		font-size:1rem;
	  line-height:2rem;
	}
	.flex_contents h4{
		background: #fff;
		font-size:1rem;
		font-weight: normal;
		text-align: left;
		line-height:1.2rem;
		margin-bottom: 1rem;
		margin-left: 0;
	}
	.flex_contents h2{
		background: #fff;
		font-size:0.9rem;
	  line-height:2rem;
		margin-bottom: 0.2rem;
	}
	.form{
		margin: 0 auto;
		font-size:1rem;
		line-height:2rem;
	}
	.form_list{
		width:100%;
		margin:0 auto;
		display:flex;;
	}
	.form_li1{
		min-width:8rem;
		margin-bottom: 0.2rem;
	}
	.form_li3{
		width:70%;
		font-weight:normal;
		text-align:left;
		margin-bottom: 0.6rem;
	}
	.error p{
		font-weight:normal;
		font-size:0.8rem;
		text-align:left;
		margin-bottom: 0.3rem;
		color:#dc143c;
	}
	input[type="text"], input[type="tel"],input[type="email"],textarea {
		width:80%;
		padding:5px;
		display:block;
		font-size:0.8rem;
	}
	input[type="submit"], input[type="reset"], input[type="button"] {
		width:70%;
		height:30px;
		margin:0 auto 0;
		margin-left:0;
	}
	.btnStyle1{
	  background:#ddd;
	  color:#000;
	  width:200px;
	  display:block;
	  margin-top:5px;
		margin-left:100px;;
		margin-right:auto;
		margin-bottom:5px;
	  font-size:0.8rem;
	  padding:7px;
	  border:none;
	  border-radius: 5px;
	}
	/* works article
	----------------------------*/
	.content_works{
		z-index: 5;
		padding: 8rem 0;
		width: 100%;
		margin:0 0 3rem;
	}
}

/*モバイル ----------------------------*/
@media(max-width: 768px)
{
		.gnav_menu{display: none;}
		/* メインメニュー
		----------------------------*/
		.header{
			position: static !important;
		  background: #fff;
			display:block;
			padding:0;
		  width: 100% !important;
			height:3rem;
			margin:0 auto;
			padding: 0rem 0.5rem 0;
		}
		.company_logo{
		  height: 3rem;
		  width: 100px;
		  font-size: 0.8rem;
			line-height: 2rem;
			margin-left:0;
			padding-left: 0.5rem;
			text-decoration: none;
		}
		.company_logo a{
			color: #000;
			text-decoration: none;
			font-size: 1.3rem;
			font-weight: normal;
		}
		/* 共通　----------------------------*/
		.content{
			background: #fff;
			width: 100%;
			margin-bottom:1rem;
			padding:3rem 0 0;
		}
		.container_flex{
			background: #fff;
			width: 90%;
			margin:0 auto 0rem;;
		}
		.title{
			padding:0;
			width: 100%;
			margin:0 auto 1rem;
			background: #eee;
			font-size:1rem;；
	  	line-height:1.5rem;
			font-weight: bold;
			padding:0;
		}
		.flex_contents{
			background: #fff;
			font-size:0.9rem;；
	  	line-height:1.5rem;
			width: 100%;
			margin:0 0 0 0rem;
			padding:0;
		}
		.title_main{
			background: #fff;
			font-size:1.2rem;
		  line-height:1.6rem;
			font-weight: bold;
			margin:0 auto 1rem;
			width: 100%;
		}
		.main_content{
			background: #fff;
			font-size:1rem;；
	  	line-height:1.5rem;
			width: 90%;
			padding-left: 0rem;
			margin:0 auto 1rem;
			display: block;
		}
	 img.main_img {
			max-width:100%;
			margin:0 auto 0rem;
		}
		.sub_content{
			margin-left:0rem;
			margin-bottom: 2rem;
			font-size:0.9rem;
	  	line-height:1.5rem;
		}
		.sub_titile{
			font-weight: bold;
			font-size:0.9rem;
	  	line-height:1.5rem;
			margin-bottom:0.2rem;
		}
		.sub_main{
			margin-bottom:1rem;
			font-size:0.9rem;
	  	line-height:1.5rem;
		}
		img.main_img{
		margin:0 auto  1rem;
		max-width: 100%;
		}

	/* news----------------------------*/
		.container_news{
			background: #fff;
			width: 100%;
			margin:0 1rem 0;
			display:flex;
			flex-direction: column;
		}
		.news_date{
			background: #fff;
			font-size:0.9rem;
	  	line-height:1.2rem;
			width: 100%;
			margin:0 auto 0.5rem;
		}
		.news_item{
			background: #fff;
			font-size:0.9rem;
	  	line-height:1.2rem;
			width: 90%;
			margin:0 0 1rem 1rem;
	}

	.title{
		padding:0;
		width: 100%;
		margin:0 auto 1rem;
		background: #eee;
		font-size:1rem;；
		line-height:1.5rem;
		font-weight: bold;
		padding:0;
	}
		.title2{
  	 background: #efefef;
		 width: 100%;
		 font-size:1rem;
		 font-weight: bold;
		 line-height:1.4rem;
		 max-width: 52rem;
		 margin:0 auto 1rem;
		}
		.flex_contents2{
			background: #fff;
			font-size:0.9rem;；
	  	line-height:1.5rem;
			width: 100%;
			margin:0 0 0 0rem;
			padding:0;
		}
		.sub_titile2{
			font-weight: normal;
			font-size:0.9rem;
	  	line-height:1.4rem;
			margin-bottom:0.3rem;
			margin-left:0rem;
			min-width:4.5rem;
		}
		.sub_main2{
			margin-bottom:1rem;
			font-size:0.9rem;
	  	line-height:1.4rem;
			margin-bottom:0.3rem;
		}
		/* contact contact form----------------------------*/
		.item_form{
			width: 90%;
			margin:0 auto;
			font-size:0.9rem;
		  line-height:1.2rem;
		}
		#formWrap {
			width: 100%;
			margin:0 auto;
			font-size:0.9rem;
		  line-height:1.2rem;
		}
		#formWrap p{
			width: 100%;
			background: #fff;
			font-size:0.9rem;
		  line-height:1.2rem;
			margin-bottom: 0.5rem;
		}
		.form{
			width: 100%;
			margin: 0 auto;
		}
		.form_list{
			width: 100%;
			margin:0 auto 5px;
			flex-direction:row;
			flex-wrap: wrap;
		}
		.form_li1{
			min-width: 50%;
			margin-bottom: 8px;
			font-size:0.9rem;
			font-weight: normal;
		}
		.form_li3{
			font-size:0.9rem;
			width: 100%;
			margin-bottom: 15px;
			margin-left:0;
		}
		.error p{
			font-weight:normal;
			font-size:0.8rem;
			text-align:left;
			margin-bottom: 0.4rem;
			color:#dc143c;
		}
		input[type="text"], input[type="tel"],input[type="email"],textarea {
			width:100%;
			padding:5px;
			display:block;
			margin-bottom: 0.2rem;
		}
		input[type="submit"], input[type="reset"], input[type="button"] {
			display:block;
			width:80%;
			height:30px;
			margin:1rem auto ;
		}
		.btnStyle1{
			background:#ddd;
			color:#000;
			width:200px;
			display:block;
			margin:5px auto;
			font-size:0.8rem;
			padding:7px;
			border:none;
			border-radius: 5px;
		}

}


/*--IEのみ--*/
_:-ms-lang(x)::-ms-backdrop, .container_flex {margin-top:5rem;}
_:-ms-lang(x)::-ms-backdrop, .container_news {margin-top:5rem;}


.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}
.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}
@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}
 @media (max-width:767px){.hidden-xs{display:none!important}}
@media (min-width:768px) and (max-width:1199px){.hidden-md{display:none!important}}
@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}
