@charset "utf-8";

/* =======================================
 コンセプト下層
======================================= */

.sub section#subContainer .sub_main.concept{
	width:96%;
}
.sub section#subContainer .sub_main.concept h2 {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	position: relative;
	color: #000;
	font-size: 25px;
	line-height: 1.5em;
	letter-spacing: 1px;
	text-align: center;
	margin: 70px auto 30px;
	box-sizing: border-box;
}

.sub_main.concept dl{
	margin: 0 calc(50% - 50vw);
	height: auto;
	height:550px;
	display:flex;
	margin-bottom:30px;
}
.sub_main.concept dl img{
	width: 97.5%;
	height:100%;
	object-fit:cover;
	display: block;
	margin-right:20px;
}
.sub_main.concept dl dt{
	width: 30%;
	padding:80px 0 0 0;
	background:#f8f8f8;
}
.sub_main.concept dl dt h4{
	font-size:180%;
	/*margin:0 auto;*/
	letter-spacing: 0.1em;
	font-weight:bold;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	display: table; /* 縦書きのblock要素はIEで高さが狂うためtableを指定 */
	left: 50%; /* IEはtable要素にmargin:autoが効かないためleftで強制的に中央寄せ */
	transform: transLateX(-50%); /* transformで要素の幅を打ち消す */
	margin:0 ; /* leftで座標指定したのでmarginは0にする */
}
.sub_main.concept dd{
	width: 70%;
}
.sub_main.concept > h2 span{
	font-size: 110% !important;
    color: #7b1b1b !important;
    display: unset !important;
}

.sub section#subContainer .main_box.concept h2 {
	font-size: 25px  !important;
	line-height: 1.5em  !important;
	letter-spacing: 1px  !important; 
	text-align: center !important;
	margin: 100px auto 70px !important;
	box-sizing: border-box !important;
	font-weight: bold !important;
}


.sub section#subContainer .sub_main.concept > h3 {
	font-weight:bold;
	font-size: 130%;
	padding: 0 0 5px 0;
	margin: 20px 0 10px;
	letter-spacing: unset !important;
    text-align: unset !important;
	position: inherit;
}

.sub section#subContainer div.main_box h3 {
    font-weight: bold;
    font-size: 130%;
    padding: 0 0 5px 0;
    margin: 20px 0 10px;
    position: inherit;
	text-align: left !important;
}


/* col Single */
.main_box.concept .columnSingle{
	margin:0 0 50px;
}

.main_box.concept .columnSingle h4{
	font-size: 120% !important;
	border-bottom:none !important;
}


/* 1col */
.main_box.concept .column1 {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content:space-between;
	flex-direction: row-reverse;
}
.main_box.concept .column1 h3 span{
	font-family: 'Jost', sans-serif;
	font-size:200%;
	font-weight:normal;
	line-height:1em;
	margin-right:0.3em;
	padding-right:0.3em;
	border-right:1px solid #000;
	display:inline-block;
}
.main_box.concept .column1 li.img_l {
	margin-right: 3%;
}
.main_box.concept ul.column1 li:nth-child(1){
	width: 40%;
	flex-shrink: 0;
	overflow:hidden;
}
.main_box.concept ul.column1 li:nth-child(2){
	width: 58%;
}
.main_box.concept ul.column1 li:nth-child(1) img {
	width: 100%;
	height:100%;
	object-fit:cover;
}
.sub section#subContainer div.main_box.concept ul.column1 h3 {
	font-size: 135%;
	font-weight:bold;
	padding: 0 0 5px;
	margin: 0 0 10px;
	border-bottom: 1px solid #aaa;	
	text-align: left !important;
	display: block !important;
}
.main_box.concept ul.column1 li:nth-child(2) dl h4,.main_box.concept ul.column1 h4{
	font-size: 120% !important;
	font-weight:bold !important;
	padding: 0 0 5px !important;
	margin: 25px 0 5px !important;
	border-bottom: unset !important;
}
.main_box.concept ul.column1 li:nth-child(2) dl h4 span,
.sub section#subContainer div.main_box.concept ul.column1 h3 span{
	font-family: 'Jost', sans-serif;
	font-size:200%;
	font-weight:normal;
	line-height:1em;
	margin-right:0.3em;
	padding-right:0.3em;
	border-right:1px solid #000;
	display:inline-block;
}
@media screen and (max-width: 1100px) {
	.main_box.concept ul.column1 li:nth-child(2) dl .text > p {
		font-size: 14px;
		line-height: 2.0em;	
	}
}

