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

/*----------------- 追加css（PC） -------------------*/
@media screen and (min-width: 1024px){
.flex {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between; /*均等に間隔をあける*/
}
.flex img{
  align-self: flex-start;
}
.speakbg {
	width: 100%;
	padding: 70px 0px;
	background-color: #F3F3F3;
}
.speakbg .name {
	margin: 0px auto 40px;
	width: 950px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 1rem 0;
	font-size: 1.4rem;
	font-weight: bold;
}
.speakbg .name img {
	width: 180px;
	margin: 0px auto;
	display: block;
}
 .urdoc_name img {
	width: 130px!important;
 }


.speakbox {
	margin: 0px auto;
	width: 950px;
}
.tdleft {
	width: 27%;
	font-weight: bold;
	vertical-align: top;
}
.speakbg .speakbox.flex .text {
	width: 52%;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.8em;	
}
.speakbox.flex .text .coment {
	display: block;
	margin-top: 20px;
}
.speakbg .speakbox.flex img {
	width: 40%;
	display: block;
}
.honten_map {
	max-width: 950px;
	margin: 5rem auto 1rem;
}
.honten_map p {
	text-align: left;
	font-size: 16px;
}
.honten_map i {
	text-align: left;
	color: #fac500;
}
.honten_map img {
	width: 100%;
}
}
/*----------------- 追加css（PC） -------------------*/



/*----------------- 追加css（tb） -------------------*/
@media screen and (max-width: 1024px){
.flex {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between; /*均等に間隔をあける*/
}
.flex img{
  align-self: flex-start;
}
.speakbg {
	width: 100%;
	padding: 50px 0px;
	background-color: #F3F3F3;
}
.speakbg .name {
	margin: 0px auto 40px;
	width: 90%;
	border-top: 1px solid #000;
	padding: 1rem 0;
	border-bottom: 1px solid #000;
	font-size: 2rem;
	font-weight: bold;
}
.speakbg .name img {
	width: 180px;
	margin: 0px auto;
	display: block;
}
.speakbox {
	margin: 0px auto;
	width: 90%;
}
.tdleft {
	width: 27%;
	font-weight: bold;
	vertical-align: top;
}
.speakbg .speakbox.flex .text {
	width: 57%;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.7em;	
}
.speakbox.flex .text .coment {
	display: block;
	margin-top: 20px;
	text-align: left;
}
.speakbg .speakbox.flex img {
	width: 37%;
	display: block;
}
}
/*----------------- 追加css（tb） -------------------*/


/*----------------- 追加css（SP） -------------------*/
@media screen and (max-width:767px){

.speakbg {
	width: 100%;
	padding: 40px 0px;
	background-color: #F3F3F3;
}
.speakbg .name {
	margin: 0px auto 15px;
	width: 90%;
	border-top: 1px solid #000;
	padding: 5px 0px;
	border-bottom: 1px solid #000;
	line-height: 1.5;
  font-size: 25px;
}
.speakbg .name img {
	width: 135px;
	margin: 0px auto;
	display: block;
}
.speakbox {
	margin: 0px auto;
	width: 90%;
}
.tdleft {
	width: 35%;
	font-weight: bold;
	vertical-align: top;
}
.speakbg .speakbox.flex .text {
	width: 100%;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.7em;
}
.speakbox.flex .text .coment {
	display: block;
	margin: 20px 0px 20px;
}
.speakbg .speakbox.flex img {
	width: 100%;
	display: block;	
}
.honten_map {
	max-width:90%;
	margin: 3rem auto 1rem;
}
.honten_map p {
	text-align: left;
	font-size: 16px;
}
.honten_map i {
	text-align: left;
	color: #fac500;
}
.honten_map img {
	width: 100%;
}
}	
/*----------------- 追加css（SP） -------------------*/



.CI_p .list-mv02 {
	height:650px!important;
}
.CI_p2 .list-mv02 {
	height:580px!important;

}
#mainContainer h2{
	background-image: url(images/pagetitle.png);
	background-repeat: no-repeat;
	background-position: left top;
	height: 200px;
	overflow: hidden;
}

/* ���g======================================================================================================== */
#mainContainer #topCopy{
	margin: 0 0 2rem;
	height:500px;
	text-align:center;
}

