@CHARSET "utf-8";

/*---------------------------------------------------------*/
/* General */
/*---------------------------------------------------------*/

/*@font-face{
  font-family: 'c-icon-font';
 src: url('../fonts/CONDENSEicon.woff')
     format("woff");

	
}

.c-icon-font{
	font-family: 'c-icon-font';
}
*/




html {
/*    visibility: hidden; */ /* Webフォントの表示が遅れないための記述(1) */
    overflow-y: scroll;

	font-size: 62.5%; /*ベースを10pxにしています*/

}

html.wf-active {
  visibility: visible; /* Webフォントの表示が遅れないための記述(2) */
}

/* 画像の下にできる余白をなくす */
img{
  vertical-align:bottom;
}

h1 { 
　　    font-size: 13px; font-size: 1.3rem; 
}


h2 {
	font-size: 21px; font-size:2.1rem;
	font-weight:600;
	text-align: center;
}

body {
    font-size: 13px; font-size: 1.3rem;

	
/*	font-family: source-han-serif-japanese, serif;*/
	margin: 0;
	padding: 0;
	background-color: #FFF;
	color: #2a303f;

	text-align: center;
	height:100%;
	overflow: hidden;
	line-height: 1.7;

}


.large-font{
	font-size:2.2rem;
	font-weight:600;	
}


.semilarge-font{
	font-size:1.6rem;
}


@media only screen and (max-width: 767px) {
	h2 {
		font-size: 16px; font-size:1.6rem;
	}

	.large-font{
		font-size:2rem;
	}
	
	
	.semilarge-font{
		font-size:1.4rem;
	}

}



.hr-dashed {
  border-top: 1px dashed #2a303f;
}

/*
#main-wrapper{
	margin: 0 auto;
	padding-top: 20px; 
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 50px;
	max-width: 730px;
	background-color: #FF9;
}
*/


#main-wrapper,
.main-same-width{
	margin: 0 auto;
	/*
	padding-top: 20px; 
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 50px;
	*/
	max-width: 730px;
	margin-right: auto;
	margin-left: auto;
}


#main-wrapper{
	background-color:#FFF;
	padding-bottom: 50px;
}


.vw100-box{
	width: calc(100vw - 270px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}


.main-padding1{
	padding-left: 50px;
	padding-right: 50px;
	
}

.main-padding2{
	padding-left: 80px;
	padding-right: 80px;
}


.main-padding2in1{
	padding-left: 30px;
	padding-right: 30px;
}


@media only screen and (max-width: 991px) {
	.vw100-box{
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
}



@media only screen and (max-width: 767px) {
	#main-wrapper,
	.main-same-width{
		margin: 0 10px;
	}


	.main-padding1{
		padding-left: 5px;
		padding-right: 5px;
		
	}
	
	.main-padding2{
		padding-left: 25px;
		padding-right: 25px;
	}
	.main-padding2inner1{
		padding-left: 20px;
		padding-right: 20px;
	}

}




#main-wrapper a:link,#topmain-wrapper a:link{
	color: #2a303f;
}

#main-wrapper a:visited,#topmain-wrapper a:visited{
	color: #2a303f;
}


#topmain-wrapper{
/* clear: both; */
	background-color:#FFF;
	padding-top: 25px; 
	padding-bottom: 50px;

}


#topmain-wrapper h2{
	font-size: 3rem;
	margin-bottom: 3rem;
}

#topmain-wrapper .h2-ruby{
	position: relative;
	display: inline-block;
	margin-bottom: 1.2rem;
	font-size: 2.2rem;
	font-weight:800;
	letter-spacing: 0.5rem;
}




@media only screen and (max-width: 767px) {
	#topmain-wrapper h2{
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	
	#topmain-wrapper .h2-ruby{
		font-size: 1.8rem;
	}
}




#topmain-wrapper .h2-ruby:before {
	content: '';
	position: absolute;
	bottom: -0.5rem;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 50%;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #2a303f;
}

#sidemenu-header{
	width: 270px;
	height: 123px;
/*	background-image: url('../img/img_sidemenu_header.png'); */
	text-align: center;
/*	padding: 80px 0 0 0; */
	background-color: #181d20;
	margin: 0;
	padding: 0;
	font-size: 2rem;
	font-weight: 600;
}


.toppage-maxwidth{
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	
}

@media only screen and (max-width: 999px) {
	.toppage-maxwidth{
		margin-right: 20px;
		margin-left: 20px;
		
	}
}



/*
#topmain-wrapper a:link{
	color: #2a303f;
}

#topmain-wrapper a:visited{
	color: #2a303f;
}
*/




a{
	text-decoration:none;

}


a:hover{
	opacity:0.7 !important;
	text-decoration:none;
}

* {
min-height:0;
min-width : 0;
}

#wrap {
	width: 100%;
	height:100%;
	background-color: #6a7981;
	margin: 0;
	padding: 0;
}

/* PC用サイドメニュー */


aside#pcmenu {
	float: left;
	width: 270px;
	background-color: #6a7981;
	margin: 0;
	padding: 0;
	text-align: center;
	z-index:10;
}

aside#pcmenu *{
	margin: 0;
	color: #FFF;
}

aside#pcmenu a:link{
	color: #FFF;
}

aside#pcmenu a:visited{
	color: #FFF;
}


aside#pcmenu p{
	background-color: #181d20;
	font-size: 20px;
	padding-bottom: 0px;
}



.sidebar-wrapper li{
	text-align: left;
	list-style:none;
	
}

.sidebar-wrapper li a{
	text-align: left;
	color: #FFF;

}

/* モバイル用フッターメニュー */

#footer-floating-menu a
{
	line-height: 5rem;
    font-size: 1.1rem;
    color: #fff;
}

#footer-floating-menu .fa {
	line-height: 5rem;
    font-size: 1.6rem;
    color: #fff;
	padding-right: 0.5rem;
}



.navbar{
	text-align:center;
	background-color:#1a1e28;
	margin: 0;
	padding: 0;
}


.navbar .box1{
	width: 45vw;
	background-color:#1a1e28;
}

.navbar .box2{
	width: 45vw;
	background-color:#4c545a;
}

.navbar .box3{
	width: 10vw;
	background-color:#6b7982;
}


@media only screen and (max-width: 575px) {
	#footer-floating-menu a
	{
		line-height: 2rem;
		font-size: 1.3rem;
		color: #fff;
	}
	
	#footer-floating-menu .fa{
		line-height: 4rem;
		padding-right: 3px;	
	}

	.navbar .box1{
		width: 50vw;
	}
	
	.navbar .box2{
		width: 40vw;
	}
	
	.navbar .box3{
		width: 10vw;
	}


}



/*
#contents-wrapper-sidemenu {
	height: auto;
	background-color: #FFF;
	margin: 0 0 0 270px;
	padding: 0;
	min-width: 544px;
}

#contents-wrapper-sidemenu *{
	vertical-align: top;
}

#contents-wrapper-nosidemenu {
	height: auto;
	background-color: #FFF;
	margin: 0;
	padding: 0;
	min-width: 544px;
}
*/

#contents-wrapper {
	height: auto;
	background-color: #FFF;
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 0;
	margin-left: 270px;
	padding: 0;
	overflow:hidden;
/*	min-width: 544px; */
}

@media only screen and (max-width: 991px) {
  #contents-wrapper {
	margin-left: 0;
  } 
}






#contents-wrapper *{
	vertical-align: top;
}







#subheader{
	padding-bottom: 5px;
	border-bottom: 1px solid #535353;
	background-color: #FFF;
}

.subheader-img{
	position:relative;
}

.subheader-img > img{
	width:100%;
}


.subheader-txt{
	position: absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin: 0;
	padding: 0;
}

.title-en{
	color: #ffffff;
	font-size: 4rem;
	font-weight:600;
	letter-spacing: 0.5rem;
}

.title-jp{
	color: #ffffff;
	font-size: 2rem;
	font-weight:400;
	white-space:nowrap;
}




@media only screen and (max-width: 767px) {
	.title-en{
		font-size: 2.1rem;
	}
	
	.title-jp{
		font-size: 1.5rem;
	}
}




.breadcrumbs{
	font-size: 1.2rem;
	text-align: right;
	color: #2a303f;
/*	padding-right:25px; */
}

.breadcrumbs a{
	color: #2a303f;
}