.main_box.concept{
	max-width: 1200px;
	width: 96%;
	height: auto;
	margin: 0 auto;
}

.main_box.concept > h3{
	font-weight: bold;
    font-size: 130%;
    padding: 0 0 5px 0;
    margin: 20px 0 10px;
    position: inherit;
	border-bottom:none !important;
}

/*eframe*/
.sub div.eframe {
	position: relative;
	width: 100%;
	margin: 30px 0 50px 0;
	box-sizing: border-box;
}
.sub div.eframe.eframe_blue{
	background: #eff5fb;
}
.sub div.eframe .eframe_text{
	font-weight:bold;
	list-style:decimal;
	margin-left:1.5em;
}
.main_box div.eframe h3 {
	font-size: 120%;
    font-weight: bold;
    padding: 0 0 5px;
    margin: 25px 0 5px;
	border-bottom:none !important;
	font-size: 130%;
	font-weight:bold;
	margin:0 !important;
	letter-spacing: 1px;
	padding:0;
}
.main_box div.eframe h5 {
	font-size: 100%;
	font-weight:bold;
	letter-spacing: 1px;
	padding:0;
	margin-top:10px;
}


/*concept_img_2block*/
.main_box.concept .concept_img_2block{
	display:flex;
	margin:50px 0;
}
.main_box.concept .concept_img_2block li{
	width:100%;
	list-style:none;
	text-align:center;
}
.main_box.concept .concept_img_2block li dt{
	font-size:110%;
	font-weight:bold;
}
.main_box.concept .concept_img_2block li dt span{
	border:1px solid #000;
	padding:5px 10px;
}
.main_box.concept .concept_img_2block li img{
	width:60%;
	padding-top:20px;
}

/* ---------------------------
100年耐久住宅
------------------------------ */
.homeHead_mainText em{
	font-size:110%;
	font-weight:bold;
	font-family: 'Jost', sans-serif;
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
	transform:scale(1.3, 1.0);
	display:inline-block; 
}
.sub div.eframe.st{
	padding:30px;
	font-weight:bold;
}
.sub div.eframe.st ol{
	list-style:auto;
	margin-left:1em;
}
.sub div.eframe.st ol > li > ul{
	list-style:square;
	margin-left:1em;
}
.main_box.concept .column1.st {
	margin-bottom:70px;
}
.main_box.concept .column1.st li:nth-child(1){
	width:40%;
}
.main_box.concept .column1.st li:nth-child(2){
	width:55%;
}
.main_box.concept .column1.st2 {
	display: block;
	justify-content:unset;
}
.sub div.eframe.st2 ul > li:nth-child(2) h3 {
	border-bottom: 1px dotted #000 !important;
    margin-bottom: 15px !important;
}

.main_box.concept .column1.st2 > h3 span{
	font-family: 'Jost', sans-serif;
	font-size:200%;
	font-weight:normal;
	line-height:1em;
	margin-right:0.3em;
	padding-right:0.3em;
	border-right:1px solid #000;
	display:inline-block;
}
.sub div.eframe.st2{
	padding:20px;
	background:#f5f5f5;
	margin-bottom:70px;
}

.sub div.eframe.st2 ul{
	display:flex;
	justify-content:space-between;
}
.sub div.eframe.st2 ul > li:nth-child(1){
	width:30%;
	overflow:hidden;
}
.sub div.eframe.st2 ul > li:nth-child(1) img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.sub div.eframe.st2 ul > li:nth-child(2){
	width:65%;
}
.sub div.eframe.st2 ul > li:nth-child(2) h4{
	border-bottom:1px dotted #000 !important;
	margin-bottom:15px !important;
}
.sub div.eframe.st2 ul > li:nth-child(2) ol{
	font-size:100%;
	font-weight:bold;
	list-style:auto;
	margin-left:1em;
}