#mainContainer #com_btn{
	display: block;
	float: none;
	clear: both;
	margin: 90px 0 40px;
}

#mainContainer #com_btn ul{
}

#mainContainer #com_btn li{
	display: block;
	float: left;
	width: 240px;
	margin: 0 0 10px;
	height:145px;
}

#mainContainer #com_btn li a{
	background-image: url(images/com_btn.png);
	background-repeat: no-repeat;
	background-position: left top;
	float: left;
	height: 100px;
	width: 225px;
	overflow: hidden;
	display: block;
	margin: 0 0 5px;
}

#mainContainer #com_btn li#greeting a{ 		background-position: left top; }
#mainContainer #com_btn li#philosophy a{ 	background-position: -225px top; }
#mainContainer #com_btn li#outline a{ 		background-position: -450px top; }
#mainContainer #com_btn li#history a{ 		background-position: -675px top; }
#mainContainer #com_btn li#staff a{ 		background-position: -900px top; }
#mainContainer #com_btn li#recruit a{ 		background-position: -1125px top; }

#mainContainer #com_btn li#greeting a:hover{ 		background-position: left -100px; }
#mainContainer #com_btn li#philosophy a:hover{ 		background-position: -225px -100px; }
#mainContainer #com_btn li#outline a:hover{ 		background-position: -450px -100px; }
#mainContainer #com_btn li#history a:hover{ 		background-position: -675px -100px; }
#mainContainer #com_btn li#staff a:hover{ 			background-position: -900px -100px; }
#mainContainer #com_btn li#recruit a:hover{ 		background-position: -1125px -100px; }

#mainContainer #com_btn li p{
	font-size: 10px;
	line-height: 1.5em;
	text-align: left;
	display: block;
	margin: 0 auto;
	width: 210px;
}

#mainContainer #other_btn{
	margin: 0 0 40px;
	padding-top:20px;
}

#mainContainer #other_btn dl{
	float: left;
	width: 230px;
	display: block;
}

#mainContainer #other_btn dl#media{
	width: 220px;
}

#mainContainer #other_btn dl dt{
	margin: 0 0 5px;
}

#mainContainer #other_btn dl dt a{
	background-repeat: no-repeat;
	background-position: left top;
	display: block;
	height: 170px;
	width: 220px;
	overflow: hidden;
}

#mainContainer #other_btn dl#eco dt a{ 		background-image: url(images/other_btn-eco.png); }
#mainContainer #other_btn dl#chiiki dt a{ 	background-image: url(images/other_btn-chiiki.png); }
#mainContainer #other_btn dl#media dt a{ 	background-image: url(images/other_btn-media.png); }

#mainContainer #other_btn dl dt a:hover{
	background-position: left -170px;
}

#mainContainer #other_btn dl dd{
	width: 220px;
}

#mainContainer #contact_btn{
	padding-top:20px;
}

#mainContainer #contact_btn div{
	width: 320px;
}

#mainContainer #contact_btn div#nandemo{ 	float: left; }
#mainContainer #contact_btn div#faq{ 		float: right; }

#mainContainer #contact_btn div a{
	background-image: url(images/contact_btn.png);
	background-repeat: no-repeat;
	background-position: left top;
	display: block;
	height: 105px;
	width: 320px;
	text-decoration: none;
}

#mainContainer #contact_btn div a:hover{
	color: #846D54;
}

#mainContainer #contact_btn div#nandemo a{ 	background-position: left top; }
#mainContainer #contact_btn div#faq a{ 		background-position: right top; }

#mainContainer #contact_btn div#nandemo a:hover{ 	background-position: left -105px; }
#mainContainer #contact_btn div#faq a:hover{ 		background-position: right -105px; }

#mainContainer #contact_btn a em{
	display: block;
	height: 50px;
	overflow: hidden;
}

#mainContainer #contact_btn a strong{
	display: block;
	padding: 0 20px 0 20px;
	font-size: 10px;
	line-height: 1.5em;
}

#mainContainer a {
	color:#000000;
	text-decoration:underline;}
#mainContainer a:hover {
	color:#FCC600;}




