@charset "UTF-8";
html {
	position: relative!important;
	z-index: 100000000!important;
}
#container {
	position: relative;
	z-index: 0;
}
/*--------------------------
 FIX
----------------------------*/
.gotop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	text-decoration: none;
	color: white;
	font-size: 12px;
	display: none;
	background-image: url(../images/pageup.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 40px;
	width: 40px;
	z-index: 1000;
}

/*--------------------------
 HIDDEN
----------------------------*/
.hidden_smart {
	display: none;
}
.hidden_pc {

}
.br_smart br {
	display: none;
}
.br_pc br {

}
.away {
	padding-left: 15px;
}

/*--------------------------
 CONTENTS
----------------------------*/
#contents {
}
/*--------------------------
 IMAGE HOME NAV
----------------------------*/
header {
}
.header_nav {
	position: absolute;
	right: 180px;
	top: 10px;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: normal;
}
.header_nav ul {
	margin-right: 10px;
	margin-top: 10px;
}
.header_nav li {
	float: left;
	font-size: 18px;
	line-height: normal;
	font-weight: normal;
	letter-spacing: 0.12em;
}
.header_nav li a {
	text-decoration: none;
	color: #000;
	display: block;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 15px;
	padding-left: 20px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.header_nav li a:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}
.right_drawer_menu {
	display: none;	
}
.header_nav_tel {
	margin-left: -20px;
}
.header_nav_mail {
	margin-top: 5px;
	margin-left: -20px;
}
/*--------------------------
 NAV MOVE FOR PC
----------------------------*/
#nav_pc {
	height: 60px;	/*transition: .3s;*/
  }