/* ---------------------------
 天然無垢材ローカル
------------------------------ */
.main_box.concept .concept_img_1block_natural{
	margin:30px auto 0 auto;
	text-align:center;
}
.main_box.concept .concept_img_1block_natural h5{
	font-size:110%;
	font-weight:bold;
}
.main_box.concept .concept_img_1block_natural h5 span{
	border:1px solid #000;
	padding:5px 10px;
}
.main_box.concept .concept_img_1block_natural dl{
	margin:30px 0 50px 0;
}
.main_box.concept .concept_img_1block_natural dl dd{
	font-size:180%;
	font-weight:bold;
	height:auto;
	vertical-align:middle;
	display:inline-block;
}
.main_box.concept .concept_img_1block_natural dl dd span{
	border-bottom:2px solid #000;
	padding:0 0 5px 0;
}
.main_box.concept .concept_img_1block_natural dl dd span::after {
	content: "\A" ;
	white-space: pre ;
}
.main_box.concept .column1.na{
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	position: unset;
	display: block;
	justify-content:space-between;
	flex-direction: unset;
	margin-bottom:70px;
}

.main_box.concept .column1.na > h4 span{
	font-family: 'Jost', sans-serif;
	font-size:200%;
	font-weight:normal;
	line-height:1em;
	margin-right:0.3em;
	padding-right:0.3em;
	border-right:1px solid #000;
	display:inline-block;
}
.main_box.concept .column1.na .concept_img_2block{
	display:flex;
	justify-content:space-between;
	margin:50px 0;
}
.main_box.concept .column1.na .concept_img_2block li{
	width:48%;
	overflow:unset;
}
.main_box.concept .column1.na .concept_img_2block li img{
	width:70%;
	height:unset;
	margin-top:30px;
	object-fit:unset;
}
.main_box.concept .column1.na2{
	margin:0 0 70px 0;
}
.sub div.eframe.na{
	background:#f9f9f9;
	padding:20px;
	box-sizing:border-box;
	margin-bottom:70px;
}

h5.na_heading{
	text-align: center;
	margin:0 0 50px;
}
h5.na_heading span{
	display:inline-block;
	position: relative;
	padding: 2em 2em !important;
}
h5.na_heading span:before,
h5.na_heading span:after {
  position: absolute;
  content: '';
}
h5.na_heading span:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
}
h5.na_heading span:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}


/* ---------------------------
 耐震・制震設計ローカル
------------------------------ */
.sub div.eframe.eq{
	padding:20px;
	background:#f5f5f5;
	box-sizing:border-box;
}
.sub div.eframe.eq dl{
	display:flex;
	justify-content:space-between;
}
.sub div.eframe.eq dl dt{
	width:30%;
	overflow:hidden;
}
.sub div.eframe.eq dl dt img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.sub div.eframe.eq dl dd{
	width:68%;
	padding:20px;
	box-sizing:border-box;
}
.sub div.eframe.eq dl dd ol{
}
.sub div.eframe.eq dl dd ol li{
	font-size:105%;
	list-style:decimal;
	font-weight:bold;
	line-height:2.0em;
}

.main_box.concept .column1.eq{
	margin:0 0 70px 0;
}
.main_box.concept .column1.eq2 {
	display: block;
	justify-content:unset;
	flex-direction: unset;
}
.eq_se_frame{
	background:#f9f9f9;
	padding:50px;
}
.eq_se_frame table.eq_seishin{
	width:100%;
	margin:50px 0;
	text-align:center;
	font-weight:bold;
}
.eq_se_frame table.eq_seishin tr td{
	width:28%;
	padding:10px 0;
	border:5px #f9f9f9 solid;
	background:#fff;
}
.eq_se_frame table.eq_seishin tr td img{
	width:100%;
}
.eq_se_frame table.eq_seishin tr td:nth-child(1){
	width:16%;
}
.eq_se_frame table.eq_seishin tr:nth-child(1) td:nth-child(1),
.eq_se_frame table.eq_seishin tr:nth-child(2) td:nth-child(1){
	border:none;
}
.eq_se_frame table.eq_seishin tr:nth-child(2) td:nth-child(2),
.eq_se_frame table.eq_seishin tr:nth-child(2) td:nth-child(4){
	background:#d3e2e2;
	font-size:110%;
}
.eq_se_frame table.eq_seishin tr:nth-child(2) td:nth-child(3){
	background:#5567af;
	color:#fff;
	font-size:110%;
}
.eq_se_frame table.eq_seishin tr td:nth-child(1){
	background:#eaeaea;
}
.eq_se_frame table.eq_seishin tr:nth-child(1) td:nth-child(1),
.eq_se_frame table.eq_seishin tr:nth-child(1) td:nth-child(2),
.eq_se_frame table.eq_seishin tr:nth-child(1) td:nth-child(3),
.eq_se_frame table.eq_seishin tr:nth-child(1) td:nth-child(4),
.eq_se_frame table.eq_seishin tr:nth-child(2) td:nth-child(1){
	background:none;
}
.eq_se_frame table.eq_seishin tr:nth-child(3) td:nth-child(3),
.eq_se_frame table.eq_seishin tr:nth-child(4) td:nth-child(3),
.eq_se_frame table.eq_seishin tr:nth-child(5) td:nth-child(3),
.eq_se_frame table.eq_seishin tr:nth-child(6) td:nth-child(3){
	background:#eceef5;
}
#concept .eq_seishin_f_04 img{
	max-width: 100%;
}
.eq_se_frame > h4{
	font-size:120% !important;
}

