@charset "UTF-8";/**/
/*================================================

 ================================================*/
 @media screen and (max-width:979px) {

#inner {
	width:100%;
}

#contents {/**/
	box-sizing:border-box;
	width:100%;
	padding:0 10px;
}

footer {
	width:100%;
}
}



/*================================================
width="300px"で2枚並べた場合コラム落ちするのを防ぐため
 ================================================*/
@media screen and (max-width:978px) {
	.photo {
	margin-right:0;
	}

.photo img {
	display:block;
	box-sizing:border-box;
	width:100%;
	float:none;
	margin-right:0;
	margin-bottom:10px;
	}   
	}


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

 ================================================*/
@media screen and (max-width:767px) {
	.lock {
	overflow:hidden;
	}
	header {
	z-index:2;
	box-sizing:border-box;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	padding:15px 10px;
	}
/* summary */
	.summary {
	position:relative;
	top:auto;
	right:auto;
	margin-top:-10px;
	padding:10px;
	}
	.bsummary {
	display:block; width:70%;  
	padding:10px;

}

/* main sub */
	#main {
	float:none;
	width:100%;
	}

	#sub {
	float:none;
	width:100%;
	}
/*================================================
 *  class
 ================================================*/
.col_two_one ul {
	margin-right:0;
	margin:2% 4%; 0 4%;
	font-size:110%;
	}
.col_two_one li {
	width:100%;
	}
.col_two_one li:nth-child(2n+1) {
	clear:both;
	}
.col_three_one ul {
	margin-right:0;
	}
	
.col_three_one li {
	width:100%;
	}
	
.col_three_one li:nth-child(2n+1) {
	clear:both;
	}	

/*========= 003=========*/

.photo {
	margin-right:0;
	}

.photo img {
	display:block;
	box-sizing:border-box;
	width:100%;
	float:none;
	margin-right:0;
	margin-bottom:10px;
	}   
	
.catalog {
	margin-right:-2%;
	}
	
.catalog li {
	float:left;
	width:23%;
	margin:0 2% 2% 0;
	}

.catalog li img {
	width:100%;
	}
 

.service {
	margin-right:0;
	}
.service li {
	list-style:none;
	float:left;
	width:100%;
	margin:0 2% 10px 0;
	}
.service li img {
	display:block;
	box-sizing:border-box;
	width:100%;
	float:none;
	margin-right:0;
	margin-bottom:10px;
	}

.staff {
	margin:10px -3% 0 0;
}
.staff div {
	float:left;
	width:100%;
	margin-right:2%;
}
.staff div img {
	width:97%;
	margin-bottom:10px;
}

.staff2 {
	margin:10px -3% 0 0;
}
.staff2 div {
	float:left;
	width:100%;
	margin-right:2%;
}
.staff2 div img {
	width:97%;
	margin-bottom:10px;
}


.bnr2_left {
	float:left;
	margin-top:5px;
}
.bnr2_right {
	float:right;
		margin-top:-5px;
}	
.bnr2 img {
	width:49%;
}	

/*==========================================
 *  table
 ==========================================*/
table {
width:95%;
margin: 0 auto;
margin-bottom:1em;
border-collapse:collapse; 
border:0px solid black;
background:;  /*whitesmoke*/
}
 	.mailform { /* ?????*/
width:100%;
margin: 0 auto;
background:;  /*whitesmoke*/
border:0px solid blue;
}
	tr {
width:100%;
background:;
border:0px solid black;
background:;
}
	th{
width: 100%;
display: block;
border:1px solid gray;
background:gainsboro; /**/
}
	td {
width: 100%;
display: block;
border:1px solid gray;
background:whitesmoke; /**/
}
	table select{
padding:5px;
font-size:1em;
width:50%;
}
	#demo01 table {
width: 90%; border:none; padding: 10px;}
	#demo01 thead {
display: none;}
	#demo01 tr {
display: block;
margin-bottom: 20px;
border-top: 1px solid #4f4d47;
}
	#demo01 td {
display: block;
text-align: center;
border-right: 1px solid #4f4d47;
border-bottom: none;
padding: 2px;
}

	#demo01 td:nth-of-type(1) {
background-color: gray; 
text-align: center; 
color: #fff;
}
	#demo01 td:last-child {
border-bottom:1px solid #4f4d47;
}
	#demo01 td:before {
