/* -----------------------------------------------
事例一覧
----------------------------------------------- */
/* タグ */
article .tag.single_tag span {
    line-height: 1;
    color: #0059AA;
    border: 1px solid #0059AA;
    display: inline-block;
}

article .tag.single_tag span.r-tag_kitchen {
    color: #fff;
    background-color: #E65454;
    border: none;
}

article .tag.single_tag span.r-tag_bath {
    color: #fff;
    background-color: #0072B6;
    border: none;
}

article .tag.single_tag span.r-tag_bathsink {
    color: #fff;
    background-color: #43B5E5;
    border: none;
}

article .tag.single_tag span.r-tag_toilet {
    color: #fff;
    background-color: #BF4A92;
    border: none;
}

article .tag.single_tag span.r-tag_indoor {
    color: #fff;
    background-color: #FF9D00;
    border: none;
}

article .tag.single_tag span.r-tag_outdoor {
    color: #fff;
    background-color: #2CA349;
    border: none;
}

article .tag.single_tag span.r-tag_solar_power {
  color: #fff;
  background-color: #FFDF2F;
  border: none;
}

article .tag.single_tag span.r-tag_storage_battery {
  color: #fff;
  background-color: #9ED959;
  border: none;
}

article .tag.single_tag span.r-tag_v2h {
  color: #fff;
  background-color: #EAA5D5;
  border: none;
}

article .tag.single_tag span.r-tag_enefarm {
  color: #fff;
  background-color: #895433;
  border: none;
}

@media screen and (max-width: 767px) {
	article .tag.single_tag {
    margin-top: 20px;
	}

	article .tag.single_tag span {
		padding: 8px 1em;
		font-size: 1.4rem;
		margin: 0 8px 10px 0;
	}
}

@media screen and (min-width: 768px) {
	article .tag.single_tag {
    margin-top: 30px;
	}

	article .tag.single_tag span {
		padding: 8px 1em;
		font-size: 16px;
		margin: 0 4px 6px 0;
	}
}

.article_item_wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.article_item_wrap .article_item {
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #E5E5E5;
    display: flex;
    flex-direction: column;
}

.article_item_wrap .article_item .img {
	width: 100%;
	padding-top: 75%;
	position: relative;
	background-color: rgba(172,172,172,.1);
}