/* ---------------------------
 ロープライス高品質素材ローカル
------------------------------ */
.main_box.concept ul.column1.rc {
	margin: 50px 0;
}
.main_box.concept ul.column1.rc li:nth-child(2) {
	width: 45%;
	margin-right: 2%;
}
.main_box.concept ul.column1.rc li:nth-child(2) dt {
	font-size: 130%;
	font-weight: bold;
	padding: 0 0 5px 0;
	border-bottom: 1px solid #aaa;
}
.main_box.concept ul.column1.rc li:nth-child(1) {
	width: 57%;
	overflow:unset;
}

.main_box.concept ul.column1.rc li:nth-child(1) img{
	object-fit:unset;
}
.main_box.concept .column1.rc2{
	margin:0 0 70px;
}

/* ---------------------------
 建築家によるデザイン住宅ローカル
------------------------------ */
.main_box.concept h3.design_top{
	border-bottom:none !important;
	text-align:center !important;
}
.main_box.concept h3.design_top span{
}
.main_box.concept .design_sample{
	display:flex;
	flex-wrap:wrap;
	margin:20px 0;
}
.main_box.concept .design_sample li{
	list-style:none;
	width:50%;
}
.main_box.concept .design_sample li img{
	display:block;
}

/* ---------------------------
 夏涼しく冬暖かい家ローカル
------------------------------ */
.sub_main.concept h2 {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    position: relative;
    color: #000;
    font-size: 25px;
    line-height: 1.5em;
    letter-spacing: 1px;
    text-align: center;
    margin: 70px auto 30px;
    box-sizing: border-box;
}
.main_box.concept ul.column1.op{
	margin-bottom:100px;
}
.main_box.concept .column1.op dl dt {
	color:#7b1b1b;
	font-size: 105%;
	margin:0.8em 0;
}
.main_box.concept .column1.op dl dt strong{
	display:block;
	line-height:2.0em;
	font-weight:bold;
}
.sub div.eframe.op {
	margin:50px 0;
}
.sub div.eframe.op dl{
	display:flex;
	justify-content:space-between;
}
.sub div.eframe.op dl:nth-child(1){
	margin-bottom:50px;
}
.sub div.eframe.op dl dt{
	width:25%;
	overflow:hidden;
}
.sub div.eframe.op dl dt img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.sub div.eframe.op dl dd{
	width:73%;
}
.sub div.eframe.op dl dd h4{
	font-size: 120% !important;
	display:inline-block;
	border-bottom:1px solid #000 !important;
	margin-bottom:0.5em;
}
.sub div.eframe.op dl dd h4 span{
	font-family: 'Jost', sans-serif;
	font-size:250%;
	font-weight:normal;
	line-height:1em;
	margin-left:0.2em;
	vertical-align:baseline;
}
.sub div.eframe.op2{
	padding:50px 40px;
	background:#f9f9f9;
	margin-bottom:100px;
}
.eframe.op2 dl{
	margin-bottom:50px;
}
.eframe.op2 dl h4{
	border-bottom: unset !important;
	width: unset !important;
}
.eframe.op2 ul{
	display:flex;
	justify-content:space-between;
	margin-bottom:30px;
}
.eframe.op2 ul li{
	width:32%;
	background:#fff;
	padding:20px;
	box-sizing:border-box;
}
.eframe.op2 ul li h4{
	font-size: 120% !important;
    font-weight: bold !important;
    padding: 0 0 5px !important;
    margin: 25px 0 5px !important;
	border-bottom: unset !important;
}
.eframe.op2 ul li h4:before{
	font-size:200%;
	font-family: 'Jost', sans-serif;
	font-weight:normal;
	margin-right:0.2em;
}
.eframe.op2 ul li:nth-child(1) h4:before{
	content:"1.";
}
.eframe.op2 ul li:nth-child(2) h4:before{
	content:"2.";
}
.eframe.op2 ul li:nth-child(3) h4:before{
	content:"3.";
}

