@charset "utf-8";
/*----------------------------------------------------
	共通
----------------------------------------------------*/

body {
	-webkit-text-size-adjust: 100%;
	font-size:62.5%;
	line-height: 1;
	background: #fff;
	color: #111;
	font-family: "Noto Sans Japanese","Lucida Sans Unicode", "Lucida Grande", "sans-serif";
}

/*----------------------------------------------------
	#contents（メインとサイド）
----------------------------------------------------*/
#contents {
 /zoom: 1;
	width:100%;
	position:relative;
	overflow:hidden;
}

@media screen and (max-width: 768px) {
#contents {
	padding-top: 65px;
}
}

/*----------------------------------------------------
	#main（メインコンテンツ）
----------------------------------------------------*/

/*トップページ*/

.maintop{
	position: relative;
	text-align: center;
	margin: 0 auto;
}
.maintop img{
	width: 100%;
}

.catch01{
	left:0;
	right:0;
	top:52%;
	text-align:center;
	position:absolute;
	z-index:100;
  opacity: 0; 
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); 
	margin: auto;
	max-width: 200px;
}	
.catch01{
	width:20%;
}
.catch01 {
  -webkit-animation: example 0.5s ease 0.5s 1 forwards;
  animation: example 0.5s ease 0.5s 1 forwards;
}


@-webkit-keyframes example {
  100% {
    opacity: 1;
  }
}
@keyframes example {
  100% {
    opacity: 1;
  }
}


.pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	clear: both;
	margin:0;
	z-index:999;
	display:none;
	width: 50px;
	height: 50px;
}


/* CONTENTS
----------------------------------------------------*/

.c_inner {
	width: 100%;
	max-width: 1360px;
	padding: 0 20px;
	height: 100%;
	margin: 0 auto;
	text-align: left;
	position:relative;
}

section h2{
	font-size: 2.8em;
	font-weight: 200;
	line-height: 1.8em;
	margin: 20px auto;
	padding-top: 50px;
	text-align: left;
}
section h2 span{
	font-size: 0.6em;
}
#concept{
	padding: 0 0 30px;
}

#concept .txtbox{
	font-size: 1.8em;
	letter-spacing: 0.1em;
	line-height: 2.0em;
	font-weight: 300;
	background: rgba(246,246,246,0.8);
	padding: 30px 120px;
	text-align: left;
	display: inline-block;
	position: relative;
	z-index: 2;
	margin: 180px auto 60px 0;
}
#concept .imgbox{
	position: absolute;
	top: 100px;
	right: 0;
	z-index: 1;
}

#products{
	background: #f6f6f6;
}
#products .ProductsFlex{
	display:-ms-flexbox;/*--- IE10 ---*/
	display:flex;
	-ms-flex-pack:center;/*--- IE10 ---*/
	justify-content:center;
	-ms-flex-align:center;/*--- IE10 ---*/
	align-items: center;
	-ms-flex-wrap:wrap;/*--- IE10 ---*/
	flex-wrap:wrap;
	padding: 60px 0;
}
#products .ProductsFlex .item{
	width: 25%;
	text-align: center;
	padding: 10px;
}
#products .ProductsFlex .item a{
	display: block;
	text-decoration: none;
	color: #111;
-webkit-transition: opacity 0.5s ease-out;
-moz-transition: opacity 0.5s ease-out;
-ms-transition: opacity 0.5s ease-out;
transition: opacity 0.5s ease-out;
}
#products .ProductsFlex .item a:hover{
opacity: .5;
-webkit-opacity: .5;
-moz-opacity: .5;
filter: alpha(opacity=50);	/* IE lt 8 */
-ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
#products .ProductsFlex .item h3{
	font-size: 2.2em;
	font-weight: 200;
	line-height: 1.8em;
	margin: 20px auto 0px;
}
#products .ProductsFlex .item h4.en{
	font-size: 1.4em;
	font-weight: 200;
	line-height: 1.6em;
	margin: 0px auto 50px;
}
#tradition{
	background: #e3e3e3;
}
#tradition p{
	font-size: 1.5em;
	letter-spacing: 0.05em;
	line-height: 3em;
	margin: 70px 10px 50px;
}
#tradition .w50{
	position: relative;
}
#tradition .btn{
	display:inline-block;
	background: #333333;
	position: absolute;
	bottom: 8%;
	right: 30px;
}
#tradition .btn a{
	padding: 5px 10px;
	color: #fff;
	font-size: 1.4em;
	letter-spacing: 0.05em;
	text-decoration: none;
}
#tradition .btn a{
position: relative;
display: inline-block;
padding: 10px 20px 10px 40px;
vertical-align: middle;
text-decoration: none;
}
#tradition .btn a::before,
#tradition .btn a::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "" ;
vertical-align: middle;
}