footer {
	clear: both;
	width:100%;
	margin:0px auto;
	padding-bottom: 5px;
	background-color: #2a303f;
}

@media only screen and (max-width: 991px) {
  footer {
	padding-bottom: 75px;
  } 
}







#insta-tile{
	background-color: #FFF;
}


#footer-nav{
	width: 100%;
	background-color: #2a303f;
	text-align: left;
	color: #FFF;
	padding-top: 40px;
	padding-bottom: 40px;
	font-family: "source-han-sans-japanese",sans-serif;
	font-size: 1.2rem;
}




.footer-title{
	white-space:nowrap;
	font-size: 3.0rem;
	font-family: source-han-serif-japanese, serif;
	text-align: justify;
	text-justify: inter-ideograph;
	font-weight:bold;
}

.footer-title a{
	font-size: 3.0rem;
	font-family: source-han-serif-japanese, serif;
	text-align: justify;
	text-justify: inter-ideograph;
	font-weight:bold;
}

.footer-freedial a{
	font-size: 3.0rem;
	text-align: justify;
	text-justify: inter-character;
	font-weight:bold;
	margin-bottom: 10px;
	letter-spacing:2px;
}

.freedial:before{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 3.0rem;/*画像の幅*/
  height: 3.0rem;/*画像の高さ*/
  background-image: url('../img/freedial.png');
  background-size: contain;
  background-repeat:no-repeat;
  margin:0 3px;
  vertical-align:middle;

/*
    font-family: 'c-icon-font';
    content: '*';
    color: #3cc;

*/
}

#footer-nav a{
	color: #FFF;
}

#footer-nav ul{
	list-style: none;
	padding-left: 2px;
	white-space:nowrap;
}

#footer-nav ul li{
	margin-top: 10px;
	white-space:nowrap;
}


#footer-copyright{
	display: block;
	font-size: 0.8rem;
	text-align:right;
	line-height: 50px;
	padding: 0 20px;

}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}


#floating-buttons{
	position:fixed;
	top 100px;
	right 0px;
	background-color: #00C;
}

#floating-buttons a{
	display: block;
}

#floating-buttons img{
	display: block;
}

.title-underline{
  text-align:left;
  font-size: 2.2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #000;

}

.title-upperline{
  text-align:left;
  padding-top: 1rem;
  border-top: 1px solid #000;
  font-size: 2.2rem;
}

.underline-dots{
  text-align:center;
  padding: 0 1rem;
  border-bottom: dashed 1px #2a303f;
}

.marker-beige {
	background: linear-gradient(transparent 70%, #ece9c3 70%);
	display: inline;
}





/* 吹きだしタイトル */
.title-baloon{
 	position: relative;
	display: block;
 	margin: 1.5em 0;
	padding:10px;
	min-width: 120px;
 	max-width: 100%;
	color:#fff;
	font-size: 16px;
	background:#2a303f;
}

.title-baloon:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #2a303f;
}




/* 吹きだしタイトル角丸 */
/* 「資産価値のある家」で使用 */
.title-baloon-radius{
 	position: relative;
	display: block;
 	margin: 3rem 0;
	min-width: 120px;
 	max-width: 100%;
	color:#fff;
	background:#2a303f;
    border-radius: 10px;
	padding: 2rem 7rem 3.5rem 7rem;
	line-height: 2;
}

.title-baloon-radius:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #2a303f;
}


.title-baloon-radius h2{
	line-height: 2;
	background-color: #eae8df;
	color: #2a303f;
	border-radius: 5px;
	font-size: 2.5rem;
	margin: 1rem auto 1rem auto;
	letter-spacing: 0.5rem;
	font-weight:600;
	width: 40%;
}


@media screen and (max-width: 767px) {
	.title-baloon-radius{
		padding: 2rem 1rem 3.5rem 1rem;
	}

	.title-baloon-radius h2{
		font-size: 2.2rem;
		width: 100%;
	}
}




#worksdetail{
	width:100%;
	margin-right:auto;
	margin-left:auto;
}


.slick-works {
  position: relative;
  width: 100%;
/* height: auto; */
/*  height: 500px; */
  box-sizing: border-box;
  margin-bottom: 20px;
}


.slick-works:focus{
  outline: none;

}

/*
.slick-works-item {
	margin: 20px;
    box-sizing: border-box;
	height: 500px;
}
*/


.slick-works-viewer {
	padding: 15px;
	width: 100%;
	height: 80%;
}

.slick-works-viewer ul {
	margin: 0;
	width: 100%;
	height: 100%;
    position: relative;
}
 
.slick-works-viewer ul li {
    top: 0;
    left: 0;
	width: 100%;
	height: 100%;
    display: none;
    position: absolute;
}





.slick-works hr,
.swiper-slide hr{
	color: #000;
	background-color: #000;
	border: 1px solid #000;
	width: 2rem;
	align: center;
	margin: 1rem auto 1rem auto;
}

.slick-works-title { 
	box-sizing:border-box;
}


