@charset "utf-8";
/* CSS Document */

*{
	margin:0;
	padding:0;
}
body{
	text-align:center;
	margin:0 auto;
	padding:0px;
	font-size:16px;
	line-height:150%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp{
	clear:both;
}
.smp_1024 {
	display: none;
}
.smp_640 {
	display: none;
}
object,img {
	vertical-align:bottom;
	border:0;
	padding:0;
	margin:0;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
iframe {
	width: 100%;
}
.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */
.clearfix:after {
   content: ".";
   display: block;
   clear: both;
   height: 0;
   visibility: hidden;
}
p{
	padding-bottom: 5px;
	text-align:left;

}
h1 {
}
h2 {
	padding-bottom: 7px;
	text-align: left;
	border-bottom: 1px dotted #000;
}
#top-page h2 {
	margin-bottom: 20px;
}
/*color*/
.ft_green{
	color:#090;
}
.ft_blue{
	color:#00C;
}
.img_left{
	float:left;
	margin-right:10px;
}
.img_right{
	float:right;
	margin-left:10px;
}
/*layout*/
#wrap{
	width: 100%;
	margin:0 auto;
	padding:0;
	text-align:center;
}
.head{
	height:34px;
	width:100%;
	margin:auto;
	text-align:left;
}
header {
	margin: 0 auto;
	max-width: 960px;
}
#navi{
	height:24px;
	width:100%;
	margin:auto;
	text-align:center;
	margin-top:15px;
}
#navi ul{
	margin:0 auto;
	padding:0;
	width:960px;
	clear:both;
}
#navi ul li {
	margin:0;
	padding:0;
	display:inline;
	list-style-type:none;
	float:left;
}
#container{
	width: 100%;
	max-width:960px;
	margin:auto;
	padding:0;
	margin-top:15px;
}
.contents-outer {
	margin: 0 auto;
	width: 98%;
}
.page_top{
	display:block;
	text-align:right;
	padding:0px 5px;
	margin-top:3px;
	margin-bottom: 15px;
}
#footer{
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
	border-top:1px dotted #333;
}
#footer .left{
	float:left;
	padding-left:3px;
	margin-top:15px;
	width: 100%;
	max-width:530px;
}
#footer .right{
	float:right;
	padding-right:3px;
	text-align:right;
	margin-top:15px;
	width:340px;
	font-size: 75%;
}
#footer .right img{
	margin:0px 3px;
}
#news{
	width:560px;
	float:right;
	text-align:left;
}
#news .top{
	padding-bottom:15px;
}
#news .nbox{
	margin:10px 0px;
}
#news dl{
	margin:0 auto;
	padding:0;
	clear:both;
}
#news dt{
	width:160px;
	float:left;
	clear:left;
	padding-left:35px;
	margin:0;
	line-height:37px;
	background-image:url(img/news_bg.gif);
	background-position: 0 -40px;
	background-repeat:no-repeat;
}
#news dt:first-child{
	background-position: 0 0;
}
#news dd{
	float:left;
	width:310px;
	margin:0;
	padding:0;
	line-height:37px;
	overflow:hidden;
}
#news dd a{
	color:#096;
}
#news dd a:hover{
	color:#F60;
}
#top_image{
	float:left;
	width:330px;
}
.more{
	display:block;
	text-align:right;
	margin-top:5px;
}
h2.title_example {
	background-image: url(img/top_example_subtitle.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}
#sekou_box{
	margin:auto;
	padding:0;
	margin-top:15px;
}
#sekou_box p{
	margin:5px;
}
#sekou_box dl{
	width:180px;
	margin:5px 30px;
	padding:0;
	float:left;
	min-height: 245px;
}
* html #sekou_box dl{
	margin:10px 20px;
} /*IE6以下*/
#sekou_box dt{
	margin-bottom:5px;
}
#sekou_box dd{
	text-align:left;
}
#sekou_box dd .subj{
	display:block;
	background-image:url(img/s_arrow.gif);
	background-position:left !important;
	background-repeat:no-repeat;
	padding-left:22px;
	text-align:left !important;
	font-size: 90%;
}
.tb_box{
	margin:15px;
}
.tb_box img{
	margin-bottom:7px;
}
/*sub*/
#contents-outer {
	padding:15px 25px;
}
body.sub h2{
	margin:0;
	padding:0;
	padding-top: 40px;
	padding-bottom: 10px;
	background-image: url(./img/border-slash.png);
	background-repeat: repeat-x;
	background-position: 0 0;
}
body.sub  h3{
	font-size:140%;
	display:block;
	text-align:left;
	margin-top:50px;
	margin-bottom:10px;
	padding:0;
}
body.sub  h3{
	font-size:140%;
	display:block;
	text-align:left;
	margin-bottom:10px;
	padding:0;
}
#info{
	margin:auto;
	margin-top:60px;
	clear:both;
}
#info .left{
	width:530px;
	float:left;
	text-align:left;
	padding-left:3px;
}
#info .right{
	float:right;
	width:360px;
	text-align:center;
}
#info .right img{
	margin-bottom:12px;
}
#info .left h3 {
	margin-top: 0;
}
#info table{
	border:none;
	background-color:#FFFFFF;
	border-collapse: separate;
	border-spacing:0;
	margin:auto;;
	text-align:left;
}
#info table th,#info table td{
	padding:5px;
	border-width: 0 0 0px 0px;
	text-align:left;
	font-size:15px;
	margin:3px 0px;
}
#info table th{
	font-weight:normal;
	padding:5px 5px 5px 0px;
	width: 25%;
	vertical-align: top;
}
#info table th.t02{
	background-color:#E2FEC5;
}
#info table .b_no{
	border-bottom:none;
}
#staff,#works{
	margin:auto;
	clear:both;
	padding:10px 0px;
}
#staff .left01{
	float:left;
	width:620px;
	text-align:left;
}
#staff .right01{
	float:right;
	width:240px;
}
#staff .left02{
	float:left;
	width:240px;
}
#staff .right02{
	float:right;
	width:620px;
	text-align:left;
	padding-right:15px;
}
#staff .name{
	padding-bottom:10px;
	background-image:url(staff/name_bottom.gif);
	background-position:left bottom;
	background-repeat:repeat-x;
	font-size:28px;
	font-weight:bold;
	color:#333;
	margin-bottom:10px;
	margin-top:10px;
}
#staff .name span{
	font-size:12px;
	color:#444;
	display:inline-block;
	padding:10px 0px 0px 5px;
	font-weight:normal;
}
#staff p{
	padding:10px 8px;
	font-size: 85%;
	line-height: 130%;
}
#staff .sikaku{
	border:1px solid #DDD;
	margin:7px 0px;
	padding:5px 7px;
	color:#666;
}
#staff .sikaku span{
	display:inline;
	padding:5px 30px 5px 14px;
	border-left:5px solid #CCC;
}
.staff_box{
	margin:auto;
	margin:10px auto 20px auto;
	padding-bottom:10px;
	border:1px solid #AAA;
	clear:both;
	padding:10px;
	width: 885px;
}
.staff_boxes {
	margin: 0 auto;
	list-style-type: none;
	width: 910px;
}
#staff .staff_box p{
	line-height:180%;
	font-size: 95%;
}
.staff_box02,.staff_box03{
	margin:auto;
	margin:10px 0px 20px 0px;
	padding-bottom:10px;
	border:1px solid #AAA;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding:10px;
	width:292px;
	float:left;
}
.staff_box03{
	margin:10px 0px 20px 15px;
}
.staff_box04{
	/*margin:10px 0px 20px 15px;*/
	margin: 10px auto 20px auto;
	width:600px;
	text-align:center;
	/*float:left;*/
}
.staff_box04 img{
	margin-top:40px;
}
.staff_ar{
	display:inline-block;
	background-image:url(img/arrow01.gif);
	background-position:left;
	background-repeat:no-repeat;
	padding-left:12px;
	color:#090;
}
.tijisyo{
	margin-bottom:15px;
}
.tijisyo img{
	border:1px solid #999;
}
#works h3{
	margin:0;
	padding:0;
	background-image:url(works/title_bottom.gif);
	background-position:left bottom;
	background-repeat:repeat-x;
	padding-bottom:10px;
	font-size:16px;
}
#works p{
	padding:10px 0px;
}
#works .q_tit{
	color:#003;
	margin:10px 0px;
	padding:10px 0px;
}
body.sub .p_tit{
	display:block;
	text-align:left;
	padding-bottom:10px;
	border-bottom:1px dotted #666;
	font-weight:bold;
	margin:15px 0px;
}
#works .img_left{
	float:left;
	padding-right:15px;
}
.b_top{
	border-top:1px dotted #999;
	margin-top:15px;
	padding-top:15px !important;
}
.fadein { position:relative; height:330px; width:330px; }
.fadein img { position:absolute; left:0; top:0; }