#tradition .btn a::before{
left: 7px;
width: 12px;
height: 12px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#tradition .btn:hover{
	background: #999999;
}
#contact{
	padding: 0 0 30px;
}
#contact p{
	font-size: 1.5em;
	letter-spacing: 0.05em;
	line-height: 1.8em;
	margin: 30px 10px;
}
#contact table{
	width: 98%;
	margin: 30px 1%;
	border-top:1px solid #e5e5e5;
}

#contact table th,
#contact table td{
	padding: 12px 10px;
	font-size: 1.5em;
	line-height: 1.6em;
	border-bottom:1px solid #e5e5e5;
	font-weight: 300;
}

#contact table th{
	border-right:2px solid #a41c15;
}
#contact table td .w80{
	width: 80%;
}

#contact .btn{
	text-align: center;
	margin: 30px auto 50px;
}
#contact .btn .arrow{
	padding: 8px 10px;
	color: #fff;
	font-size: 1.4em;
	letter-spacing: 0.05em;
	border: none;
}
#contact .btn .arrow{
position: relative;
display: inline-block;
padding: 12px 25px 12px 45px;
vertical-align: middle;
text-decoration: none;
	text-align: center;
	margin: 20px atuo;
	background: #333333;
}
#contact .btn .arrow::before,
#contact .btn .arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "" ;
vertical-align: middle;
}

#contact .btn .arrow::before{
left: 7px;
width: 12px;
height: 12px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#contact .btn .arrow:hover{
	background: #999999;
}


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

section h2{
	font-size: 2.6em;
	padding-top: 20px;
}	

#concept .txtbox{
	font-size: 1.7em;
	padding: 30px 80px;
	text-align: left;
	display: inline-block;
	position: relative;
	z-index: 2;
	margin: 180px auto 0px 0;
}	
#concept .imgbox{
	max-width: 80%;
}
	
#products .ProductsFlex{
	padding: 30px 0;
}
#products .ProductsFlex .item h3{
	font-size: 2.0em;
	margin: 10px auto 0px;
}
#products .ProductsFlex .item h4.en{
	font-size: 1.3em;
	margin: 0px auto 30px;
}

#tradition p{
	font-size: 1.5em;
	letter-spacing: 0.05em;
	line-height: 2.2em;
	margin: 30px 20px 30px 10px;
}
#tradition p br.pc{
	display: none;
}
#tradition .w50{
	position: relative;
}
#tradition .btn{
	display:inline-block;
	background: #333333;
	position: relative;
	bottom: inherit;
	right: inherit;
	margin: 10px;
}

#contact p{
	font-size: 1.4em;
	letter-spacing: 0.05em;
	line-height: 1.8em;
	margin: 30px 10px;
}
#contact table th,
#contact table td{
	font-size: 1.4em;
}
	
}
@media screen and (max-width: 768px) {
	
.catch01{
	width:20%;
}
	
#concept .txtbox{
	font-size: 1.5em;
	padding: 20px 60px;
	text-align: left;
	display: inline-block;
	position: relative;
	z-index: 2;
	margin: 140px auto 0px 0;
}	
	
#products .ProductsFlex .item{
	width: 50%;
	text-align: center;
	padding: 10px;
}
#products .ProductsFlex .item h3{
	font-size: 1.8em;
}
#products .ProductsFlex .item h4.en{
	font-size: 1.2em;
	margin: 0px auto 20px;
}

}

@media screen and (max-width: 520px) {
#concept .txtbox{
	font-size: 1.4em;
	padding: 10px 20px;
	text-align: left;
	display: inline-block;
	position: relative;
	z-index: 2;
	margin: 120px auto 0px 0;
}	
	
#contact table th,
#contact table td{
	width: 100%;
	display: block;
	margin: 0 auto;
	padding: 8px 10px;
}
#contact table th{
	border-right: none;
	border-bottom:2px solid #a41c15;
	background: #f3f3f3;
}
	
}