.slick-box {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.slick-box:focus{
  outline: none;

}


.slick-item{
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;

}


.slick-item:focus{
  outline: none;
}


.slick-img-wrap{
	width: 100%;
	height: 50vw;
}

.cover {
    display: inline-block;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;

    background-size: cover;
}

.contain {
    display: inline-block;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    background-size: contain;
}


.slick-item img:focus{
  outline: none;
}


.slick-caption { 
	box-sizing:border-box;
}






.table-beige-box{
	background-color: #eae8df;
	margin:50px 0;
	padding: 25px 50px;
	text-align: left;

}

.table-beige-box th{
	white-space:nowrap;
}



.works-caption{
	color: #2a303f;
	text-align: left;
	padding-right: 50px;
	padding-left: 25px;
	margin-bottom:50px;
}




/*
.boxlayout li hr{
    position: absolute;
	top: 71%;
	left: 0;
	color: #000;
	background-color: #000;
	border: 0.5px solid #000;
	width: 2rem;
	align: left;
	margin: 0 2px;
}
*/
 
.works-tags,
.works-tags a {
	text-align:left;
	color: #7e95a1;
}


/* 施工事例　カテゴリ検索ボックス　*/
.box-title {
   font-size: 1.8rem;
	line-height: 2.5;
    background: #2a303f;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.2;

}

.box-title:before{
  content: "\f002";
  font-family: FontAwesome;
  line-height: 2.5;
  font-size:1.8rem;
  margin-right: 1rem;
}



@media screen and (max-width: 767px) {
	.box-title {
	   font-size: 1.5rem;
		line-height: 2;
	
	}
	
	.box-title:before{
	  content: "\f002";
	  font-family: FontAwesome;
	  line-height: 2;
	  font-size:1.5rem;
	  margin-right: 0.8rem;
	}
}





.kkblog_cat_box a,
.works_cat_box a {
	color:#030000;
}

.kkblog_cat_box a.hilight,
.works_cat_box a.hilight {
	border-bottom: solid 2px #2a303f;
}


.kkblog_cat_box a.normal,
.works_cat_box a.normal {
	text-decoration: normal;
}

.works_cat_box {
    margin: 0 auto 50px auto;
	padding: 10px;
	border: solid 1px #a0a0a0;
	display: block;
}

.kkblog_cat_box {
	width: 100%;
    margin: 0 auto 50px auto;
	display:inline-table;
	padding: 10px;
	border: solid 1px #a0a0a0;
	table-layout:fixed;
	background-color: #eae8df;
}

.kkblog_cat_box td{
	font-size: 1.3rem;
	padding: 1.3rem 0;
}


.works_cat_box th,
.works_cat_box td {
	padding: 1rem 15px;
	border: solid 5px #FFF;
/*  display: block;  */
/*  width: 100%; */
}


.works_cat_box th{
	text-align: center;
	vertical-align:middle;
	white-space:nowrap;
	background-color: #eae8df;
}

.works_cat_box td{
	text-align: left;
}

.kkblog_cat_box td{
	text-align: center;
}



/* 前へ次へ */
/*
nav.pagenation{
    position: relative;
	padding: 1rem;
	border-top: solid 1px #2a303f;
	border-bottom: solid 1px #2a303f;
	text-align:center;
}

nav.pagenation a{
	color: #000;
}

nav.pagenation a.prev{
	position: absolute;
	left: 1rem;
}

nav.pagenation a.next{
	position: absolute;
	right: 1rem;
}
*/
.pagination{
    position: relative;
	padding: 2rem;
	border-top: solid 1px #2a303f;
	border-bottom: solid 1px #2a303f;
	text-align:center;
	line-height: 2;
}

.pagination a{
	color: #000;
}


.pagination a.back
{
	text-align:center;	
	right: 0;
	left: 0;
	margin: auto;
}



.pagination a.prev,
.pagination a.next{
	position: absolute !important;
}



.pagination a.prev{
	left: 1rem;
}
.pagination a.next{
	right: 1rem;
}


.pagination a.prev:before{
  content: "\f137";
  font-family: FontAwesome;
  margin-right: 0.5rem;
}


.pagination a.next:after{
	content: "\f138";
	font-family: FontAwesome;
    margin-left: 0.5rem;

}


.pagination .current{
	font-size:1.8rem;
	font-weight:bold;
}

.vw100{
	margin-right: -500px;
	margin-left: -500px;
}


/* ブラウザ100%幅画像用
 * main-wrapperのmargin分を足してずらす */
.vw100pc-side-padding,
.vw100pc-side-paddinglr,
.vw100pc-side{

/*
	width: calc(100% + 100px);
	margin-left: -50px;
	margin-right: 0;

	background-color: #Fcc;
 */

	width: 100%;
	background-size:cover;
}

/*

.vw100pc-side-padding,
.vw100pc-side-paddinglr{
	padding-right: 50px;
	padding-left: 50px;
}


.vw100pc-side-padding{
	padding-top: 30px;
	padding-bottom: 30px;
}

*/




/* ブラウザ100%幅画像用
 * main-wrapperのmargin分足す */


/* ブラウザ100幅の見出し背景ベージュ */
.vw100_beige-box,
.vw100_block,
.vw100_text-beige-box,
.vw100_text-blueglay-box,
.vw100pc-side-img
{
	display:block;
/*	width: calc(100vw);
	margin-left: -50px;
	margin-right: 0;
	*/
	width: 100%;
	text-align:center;
}


.vw100_beige-box,
.vw100_text-beige-box{
	background-color: #eae8df !important;

}

.vw100_text-blueglay-box{
	background-color: #e2ecf1;
}

.vw100_text-beige-box,
.vw100_text-blueglay-box{
	line-height: 4;
	font-size: 2.0rem;
	font-weight: 600;
}




.vw100_block{
	padding: 25px 50px;
	line-height: 2;
}


.bg-wideband-beige,
.bg-wideband-bluegray
{
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.bg-wideband-beige
{
	background-color: #eae8df !important;
}


.bg-wideband-bluegray
{
	background-color: #e2ecf1;
}


@media only screen and (max-width: 767px) {
	.bg-wideband-beige,
	.bg-wideband-bluegray
	{
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
}




/* ブラウザ幅100%のマージン調整 */

@media only screen and (max-width: 991px) {
}



@media only screen and (max-width: 767px) {
}


.bg-white{
	background-color: #FFF !important;
}


.bg-beige{
	background-color: #eae8df !important;
}

.bg-bluegray{
	background-color: #e2ecf1 !important;
}

.bg-graystripe{
	background-image: url('../img/bg_graystripe.png');
}

.bg-beigedots{
	background-image: url('../img/bg_beigedots.png');
}

.bg-pattern01{
	background-image: url('../img/bk_pattern01.png');
}

.bg-pattern02{
	background-image: url('../img/bk_pattern02.png');
}




/* 見出しが水色のテーブル
 * 使用場所：会社概要
 */

.table-thblue{
	width: 100%;
  border-collapse:collapse;
  border:1px solid #2a303f;
  margin-top: 30px;
  margin-bottom: 30px;
  
}


.table-thblue tr{
  border-bottom:1px solid #2a303f;
  font-weight:normal;
  
}

.table-thblue th{
  background:#dfe9ee;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
  font-weight:normal;
  white-space:nowrap;
  width: 1px;
}



.table-thblue td{
  text-align:left;
  padding-left: 4rem;
  padding-top: 2rem;
  padding-bottom: 2rem;

}



@media screen and (max-width: 767px) {
	.table-thblue th{
	  padding: 1rem;
	}


	.table-thblue td{
		padding-left: 1rem;
		padding-right: 1rem;
	}
}


/* 住まいの等級表示テーブル用*/
/* 見出しが水色のテーブル
 * 使用場所：会社概要
 */

.table-grade{
  width: 100%;
  table-layout: fixed;
  border-collapse:collapse;
  border:1px solid #2a303f;
  margin-top: 30px;
  margin-bottom: 30px;
  
}


.table-grade tr{
/*  border-bottom:1px solid #2a303f; */
  border:1px solid #2a303f;
  font-weight:normal;
  
}

.table-grade th{
  border:1px dotted #2a303f;
  background:#dfe9ee;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
  font-weight:normal;
  white-space:nowrap;
  width: 1px;
  text-align:center;
  font-size: 1.5rem;
  vertical-align:middle;
}


.table-grade td{
  border:1px dotted #2a303f;
  text-align:center;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-size: 2rem;
}



@media screen and (max-width: 767px) {
	.table-grade th{
	  padding: 1rem;
	}

	.table-grade td{
		padding-left: 1rem;
		padding-right: 1rem;
	}
}




.table-recruit{
  margin-left:auto;
  margin-right:auto;
  border-collapse:collapse;
}

.table-recruit th,
.table-recruit td{
	text-align: left !important;
	font-weight: normal;
}

.table-recruit th{
	border-bottom:1px solid #000000;
	white-space:nowrap;
	padding-top: 3rem;
	padding-right: 2rem;
}


.table-recruit td{
	border-bottom:1px solid #bfbfbf;
	padding: 3rem 2rem 1rem 2rem;
}




/* 横線だけのテーブル
 * 使用場所：会社概要
 */
.table-hborder{
  width: 90%;
  margin-left:auto;
  margin-right:auto;
  border-collapse:collapse;
}


.table-hborder tr{
  border-bottom:1px solid #2a303f;
}

.table-hborder th,
.table-hborder td{
    font-weight:normal;
	padding:2rem;
}

.table-hborder td{
	text-align: left;
}




.text-navy-band, 
.text-navy-band a{
	width: 100%;
	line-height: 3;
	background-color: #2a303f;
	color: #FFF !important;
	margin: auto;
}

.text-navy-band-narrow, 
.text-navy-band-narrow a{
	width: 100%;
	line-height: 2;
	background-color: #2a303f;
	color: #FFF !important;
	margin: auto;
}


.text-red-band, 
.text-red-band a{
	width: 100%;
	line-height: 3;
	background-color: #cf584a;
	color: #FFF !important;
	margin: auto;
}






.font-weekday{
	color: #2a303f; 	
}

.font-saturday{
	color: #30749f; 	
}

.font-sunday{
	color: #bd1e1b; 	
}

.block-textalign-left-padding-lr50{
	diplay:block;
	text-align:left;
	padding: 0 50px;	
}




.event-list-tags{
  padding: 0 2px;
  color: #fff !important;
  display: block;
  top: 0;
  left: 0;
  margin-bottom: 10px;
  color: #fff;
	text-align:center;
	background-color: #2a303f;
	width:100%;
	font-size: 1.2rem;
	height: 2rem;
	box-sizing:border-box;
}


.event-list-tags a{
  color: #fff !important;
}


.resp-img-wrap{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 67% 0 0;

}

.resp-img-wrap-square{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 100% 0 0;
}





.resp-img-wrap div,
.resp-img-wrap-square div
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	
}

.resp-img-wrap img,
.resp-img-wrap-square img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.grid-wrapper{
	height: 100%; 
	position:relative;
}

.workslist-textarea-nocat,
.workslist-textarea{
	display: block;
	font-size: 1.5rem;
	text-align:left;
}




/* 最下部のカテゴリ表示の分、下にすき間を取る */
.workslist-textarea{
	padding: 1rem 0.5rem 4rem 0.5rem;
}



.workslist-textarea-nocat hr,
.workslist-textarea hr
{
	height: 2px;
	background-color: #2a303f;
 	width: 2.4rem;
	border: none;
	margin: 0.4rem 0 1rem 0;
	text-align:left;
}


.workslist-tags{
  position:absolute;
  color: #fff !important;
  bottom: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
  color: #fff;
  text-align:left;
  background-color: #2a303f;
  font-size: 1.2rem;
  padding: 0.2rem 0.5rem;
}


.workslist-tags a{
  color: #fff !important;
}

 .boxlayout-textarea{
	display: block;
	text-align:left;
}


.boxlayout-textarea hr{
	height: 2px;
	background-color: #2a303f;
 	width: 2.4rem;
	border: none;
	margin: 0;
	text-align:left;
}

.boxlayout-title{
  font-size: 1.5rem;
}

.boxlayout-smalltext{
  font-size: 1.2rem;
}


.boxlayout-minitext{
  font-size: 1.2rem;
  color: #777e90 !important;
}



.mail-icon:before{
  content: "\f003";
  font-family: FontAwesome;
  margin-right: 1rem;
} 


.grid-item{
	background-color: #FFF;
	padding: 10px;
}


.grid-card{
	border: 1px;
	padding: 10px;
	text-align: left;
}


.grid-card div{
	margin: 10px 0;
}



.suffix-img{
	position:relative;
}


.suffix-img img{
	width: 100%;
	height: 100%;
}

.marumoji{
  height:64px;
  width:64px;
  border-radius:50%;
  line-height:64px;
  text-align:center;
  background:#2a303f !important;
  font-size: 30px;
  font-weight:600;
  color: #FFF !important;
}



.google-map {
	margin-top: 20px;
    position: relative;
    width: 100%;    /* 左右に余白が必要なら値を変更してもOK */
    height: 0;
	margin: 0 auto;
    padding-bottom: 56.25%;    /* padding-topでもOK */
    overflow: hidden;
}

.google-map iframe {
    position: absolute;
	top: 0;
	left: 0;
    width: 100%;    /* 必要であれば!importantを付けてください */
    height:100%;    /* 必要であれば!importantを付けてください */
}







.housing-linkpanel,
.linkpanel,
.extlinkpanel{
	position:relative;
}


.housing-linkpanel img,
.linkpanel img,
.extlinkpanel img{
	width:100%;
	height: 100%;
	max-height: 160px;
}

.border-darkbeige,
.housing-linkpanel img{
	border: 5px solid #c1bdb4;
}


.housing-linkpanel .arrow,
.housing-linkpanel .arrow-txt,
.linkpanel .arrow,
.linkpanel .arrow-txt,
.linkpanel .linkpanel-txt,
.extlinkpanel .linkpanel-txt{
	position: absolute;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 1.8rem;
	margin: 0;
	padding: 0;
	color: #FFF !important;
	white-space: nowrap;
	line-height: 1.4 !important;
}



@media only screen and (max-width: 767px) {
	.housing-linkpanel .arrow,
	.housing-linkpanel .arrow-txt,
	.linkpanel .arrow,
	.linkpanel .arrow-txt,
	.linkpanel .linkpanel-txt,
	.extlinkpanel .linkpanel-txt{
		font-size: 1.4rem;
	}
}







.linkpanel .linkpanel-txt{
	top:55%;
	left:50%;
}



.extlinkpanel .linkpanel-txt{
	top:50%;
	left:50%;
}

.housing-linkpanel .arrow-txt,
.linkpanel .arrow-txt{
	top:50%;
	left:50%;
	text-align: left;
}

.housing-linkpanel .arrow,
.arrow-txt .arrow,
.linkpanel .arrow{
	top:50%;
	left:85%;
}


.housing-linkpanel .arrow:after,
.linkpanel .arrow:after,
.linkpanel .linkpanel-txt:after{
	content: "\f138";
	font-family: FontAwesome;
	font-size: 1.8rem;
	line-height: 2 !important;

}


.extlinkpanel .linkpanel-txt:after{
	content: "\f08e";
	font-family: FontAwesome;
	font-size: 2rem;
	line-height: 2 !important;
	margin-left: 2rem;

}


.linkpanel2 {
	margin: 60px auto;
 	max-width: 980px;	
}



.linkpanel2 img{
	width: 100%;
	border: 5px solid #eae8df;
}

.linkpanel2 p{
	font-weight:600;
}



.linkbanners{
	max-width: 980px;
	margin: 30px auto;
}

.linkbanners img{
	margin: 15px;
}

@media only screen and (max-width: 767px) {
	.linkpanel2 {
		margin: 0px auto;
	}
}




.ofi-cover {
width: 100%;
max-width: 100%;
height: 100%;
object-fit: cover; /* 他のブラウザ用(＝通常の指定) */
object-position: 50% 50%; /* 他のブラウザ用(＝通常の指定) */
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */
}


.ofi-contain {
width: 100%;
max-width: 100%;
height: 100%;
object-fit: contain; /* 他のブラウザ用(＝通常の指定) */
object-position: 50% 50%; /* 他のブラウザ用(＝通常の指定) */
font-family: 'object-fit: contain; object-position: 50% 50%;' /* IE・Edge対応 */
}





@media screen and (max-width: 767px) {
.resp-table {
	display: inline-table;
}

.resp-table th,
.resp-table td {
	display:block;
	width: 100% !important;
}

.resp-table td {
	text-align: center;
}


}



/* アコーディオン */
.accordion,
.accordion-firstopen{
	padding:10px;
	cursor:pointer;
	color:#fff;
	background:#2a303f;
}

.accordion span{
	display:block;
/*	background:url('../img/accordion-down.png') no-repeat right 50%;*/
}


.accordion-firstopen span{
	display:block;
/*	background:url('../img/accordion-up.png') no-repeat right 50%;*/
}



.accordion span:after{
	content:"をみる";
}


.accordion-firstopen span:after{
	content:"";
}


.accordion.bgclose span{
/*	background:url('../img/accordion-up.png') no-repeat right 50%;*/
}

.accordion-firstopen.bgclose span{
/*	background:url('../img/accordion-down.png') no-repeat right 50%;*/
}


.accordion.bgclose span:after{
		content:"をとじる";
}

.accordion-firstopen.bgclose span:after{
		content:"をみる";
}


.accordion-white{
	padding:10px;
	cursor:pointer;
	color:#2a303f;
	text-align: center;
}

.accordion-white span,
.accordion-white.bgclose span{
	display:block;
}

.accordion-white span:after{
/*   font-family: FontAwesome, source-han-serif-japanese, serif;*/
	content:"をみる";
}

.accordion-white.bgclose span:after{
/*    font-family: FontAwesome, source-han-serif-japanese, serif;*/
	content:"をとじる";
}







#stafflist{
	width: 100%;
	margin-left: auto;
	margin-right: auto;	
}

.staff-detail{
/*	font-family: "source-han-sans-japanese",sans-serif;*/
	font-size: 1.8rem;

	padding-bottom: 50px;
}

.staff-detail p{
	text-align: left;
	margin: 10px 25px 30px 25px;
}


.staff-detail img{
	width: 100%;
}




.staff-thumb{
/*	max-width: 320px; */
	position:relative;
	text-align: left;
	background-color: #eae8df;
	margin: auto;
}




.staff-department, 
.staff-position,
.staff-name{
	white-space:nowrap;
}



.staff-department{
	display:inline-block;
	line-height: 2;
	position:absolute;
	color: #FFF;
	background-color: #2a303f;
	top: 0;
	left: 0;
	padding-left: 2rem;
	padding-right: 2rem;
	font-size: 1.2rem;
	z-index: 99;
}


.staff-position{
	margin-left: 20px;
	font-size: 1.3rem;
	font-weight: normal;
}



.staff-name{
	margin-left: 20px;
	line-height: 7rem;
	font-size: 2.4rem;
	font-weight: bold;
}



.bgdiv{
	background-color: #FFF;
	background-repeat: no-repeat;
	background-position: top center;
    background-size:100% auto;		
}


.omsolar-thumb{
	background-color: #eae8df;
	text-align: center;
	padding: 12px;
	height: 100%;
}

.omsolar-title{
  text-align:center;
  padding: auto 4rem 1rem 4rem;
  border-bottom: 1px solid #2a303f;
  font-size: 2.0rem;
  font-weight: 700;
}


.omsolar-detail {
	padding: 50px 25px 100px 25px;
}


.omsolar-detail-header{
	background-repeat: no-repeat;
	background-position: bottom center;
    background-size:100% 100%;		
	background-image:url('../img/bg_slashdots.png');
}


.omsolar-detail-desc{
	padding: 30px;
	text-align:left;
}

.omsolar-price{
	color: #c28457;
}



.border-navy-radius{
	border: 5px solid #2a303f;
	border-radius: 10px;
}




.omsolar-detail-price{
position:absolute;

  height:11rem;
  width:11rem;
  text-align:center;
  background:#2a303f !important;
  color: #FFF !important;
  top: -4rem;
  left: -2rem;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  vertical-align: top;
  line-height: 1.3rem;
  font-size: 1.3rem;
  
}


.omsolar-detail-price:before{
	    font-style:italic;
		content: "price\A──\A";
		white-space: pre;
}


.omsolar-detail-feature{
	position:relative; 
	color: #686666;
	background-color: #eae8df;
	text-align: center;
	padding: 15px;
}

.table-ul {
  display: table;
  table-layout: fixed;
  text-align: center;
  font-size: 1.2rem;
  font-family: "source-han-sans-japanese",sans-serif;
  margin: 20px auto;
  padding: 0;

}
.table-ul li {
  display: table-cell;
}

.font-sans{
  font-family: "source-han-sans-japanese",sans-serif;
}



.external-link-short,
.external-link-short a,
.external-link,
.external-link a{
	line-height: 3;
	background-color: #2a303f;
	color: #FFF !important;
	margin: auto;
}

.external-link,
.external-link a{
	width: 100%;
}


.external-link-short,
.external-link-short a{
	display: inline-block;
	padding: 0px 20px;
}




.external-link-beige,
.external-link-beige a{
	width: 100%;
	font-size: 2.2rem;
	font-weight: 600;
	background-color: #eae8df;
	color: #2a303f !important;
	margin: auto;
}


@media only screen and (max-width: 767px) {
	.external-link-beige,
	.external-link-beige a{
		font-size: 1.5rem;
	}

}





.external-link-short:after,
.external-link-beige:after,
.external-link:after,
.external-link-icon:after {
  content: "\f08e";
  font-family: FontAwesome;
  margin-left: 1rem;
}




.arrow-link,
.arrow-link a {
	width: 100%;
	line-height: 3;
	background-color: #2a303f;
	color: #FFF !important;
	margin: auto;
}

.arrow-link-gray-narrow:after,
.arrow-link:after {
  content: "\f0da";
  font-family: FontAwesome;
  margin-left: 1rem;
}




.arrow-link-gray-narrow {
	width: 100%;
	line-height: 1.6;
	background-color: #86857e;
	color: #FFF;
	margin: auto;
}




#top-slide{
	width: 100%;
}