color:#4f4d47;
display: block;
background-color:#f5f3ec;
}

/*================================================
 * inqtable
 ================================================*/
	table {
margin-bottom:1em;
border-collapse:collapse; 
border:0px solid black;
background:#f5f5f5;
}
	.mailform {
width:100%;
margin: 0 auto;
background:#f5f5f5;
border:0px solid gray;
}
	tr {
width:100%;
background:#fff;	
border:0px solid black;
	}
	
	th{
width: 95%;
display: block;
background:#f5f5f5;
border:1px solid gray;
    }
    
	td {
width: 95%;
display: block;
border:1px solid gray;
    }
       
	table select{
padding:5px;
font-size:1em;
width:50%;
}

/*================================================
 *  contact
 ================================================*/
	    .contact {
        position:relative;
        float:left;
        padding:5px;
        margin-left:0px;
        margin-bottom:0px
    }
    
    	    .contactb {
    }

	    .translation {
        position:relative;
        float:left;
        padding:5px;
        margin-left:0px;
        margin-bottom:0px
    }
/*================================================
 *  topNavi
 ================================================*/
.topNavi {
	margin-right:0;
}
.topNaviColumn {
	display:block;
box-sizing:border-box;
	width:100%;
	float:none;
	margin-right:0;
	margin-bottom:10px;
}
   
  /*1*/
  .topNavi1 {
	margin-right:0;
}

.topNaviColumn1 {
	display:block;
	box-sizing:border-box;
	width:100%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}
   
/*2*/
.topNavi2 {
	margin-right:0;
}

.topNaviColumn2 {
	display:block;
	box-sizing:border-box;
	width:48%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}

/* 4*/
.topNavi4 {
	margin-right:0;
}

.topNaviColumn4 {
	display:block;
	box-sizing:border-box;
	width:48%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}

.topNaviPhoto4 img {
	width:100%;
}

/*3*/
.topNavi3 {
	margin-right:0;
}

.topNaviColumn3 {
	display:block;
	box-sizing:border-box;
	width:48%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}

.topNaviPhoto3 img {
	width:100%;
}

/*5*/
.topNavi5 {
	margin-left:0%;
}

.topNaviColumn5 {
	margin: 0 auto;
	display:block;
	box-sizing:border-box;
	width:31%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}

.topNaviPhoto5 img {
	width:100%;
}

}

 /*6*/
  .topNavi6 {
	margin-right:0;
}

.topNaviColumn6 {
	display:block;
	box-sizing:border-box;
	width:100%;
	float:left;
	margin-right:1%;
	margin-left:1%;
	margin-bottom:10px;
}

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

===============================================*/
@media screen and (max-width:640px){
.logo img{
	margin-top:50px;
}
/*==========================================
 *  table
 ==========================================*/
 	table {
		width: 95%;
    }

	table th,
	table td {
		width: 100%;
		display: block;
}
	table select{
		padding:5px;
		font-size:1em;
		width:40%;
}

	td .cell {
		padding:5px;
		font-size:1em;
		width:90%;
}

	 header img {
	width:90%;
}

/*================================================
 *  inqtable
 ================================================*/
.mailform { 
	width:100%;
	margin: 0 auto;
}

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

===============================================*/
@media screen and (max-width:480px){

#contents {
	margin-top:100px;
	font-size:12px;
}

header {
	margin-bottom:-15px;
	}
	
.bsummary {
	display:block; width:90%;  
	padding:10px;

}
/*
.logo{
	display:none;
}
	
.logo img{
	width:100%; 
}
	
.logosp{
	display:block;
	margin-bottom:20px;
}
	
.logosp img{
	width:; 
}
*/

h2 {
	font-size:18px;
}

h3 {
	font-size:14px;
}

/*==============================================
 *  table
 ==============================================*/
 table {
        width: 90%;
    }

table th, table td {
	width: 100%;
	display: block;
    }

table select{
        	padding:5px;
	font-size:1em;
	width:40%;
}

td .cell {
	padding:5px;
	font-size:1em;
	width:90%;
}

/*================================================
 *  inqtable
 ================================================*/
.mailform {
	width:100%;
	margin: 0 auto;
}	
 /*================================================
 *  slide
 ================================================*/
 .slide {
display: none;
}	
	}