/* ���g======================================================================================================== */
.fadeout{
  opacity: 0;
  transition: 0.15s ease-in-out;
  -webkit-transition: 0.55s ease-in-out;
}
.fadein{
  opacity: 1;
  transition: 1s ease-in-out;
  -webkit-transition: 1s ease-in-out;
}




/****��ЊT�v******/

#topicPath {
	text-align: left;
}

.kigyou_nav li a:hover{
	opacity:.6;
}


/*会社概要*/
/*table.normal th, table.normal td{
	border:solid #fff 1px;	
}*/ 
.CI1, .CI2{
	width: 100%;
    height: 649px;
    /* margin-top: -300px; */
    margin-bottom: 70px;
    background-color: #fdfff9;}
.CI_l img{
	height:33.3333333%;
	margin:0px;
	margin-right:-117px;
}

.CI_c table{
	margin:30px auto 0;
}
.CI_c h3 span{
	font-size:25px;
}




.CI_c h4{
	margin:60px auto 0;
	width:50%;
}

th{
	font-weight:700;
	width:105px;
	
}

.CI_r img{
	/*opacity:0.5;*/
	margin-left:0;
	width:100%;
	/*margin-top:35%;*/
	height:85%;
}


.modelhouse a img:hover{
	opacity:.8;
}
.CI3 {
}

.hashimoto_comname td {
	position: relative;
	height: 1.2;
	left: -110px;
	display: block;
	margin: 3rem 0;
	font-size: 1.6rem;
	font-weight: bold;
}

.EG_l {
	width:30%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.EG_l img {
	width: 100%;
}
.EG_l_none img {
	visibility :hidden;	
	width: 100%;
}
.EG_l_none{
width: 20%;
}
.EG_c {
	width: 950px;
	margin: auto;
	padding: 2rem 0;
}
.EG_c img{
  width: 30%;
}
.building_img {	
	width:100%;	
	text-align: right;
}



.EG_c h3{
 /*  position: absolute;
    top: 5rem;
    left: 5rem;*/
    margin: 3rem 3rem 0;
}

.EG_c table{
    /*position: absolute;
    top: 7rem;
    left: 5rem;*/
    margin: 3rem;
}

.aboutus {
	background: #fdfff9;
}
.aboutus .speakbox.flex .text {
	width: 70%;
}
.aboutus .speakbox.flex img {
	width: 100%;
	align-self: center;
}

.aboutus th {
	width: 163px;
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: #f5f5f5;
	font-weight: 400;
	vertical-align: middle;
}
.aboutus td {
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: white;
	border-bottom: solid #ddd 1px;
}
/*---------------------------------------------------------------------------*/
@media screen and ( max-width:479px ) {
	.CI_title {
		font-size: 20px;
		margin: 0 0 2rem;
	}
	#mainContainer #topCopy{
		margin: 0 0 2rem;
		height:350px;
		text-align:center;
	}
	.aboutus .speakbox.flex .text {
    width: 100%;
	}
	.aboutus tr {
		display: flex;
    flex-wrap: wrap;
	}
	.aboutus th,
	.aboutus td {
		width: 100%;
		display: block;
	}
	
.contentpage{
	height:950px;
	background-color:#fff;
	overflow: hidden;
	width:100%;
}
.pkg {
    display: block;
    width: 95%;
    margin: auto;
}
	
h3{
	font-size: .9rem;
    text-align: center;
}
	
#emphasis{
  font-size :25px;
}
.EG_c table {
    margin: 1rem 3rem;
}	
	
	
#mainContainer #topCopy h3{
	margin: 0 0 10px;
	line-height: 38px;
}
#mainContainer #topCopy p{
	line-height: 1.8;
	margin-top: 20px;
	font-size: 14px;
}
#com_btn_dummy{
    background-repeat: no-repeat;
    background-position: left top;
    overflow: hidden;
    background-size: 100%;
	margin-top:50px;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}
	
.kigyou_nav{
}