.text-navy-radius-box {
	line-height: 2;
	background-color: #2a303f;
	color: #FFF;
	border-radius: 5px;
	font-size: 1.8rem;
	margin: 15px auto;
	letter-spacing: 0.2rem;
}



.mailform{
	margin: 30px auto;
	text-align:left;	
}


.mailform 
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
textarea,
select
{
	background-color: #efefef;margin:0 auto;
    border-radius: 2px;border:1px solid #ccc;
}


.mailform 
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select
{
	height: 3rem;
}



.mailform 
input[name="your-name"],
input[name="your-furigana"],
input[name="your-email"],
input[name="your-tel"],
input[name="address-1"],
input[name="address-2"],
textarea {
    width: 100%;

}

.mailform .required {
    font-size: 0.85rem;font-weight:bold;
	line-height: 1.8rem;
    color: #FFF;
    display: inline-block;
    padding: 0rem 0.5rem; margin:0.5rem 0;
    background-color: #949291;
    border-radius: 2px;
	white-space:nowrap;
	/*font-family: "source-han-sans-japanese",sans-serif;*/
}
 
.mailform-notice{
    font-size: 1.3rem;
}

 /*送信ボタンスタイリング*/
.mailform input[type="submit"] {
	width: 100%;
    background: #2a303f;
	height: 6rem;
    color: #fff;
	font-size: 20px;font-weight:bold;
	margin: 50px auto 0;
	white-space: 1rem;
    border-radius: 2px;
}