.article_item_wrap .article_item img {
	height: 100%;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.article_item_wrap .article_item .tag span {
	line-height: 1;
	color: #0059AA;
	border: 1px solid #0059AA;
	display: inline-block;
}

.article_item_wrap .article_item .tag span.r-tag_kitchen {
	color: #fff;
	background-color: #E65454;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_bath {
	color: #fff;
	background-color: #0072B6;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_bathsink {
	color: #fff;
	background-color: #43B5E5;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_toilet {
	color: #fff;
	background-color: #BF4A92;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_indoor {
	color: #fff;
	background-color: #FF9D00;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_outdoor {
	color: #fff;
	background-color: #2CA349;
	border: none;
}

.article_item_wrap .article_item .tag span.r-tag_solar_power {
    color: #fff;
    background-color: #FFDF2F;
    border: none;
}

.article_item_wrap .article_item .tag span.r-tag_storage_battery {
    color: #fff;
    background-color: #9ED959;
    border: none;
}

.article_item_wrap .article_item .tag span.r-tag_v2h {
    color: #fff;
    background-color: #EAA5D5;
    border: none;
}

.article_item_wrap .article_item .tag span.r-tag_enefarm {
    color: #fff;
    background-color: #895433;
    border: none;
}

.article_item_wrap .article_item h3 {
	font-weight: bold;
}

.article_item_wrap .article_item .info {
    margin-top: auto;
}

.article_item_wrap .article_item .info span:first-child {
	margin-right: 0.8em;
}

.article_wrap .more_btn_wrap a {
	border-radius: 8px;
	margin: 0 auto;
	background-color: #009CD0;
	display: block;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.article_wrap .more_btn_wrap a span {
	color: #fff;
	font-weight: bold;
}

.article_wrap .more_btn_wrap a span::before {
	content: '';
	display: inline-block;
	background-image: url(../img/common/icon_arrow_white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	width: 18px;
	height: 18px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	.article_wrap {
    margin-top: 47px;
	}

	.article_item_wrap .article_item {
		width: 48.11%;
		margin-right: 3.76%;
		position: relative;
	}

	.article_item_wrap .article_item:nth-child(2n) {
		margin-right: 0;
	}
	
	.article_item_wrap .article_item:nth-child(n + 3) {
		margin-top: 30px;
	}

	.article_item_wrap .article_item .tag {
		padding: 10px 6.02% 0;
	}

	.article_item_wrap .article_item .tag span {
		padding: 4px 1em;
		font-size: 1rem;
		margin: 0 2px 4px 0;
	}

	.article_item_wrap .article_item h3 {
		margin-top: 6px;
        margin-bottom: 5px;
		font-size: 1.4rem;
		line-height: 1.57;
        padding: 0 6.02%;
	}

	.article_item_wrap .article_item .info {
		font-size: 1.2rem;
		line-height: 1.66;
        padding: 0 6.02%;
	}

    .article_item_wrap .article_item .to_detail {
		padding: 0 6.02% 10px;
	}

	.article_item_wrap .article_item .to_detail a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	.article_item_wrap .article_item .to_detail a span {
		display: none;
	}

	.article_wrap .more_btn_wrap {
		margin-top: 30px;
	}

	.article_wrap .more_btn_wrap a {
		width: 100%;
		height: 60px;
		position: relative;
	}

	.article_wrap .more_btn_wrap a span {
		font-size: 16px;
	}

	.article_wrap .more_btn_wrap a span::before {
		left: 15px;
	}
}

@media screen and (min-width: 768px) {
	.article_wrap {
    margin-top: 65px;
	}

	.article_item_wrap .article_item {
		width: 23.4%;
		margin-right: 2.1%;
	}

	.article_item_wrap .article_item:nth-child(4n) {
		margin-right: 0;
	}
	
	.article_item_wrap .article_item:nth-child(n + 5) {
		margin-top: 80px;
	}

	.article_item_wrap .article_item .tag {
		padding: 14px 6.66% 0;
	}

	.article_item_wrap .article_item .tag span {
		padding: 8px 1em;
		font-size: 12px;
		margin: 0 4px 6px 0;
	}

	.article_item_wrap .article_item h3 {
		margin-top: 14px;
		margin-bottom: 20px;
		font-size: 20px;
		line-height: 1.45;
        padding: 0 6.66%;
	}

	.article_item_wrap .article_item .info {
		font-size: 16px;
		line-height: 1.75;
        padding: 0 6.66%;
	}

	.article_item_wrap .article_item .to_detail {
		margin-top: 20px;
        padding: 0 6.66% 20px;
	}
	
	.article_item_wrap .article_item .to_detail a {
		width: 100%;
		height: 50px;
		padding: 16px;
		border-radius: 6px;
		background-color: #009CD0;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	
	.article_item_wrap .article_item .to_detail a span {
		font-size: 16px;
		padding-left: 26px;
		line-height: 1.2;
		font-weight: bold;
		color: #fff;
		position: relative;
	}
	
	.article_item_wrap .article_item .to_detail a span::before {
		content: '';
		display: inline-block;
		background-image: url(../img/common/icon_arrow_white.svg);
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		left: 0;
		top: 50%;
		width: 18px;
		height: 18px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.article_wrap .more_btn_wrap {
		margin-top: 50px;
	}

	.article_wrap .more_btn_wrap a {
		width: 360px;
		height: 84px;
	}

	.article_wrap .more_btn_wrap a span {
		font-size: 22px;
		padding-left: 28px;
		position: relative;
	}

	.article_wrap .more_btn_wrap a span::before {
		left: 0;
	}
}

/* -----------------------------------------------
すまいのでんちコラム一覧
----------------------------------------------- */
.c-tag_hide {
  display: none;
}
@media screen and (max-width: 767px) {
  .column_article_wrap {
    margin-top: 70px;
    padding-top: 49px;
    /* border-top: 4px dotted #EFEFEF; */
    position: relative;
    z-index: 0;
  }
  .column_article_wrap::before {
      content: '';
      width: 100%;
      max-width: 1920px;
      height: 680px;
      background: rgb(250,246,203);
      background: -moz-linear-gradient(top, rgba(250,246,203,1) 0%, rgba(250,246,195,0) 28%);
      background: -webkit-linear-gradient(top, rgba(250,246,203,1) 0%,rgba(250,246,195,0) 28%);
      background: linear-gradient(to bottom, rgba(250,246,203,1) 0%,rgba(250,246,195,0) 28%);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: -1;
  }
  .column_article_wrap .head_wrap>*:not(p) {
      margin-bottom: 4px;
  }
  .column_article_wrap .column_article_list {
    margin-top: 5px;
  }
  .column_article_wrap .column_article_list article {
    width: 100%;
    border-bottom: 4px dotted #EFEFEF;
  }
  .column_article_wrap .column_article_list article:last-child {
    border-bottom: none;
  }
  .column_article_list a {
    padding: 12px 0 15px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .column_article_list .img {
    width: 27.77%;
    margin-right: 3.9%;
    margin-top: 2px;
  }
  .column_article_list .img img {
    aspect-ratio: 1/0.752;
    object-fit: cover;
  }
  .column_article_list .text {
    width: 68.33%;
  }
  .column_article_list .text time {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    color: #999999;
  }
  .column_article_list .text h3 {
    margin-top: 4px;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    font-weight: bold;
  }
  .column_article_list .text .tag {
    margin-top: 11px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .column_article_list .text .tag span {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    padding: 0.2em 0.8em 0.3em;
    border-radius: 4px;
    margin-right: 6px;
    margin-bottom: 6px;
  }
  .column_article_list .text .tag span.c-tag_taiyoukou {
    background-color: #FFC69F;
  }
  .column_article_list .text .tag span.c-tag_chikudenchi {
    background-color: #A4DCFF;
  }
  .column_article_list .text .tag span.c-tag_v2h {
    background-color: #90DDBA;
  }
  .column_article_wrap .to_article {
    margin-top: 10px;
  }
  .column_article_wrap .to_article a {
    margin: 0 auto;
    width: 100%;
    height: 60px;
    padding: 10px;
    border: 1px solid #0099CC;
    border-radius: 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
  }
  .column_article_wrap .to_article a span {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: #0099CC;
  }
  .column_article_wrap .to_article a span::before {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url(../img/cat/arrow_blue.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 768px) {
  .column_article_wrap {
    margin-top: 120px;
    padding-top: 60px;
    /* border-top: 4px dotted #EFEFEF; */
    position: relative;
    z-index: 0;
  }
  .column_article_wrap::before {
      content: '';
      width: 100%;
      max-width: 1920px;
      height: 680px;
      background: rgb(250,246,203);
      background: -moz-linear-gradient(top, rgba(250,246,203,1) 0%, rgba(250,246,195,0) 28%);
      background: -webkit-linear-gradient(top, rgba(250,246,203,1) 0%,rgba(250,246,195,0) 28%);
      background: linear-gradient(to bottom, rgba(250,246,203,1) 0%,rgba(250,246,195,0) 28%);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: -1;
  }
  .column_article_wrap .head_wrap>*:not(p) {
      margin-bottom: 45px;
  }
  .column_article_wrap .column_article_list {
    margin-top: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
  .column_article_wrap .column_article_list article {
    width: 22.65%;
    margin-right: 2.08%;
  }
  .column_article_wrap .column_article_list article:nth-child(4n) {
    margin-right: 0;
  }
  .column_article_wrap .column_article_list article:nth-child(n + 5) {
    margin-top: 60px;
  }
  .column_article_list a {
    border-radius: 10px;
    box-shadow: 3px 3px 6px 0 rgba(0,0,0,.17);
    background-color: #fff;
    /* display: block; */
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }
  .column_article_list .img img {
    aspect-ratio: 1/0.752;
    object-fit: cover;
  }
  .column_article_list .text {
    padding: 17px 6.9% 21px;
    border-radius: 0 0 10px 10px;
    border-right: 1px solid #E6E6E6;
    border-left: 1px solid #E6E6E6;
    border-bottom: 1px solid #E6E6E6;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    flex: 1;
  }
  .column_article_list .text time {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    color: #999999;
  }
  .column_article_list .text h3 {
    margin-top: 4px;
    margin-bottom: 31px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    font-weight: bold;
  }
  .column_article_list .text .tag {
    /* margin-top: 31px; */
    margin-top: auto;
    padding-top: 18px;
    border-top: 4px dotted #EFEFEF;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .column_article_list .text .tag span {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    padding: 0.25em 0.8em 0.2em;
    border-radius: 6px;
    margin-right: 6px;
    margin-bottom: 6px;
  }
  .column_article_list .text .tag span.c-tag_taiyoukou {
    background-color: #FFC69F;
  }
  .column_article_list .text .tag span.c-tag_chikudenchi {
    background-color: #A4DCFF;
  }
  .column_article_list .text .tag span.c-tag_v2h {
    background-color: #90DDBA;
  }
  .column_article_wrap .to_article {
    margin-top: 50px;
  }
  .column_article_wrap .to_article a {
    margin: 0 auto;
    width: 360px;
    height: 84px;
    padding: 10px;
    border: 2px solid #0099CC;
    border-radius: 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
  .column_article_wrap .to_article a span {
    padding-left: 28px;
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: #0099CC;
    position: relative;
  }
  .column_article_wrap .to_article a span::before {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url(../img/cat/arrow_blue.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}