.main_box.concept ul.column1.op2{
	display:block;
	margin-bottom:70px;
}
.sub section#subContainer div.main_box h5{
	font-size: 120%;
	font-weight:bold;
	padding: 0 0 5px;
	margin: 25px 0 5px;
}

/*ZEH HEAT20*/
.main_box.concept .project_box{
	margin:100px 0;
}
.main_box.concept .project_box ul{
	display:flex;
}
.main_box.concept .project_box ul li{
	width:50%;
	padding:50px;
}
.main_box.concept .project_box ul li:nth-child(1){
	background:#fff3f9;
}
.main_box.concept .project_box ul li:nth-child(2){
	background:#eaf9f3;
}
.main_box.concept .project_box ul li dt{
	width:70%;
	margin:auto;
}
.main_box.concept .project_box ul li dt img{
	width:100%;
}
.main_box.concept .project_box ul li dd{
	margin:20px auto;
	padding: 0 0 67px;
	position: relative;
}
.main_box.concept .project_box ul li dd h3{
	font-size: 120% !important;
    font-weight: bold !important;
    padding: 0 0 5px !important;
    margin: 25px 0 5px !important;
	text-align: center !important;
}
.main_box.concept .project_box ul li dd .zeh_btn,
.main_box.concept .project_box ul li dd .heat20_btn{
	width:400px;
	margin:auto;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
}
.main_box.concept .project_box ul li dd .zeh_btn span .btn{
	color:#fff;
	border:3px solid #009c1b;
	background:#009c1b;
	padding:5px;
}
.main_box.concept .project_box ul li dd .heat20_btn span .btn{
	color:#fff;
	border:3px solid #e85187;
	background:#e85187;
	padding:5px;
}
.main_box.concept .project_box ul li dd .zeh_btn span a:hover {
    color: #009c1b !important;
    background: #fff;
}
.main_box.concept .project_box ul li dd .heat20_btn span a:hover {
    color: #e85187 !important;
    background: #fff;
}
.main_box.concept .project_box ul li dd .zeh_btn span a.animated-button.thar-three:before,
.main_box.concept .project_box ul li dd .heat20_btn span a.animated-button.thar-three:before {
    background: #fff;
}
.main_box.concept .project_box ul li dd .zeh_btn span a i {
    margin-left:10px;
}


/*太陽や風を活かす技術や設備*/
.main_box.concept .opt_option{
	background:#f5f5f5;
	padding:30px;
	margin-bottom:70px;
}
.main_box.concept .opt_option ul{
	display:flex;
	margin:0 0 50px 0;
	padding:0 0 30px 0;
	border-bottom:1px dotted #000;
}
.main_box.concept .opt_option ul:last-child{
	border-bottom:none;
	padding:0;
	margin:0;
}
.main_box.concept .opt_option ul li:nth-of-type(1){
	width:380px;
	margin-right:60px;
}
.main_box.concept .opt_option ul li:nth-of-type(1) img{
	width:100%;
}
.main_box.concept .opt_option ul li:nth-of-type(2){
	width:800px;
}
.main_box.concept .opt_option ul li:nth-of-type(2) h3{
    font-size: 120% !important;
    font-weight: bold !important;
    padding: 0 0 5px !important;
    margin: 25px 0 5px !important;
}


/* ---------------------------
 品質管理
------------------------------ */
.main_box.concept ul.column1.qc {
	margin: 50px 0 70px;
}