.fa-input {
/*  font-family: FontAwesome, source-han-serif-japanese, serif;*/
}


/* Chromeでフォームautofill の背景が黄色くなるのを防ぐ*/ 
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #efefef inset;
}



.navy-circle{
  height:90px;
  width:90px;
  text-align:center;
  background:#2a303f !important;
  color: #FFF !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  line-height: 2.4rem;
  margin-top: -100px;
  margin-left:-20px;

}

@media only screen and (max-width: 767px) {
  .navy-circle{
	  margin-top: -150px;
  } 
}







.slick-prev
{
    left: 50px !important;
}
.slick-next
{
    right: 50px !important;
}

.slick-prev,
.slick-next
{
	color: #0F0;
    z-index: 100 !important;
}


.cbp-spmenu{
	text-align:left !important;	
}

.needs-reservation{
	font-size: 1.3rem;
    color: #FFF;
    display: inline-block;
    padding: 0 1rem;
	margin-left: 2rem;
	margin-bottom: 0.5rem;
    background-color: #b12408;
    border-radius: 2px;
	white-space:nowrap;
	font-family: "source-han-sans-japanese",sans-serif;
}


#floating-share-buttons{
/*	position: fixed; */
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 99;
}
/*
@media only screen and (max-width: 991px) {
  #floating-share-buttons {
	top: 50px;
  } 
}
*/


/* bootstrap ガター幅を変える 
/*溝幅 60pxの場合*/
.gutter-60{
margin-left:-30px;
margin-right:-30px;
}
.gutter-60 > [class*='col-'] {
padding-left:30px;
padding-right:30px;
}


/*溝幅 10pxの場合*/
.gutter-10{
margin-left:-5px;
margin-right:-5px;
}
.gutter-10 > [class*='col-'] {
padding-left:5px;
padding-right:5px;
}

/*溝幅 20pxの場合*/
.gutter-20{
margin-left:-10px;
margin-right:-10px;
}
.gutter-20 > [class*='col-'] {
padding-left:10px;
padding-right:10px;
}



#reason-mail-wrap,
#reason-intro,
#afterfollow-intro,
#yess-intro{
	width: 100%;
	background-size:cover;
}


#reason-intro{
	background-image: url('../img/img_reason_intro.jpg');
	background-position:bottom center;
	padding: 5rem 2rem 4rem 2rem;
}

#reason-mail-wrap{
	background-image: url('../img/bk_reason_mail.jpg');
	background-position:bottom center;
	text-align:center;
}

#reason-mail {
	font: 1.6rem;
	line-height: 3rem;
	font-weight: 600;
	padding: 6rem 5rem;
	margin:0 auto;
	display: inline-block;
	background-color: rgba(255, 255, 255, 0.9);
	position:relative;
}


@media only screen and (max-width: 767px) {
	#reason-mail {
		padding: 4rem 3rem;
	}
}




#reason-mail span{
	border-bottom: 1px dotted #2a303f;
}


#reason-mail img{
	position:absolute;
	left: 1.3rem;
	bottom: 0;
}

#reason-mail a{
	width: 100%;
	font-size: 1.3rem;
	line-height: 2.5;
	background-color: #2a303f;
	color: #FFF !important;
	margin: auto;
}


#afterfollow-intro{
	background-image: url('../img/img_afterfollow_intro.jpg');
	background-position:bottom center;
	padding-top: 4rem;
	padding-bottom: 25rem;
}

#yess-intro{
	background-image: url('../img/img_facilities_yess.jpg');
	background-position:center;
	padding: 6rem 0 10rem 0;
	margin-top: 50px;
}



#yess-intro p{
	display:block;
	width:100%;
	margin-top: 1rem;
	padding: 3rem 0;
	background-color: rgba(255, 255, 255, 0.8);
	font-size: 2rem;
	font-weight: 700;
}



@media only screen and (max-width: 767px) {
	#yess-intro{
		padding: 3rem 0 6rem 0;
	}

	#yess-intro p{
		font-size: 1.2rem;
	}
}





/*
.se_modelhouse_link{
	width: calc(100% + 100px);
	margin-left: -50px;
	margin-right: 0;
	background-image: url('../img/bnr_se_modelhouse.png');
	background-size:cover;
	background-position:center;
	padding: 8rem 0;
	margin-top: 50px;
	color: #FFF;
	text-align: center;
	
}
*/

.se_modelhouse_link{
	width: 100%;
	background-image: url('../img/bnr_se_modelhouse.png');
	background-size:cover;
	background-position:center;
	padding: 8rem 0;
	margin-top: 50px;
	color: #FFF;
	text-align: center;
}