.img-meeting {
	max-width: 480px;
	height: auto;
	width: 100%;
}
@media screen and (max-width: 1024px){
	.pc_1024 {
		display: none !important;
	}
	.smp_1024 {
		display: inherit;
	}
	#footer .left {
		margin: 0 auto;
		margin-top: 15px;
		width: 98%;
		word-break: break-all;
	}
	#footer .right {
		margin: 0 auto;
		margin-top: 15px;
		width: 98%;
		text-align: left;
	}
	#wrap {
		margin-top: 70px;
	}
	#top-page #container {
		width: 98%;
}
	#top-page h2 {
		width: 100%;
	}
	#top_image {
		width: auto;
		float: none;
	}
	.fadein {
		margin: 0 auto;
		width: 100%;
		max-width: 330px;
		height: auto;
		float: none;
		height: 330px;
		overflow: hidden;
		text-align: center;
	}
	.fadein img {
		width: inherit;
		overflow: hidden;
	}
	#top_image .smp_1024 {

	}
	#news {
		width: 100%;
	}
	#news dt {
		max-width: inherit;
	}
	#news dd {;
		max-width: inherit;
	}
	.list-examples {
		text-align: left;
		vertical-align: top;
	}
	.list-examples dl {
		display: inline-block;
		float: none !important;
		vertical-align: top;
	}
	#sekou_box dl {
		margin: 5px 20px;
		min-height: inherit;
	}
	/***sub***/
	#info .left {
		padding: 0;
		width: 100%;
		float: none;
	}
	#info table {
		margin: 0 auto;
		width: 98%;
	}
	#info .right {
		margin: 0 auto;
		width: 100%;
	}
	.staff_box {
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
		padding: 10px 0;
		width: 98%;
	}
	#news dl {
		font-size: 115%;
	}
	#staff .left02 {
		width: auto;
	}
}
@media screen and (max-width: 930px){
	.list-examples {
		margin: 0 auto;
		max-width: 672px;
	}
	#staff .left02,
	#staff .right02 {
		margin: 0 auto;
		float: none;
}
	#staff .right02 {
		margin: 0 auto;
		padding: 0 10px;
		width: auto;
	}
	.staff_boxes {
		margin: 0 auto;
		width: 100%;
		display: block;
		letter-spacing: -0.6em;
		list-style-type: none;
		text-align: left;
	}
	.staff_boxes > * {
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
		list-style-type: none;
		text-align: center;
	}
	.staff_boxes br.sp {
		display: none;
	}
	.staff_box02,
	.staff_box03 {
		margin: 0 1%;
		margin-bottom: 15px;
		padding: 10px 0;
		width: 48%;
		display: inline-block;
		float: none;
	}
	#staff .staff_box02 p,
	#staff .staff_box03 p {
		line-height: 1.5em;
	}
	.staff_box04 {
		width: 98%;
	}
	.staff_box04 img {
		margin: 0;
	}
}
@media screen and (max-width: 768px){
	
	
}
@media screen and (max-width: 700px){
	.list-examples {
		max-width: 447px;
		text-align: center;
	}
}
@media screen and (max-width: 640px){
	.pc_640 {
		display: none !important;
	}
	.smp_640 {
		display: inherit;
	}
	#news dl {
		overflow: hidden;
	}
	#news dt {
		padding-left: 25px;
	}
	#news dd {
		padding-left: 30px;
	}
	
	#info table th {
		padding: 0;
		display: block;
		width: 100%;
	}
	#info table td {
		padding: 0;
		padding-bottom: 15px;
		display: block;
		width: 100%;
	}
	.staff_box02,
	.staff_box03 {
		width: 98%;
		height: auto !important;
		display: block;
	}
	#works .img_left {
		float: none;
		padding: 0;
		padding-bottom: 15px;
	}
	p.b_top img {
		margin: 0 auto;
		display: block;
	}
	img.reform02_smp {
		margin: 0 auto;
		display: block;
	}
}
@media screen and (max-width: 480px){
.list-examples {
	display: block;
	letter-spacing: -0.6em;
	list-style-type: none;
}
#sekou_box dl{
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
	*display: inline;  
	*zoom: 1;
	width:50%;
	box-sizing:border-box;
	margin:0;
	padding:5px 15px;
}
}
@media screen and (max-width: 470px){
	.list-examples {
		
	}
}
@media screen and (max-width: 1px){}