#nav_pc_ul {
}
.nav_pc_ul_add {
	position: absolute;
	top: 0px;
	right: 0px;
}
.nav_pc_active {
	background-color: #666666 !important;
	color: #FFF !important;
}
.is-fixed {
	position: fixed;
	z-index: 2;
	right: 0px;
	top: 0px;
	background-image: url(../images/white.png);
	background-repeat: repeat;
	background-position: center center;
	width: 100%;
}
/*--------------------------
 IMAGE
----------------------------*/
.image_main {
	background-image: url(../images/image_main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	height: 500px;
	/*height: 100vh; 20200114*/
	min-height:700px;
	background-size: cover;
	position: relative;
}
/*--------------------------
 IMAGE PARTS
----------------------------*/
.image_main_logo {
	position: absolute;
	top: 15px;
	right: 25px;
	
}
.image_main_logo img {
	height: auto;
	width: 150px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.image_main_logo img:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}
.image_main_logo_smart {
	display: none;	
}

.image_main_chars {
	text-align: center;
	color: #FFF;
	-webkit-box-align: center; /* safari, Chrome対応 */
	-moz-box-align: center;    /* Firefox対応 */
	-o-box-align: center;      /* Opera対応 */
	-ms-box-align: center;     /* IE対応 */
	box-align: center;
	display: block;
	position: absolute;
	transform: translate(50%, 50%);
	/*transform: translate(-50%, -50%);*/
	/*transform: translateX(-50%) translateY(-50%);*/
	width: 100%;
	/*top: 50%;
	left: 50%;*/
	bottom: 50%;/* IE11 STEP */
	right: 50%;/* IE11 STEP */
}
.image_main_chars_copy {
	font-size: 50px;
	line-height: 60px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.image_main_chars_p {
	font-size: 16px;
	line-height: 24px;
	font-weight: normal;
	letter-spacing: 0.1em;
}
.image_main_chars_p br {
	
}
.image_scroll_arrow {
	position: absolute;
	bottom: 30px;
	text-align: center;
	width: 100%;
}
/*--------------------------
 REGULAR
----------------------------*/
.section_title {
	text-align: center;
	background-color: #000;
	color: #FFF;
	font-weight: normal;
	letter-spacing: 0.15em;
	padding-top: 5px;
	padding-bottom: 5px;
}
@media screen and (min-width:769px) and ( max-width:860px) {
.wrapper800 {

}
}
@media screen and (min-width:860px), print {
.wrapper800 {
	width: 800px;
	margin-right: auto;
	margin-left: auto;	
}
}

.wrapper640 {
	width: 640px;
	margin-right: auto;
	margin-left: auto;	
}
/*--------------------------
 IMAGE REGULAR
----------------------------*/
.image_realestate {
	background-image: url(../images/image_realestate.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	min-height:500px;
	background-size: cover;
	position: relative;
}
.image_construction {
	background-image: url(../images/image_construction.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	min-height:500px;
	background-size: cover;
	position: relative;
}
.image_consulting {
	background-image: url(../images/image_consulting.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	min-height:500px;
	background-size: cover;
	position: relative;
}
.image_energy {
	background-image: url(../images/image_energy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	min-height:500px;
	background-size: cover;
	position: relative;
}

/*--------------------------
 GOOGLE MAP IFRAME
----------------------------*/
.ggmap {
	position: relative;
	height: 300px;
	overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 300px;
}
/*--------------------------
 FOOTER
----------------------------*/
footer {
	background-color: #333;
	position: relative;
	z-index: 0;
	background-image: url(../images/black.png),url(../images/footer_back.jpg);
	background-repeat: repeat,no-repeat;
	background-position: center bottom,center bottom;
	background-size: cover;
}
footer a {
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #FFF;
	text-decoration: none;
}
footer a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
.footer_wrapper {
	position: relative;
	height: 200px;
}
/*--------------------------
 FOOTER COMPANY
----------------------------*/
.footer_chars {
	position: absolute;
	left: 180px;
	top: 35px;
	color: #FFF;
}
.footer_logo {
	position: absolute;
	top: 30px;
	left: 30px;
}
.footer_logo img {
	height: auto;
	width: 120px;
}

.footer_company_name {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 10px;
}

.footer_chars address {
	font-style: normal;
	color: #FFF;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0.08em;
}
.footer_chars address span {
	padding-right: 10px;	
}
/*--------------------------
 FOOTER COPYROGHT
----------------------------*/
.copyright {
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 40px;
	padding-top: 30px;
	padding-left: 34px;
}
.copyright small{
	color: #b3b3b3;
	font-size: 10px;
	letter-spacing: 0.2em;
	font-weight: 300;
}
.copyright br{
	display: none;
}
/*--------------------------
 FOOTER SNS
----------------------------*/

.footer_sns {
	margin-top: 20px;
}
.footer_sns a {
	margin-right: 15px;
}
.footer_sns img {
	height: auto;
	width: 36px;	
}
/*--------------------------
 ERROE LOGO
----------------------------*/
.error_logo {
	text-align: center;
	padding-top: 20px;	
}
.error_logo img {
	height: auto;
	width: 200px;	
}
/*--------------------------
 CONTACT BOTTOM
----------------------------*/
.contact_bottom {
	background-color: #808a92;
	position: relative;
	padding-top: 15px;
	text-align: center;
	padding-bottom: 15px;
	font-family: Arial, Helvetica, sans-serif;
}

.contact_bottom a {
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #FFF;
	text-decoration: none;
}
.contact_bottom a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}

.contact_bottom_tel {
	font-weight: normal;
	letter-spacing: 0.1em;
	font-size: 22px;
	padding-right: 10px;
}
.contact_bottom_tel span {
	font-weight: normal;
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	color: #FFF;
	padding-top: 5px;
	padding-right: 5px;
}

.contact_bottom_mail {
	font-size: 22px;
	letter-spacing: 0.1em;
	font-weight: normal;
	background-image: url(../images/mail.png);
	background-repeat: no-repeat;
	background-position: left 2px;
}

.contact_bottom_mail a {
	
	padding-left: 28px;
}
/*--------------------------
 TOPICS
----------------------------*/
@media screen and (min-width:769px) and ( max-width:860px) {
.home_topics_wrapper {
	padding: 10px;
	width: 700px;
	margin-right: auto;
	margin-left: auto;
}
}
@media screen and (min-width:860px), print {
.home_topics_wrapper {
	padding: 10px;
	width: 800px;
	margin-right: auto;
	margin-left: auto;
}
}

ol.topics_list {
	overflow: hidden;
	zoom: 1;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #808a92;
}

ol.topics_list time {
	width: 100px;
	float: left;
	clear: both;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.05em;
	padding-right: 10px;
	padding-left: 30px;
	color: #666;
}
ol.topics_list li {
	line-height: 24px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #808a92;	
}
ol.topics_list li p {
	line-height: 24px;
	padding-left: 140px;
	padding-right: 50px;
}
.topics_non {
	padding-top: 15px;
	padding-bottom: 15px;		
}
.topics_link {

}
.topics_link a {
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #2c937a;
	font-weight: bold;
	text-decoration: none;
	background-image: url(../images/arrow_topics.png);
	background-repeat: no-repeat;
	background-position: right center;
	padding-top: 15px;
	padding-bottom: 15px;
	display: block;
}
.topics_link a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	text-decoration: none;
}

/*--------------------------
 SNS
----------------------------*/
.sns_wrapper {
	text-align: center;
	margin-top: 20px;
}
.sns_wrapper img {
	height: auto;
	width: 40px;	
}
.sns_wrapper a {
	margin-right: 25px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.sns_wrapper a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
.sns_wrapper a:last-child {
	margin-right: 0px;
}
/*--------------------------
 STANDARD
----------------------------*/
.section_eng {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 45px;
	text-align: center;
	line-height: 58px;
	margin-top: 60px;
	font-weight: bold;
	color: #B3B9BE;
}
.section_eng:first-letter {
	color: #80BEAF;  
 }
 .section_jpn {
	font-size: 20px;
	line-height: 26px;
	font-weight: normal;
	text-align: center;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #AAB8C2;
	letter-spacing: 0.1em;
	padding-top: 10px;
}
/*--------------------------
 NEGATIVE MARGIN
----------------------------*/
#BUSINESS,#COMPANY,#CONTACT {
    margin-top: -20px;
    padding-top: 20px;
}
/*--------------------------
 BUSINESS
----------------------------*/
.business_shoulder {
	font-size: 24px;
	line-height: 32px;
	text-align: center;
	padding-top: 30px;
	font-feature-settings: "palt";
	font-weight: bold;
}
.business_sentence {
	font-size: 16px;
	line-height: 28px;
	text-align: center;
	padding-top: 10px;
}
.business_sentence br {
	
}
.business_service {
	margin-top: 30px;
	width: 570px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 30px;
}
.business_service li {
	padding-left: 70px;
	margin-bottom: 20px;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 70px 70px;
}
.business_service_title {
	font-size: 20px;
	line-height: 28px;
	display: block;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #aab8c2;
	padding-bottom: 8px;
	padding-left: 20px;
	font-weight: bold;
}
.business_service_char {
	font-size: 14px;
	line-height: 22px;
	padding-right: 20px;
	padding-left: 20px;
	display: block;
	padding-top: 10px;
}
.bsi01 {
	background-image: url(../images/business_icon01.png);
}
.bsi02 {
	background-image: url(../images/business_icon02.png);
}
.bsi03 {
	background-image: url(../images/business_icon03.png);
}
.bsi04 {
	background-image: url(../images/business_icon04.png);
}
.bsi05 {
	background-image: url(../images/business_icon05.png);
}
.bsi06 {
	background-image: url(../images/business_icon06.png);
}
.bsi07 {
	background-image: url(../images/business_icon07.png);
}
/*--------------------------
 IMAGE MIDDLE
----------------------------*/

@media screen and (min-width:769px) and ( max-width:960px) {
.image_middle {
	background-image: url(../images/image_middle.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	height: 500px;
	background-size: cover;
}
}
@media screen and (min-width:960px), print {
.image_middle {
	background-image: url(../images/image_middle.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	height: 500px;
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	background-size: cover;
}
}
/*--------------------------
 GREETINGS
----------------------------*/
.greetings_p {
	font-size: 14px;
	line-height: 28px;
	padding-top: 30px;
}
.greetings_p br {
	
}
.greetings_president {
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 14px;
}
.greetings_president span {
	padding-left: 15px;
	font-size: 16px;
	vertical-align: baseline;
	letter-spacing: 0.2em;
}
/*--------------------------
 COMPANY
----------------------------*/
.company_table_wrapper {
	margin-top: 30px;
	margin-bottom: 40px;
}
/*--------------------------
 COMPANY LIST
----------------------------*/
.company_list {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	width: 85%;
}
.company_list li {
	background-image: url(../images/square_green.png);
	background-repeat: no-repeat;
	background-position: left 8px;
	padding-left: 12px;
	line-height: 22px;
}
/*--------------------------
 COMPANY OUTLINE
----------------------------*/
.outline_table {
	width: 640px;
	margin-right: auto;
	margin-left: auto;
	line-height: 20px;
	font-size: 14px;
}
.outline_table tr {
	
}
.outline_table tr th {
	text-align: left;
	font-weight: normal;
	width: 25%;
	padding-top: 5px;
	padding-bottom: 5px;
}
.outline_table tr td {
	padding-top: 5px;
	padding-bottom: 5px;
}
/*--------------------------
 RECRUIT BANNER
----------------------------*/
.recruit_banner {
	background-color: #2c937a;
	width: 480px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	margin-bottom: 40px;
}
.recruit_banner a {
	display: block;
	padding-top: 30px;
	padding-bottom: 30px;
	background-image: url(../images/recruit_banner_arrow.png);
	background-repeat: no-repeat;
	background-position: right center;
	text-decoration: none;
	color: #FFF;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.recruit_banner a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	text-decoration: none;
}
.recruit_banner_title {
	font-size: 18px;
	font-weight: bold;
	padding-left: 30px;
}
.recruit_banner_desc {
	font-size: 12px;
	display: block;
	position: absolute;
	right: 45px;
	top: 30px;
	line-height: normal;
}
/*--------------------------
 BANNER
----------------------------*/
.footer_banner_equal {
	margin-top: 25px;
}