.se_modelhouse_link a{
	display:inline-block;
	font-size: 1.6rem;
	color: #FFF !important;
	border: solid 1px #FFF;
	padding: 0 8rem;
}




.mailform,
.resp-paddinglr{
	padding-left: 80px;
	padding-right: 80px;	
}
.resp-paddinglr2{
	padding-left: 50px;
	padding-right: 50px;	
}


@media only screen and (max-width: 991px) {
	.mailform,
	.resp-paddinglr{
		padding-left: 40px;
		padding-right: 40px;	
	}
	.resp-paddinglr2{
		padding-left: 30px;
		padding-right: 30px;	
	}


}



@media only screen and (max-width: 767px) {
	.mailform,
	.resp-paddinglr{
		padding-left: 20px;
		padding-right: 20px;	
	}
	
	.resp-paddinglr2{
		padding-left: 10px;
		padding-right: 10px;	
	}

}



#ownersvoice {
	line-height: 2;
}

#, 
#modelhouse,
#recruit,
#reason,
#zeh,
#quake,
#facilities,
#ownersvoice,
#special
{
	text-align:left;
}


#renovation h2,
# h2,
#reason h3,
#quake h2,
#zeh h2,
#facilities h2{
/*
	font-size:2.2rem;
	letter-spacing: 0.2rem; 
	font-weight:600;
	text-align: center;
*/

	border-bottom: dotted 1px #2a303f;
	padding-bottom: 1rem;
	margin-top: 3rem;
	margin-bottom: 2rem;
}


#special h2{
    font-size: 2.2rem;
	font-weight: 700;
	font-family: "source-han-sans-japanese",sans-serif;	
	margin-bottom: 2rem;
	text-align:left;
}

#special p{
	text-align:left;
}



#renovation h3{
	font-size: 2.2rem;
	font-weight:600;	
	margin-bottom:2rem;

}



#recruit h2{
	text-align:left;
	font-size: 1.8rem;
	font-weight: 700;
}

#recruit h3{
	width: 100%;
	height: 5rem;
	line-height: 5rem;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 2rem;
	padding-left: 3rem;
	background-color: #e2ecf1;
	text-align: left;
}

#modelhouse h2{
	font-size: 1.8rem;
	font-weight: 600;
	text-align:left;
	margin-bottom: 1rem;
}


# h3{
	font-size: 2.2rem;
	font-weight:600;	
	margin-bottom:1rem;
    padding-left: 5px;
    border-left: 4px solid #2a303f;
}

@media only screen and (max-width: 767px) {
	#renovation h3,
	# h3{
		font-size: 1.8rem;
	}
}




#ownersvoice h1{
    text-align:left;
	font-size: 2.2rem;
	font-weight:700;	
	margin-bottom: 3rem;
    padding-bottom: 1.7rem;
	border-bottom: 3px solid #2a303f;
	letter-spacing:0.5rem;
}



#ownersvoice h2{
	font-size: 2.0rem;
	font-weight:700;	
	margin-bottom:1rem;
    padding: 2rem 1.3rem;
	background-color: #eae8df;
	text-align:left;
	letter-spacing:0.5rem;
	margin-top: 3rem;
	margin-bottom: 3rem;
}

#ownersvoice img{
	width: 100%;
	height: auto;
}



.recruit-detail{
	padding-right: 3rem;
	padding-left: 3rem;
}





#reason h2{
	width: 100%;
	height: 8rem;
	line-height: 8rem;
	text-align:center;
	background-color: #2a303f;
	background-repeat: no-repeat;
	background-position: left bottom;
	vertical-align: middle;
	color: #FFF;
	font-size: 2.5rem;
	margin-top: 4rem;
	margin-bottom: 2rem;

}


#reason h2:before{
	content: '選ばれる理由　';
	color: #FFF;
	font-size: 1.3rem;
	margin-bottom: 1rem;
}


@media only screen and (max-width: 767px) {
	#reason h2{
		font-size: 1.8rem;
		margin-top: 4rem;
		margin-bottom: 2rem;
	}
	
	#reason h2:before{
		content: '選ばれる理由　';
		color: #FFF;
		font-size: 1.1rem;
		margin-bottom: 1rem;
	}
}



#reason h3{
	text-align:center;	
}

#zeh h3{
	text-align:left;
	font-size: 1.8rem;
	border-bottom: dotted 1px #2a303f;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	font-weight:600;
}


#facilities h3 {
	position: relative;
	font-size: 1.5rem;
	margin: 0;
	padding-left: 27px;
	margin-bottom: 1rem;
	background-color: #e2ecf1;
	font-weight:600;
	line-height: 5rem;
}

#facilities h3:before {
	position: absolute;
	content: "";
	background: #2a303f;
	left: 10px;
	top: 8px;
	width: 5px;
	height: 3.2rem;
}



.facilities-cat-link img{
	width: 100%;
}


.facilities-cat-link span{
	display: block;
	text-align: left;
	line-height:2.8;
	background-color: #e7e5dc;
	padding-left: 1rem;
	font-weight: 600;

}

.facilities-cat-link span:before{
  content: "\f105";
  font-family: FontAwesome;
  margin-right: 0.5rem;
}



#after-follow {
	text-align: left;
	margin: 50px 0;
	padding-top: 5px;
	padding-bottom: 50px;
	background-color: #FFF;
}



#privacy-policy {
	text-align: left;
	counter-reset: number;
}

#after-follow h2,
#privacy-policy h2{
	text-align:left;
	font-size:1.6rem;
	border-bottom: solid 1px #2a303f;
	padding-bottom: 2rem;
	margin-top: 5rem;
	letter-spacing: 0.2rem;
	margin-bottom: 2rem;
	font-weight:600;
}


#privacy-policy h2:before {
	counter-increment: number;
	content: counter(number)".";
}

#privacy-policy ol.numlist,
#privacy-policy ol.alphalist,
#privacy-policy ul{
	padding:0;
	margin:0;
}

#privacy-policy ol.mb>li{
	margin-bottom: 30px;
}



#privacy-policy ol.numlist>li,
#privacy-policy ol.alphalist>li
{
  list-style-type:none;
  list-style-position:inside;
}


#privacy-policy ol.numlist>li{
  counter-increment: cnt;
}

#privacy-policy ol.numlist>li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}



#privacy-policy ol.alphalist>li{
  list-style-type:lower-alpha;
}

#privacy-policy table th{
	white-space:nowrap;
	vertical-align:middle;	
}




#structflow, #online {
	counter-reset: number;
}


#structflow h2, #online h3{
	text-align:left;
	font-size:1.8rem;
	border-bottom: dotted 1px #2a303f;
	margin-bottom: 2rem;
	font-weight:600;
	vertical-align:middle;
	padding-bottom: 0.2rem;
}


#structflow h2:before, #online h3:before{
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	color: #fff !important;
	height: 3.5rem;
	width: 3.5rem;
	text-align:center;
	background-color: #2a303f;
	font-size: 2.2rem;
	margin-right: 1rem;
	font-style:italic;
	vertical-align:middle;
	padding-bottom: 0.2rem;
}

@media only screen and (max-width: 767px) {
	#structflow h2, #online h3 {
		font-size:1.5rem;
/*
	border-bottom: dotted 1px #2a303f;
	margin-bottom: 2rem;
	font-weight:600;
	vertical-align:middle;
	padding-bottom: 0.2rem;
*/
	}
	
	#structflow h2:before, #online h3:before{
		height: 2.6rem;
		width: 2.6rem;
		font-size: 2rem;
		margin-right: 0.3rem;
/*
		font-style:italic;
		vertical-align:middle;
		padding-bottom: 0.2rem;
*/
	}
	
}





.structflow-block, .online-block{
	text-align:left;
	background-color: #eae8df;
	padding-top: 3rem;
	padding-bottom: 3rem;
}


.next-arrow:after{
  content: "\f078";
  font-family: FontAwesome;
  font-size:4rem;
  text-align:center;

}




.layout-housing p{
	text-align: left;	
}


.layout-housing h3{
	text-align:left;
	font-size: 2rem;
	border-bottom: dotted 1px #2a303f;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	font-weight:600;

}


@media only screen and (max-width: 767px) {
	.layout-housing h3{
		font-size: 1.6rem;
	}
}




.layout-housing img{
	margin-right: auto;
	margin-left: auto;
	display: block;
}