.kigyou_nav li{
}
.kigyou_nav li img{
	width:100%;
}
/*
.CI1, .CI2 {
	height:auto;
	}	


	
	
.CI_l{
	display:none;
}
	
.CI_c{
	background-color:#fdfff9; 
	width:80%;
	margin:auto;
	text-align:left;
	color:#595656;
	position:relative;
}
.CI_c h3{
	margin:40px auto 0;
	width:auto;
	margin-right:auto;
}

.CI_p{
	background-color:#fdfff9; 
	width:100%;
    background-image: url(images/CI_p.png);
    background-size: 100%;
	background-repeat: no-repeat;
	height:100px;
}
.CI_p2 {
	background-color:#fdfff9; 
	width:100%;
    background-image: url(images/CI_p2.png);
    background-size: 100%;
	background-repeat: no-repeat;
	height:100px;
}

.CI_r{
	width:90%;
	height:645px;
	margin:auto;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
}
.CI_c .list-mv02{
	display:none;	
	}	
.mob_p{
	position: absolute;
    right: -20px;
    top: -20px;	
	width:24%;
	}	
	
.guide{
	font-size: 18px;
    margin: 30px auto -30px;
    text-align: left;
    width: 80%;
    color: #595656;
    font-weight: bold;
	}
	
	
.modelhouse{
	display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    width: 90%;
    height: 100px;
    margin: auto;
	}
*/
.modelhouse img{
	width:100%;
}

/**/
.CI3 {
    display: block;

}

.EG_l {
	width:100%;
	margin: 1rem 0 0 ;
}
.EG_l img, .EG_l_none img {
	display: none;
}
.EG_l_none{
width: 100%;
}
.EG_c {
	width:100%;
}
.EG_c img{
	position: relative;
    margin: 0 0 0 8rem!important;
    margin: 10px 5rem;
}
.EG_c h3, .EG_c table{
	position: relative;
	top: 0;
	left: 0;
}


.EG_r {
	background: #fff;
	width: 90%;
    margin: auto;

}
.EG_r img {
	width:100%;
	height:auto;
}
.mob_p {
	display: none;
}
.modelhouse {
	width:80%;
	margin:auto;
}
.hashimoto_comname td {
    font-size: 0.9rem;
    left: -43%;
    margin: 1rem 0;
}
	
}
/*---------------------------------------------------------------------------*/
@media screen and ( min-width:480px )
{
.pkg {
    display: block;
    width: 80%;
    margin: auto;
}

.contentpage{
	height:950px;
	background-color:#fff;
	/*border:solid #ddd;*/
    text-align: left;
    width: 1024px;
    margin-right: auto;
    margin-left: auto;
	margin-top:30px;
	padding-top:30px;
	overflow: hidden;
}
h3{
	font-size:25px;
}
#emphasis{
  font-size:40px;
}

#mainContainer #topCopy h3{
	margin: 0 0 10px;
	line-height: 2;
}
#mainContainer #topCopy p{
	line-height: 2;
  margin-top: 60px;
	font-size: 16px;
}
	
#com_btn_dummy{
    background-repeat: no-repeat;
    background-position: left top;
    height: 531px;
    overflow: hidden;
    background-size: 100%;
	margin-top:100px;
	display:block;
}
.kigyou_nav{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}

.kigyou_nav li{
	width:280px;
}
.kigyou_nav li img{
	width:100%;
}
.kigyou_nav li img.inkaku{
	width:100%;
}
.CI_title{
	/*color:#595656;*/
	margin: 1rem auto;
}

	
.CI_l{
	float:left;
	width:20%;
	height:645px;
}
	
.CI_c{
	background-color:#f0f1db; 
	background-color:#fdfff9; 

	float:left;
	width:50%;
	height:645px;
	text-align:left;
	color:#595656;
	position:relative;
}
.CI_c .list-mv02{
	position:absolute;
	bottom:0;
	right:0;
	width:33%;
}
.mob_p{
	display: none;
	
	}	
	
.CI_c h3{
	margin:40px auto 0;
	width:auto;
	margin-left:15%;
	margin-right:auto;
}
	
.CI_r{
	background-color:#fff; 
	float:left;
	width:30%;
	height:645px;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
}
.guide{
	display: none;
	}
	
	
.modelhouse{
	display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    width: 50%;
    height: 100px;
    margin: auto;
	}

.modelhouse img{
	width:250px;
}


}