.layout-housing h3:before{
  content: "\f046";
  font-family: FontAwesome;
  font-size:2.2rem;
  margin-right: 0.4rem;
}




.ownerpanel
{
	position:relative;
}


.ownerpanel img
{
	width:100%;
	height: 100%;
}


.ownerpanel .owner-title,
.ownerpanel .owner-name{
	position: absolute;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin: 0;
	padding: 0;
	color: #FFF !important;
	line-height: 1.4 !important;
	white-space: nowrap;
}


.ownerpanel .owner-title{
	font-size: 1.7rem;
	top:40%;
	left:50%;
}


.ownerpanel .owner-name{
	font-size: 1.2rem;
	background-color:#2a303f;
	top:60%;
	left:50%;
	padding: 5px 50px;
}








/* モバイルメニューのロゴの位置 */
.bar_logo{
	vertical-align:baseline;
}



.housing-qa-circle{
  height:32rem;
  width:32rem;
  text-align:center;
  background:#FFF !important;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  vertical-align: top;
  font-size: 2.4rem;
  margin: 30px 15px;
  font-weight:600;
  
}

.housing-qa-circle hr{
	color: #000;
	background-color: #000;
	border: 2px solid #000;
	width: 80px;
	align: center;
	margin: 1rem auto 2rem auto;
}

.housing-qa-circle .qa{
	font-size: 6rem;
	font-weight: 700;
	margin-top: -4rem;
}

@media only screen and (max-width: 991px) {
	.housing-qa-circle{
	  font-size: 2rem;
	}

	.housing-qa-circle .qa{
		font-size: 5rem;
	}


}



.diy-num-circle{
  height:7.8rem;
  width:7.8rem;
  text-align:center;
  background:#eee !important;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  vertical-align: top;
  font-size: 1.3rem;
  font-weight: 600;  
  line-height: 1;
  border: 1px #7d7d7d solid;

}

.diy-num-circle hr{
	color: #2a303f;
	background-color: #2a303f;
	border-top: 1px solid #2a303f;
	width: 41px;
	align: center;
	margin: 0.4rem auto 0.4rem auto;
}

.diy-num-circle .num{
	font-size: 2.4rem;
	font-weight: 800;
}




/* 不動産情報 */
/* =Fudosan
-------------------------------------------------------------- */

#single_fudousan{
	margin: 50px auto 100px;
}
.fudo_side{
	padding: 20px;
}
.fudo_side dt{
	cursor: pointer;
/*	text-align: center; */
/*	background: #fff; */
/*	padding: 10px 0; */
/*	font-size: 16px; */
}
.fudo_side dd{
	display: none;
	height: 400px;
	overflow-y: scroll;
}
.side_inner{
	background: #fff;
	padding-bottom: 30px;
}


#fudo_search_form{
	background-color: #eae8df;
	padding: 5px 10px 10px 10px;
}


/*
.fudo_side h2{
	background: #000;

	color: #fff;
	font-size: 15px;
	padding: 5px 10px;
}
*/
#fudo_search_form h2{
	display:inline-block;
	background: #2a303f;
	color: #fff;
	font-size: 2rem;
	padding: 0 0.5rem;
	width: 100%;
}


.fudoSerch_box{
	text-align:left;
/*
	padding: 0 50px;
	margin-bottom: 30px;
*/
}
/*
.fudoSerch_box h3{
	font-weight: bold;
	margin-bottom: 5px;
}
*/
#fudo_search_form h3{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 5px;
}



.fudoSerch_box select{
	width: 100%;
	max-width: 400px;
	margin-bottom: 3px;
}
.fudoSerch_box select.short_box{
	width: 90px;
}

.fudoSerch_box label{
	display: block;
}
.fudoSerch_box input[type="text"]{
	width: 100%;
	max-width: 400px;
}
.fudoSerch_box input[type="checkbox"],
.fudoSerch_box input[type="radio"]{
	margin-right: 3px;
	vertical-align: middle;
}
.fudoSerch_box input[type="submit"]{
/*	background: #336185; */
	background: #2a303f;
	color: #fff;
	text-align: center;
/*	width: 100%; */
	width: 10%;
	padding: 5px;
	border: 0;
	outline: 0;
	box-shadow: none;
}

#fudousan_content{
	text-align: left;
/*

	border: #000 solid 1px;
	margin-bottom: 30px;
*/

}
#fudousan_content h1{
	display:inline-block;
	width: 100%;
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.4;
	padding: 10px;
	margin: 0 0 2rem 0;
	border-top: 1px solid #2a303f;
	border-bottom: 1px solid #2a303f;


}
#fudousan_content .fudo_inner{
	padding: 20px;
}
#fudousan_content  .fudo_num{
	background: #94a4ac;
	color: #fff;
	font-size: 16px;
	padding: 5px 10px;
	text-align: center;
}
#fudo_copy p{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}

.fudo_detail{
	margin-bottom: 50px;
}
.fudo_detail h2{
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: bold;
}
.fudo_detail table{
	border: #000 solid 1px;
	width: 100%;
}
.fudo_detail tr{
	border-bottom: #000 dotted 1px;
}

/*
.fudo_detail th,
.fudo_detail td{
	display: block;
}
*/



.fudo_detail th{
	background:#f2f2f2;
	font-weight: bold;
	text-align: center;
	white-space:nowrap;
/*	width: 25rem; */
	width: 30%;

}

.fudo_detail th,
.fudo_detail td{
	padding: 1rem;
}

/*


.fudo_detail td p{
	margin: 0;
}
*/



#fudo_bottom{
	text-align: center;
	font-weight: bold;
	margin-top: 50px;
}
#fudo_bottom p{
	margin-bottom: 10px;
}
#fudo_bottom a{
	display: block;
	background: #dfcf52;
	padding: 20px;
	font-size: 24px;
}
#fudo_bottom a i{
	margin-left: 10px;
}

.fudo_count{
	font-size: 18px;
	font-weight: bold;
}
.fudousan_archive{
	display: block;
	border: #000 solid 1px;
	padding: 20px;
	margin-bottom: 20px;
}
.fudousan_archive:hover{
	background: #f2f2f2;
	opacity: 1;
}
.thumb_img{
	width: 180px;
	height: 110px;
	float: left;
	margin-right: 10px;
	overflow: hidden;
}
.fudousan_cat{
	background: #000;
	color: #fff;
	display: inline-block;
	padding: 3px 20px;
}
.fudousan_archive h1{
/*	clear: both; */
	margin: 0;
	font-size: 18px;
	font-weight: bold;
}
.fudoArc_table{
	width: 100%;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	margin: 10px 0;
}
.fudoArc_table table{
	width: 100%;
	border: #000 solid 1px;
	min-width: 600px;
}
.fudoArc_table th{
	background: #000;
	color: #fff;
	border-right: #fff solid 1px;
	text-align: center;
	padding: 10px 0;
}
.fudoArc_table th:last-child{
	border-right: #000 solid 1px;
}
.fudoArc_table td{
	border-right: #000 solid 1px;
	padding: 10px;
}
.fudousan_archive .link_detail{
	display: block;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	color: #fff;
	background: #385f85;
	margin: 0;
}


.fudoArc_resp_table {
	width: 100%;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	margin: 10px 0;
}

.fudoArc_resp_table table {
	width: 100%;
	border: #000 solid 1px;
}


  .fudoArc_resp_table table tr th {
	background: #000;
	color: #fff;
	border-right: #fff solid 1px;
	text-align: center;
	padding: 10px 0;
  }

  .fudoArc_resp_table table tr td {
	border-right: #000 solid 1px;
	padding: 10px;
  }






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

  .fudoArc_resp_table table {
    width: 100%;
  }
  .fudoArc_resp_table table tr {
    display: block;
    float: left;
  }
  .fudoArc_resp_table table tr td, .fudoArc_resp_table table tr th {
    display: block;
	padding: 10px;
/*    height: 40px; */
  }

  .fudoArc_resp_table table tr td {
	border-right: none;
	padding: 10px;
  }


  .fudoArc_resp_table table thead {
    display: block;
    float: left;
    width: 30%;
  }
  .fudoArc_resp_table table thead tr {
    width: 100%;
  }
  .fudoArc_resp_table table tbody {
    display: block;
    float: left;
    width: 70%;
  }
  .fudoArc_resp_table table tbody tr {
    width: 30%;
  }
}



#slick_container {
    width:600px;
    margin:0 auto;
    position:relative;
}

.slick-prev:before, .slick-next:before {
	color: #f00 !important;
}


.contact-tab {
	width: 100%;
	height: 100%;
	text-align: left;
	background-color: #2a303f !important;
	border: 5px solid #2a303f;
	border-radius: 10px;
	font-size: 2.0rem;
	color: #FFF;
	padding: 20px 15px 30px 55px;
	background:url('../img/icon_contact_checked.png') no-repeat 10px 50%;
		
}

.contact-tab h3 {
	font-size: 2.0rem;
	line-height:2;
	font-weight:600;
	white-space:nowrap;
}



/************************************
** CSSでタブ表示
************************************/
/* タブの外枠 */
.tabs {
  margin-top: 12px;
}

/* タブのスタイル */
/*
.tabs .tab-label {
  display: inline-block;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border: 1px solid #999;
  background-color: #f3f3f3;
  margin-left: 1px;
  margin-right: 1px;
  padding: 3px 6px;
  border-bottom: none;
  font-size: 0.9em;
}
*/


.tabs .tab-label {
	display: inline-block;
	width: 49%;
	min-height: 200px;
	max-width: 280px;
	min-width: 280px;
	text-align: left;
	background-color: #2a303f !important;
	border: 5px solid #2a303f;
	border-radius: 10px;
	margin: 10px;
	padding: 20px 15px 20px 55px;
	color: #95989f;
	background:url('../img/icon_contact_nocheck.png') no-repeat 10px 50%;
}


.tab-label h3 {
	font-size: 2.0rem;
	line-height:2;
	font-weight:600;
	white-space:nowrap;
}



/* ラジオボタンと内容を非表示 */
.tabs input[name="tab-radio"],
.tabs .tab-content {
  display: none;
}

/* タブ内容のスタイル */
.tabs .tab-content{
}

/* 選択されているタブのコンテンツのみを表示 */
.tabs #tab-1:checked ~ .tab-1-content,
.tabs #tab-2:checked ~ .tab-2-content,
.tabs #tab-3:checked ~ .tab-3-content,
.tabs #tab-4:checked ~ .tab-4-content,
.tabs #tab-5:checked ~ .tab-5-content {
  display: block;
}

/* 選択されているタブのスタイルを変える */
.tabs input[name="tab-radio"]:checked + .tab-label {
	color: #FFF;
	background:url('../img/icon_contact_checked.png') no-repeat 10px 50%;
}



.present-box{
	width: 100%;
	height: 208px;
	margin-top: 25px;
	position:relative;
}

.present-box span{
/*	position:absolute;
	left: 100px;
	width: 100%;
	height: auto;
 */
	font-size: 2.0rem;
	font-weight: 600;

/*
	top:  10px;
	left: 0;
	padding-top: 50px;
	padding-bottom: 45px;
	padding-left: 280px;
	background-image: url('../img/bg_beigedots.png');	
*/

}


.present-box img{
	position:absolute;
	left: 30px;
}

#kkblog-contents{
	padding: 0;
	text-align:left;
	border: 1px #000 solid;
}

#kkblog-contents p{
	text-align:left;
}



.kkblog-cat {
	display: inline-block;
	color: #FFF;
	background-color: #2a303f;
	line-height: 3rem;
	padding-right: 2rem;
	padding-left: 2rem;
	white-space:nowrap;
}

.kkblog-date {
	display: inline-block;
	line-height: 3rem;
	margin-left: 1rem;
}


.kkblog-title {
	display: block;
	text-align:left;
	width: 100%;
	padding-bottom: .2em;
	border-bottom: 1px solid #000;
	font-size: 1.3rem;
	font-weight:600;
	margin: 10px 0 20px 0;
}


/*
.xcenter-bold-txt{
	margin-right: auto;
	margin-left: auto;
	font-weight: 600;
	font-size: 2.2rem;
}
*/


.intro-txt{
	margin-right: auto;
	margin-left: auto;
	font-weight: 600;
	font-size: 1.3rem;
}

.intro-txt .headline{
	font-size:2.2rem;
	margin-bottom: 2rem;
}


.intro-txt .headline-l{
	font-size:3rem;
	margin-top: 2rem;
	margin-bottom: 3rem;
}

.intro-txt .headline-s{
	font-size:1.4rem;
}

.intro-txt  .regular-weight{
	font-weight: 400;
}

@media only screen and (max-width: 767px) {
	.intro-txt .headline{
		font-size:1.8rem;
	}

	.intro-txt .headline-l{
		font-size:2.2rem;
		margin-top: 1rem;
		margin-bottom: 2rem;
	}
}






.img-overtext{
	position:relative;
}


.img-overtext img{
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
}


.img-overtext span{
	text-align: center;
	white-space:nowrap;
	display:inline-block;
	line-height: 2;
	position:absolute;
	color: #FFF;
	background-color: #2a303f;
	top: 0;
	left: 0;
	width: 8rem;
	font-size: 1.2rem;
	z-index: 99;
}


/* position:absoluteした要素に可変の高さを与える */
/* https://qiita.com/nknkt/items/065b30bbdc1f6508a6f7 */
.ratio-1_1:before {
    content: "";
    display: block;
    padding-top: 100%; /* 1:1 */
}

.ratio-320_220:before {
    content: "";
    display: block;
    padding-top: 68.75%; /* 320:220 */
}





.resp-video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  margin: 45px 0;
}

.resp-video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}



.reason-answer .reason {
	display:inline-block;
	line-height: 2;
	background-color: #2a303f;
	color: #FFF;
	padding-right: 2rem;
	padding-left: 2rem;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 1rem;
}


.reason-answer .answer {

	font-size: 1.8rem;
	font-weight: 600;
}


@media only screen and (max-width: 767px) {
	.reason-answer .reason {
		font-size: 1.4rem;
	}
	
	
	.reason-answer .answer {
		font-size: 1.7rem;
	}
}





.modal-close{
	position: absolute;
	top: 0.5rem;
	right: 1rem;
	font-size: 3rem;
	color: #FFF !important;
}

@media screen and (max-width: 991px) {
.modal-close{
	top: 3.5rem;
}

}


.maxwidth100 img{
/*
	width: 100% !important;
	max-width:100% !important;
	height: auto !important;
*/
	width: 100%;
	max-width:100%;
	height: auto;

	
}



/* Facebook のアイコンが下にずれるのを直す */
.fb_iframe_widget > span {
  vertical-align: baseline !important;
}



.width33 {
	width: 33% !important;
	max-width: 33% !important;
	height: auto;
	margin: auto;
	text-align: center;
}

.width50 {
	width: 50% !important;
	max-width: 50% !important;
	height: auto;
	margin: auto;
	text-align: center;
}

.width66 {
	width: 66% !important;
	max-width: 66% !important;
	height: auto;
	margin: auto;
	text-align: center;
}



/* zoom 説明 */
#zoom .step {
	display:inline-block;
	line-height: 2;
	background-color: #2a303f;
	color: #FFF;
	padding-right: 1rem;
	padding-left: 1rem;
	margin-right:1rem;
	margin-top:0.2rem;
	font-size: 1.6rem;
	font-weight: 600;
}

#zoom h3 {
	display:inline-block;
	line-height: 2;
	font-size: 1.8rem;
	font-weight: 600;
}


@media only screen and (max-width: 767px) {
	#zoom .step {
		font-size: 1.4rem;
	}


	#zoom h3 {
		font-size: 1.6rem;
	}

}



#zoom .stepbox{
	border:2px solid #2a303f;
	margin-top: 10px;
	margin-bottom: 10px;
	background-color: #FFF !important;
  
}


/*
  height:32rem;
  width:32rem;
  text-align:center;
  background:#FFF !important;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  vertical-align: top;
  font-size: 2.4rem;
  margin: 30px 15px;
  font-weight:600;
  


*/

.zoom-baloon{
  text-align:center;
  background:#FFF !important;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap; 
  vertical-align: top;
  font-size: 1.6rem;

  position: relative;
  padding: 20px;
  width: 16rem;
  height: 16rem;
  font-family: "source-han-sans-japanese",sans-serif;

}
.zoom-baloon::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: 7px;
  bottom: 7px;
  border-left: 20px solid #FFF;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: rotate(45deg);
}


@media only screen and (max-width: 767px) {
	.zoom-baloon{
		font-size: 1.4rem;
	}

}


/*2026追加*/