@charset "UTF-8";

/*
Theme Name: ecocute
Theme URI: https://ac-ecocute.majestic.work/
Author: エコキュート テーマ
Author URI: https://XXXXX.com
Description: エコキュート テーマ
Version: 1.0
*/


@font-face {
	font-family: 'Oswald';
	src: url(fonts/Oswald/Oswald-Regular.ttf) format('truetype');
	font-display: swap;
}
.Oswald {
	font-family: 'Oswald', sans-serif;
}


/*********************************
 * トップイメージ・キャンペーン
 * ******************************/

.topimage {
	padding: 0;
}
.campaign {
	padding: 30px 0;
	background: linear-gradient(90deg, rgba(237,46,0,1) 0%, rgba(234,90,28,1) 20%, rgba(232,170,27,1) 50%, rgba(234,90,28,1) 80%, rgba(237,46,0,1) 100%);
}



/*********************************
 * 見出し
 * ******************************/

.sec_title {
	font-size: 2.6rem;
	color: #1F1F1F;
	text-align: center;
}
.sec_title span {
	display: block;
	font-size: .6em;
	color: #ed1b2e;
	margin-bottom: 26px;
	letter-spacing: .1em;
	text-indent: -0.1em;
}

@media screen and (max-width: 560px) {
	.sec_title {
		font-size: 2.1rem;
	}
}

/*********************************
 * トップページ
 * ******************************/



/* 商品カテゴリ
 * *******************************/

.product_img_area {
	padding: 20px 0 0;
}
.product_img_area ul.product_img_list {
	display: flex; /* flex しておかないとなぜか infiniteslide のcloneも効かないし、最後の１枚が表示されない */
}
.product_img_area ul.product_img_list li {
	position: relative;
	margin: 0 5px;
	padding: 0;
	width: 250px;
	height: 180px;
	text-align: center;
}
.product_img_area ul.product_img_list li img {
	min-width: 250px;
	width: 250px;
}
.product_img_area ul.product_img_list .hover_txt {
	width: 100%;
	height: 100%;
	position: absolute; /* 絶対位置指定 */
	top: 0;
	left: 0;
	opacity: 0; /* マスクを表示しない */
	background-color: rgba(135, 120, 97, 0.8); /* マスクは半透明 */
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	text-align: center;
}
.product_img_area ul.product_img_list li:hover .hover_txt {
	opacity: 1;
}
.product_img_area ul.product_img_list .hover_title {
	padding: 60px 15px 15px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.6;
}
.product_img_area ul.product_img_list .hover_btn {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid #fff;
	border-radius: 20px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 560px) {
	.product_img_area {
		padding: 0;
	}
	.product_img_area ul.product_img_list {
		justify-content: space-between;
	}
	.product_img_area ul.product_img_list li {
		width: calc(100% / 4 - 12px);
		height: auto;
		margin: 0;
	}
	.product_img_area ul.product_img_list li img {
		min-width: auto;
		width: auto;
		height: auto;
	}
	.product_img_area ul.product_img_list .hover_title {
		color: #1F1F1F;
		padding: 0;
		margin-top: 6px;
		font-weight: normal;
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 430px) {
	.product_img_area ul.product_img_list {
		flex-wrap: wrap;
		margin-top: -8px;
	}
	.product_img_area ul.product_img_list li {
		width: calc(100% / 2 - 12px);
		height: auto;
		margin: 8px 0 0;
	}
}


/* おすすめピックアップ
 * *******************************/

.pickup {
	margin-top: -30px;
}
.pickup .pickup_area {
	margin-top: 0;
}
.pickup .pickup_area .pickup_title {
	font-size: 3rem;
    color: #3a3a3a;
    text-align: right;
    padding-bottom: 20px;
	margin-top: 30px;
}
.pickup .pickup_area .pickup_title.onsuiki {
	margin-top: 30px;
}
.pickup .pickup_area .pickup_box {
	padding: 0 0 30px;
}
.pickup .pickup_area ul.pickup_items {
	margin-top: 30px;
}

@media screen and (max-width: 560px) {
	.pickup .pickup_area {
		padding: 60px 0 0;
		position: relative;
	}
	.pickup .pickup_area:before {
		content: "";
		display: inline-block;
		position: absolute;
		left: 0;
		top: 0;
		background: url(images/common/sp_leftup_bg.webp) no-repeat;
		background-position: top;
		background-size: contain;
		width: 100%;
		height: 100%;
		z-index: -1;
	}
	.pickup .pickup_area .pickup_box {
		background: none !important;
	}
	.pickup .pickup_area .pickup_title {
		text-align: center;
		margin-top: 0;
		font-size: 2.1rem;
	}
}





/* 取扱い製品一覧 
 * *******************************/
.products_nav {
	margin: -30px 0 0;
	padding: 60px 0 100px 0;
	border-top: 5px solid #ed1b2e;
	background: #FBFCFE;
}

@media screen and (max-width: 560px) {
	.products_nav {
		padding: 30px 0;
	}
}


/* 工事対応エリア・申込の流れ・施工事例
 * *******************************/

.service_nav {
	padding: 0 0 30px;
	text-align: center;
}
.service_nav ul.service_nav_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.service_nav ul.service_nav_list li {
	width: calc(100% / 3);
	height: 300px;
}
.service_nav ul.service_nav_list li.page01 {
	background: url(images/front-page/service_nav_page01.webp) no-repeat center top;
	background-size: cover;
}
.service_nav ul.service_nav_list li.page02 {
	background: url(images/front-page/service_nav_page02.webp) no-repeat center top;
	background-size: cover;
}
.service_nav ul.service_nav_list li.page03 {
	background: url(images/front-page/service_nav_page03.webp) no-repeat center top;
	background-size: cover;
}
.service_nav ul.service_nav_list li .t_bn_txtarea {
	width: 55%;
	float: right;
	color: #FFF;
	padding: 70px 0 0 0;
	text-align: center;
	line-height: 1.5;
	height: 300px;
	background: rgba(0, 0, 0, 0.5) url(images/icons/icon_arrow.webp) no-repeat 96% 96%;
	background-size: 22px;
}
.service_nav ul.service_nav_list li .t_bn_txtarea .t_bn_title {
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 0 10px 30px 10px;
}
.service_nav ul.service_nav_list li .t_bn_txtarea .t_bn_title.bot {
	padding: 20px 10px 50px 10px;
}
.service_nav ul.service_nav_list li .t_bn_txtarea .t_bn_txt {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	padding: 0 10px 0 10px;
	line-height: 1.8;
}
.service_nav ul.service_nav_list li a {
	display: block;
}
.service_nav ul.service_nav_list li img {
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 1024px) {
	.service_nav ul.service_nav_list li .t_bn_txtarea .t_bn_title {
		font-size: 2rem;
	}
}
@media screen and (max-width: 768px) {
	.service_nav ul.service_nav_list li .t_bn_txtarea {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	
	.service_nav { 
		background: #F3F3F3;
		padding: 30px 0 30px;
    margin-bottom: 30px;
	}
	.service_nav ul.service_nav_list {
	flex-direction: column;
		margin-top: -10px;
	}
	.service_nav ul.service_nav_list li {
		width: 100%;
		height: auto;
		margin-top: 10px;
		background: #FFF !important;
		border: 1px solid #ccc;
		position :relative;
	}
	.service_nav ul.service_nav_list li:after {
		content: "" !important;
		display: inline-block !important;
		position: absolute;
		right: 30px;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		width: 10px;
		height: 10px;
		margin: 0;
		border-top: 3px solid #ed1b2e;
		border-right: 3px solid #ed1b2e;
	}
	.service_nav ul.service_nav_list li.page01,
	.service_nav ul.service_nav_list li.page02,
	.service_nav ul.service_nav_list li.page03 {
		background: none;
	}
	.service_nav ul.service_nav_list li .service_nav_list_flex {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.service_nav ul.service_nav_list li a {
		color: #1F1F1F;
		padding: 12px;
	}
	.service_nav ul.service_nav_list li .service_nav_list_flex p.img {
		width: 105px;
	}
	.service_nav ul.service_nav_list li .service_nav_list_flex .service_nav_list_flex___txt {
		width: calc(100% - 105px);
		padding-left: 30px;
	}
	.service_nav ul.service_nav_list li .service_nav_list_flex .service_nav_list_flex___txt .t_bn_title {
		font-size: 1.4rem;
		line-height: 1.5;
		font-weight: normal;
		letter-spacing: 0.05em;
		text-align: left;
	}
}
@media screen and (max-width: 430px) {
	.service_nav ul.service_nav_list li .service_nav_list_flex p.img {
		width: 90px;
	}
	.service_nav ul.service_nav_list li .service_nav_list_flex .service_nav_list_flex___txt {
		width: calc(100% - 90px);
		padding-left: 20px;
	}
	
}

/*********************************
 * 商品
 * single
 * ******************************/

#products .single-product {
  padding: 0;
}
#products .single-product_outline {
	
}
#products .product_flex {
	display: flex;
	align-items: flex-start;
    justify-content: space-between;
}
#products .product_flex .product_flex___left {
	width: 380px;
}
#products .category_maker {
	padding: 0 12px;
}
#products .category_maker p.maker_logo {
	width: 100%;
}
#products .product_somespec {
	margin-top: 12px;
}
.product_somespec ul.product_somespec_items {
	margin-top: -8px;
}
.product_somespec ul.product_somespec_items li {
	width: 100% !important;
	background: #004D7A;
    color: #FFF;
    font-style: italic;
	font-family: sans-serif;
	font-weight: bold;
    font-size: .9em;
    padding: 8px 30px;
    margin-top: 3px;
	box-shadow: none;
    border: none;
	float: none !important;
}
.product_somespec ul.product_somespec_items li.spec_area {
	background: #839E17;
}
.product_somespec ul.product_somespec_items li.spec_remote {
	background: #EE4D22;
}
ul.product_items .product_somespec { /*アーカイブ*/
	margin-top: 12px;
}
ul.product_items ul.product_somespec_items { /*アーカイブ*/
	font-size: .6em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.product_items ul.product_somespec_items li { /*アーカイブ*/
	width: calc(100% / 2 - 2px) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	margin: 3px 0 0;
	text-align: center;
	background: #004D7A;
	color: #FFF;
}
ul.product_items ul.product_somespec_items li:nth-child(4n) { /*アーカイブ*/
	margin-right: 0;
}

#products .product_spec {
	margin-top: 30px;
}
#products .product_spec .spec_title {
  display: inline-block;
  width: 100px;
  margin: 0;
  padding: 8px;
  text-align: center;
  background: #f1f1f1;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
#products .product_spec .spec_table {
  font-size: 1.3rem;
}
#products .product_spec .spec_table th {
  border: none;
  padding: 10px;
  width: 21%;
}
#products .product_spec .spec_table td {
  padding: 10px;
}

#products .product_flex .product_flex___right {
	width: 770px;
}
#products .product_flex .product_flex___right .p_detail_status {
	display: inline-block;
	margin: 0 10px 5px 0;
	padding: 8px 10px;
	font-size: 1.4rem;
	background: #ed4c1b;
	color: #fff;
}
#products .product_flex .product_flex___right .p_detail_title {
  padding: 10px 0 0;
  font-size: 2.6rem;
  letter-spacing: 0;
  font-weight: bold;
  line-height: 1.4;
}
#products .product_flex .product_flex___right .p_detail_title .sub_txt {
  display: block;
  padding: 10px 0 0;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
#products .product_flex .product_flex___right .common_txtarea { /* 機能 */
	padding: 0 30px;
}
#products .product_flex .product_flex___right .common_txt { /* 機能 */
	padding: 30px 0 0;
	font-weight: normal;
	line-height: 1.8;
}
#products .feature_top {
	display: none;
}

@media screen and (max-width: 1024px) {
	#products .product_flex .product_flex___left {
		width: 280px;
	}
	#products .product_flex .product_flex___right {
		width: 650px;
	}
	
	#products .product_spec .spec_table th {
		width: 25%;
	}
}
@media screen and (max-width: 768px) {
	#products .product_flex .product_flex___left {
		width: 200px;
	}
	#products .product_flex .product_flex___right {
		width: 480px;
	}
	#products .product_flex .product_flex___right .p_detail_title {
		font-size: 2.3rem;
	}
	
	
	#products .product_spec .spec_table th,
	#products .product_spec .spec_table td {
		display: block;
		width: 100%;
	}
	#products .product_spec .spec_table th {
		padding: 10px 10px 0 10px;
	}
	#products .product_spec .spec_table th:before {
		content: "●";
	}
	#products .product_spec .spec_table td {
		padding: 0 10px 10px 10px;
	}
	
	.product_somespec ul.product_somespec_items li {
		font-size: .8em;
		padding: 8px 12px;
	}
	
}
@media screen and (max-width: 560px) {
	#products .product_flex {
		flex-direction: column;
	}
	#products .product_flex .product_flex___left {
		width: 100%;
	}
	#products .category_maker {
		width: 220px;
		margin-left: auto;
		margin-bottom: 12px;
	}
	#products .product_flex .product_flex___right {
		width: 100%;
		margin-top: 18px;
	}
	#products .product_flex .product_flex___right .p_detail_title {
		font-size: 1.8rem;
		margin-bottom: 18px;
	}
	
	
	#products .product_flex .product_flex___right .common_txtarea {
		padding: 0 12px;
	}

	#products .product_spec .spec_title {
		width: 100%;
		text-align: left;
		padding: 12px 30px;
		font-weight: bold;
	}
	#products .product_spec .spec_table {
		border: none;
	}
	#products .product_spec .spec_table th {
		width: 100%;
	}
	#products .product_spec .spec_table td {
		
	}
	
	ul.product_items ul.product_somespec_items li {
		padding: 8px;
	}
	.product_somespec ul.product_somespec_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.product_somespec ul.product_somespec_items li {
		width: calc(100% / 2 - 3px) !important;
		margin-top: 5px;
	}
}
@media screen and (max-width: 430px) {
	#products .category_maker {
		width: 180px;
	}
	ul.product_items ul.product_somespec_items li {
		padding: 6px;
	}
	.product_somespec ul.product_somespec_items li {
		padding: 8px;
	}

}


/* 価格 
 * ************************************/

#products dl.price_list {
	margin-top: 18px;
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
#products dl.price_list dt {
	width: 160px;
	padding: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	letter-spacing: 0.1em;
}
#products dl.price_list dd {
	width: calc(100% - 160px);
	letter-spacing: 0.05em;
	padding-left: 28px;
	font-size: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
#products dl.price_list dd span.tax {
	font-size: 1.4rem;
	margin-left: 3px;
}
#products dl.price_list dt.list_price { /* 定価 */
	background: #f5f5f5;
	border: 1px #EDEDED solid;
}
#products dl.price_list dd.list_price { /* 定価 */
	font-size: 2.3rem;
}
#products dl.price_list dt.off_price { /* 割引 */
	background: #ed1b2e;
	color: #FFF;
	font-weight: bold;
	border: 1px #ed1b2e solid;
}
#products dl.price_list dd.off_price { /* 割引 */
	font-size: 1.8rem;
	color: #ed1b2e;
	font-weight: bold;
}
#products dl.price_list dt.sp_price { /* 特別価格 */
	color: #ed1b2e;
	font-weight: bold;
	border: 4px #ed1b2e solid;
}
#products dl.price_list dd.sp_price { /* 特別価格 */
	font-size: 3rem;
	font-weight: bold;
	color: #ed1b2e;
}
#products dl.price_list dd.sp_price span.kw { /*1kwあたり*/
	margin-right: 12px;
    font-size: 1.8rem;
	letter-spacing: 0;
}
#products dl.price_list dd p.copayment { /*負担額*/
	color: #1F1F1F;
	font-size: 2rem;
    width: 100%;
}
#products dl.price_list dt.subsidyamount { /* 補助金 */
	color: #319f2d;
	font-weight: bold;
	border: 4px #319f2d solid;
}
#products dl.price_list dd.subsidyamount { /* 補助金 */
	font-size: 2.3rem;
	font-weight: bold;
	color: #319f2d;
}

@media screen and (max-width: 768px) {
	#products dl.price_list {
		margin-top: 3px;
	}
}
@media screen and (max-width: 560px) {
	#products dl.price_list dt {
		width: 140px;
	}
	#products dl.price_list dd {
		width: calc(100% - 140px);
	}
	#products dl.price_list dd.list_price { /* 定価 */
		font-size: 2rem;
	}
	#products dl.price_list dd.off_price { /* 割引 */
		font-size: 1.6rem;
	}
	#products dl.price_list dd.sp_price { /* 特別価格 */
		font-size: 3rem;
	}
	#products dl.price_list dd.subsidyamount { /* 補助金 */
		font-size: 2rem;
	}
	#products dl.price_list dd.sp_price span.kw { /*1kwあたり*/
		font-size: 1.6rem;
	}
	#products dl.price_list dd p.copayment { /*負担額*/
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 430px) {
	#products dl.price_list dt {
		width: 120px;
		font-size: 1.3rem;
		font-weight: bold;
	}
	#products dl.price_list dd {
		width: calc(100% - 120px);
		padding-left: 18px;
	}
	#products dl.price_list .big_txt {
		font-size: 1.3rem;
	}
	#products dl.price_list dd .big_txt {
		font-size: 3rem !important;
	}
	#products dl.price_list dd p.copayment { /*負担額*/
		font-size: 1.3rem;
		letter-spacing: -.01px;
	}
}
@media screen and (max-width: 380px) {
	#products dl.price_list dt {
		width: 105px;
	}
	#products dl.price_list dd {
		width: calc(100% - 105px);
	}
	#products dl.price_list dd.list_price { /* 定価 */
		font-size: 1.8rem;
	}
	#products dl.price_list dd.off_price { /* 割引 */
		font-size: 1.4rem;
	}
	#products dl.price_list dd.sp_price { /* 特別価格 */
		font-size: 2.6rem;
	}
	#products dl.price_list dd.subsidyamount { /* 補助金 */
		font-size: 1.8rem;
	}
	#products dl.price_list dd.sp_price span.kw { /*1kwあたり*/
		font-size: 1.4rem;
	}
	
}
@media screen and (max-width: 320px) {
	#products dl.price_list dt {
		width: 90px;
		padding: 12px 3px;
		font-size: 1.1rem;
	}
	#products dl.price_list dd {
		width: calc(100% - 90px);
		padding: 12px 3px 12px 9px;
	}
	#products dl.price_list dd.list_price { /* 定価 */
		font-size: 1.5rem;
	}
	#products dl.price_list dd.off_price { /* 割引 */
		font-size: 1.4rem;
	}
	#products dl.price_list dd.sp_price { /* 特別価格 */
		font-size: 2.3rem;
	}
	#products dl.price_list dd.subsidyamount { /* 補助金 */
		font-size: 1.5rem;
	}
	
}



/* 工事
 * ************************************/

#products .koji_title {
	font-size: 1.8rem;
	border-bottom: 1px #CCC dotted;
	padding: 30px 0 8px 25px;
	font-weight: bold;
	line-height: 1.4;
}
#products .koji_txt {
	font-size: 1.8rem;
	padding: 20px 25px 0 25px;
	line-height: 1.6;
}
#products .koji_txt_pdf {
	padding: 5px 25px 0 25px;
	line-height: 1.6;
}

#products .function_img {
	text-align: center;
	padding: 30px 0 0 0;
}
#products .function_img img {
	max-width: 710px;
}

@media screen and (max-width: 560px) {
	#products .koji_title {
		font-size: 1.6rem;
		margin: 30px 15px 0;
		padding: 5px 0 5px 0;
	}
	#products .koji_txt {
		font-size: 1.6rem;
		padding: 20px 15px 0 15px;
	}
	#products .koji_txt_pdf {
		font-size: 1.4rem;
		padding: 5px 15px 0 15px;
	}
}


/* 製品特徴
 * ***************************************/

#products .chara_area {
	padding: 0;
}
#products .chara_title {
	padding: 10px 20px;
	background: #f1f1f1;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
#products .chara_list {
	padding: 0 40px;
}
#products .chara_list li {
	margin: 40px 0 0;
}
#products .chara_img.img_left {
	float: left;
	padding: 0 50px 0 0;
}
#products .chara_img.img_right {
	float: right;
	padding: 0 0 0 50px;
}
#products .chara_img.img_center {
	padding: 0 0 20px;
	text-align: center;
}
#products .chara_img.img_center img {
	max-width: 800px;
}
#products .chara_img img {
	max-width: 500px;
}
#products .chara_txt {
	padding: 10px 0 0 0;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 2;
}
#products .chara_area p.checkmark {
	padding-right: 30px;
	text-align: right;
}
#products .chara_area p.checkmark span {
	color: #999;
	font-size: .6em;
}

@media screen and (max-width: 768px) {
	#products .chara_img.img_center img {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	#products .chara_txt {
		font-size: 1em;
		line-height: 1.8;
	}
	#products .chara_list {
		padding: 0;
	}
}



/*********************************
 * 固定
 * はじめての方へ
 * ******************************/

#about .about_area {
	margin-bottom: 90px;
}
#about .about_area .top_title_img {
	text-align: center;
	margin: 0 0 30px 0;
}
#about .about_area .top_txt {
	line-height: 2.0;
	text-align: center;
	letter-spacing: 0.05em;
}
#about .about_area .point_list {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	margin: 0 auto;
	padding: 50px 0 0 0;
}
#about .about_area .point_list li {
	margin: 0;
}
#about .about_area .photo {
	padding: 50px 0 0 0;
}

@media screen and (max-width: 560px) {
	#about .about_area {
		margin-bottom: 50px;
	}
	#about p.top_sp_photo {
		margin-bottom: 18px;
	}
	#about .about_area .top_txt {
		line-height: 1.7;
		font-size: 1.8rem;
		padding: 0 15px 0 15px;
		letter-spacing: 0.05em;
		text-align: left;
	}
	#about .about_area ul.point_list {
		padding: 0;
		flex-direction: column;
		justify-content: space-evenly;
	}
	#about .about_area ul.point_list li {
		width: 100%;
		margin: 15px 0 0 0;
		padding: 30px 10px;
		box-shadow: 0 10px 6px -6px #ccc;
	}
	#about .about_area .point_list li .point_no {
		font-size: 1.5rem;
		font-family: 'Oswald';
		padding: 0 0 20px 0;
		text-align: center;
	}
	#about .about_area .point_list li .point_title {
		text-align: center;
		font-weight: bold;
		font-size: 2.4rem;
		padding: 0 0 10px 0;
	}
	#about .about_area .point_list li .point_txt {
		line-height: 1.7;
		font-size: 1.8rem;
		letter-spacing: 0.05em;
		font-weight: bold;
		text-align: center;
		color: #454545;
	}
	#about .about_area .point_list li.point01 {
		border: 2px #25ab5d solid;
	}
	#about .about_area .point_list li.point01 .point_title,
	#about .about_area .point_list li.point01 .point_no {
		color: #25ab5d;
	}
	#about .about_area .point_list li.point02 {
		border: 2px #ed4c1b solid;
	}
	#about .about_area .point_list li.point02 .point_title,
	#about .about_area .point_list li.point02 .point_no {
		color: #ed4c1b;
	}
	#about .about_area .point_list li.point03 {
		border: 2px #ecb731 solid;
	}
	#about .about_area .point_list li.point03 .point_title,
	#about .about_area .point_list li.point03 .point_no {
		color: #ecb731;
	}
}
@media screen and (max-width: 430px) {
	#about .about_area ul.point_list li {
		padding: 20px 10px;
	}
	
}

/*********************************
 * 施工事例
 * page-works.php
 * single-default.php
 * ******************************/

/* 施工事例一覧 */
ul.works_list {
	width: 100%;
    display: flex;
    flex-wrap: wrap;
	margin-top: -12px;
}
ul.works_list li {
	width: calc(100% / 4 - 9px);
    margin: 12px 12px 0 0;
	border: 1px solid #CFCDCD;
	box-shadow: 1px 1px 2px #ccc;
	background: #fff;
	transition: 0.5s;
}
ul.works_list li:nth-child(4n) {
	margin-right: 0;
}
ul.works_list li a {
	display: block;
	padding: 20px;
}
ul.works_list li .works_meta {
	margin-top: 12px;
}
ul.works_list li .works_meta .works_title {
	margin-top: 6px;
	font-size: 1.8rem !important;
    font-weight: normal;
	line-height: 1.6;
	color: #1F1F1F !important;
}
ul.works_list li .works_meta p.works_category {
	display: inline-block;
	background: #ed1b2e;
	color: #FFF;
	padding: 6px;
	font-size: .7em;
}
ul.works_list li .works_meta p.works_product {
	display: inline-block;
	margin-top: 9px !important;
	font-size: .7em;
}
ul.works_list li:hover {
	box-shadow: 4px 5px 5px #ccc;
}


@media screen and (max-width: 768px) {
	ul.works_list li {
		width: calc(100% / 3 - 9px);
	}
	ul.works_list li:nth-child(3n) {
		margin-right: 0;
	}
	ul.works_list li:nth-child(4n) {
		margin-right: 12px;
	}
}
@media screen and (max-width: 560px) {
	ul.works_list li {
		width: calc(100% / 2 - 6px);
	}
	ul.works_list li:nth-child(3n),
	ul.works_list li:nth-child(4n) {
		margin-right: auto;
	}
	ul.works_list li:nth-child(even) {
		margin-right: 0;
	}
	ul.works_list li .works_meta .works_title {
		font-size: 1.6rem !important;
	}
	ul.works_list li .works_meta p.works_category {
		font-size: .7em;
		font-weight: bold;
	}
	ul.works_list li .works_meta p.works_product {
		display: block;
		line-height: 1.3;
		font-weight: bold;
		font-size: .8em;
	}
}
@media screen and (max-width: 430px) {
	ul.works_list li {
		width: calc(100% / 2 - 12px);
		border: none;
		box-shadow: none;
		margin: 30px 24px 0 0;
	}
	ul.works_list li:nth-child(3n),
	ul.works_list li:nth-child(4n) {
		margin-right: auto;
	}
	ul.works_list li:nth-child(even) {
		margin-right: 0;
	}
	ul.works_list li a {
		padding: 0;
	}
}



/* 施工事例 ビフォーアフター */
#works .works_flex {
	display: flex;
	justify-content: space-between;
}
#works .works_flex .works_flex___before {
	width: calc(100% / 2 - 30px);
	margin: 0 auto;
}
#works .works_flex .works_flex___arrow {
	display: flex;
	align-items: center;
	margin: 0 auto;
}
#works .works_flex .works_flex___after {
	width: calc(100% / 2 - 30px);
	margin: 0 auto;
}

ul.works_slider_photos {
	width: 500px;
	margin: 0 auto;
	margin-bottom: calc(100vw / 1920 * 8);
}

ul.works_slider_thumbnails {
	width: 500px;
	margin: 0 auto;
}
ul.works_slider_thumbnails .slick-track {
	width: 100% !important;
	margin: 0 !important;
	transform: unset !important;
}
ul.works_slider_thumbnails li {
	width: calc(100% / 5) !important;
	padding: 0 calc(100vw / 1920 * 4);
    margin-bottom: calc(100vw / 1920 * 8);
	cursor: pointer;
}

#works .gallery_title {
	display: block;
	content: "before";
	width: 250px;
	padding: 10px;
	margin: 0 auto 20px;
	font-size: 2rem;
	text-align: center;
	letter-spacing: 0.05em;
	border-radius: 25px;
}
#works .gallery_title.before {
	background: #f5f5f5;
}
#works .gallery_title.after {
	background: #E71B29;
	color: #fff;
}
#works .works_product {
	text-align: center;
    margin-top: 12px;
}
#works .works_txt_box {
	padding: 50px 50px 0 50px;
	line-height: 2;
	letter-spacing: 0.05em;
}

@media screen and (max-width:1024px) {
	ul.works_slider_photos,
	ul.works_slider_thumbnails {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#works .works_flex {
		display: block;
	}
	#works .works_flex .works_flex___before,
	#works .works_flex .works_flex___after {
		width: 100%;
	}
	#works .works_flex .works_flex___arrow {
		width: 100%;
		margin: 30px 0;
		justify-content: center;
	}
	#works .works_flex .works_flex___arrow img.caret-right-solid {
		transform: rotate(90deg);
	}
	ul.works_slider_thumbnails li {
		width: calc(100% / 4) !important;
		padding: 0 calc(100vw / 1024 * 2);
		margin-bottom: calc(100vw / 1024 * 4);
	}
	#works .works_txt_box {
		padding: 50px 30px 0 30px;
	}
}
@media screen and (max-width: 560px) {
	ul.works_slider_photos {
		width: 100%;
	}
	
	
	#works .works_txt_box {
		padding: 30px 0 0;
	}
}

/*********************************
 * 固定
 * 会社案内
 * ******************************/

#company .company_area .in {
  padding: 0 30px;
}
#company .company_area .btn a {
  margin: 30px auto 0;
}
#company .company_area .btn .f_con {
  margin: 0 10px 0 0;
  font-weight: normal;
}
/*  社訓  */
#company .common_title.policy {
  margin: 0;
}
#company .policy_txt {
  margin: 35px 0 0;
  line-height: 1.8;
  font-size: 1.8rem;
}
#company .policy_flex {
	display: flex;
	align-items: center;
	margin-top: 20px;
}
#company .policy_flex .logo_area {
	width: 180px;
}
#company .policy_flex .policy_list {
    width: 470px;
	padding-left: 2em;
}
#company .policy_flex .policy_list li {
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", serif;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: #1F1F1F;
}
/*  会社概要  */
#company .company_table {
  margin: 45px 0 0;
  font-size: 1.8rem;
  border: none;
  border-top: 1px solid #EDEDED;
}
#company .company_table th {
  border: none;
  padding: 20px;
  width: 25%;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  /* background: #FAF8F8; */
}
#company .company_table td {}
#company .company_table .map {
  max-width: 100%;
  height: auto;
  margin: 10px 0 0 0;
}
#company .company_inner_table {
  border: none;
}
#company .company_inner_table tr {
  border: none;
  line-height: 2;
}
#company .company_inner_table th {
  padding: 0;
  width: 18%;
  font-weight: normal;
}
#company .company_inner_table td {
  padding: 0;
}
#company .access_link {
  margin: 0 0 10px 0;
}
#company .access_link span {
  margin: 0 5px 0 0;
  color: #E71B29;
  font-size: 1.4rem;
}
#company .access_link a {
  color: #444;
}
#company .access_link a:hover {
  color: #E71B29;
}
/*  アクセスマップ  */
#company .area_map {
  margin: 25px 0 0;
}
#company .map_title {
  margin: 25px 0 0;
  font-size: 1.5rem;
  font-weight: bold;
}
#company .map_txt {
  margin: 10px 0 0 20px;
  font-size: 1.4rem;
  line-height: 2;
  list-style: disc;
}

@media screen and (max-width:768px) {
 
}
@media screen and (max-width:560px) {
	#company .company_area .in {
		padding: 0 15px;
	}
	#company .policy_txt {
		margin: 15px 0 0;
		line-height: 1.8;
		font-size: 1.8rem;
	}
	#company .policy_flex {
		flex-direction: column;
	}
	#company .policy_flex .logo_area {
		width: 100%;
		text-align: center;
		padding: 0;
	}
	#company .policy_flex .logo_area img {
		width: 220px;
	}
	#company .policy_flex ul.policy_list {
		width: 100%;
		margin: 18px 0 0;
		padding: 20px;
		border: 1px solid #DDD;
		background: #f7f7f7;
	}
	#company .policy_flex ul.policy_list li {
		letter-spacing: 0.05em;
		line-height: 1.6;
		margin: 12px 0 0 0;
	}

	#company .company_table {
		margin: 0;
		font-size: 1.6rem;
		border: none;
	}
	#company .company_table tr,
	#company .company_table th,
	#company .company_table td {
		display: block;
		width: 100%;
	}
	#company .company_table th {
		padding: 20px 0 0 0;
		font-weight: bold;
	}
	#company .company_table td {
		padding: 5px 0 20px 0;
	}

	/*  アクセスマップ  */
	#company .area_map {
		margin: 15px 0 0;
		padding: 0 15px;
	}
	#company .area_map iframe {
		width: 100%;
		height: 300px;
	}
	#company .map_title {
		margin: 15px 0 0;
		font-size: 1.5rem;
		font-weight: bold;
	}
	#company .map_txt {
		margin: 10px 0 0 20px;
		font-size: 1.4rem;
		line-height: 1.8;
		list-style: disc;
	}
}

/*********************************
 * 固定
 * 申し込みの流れ
 * ******************************/

#flow ul.flow_list {
	width: 100%;
	display: flex;
}
#flow ul.flow_list li {
	position: relative;
}
#flow ul.flow_list li img {
	vertical-align: bottom;
}
#flow ul.flow_detail_list {
	margin: 0 0 50px;
}
#flow ul.flow_detail_list li {
	padding: 0;
	background: url(images/common/title_blueline.webp) repeat-y 25px 10px;
	background-size: 2px auto;
}
#flow ul.flow_detail_list li .flow_title {
	margin: 60px 0 15px;
	padding: 0 0 0 0;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #1F1F1F;
}
#flow ul.flow_detail_list li span.flow_number {
	margin: 0 40px 0 0;
	color: #FFF;
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	background: #ed1b2e;
	text-align: center;
	font-size: 1.8rem;
}
#flow .list_txt {
	margin: 15px 0 0 90px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
#flow ul.check_list {
	border: none;
	width: 85%;
	margin: 0;
}
#flow ul.check_list li {
	border-bottom: 1px #6d6e70 dotted;
	line-height: 1.7;
	padding: 15px 0 10px 30px;
	margin: 0 0 0 90px;
	font-weight: bold;
	background: none;
	position: relative;
}
#flow ul.check_list li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/icons/icon_check_red.webp) no-repeat;
	background-size: 100%;
	width: 15px;
	height: 11px;
}

@media screen and (max-width: 768px) {
	#flow .inner {
		
	}
}
@media screen and (max-width: 560px) {
	#flow ul.flow_list {
		display: none;
	}
	#flow ul.flow_detail_list {
		margin: 0;
	}
	#flow ul.flow_detail_list li {
		background: none;
	}
	#flow ul.flow_detail_list li .flow_detail_list_inbox {
		padding: 30px;
		text-align: left;
	}
	#flow ul.flow_detail_list li .flow_title {
		margin: 0;
		padding: 15px 30px;
		font-size: 2.0rem;
		letter-spacing: 0.05em;
		color: #FFF;
		background: #ed1b2e;
	}
	#flow ul.flow_detail_list li span.flow_number {
		display: inline-block;
		margin: 0 22px 0 0;
		color: #FFF;
		width: auto;
		height: auto;
		line-height: inherit;
		text-align: left;
		font-size: 2.0rem;
	}
	#flow ul.check_list {
		width: 100%;
		margin: 0 0 22px;
		padding: 0;
	}
	#flow ul.check_list li {
		margin: 0;
		padding: 12px 0 12px 30px;
		background: none;
	}
	#flow .list_txt {
		letter-spacing: 0.05em;
		line-height: 1.8;
		margin: 0;
		padding: 0;
	}
}
@media screen and (max-width: 430px) {
	#flow ul.flow_detail_list li .flow_detail_list_inbox {
		padding: 30px 20px;
	}
}
@media screen and (max-width: 430px) {
	#flow ul.flow_detail_list li .flow_title {
		font-size: 1.8rem;
	}
}

/*********************************
 * 固定
 * 工事の流れ
 * ******************************/

#process ul.process_link {
	display: flex;
	flex-wrap: wrap;
	
}
#process ul.process_link li {
	width: calc(100% / 2 - 18px);
	margin: 12px 12px 0;
}
#process ul.process_link li:nth-child(even) {
	margin-right: 0;
}
#process ul.process_link a {
	display: flex;
	align-items: center;

    padding: 15px 15px 20px 15px;
    color: #444;
    border: 1px solid #DFDFDF;
    box-shadow: 2px 3px 3px #EDEDED;
}
#process ul.process_link a:hover {
	color:#E71B29;
	border: 1px solid #E71B29;
}
#process ul.process_link a img {
	margin-right: 45px;
	border-radius: 4px;
}
#process ul.process_link a p.process_title {
	padding-left: 30px;
	position: relative;
}
#process ul.process_link a p.process_title span:first-child {
	position: relative;
}
#process ul.process_link a p.process_title span:first-child:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translateY(-50%);
	background: #ed1b2e;
	width: 16px;
	height: 4px;
}
#process ul.process_link a p.process_title span:last-child {
	display: block;
    margin-top: 12px;
}
#process .process_flow_top {
	padding: 0;
	margin: 50px 0 0;
}
#process .process_flow_top .process_flow_title {
	font-size: 2.8rem;
	text-align: center;
	color: #555;
	letter-spacing: 0.1em;
	font-weight: bold;
	background: url(images/common/title_redline.webp) no-repeat left 4px;
	background-size: 100% 15px;
}
#process .process_flow_top .process_flow_title span {
	background: #FFF;
	padding: 0 30px;
	font-size: 2.6rem;
    font-weight: bold;
}


@media screen and (max-width: 1024px){
	#process ul.process_link a img {
		width: 180px;
		margin-right: 30px;
	}
	
}
@media screen and (max-width: 768px){
	#process ul.process_link li {
		width: 100%;
		margin: 12px 0 0;
	}
	#process ul.process_link a img {
		width: 220px;
		margin-right: 30px;
	}
	#process ul.process_link a p {
		margin: 0;
	}
	#process ul.process_link a p span {
		display: inline-block;
		margin: 0;
	}
}
@media screen and (max-width: 560px){
	#process ul.process_link a img {
		width: 105px;
		margin-right: 30px;
	}
	#process ul.process_link a p.process_title {
		font-size: 1.4rem;
	}
	#process ul.process_link a p.process_title span:first-child:before {
		top: 100%;
		transform: none;
	}

	#process .process_flow_top {
		background: #ed1a2d;
		padding: 22px 0;
	}
	#process .process_flow_top .process_flow_title {
		color: #FFF;
	}
	#process .process_flow_top .process_flow_title span {
		background: none;
		padding: 0;
		font-size: 2.3rem;
	}
}
@media screen and (max-width: 430px){
	#process ul.process_link a {
		padding: 12px;
	}
	#process ul.process_link a img {
		width: 90px;
		margin-right: 20px;
	}
	#process ul.process_link a p.process_title {
		padding: 0;
	}
	#process ul.process_link a p.process_title span:first-child:before {
		content: none;
	}
	#process ul.process_link a p.process_title span:last-child {
		display: inline-block;
		margin: 0;
	}
	
	#process .process_flow_top {
		padding: 18px 0;
	}
	#process .process_flow_top .process_flow_title span {
		font-size: 2rem;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 380px){
	#process ul.process_link a p.process_title span:last-child {
		display: block;
		margin: 12px 0 0;
	}
}




/*********************************
 * 固定
 * よくある質問
 * ******************************/

#faq .faq_list_title {
	margin: 0 0 5px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	border-top: 5px #ed1b2e solid;
	padding: 40px 0 15px 40px;
	color: #ed1b2e;
}
#faq ul.faq_list {
	margin: 0 0 50px;
}
#faq ul.faq_list li {
	border: 1px #edebe6 solid;
	padding: 32px;
	background: #FFF;
	margin: 10px 0 0 0;
}
#faq .faq_q_title {
	padding: 0 0 0 40px;
    margin-bottom: 18px;
	letter-spacing: 0.1rem;
	line-height: 1.6;
	font-weight: bold;
	position: relative;
}
#faq .faq_q_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/icons/icon_q.webp) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 34px;
}
#faq .faq_a_txt {
	padding: 30px 0 0 40px;
	border-top: 1px dotted #DDD;
	letter-spacing: 0.05rem;
	line-height: 1.8;
	position: relative;
}
#faq .faq_a_txt:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 30px;
	background: url(images/icons/icon_a.webp) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 34px;
}

@media screen and (max-width: 560px) {
	#faq .faq_list_title {
		margin: 0 0 0;
		text-align: center;
		letter-spacing: 0.05em;
		font-size: 2.0rem;
		border-top: 3px #ed1b2e solid;
		padding: 25px 0 15px 0;
	}
	#faq ul.faq_list {
		margin: 0 0 30px;
		padding: 0;
		background: none;
	}
	#faq ul.faq_list li {
		padding: 20px;
		background: #f4f4f4;
	}
}
@media screen and (max-width: 430px) {
	#faq .faq_q_title {
		padding: 0 0 0 30px;
		margin-bottom: 12px;
	}
	#faq .faq_a_txt {
		padding: 18px 0 0 30px;
	}
	#faq .faq_q_title:before {
		width: 16px;
		height: 27px;
	}
	#faq .faq_a_txt:before {
		top: 22px;
		width: 16px;
		height: 27px;
	}
}
@media screen and (max-width: 320px) {
	#faq .faq_list_title {
		font-size: 1.8rem;
	}
}


/*********************************
 * 固定
 * お客様の声
 * ******************************/

#voice .voicePoint {
	margin-bottom: 30px;
}
#voice .top_title {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #ed1b2e;
	padding: 0 20px 0 0;
}
#voice .top_txt {
	line-height: 1.8rem;
	padding: 5px 20px 0 0;
}
.p_point_voice {
	padding: 0 20px 40px;
}
/*  各voice  */
#voice .voice_list_title {
	margin: 0 0 5px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	border-top: 5px #ed1b2e solid;
	padding: 40px 0 15px 40px;
	color: #ed1b2e;
}
#voice ul.voice_list {
	margin: 0 0 50px;
	padding: 10px 20px 20px 20px;
	background: url(../img/beige_bg02.gif) repeat left top;
}
#voice ul.voice_list li {
	border: 1px #edebe6 solid;
	padding: 32px;
	background: #FFF;
	margin: 10px 0 0 0;
}
#voice .voice_q_title {
	padding: 0 0 0 40px;
	margin-bottom: 18px;
	font-size: 2rem;
	letter-spacing: 0.1rem;
	line-height: 1.6;
	font-weight: bold;
	position: relative;
}
#voice .voice_q_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/icons/icon_wrench.webp) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 34px;
}
#voice .voice_a_txt {
	padding: 30px 0 0 40px;
	border-top: 1px dotted #DDD;
	letter-spacing: 0.05rem;
	line-height: 1.8;
	position: relative;
}
#voice .voice_a_txt:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 30px;
	background: url(images/icons/icon_mic.webp) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 34px;
}

@media screen and (max-width: 560px) {
	#voice .voice_list_title {
		margin: 0 0 0;
		text-align: center;
		letter-spacing: 0.05em;
		font-size: 2.0rem;
		border-top: 3px #ed1b2e solid;
		padding: 25px 0 15px 0;
	}
	#voice ul.voice_list {
		margin: 0 0 30px;
		padding: 0;
		background: none;
	}
	#voice ul.voice_list li {
		padding: 20px;
		background: #f4f4f4;
	}
}
@media screen and (max-width: 430px) {
	#voice .voice_q_title {
		padding: 0 0 0 30px;
		margin-bottom: 12px;
	}
	#voice .voice_a_txt {
		padding: 18px 0 0 30px;
	}
	#voice .voice_q_title:before {
		width: 16px;
		height: 27px;
	}
	#voice .voice_a_txt:before {
		top: 22px;
		width: 16px;
		height: 27px;
	}
}
@media screen and (max-width: 320px) {
	#voice .voice_list_title {
		font-size: 1.8rem;
	}
}



/*********************************
 * 商品カテゴリ
 * category.php
 * ******************************/

#products .order_maker_products {
	display: flex;
	flex-direction: column;
}
#products .order_feature {
	order: 2;
}
#products .order_products_items {
	order: 1;
}
#products .order_products_items .products_items_description {
	line-height: 1.6;
	letter-spacing: 0.03em;
	margin-bottom: 30px;
}

#products .p_lineup_area {
	margin: 0;
    padding: 0 0 40px;
	background: none;
}

ul.product_items {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
ul.product_items li {
	width: calc(100% / 4 - 9px);
	padding: 20px;
	margin: 12px 12px 0 0;
	border: 1px solid #CFCDCD;
	box-shadow: 1px 1px 2px #ccc;
	background: #fff;
	transition: 0.5s;
	position: relative;
}
ul.product_items li:nth-child(4n) {
	margin-right: 0;
}
ul.product_items li:hover {
	cursor: pointer;
	box-shadow: 4px 5px 5px #ccc;
}
ul.product_items li .subsidy_box {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
ul.product_items li .subsidy_box p.subsidy {
	position: relative;
	background: #319f2d;
	color: #FFF;
    padding: 9px;
	font-size: .8em;
	font-weight: bold;
	font-family: sans-serif;
}
ul.product_items li .subsidy_box p.subsidy:before {
	position: absolute;
	content: '';
	right: -24px;
	top: 0;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 24px #319f2d;
	border-bottom: solid 34px transparent;
}
ul.product_items li a {
	display: flex;
	flex-direction: column;
	height: 100%;
}
ul.product_items li .product_txt {
	margin-top: auto;
}
ul.product_items li .products_title {
	color: #E51927;
	line-height: 1;
	text-align: center;
    font-weight: bold;
	margin-top: 6px;
}
ul.product_items li .products_title span.maker {
	display: block;
    font-size: .8em;
    color: #1F1F1F;
    margin: 12px 0 6px;
}
ul.product_items li .products_title span.title {
	display: block;
	padding: 6px 0;
	border-top: 1px solid #ededed;
	border-bottom: 1px solid #ededed;
}
ul.product_items figure.products_img {
	display: block;
	margin-top: 6px;
}
.products_price {
	padding: 6px 0 0;
	font-size: 1.6rem;
	text-align: center;
	color: #1F1F1F;
}
.price_title {
	font-size: 1.8rem;
}
.price_txt {
	padding: 0 5px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.8rem;
	font-weight: bold;
	color: #E51927;
}

@media screen and (max-width: 1024px) {
	ul.product_items li .subsidy_box p.subsidy {
		padding: 6px;
		font-size: .6em;
	}
	ul.product_items li .subsidy_box p.subsidy:before {
		right: -18px;
		border-left: solid 18px #319f2d;
		border-bottom: solid 24px transparent;
	}
	
	.price_title,
	.products_price {
		font-size: 1.4rem;
	}
	.price_txt {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 768px) {
	#products .order_products_items .products_items_description {
		margin-top: 50px;
	}

	ul.product_items li {
		width: calc(100% / 2 - 10px);
		padding: 15px;
		margin: 12px 20px 0 0;
	}
	ul.product_items li:nth-child(even) {
		margin-right: 0;
	}
}
@media screen and (max-width: 560px) {
	#products .order_products_items .products_items_description {
		margin-top: 0;
	}
	
	ul.product_items {
		justify-content: space-between;
		border-top: 1px solid #0e439b;
	}
	ul.product_items li {
		width: 100%;
		padding: 12px 0;
		margin: 0;
		box-shadow: none;
		background: none;
		border: none;
		border-bottom: 1px solid #0e439b;
	}
	ul.product_items li:nth-child(even) {
		margin-right: 0;
	}
	ul.product_items li .subsidy_box {
		top: -12px;
		left: -12px;
	}
	ul.product_items li .product_item_flex {
		display: flex;
		
	}
	ul.product_items li .product_item_flex .product_item_flex___img {
		width: 180px;
	}
	ul.product_items li .product_item_flex .product_item_flex___right {
		width: calc(100% - 180px);
		padding-left: 30px;
	}
	
	ul.product_items li p.more {
		margin: 18px 12px 0;
		text-align: right;
		color: #1F1F1F;
	}
	ul.product_items li p.more span {
		display: inline-block;
		padding-right: 36px;
		font-size: 1.5rem;
		font-weight: bold;
		position: relative;
	}
	ul.product_items li p.more span::after {
		content: "";
		display: inline-block;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/common/click.gif) no-repeat;
		background-size: 100%;
		background-position: center;
		width: 26px;
		height: 26px;
	}
	
}
@media screen and (max-width: 430px) {
	ul.product_items li .product_item_flex .product_item_flex___img {
		width: 150px;
	}
	ul.product_items li .product_item_flex .product_item_flex___right {
		width: calc(100% - 150px);
		padding-left: 12px;
	}
	ul.product_items li .products_title span.maker {
		margin: 8px 0 6px;
	}
	ul.product_items li .products_title span.title {
		padding: 2px 0;
	}
	
	ul.product_items li p.more {
		margin: 12px 12px 0;
	}
	
	ul.product_items li .subsidy_box img {
		width: 60px;
		height: auto;
	}
}
@media screen and (max-width: 380px) {
	ul.product_items li .product_item_flex .product_item_flex___img {
		width: 120px;
	}
	ul.product_items li .product_item_flex .product_item_flex___right {
		width: calc(100% - 120px);
		padding-left: 12px;
	}
	
}
@media screen and (max-width: 320px) {
	ul.product_items li .product_item_flex .product_item_flex___img {
		width: 105px;
	}
	ul.product_items li .product_item_flex .product_item_flex___right {
		width: calc(100% - 105px);
		padding-left: 12px;
	}
	
	ul.product_items li .products_title span.maker {
		font-size: .7em;
	}
	ul.product_items li .products_title span.title {
		font-size: .9em;
	}
	ul.product_items li p.more {
		margin: 9px 9px 0;
	}
	ul.product_items li p.more span {
		font-size: 1.3rem;
		padding-right: 24px;
	}
	ul.product_items li p.more span::after {
		width: 20px;
		height: 20px;
	}
	.price_title,
	.products_price {
		font-size: 1.16rem;
	}
	.price_txt {
		font-size: 2rem;
	}
}


/*********************************
 * 工事エリア
 * archive-area.php
 * ******************************/

#area .area_top_notes {
	margin: 30px 0 0;
	font-size: 1.4rem;
	line-height: 1.8;
}
#area .area_toptitle {
	margin: 12px 0 0 0;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	color: #1F1F1F;
	letter-spacing: 0.05em;
}
#area .area_toptitle_en {
	font-size: 1.0rem;
	color: #ed1b2e;
	letter-spacing: 0.2em;
	font-family: 'Oswald';
	padding: 8px 0 0 0;
	text-align: center;
}
#area .area_items .area_flex {
	width: 100%;
	margin-top: 30px;
	display: flex;
}
#area .area_items .area_flex .area_flex___title {
	width: 22%;
	background: #DA0D0D;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
	border: 1px solid #DA0D0D;
	padding: 25px;
	display: flex;
    justify-content: center;
    align-items: center;
}
#area .area_items .area_flex .area_flex___area {
	width: calc(100% - 22%);
	padding: 20px;
	border: 1px solid #ededed;
	line-height: 1.8;
	font-size: 1.6rem;
}
#area .area_items .area_flex .area_flex___area ul.parent  {

}
#area .area_items .area_flex .area_flex___area ul.parent li {
	padding-top: 20px;
	margin-top: 20px;
	border-top: 1px solid #ededed;
}
#area .area_items .area_flex .area_flex___area ul.parent li:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}
#area .area_items .area_flex .area_flex___area ul.parent li a {
	padding-left: 12px;
	position: relative;
}
#area .area_items .area_flex .area_flex___area ul.parent li a:before {
	content: "-";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: #ed1b2e;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child {
	margin-left: 2em;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child li {
	display: inline-block;
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child li:after {
	content: "／";
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child li:last-child:after {
	content: none;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child li a {
	padding-left: 0;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child li a:before {
	content: none;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild {
	display: inline-block;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild:before {
	content: "（";
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild:after {
	content: "）";
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild li {
	display: inline-block;
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild li:after {
	content: "・";
}
#area .area_items .area_flex .area_flex___area ul.parent ul.child ul.grandchild li:last-child:after {
	content: "";
}

@media screen and (max-width: 560px) {
	#area .area_items .area_flex {
		display: block;
	}
	#area .area_items .area_flex .area_flex___title,
	#area .area_items .area_flex .area_flex___area {
		width: 100%;
	}
	#area .area_items .area_flex .area_flex___title {
		margin: 0 0 15px;
		text-align: center;
		letter-spacing: 0.05em;
		font-size: 2.0rem;
		border: none;
		border-top: 3px #ed1b2e solid;
		border-bottom: 1px solid #ccc;
		padding: 25px 0 15px 0;
		background: none;
	}
	#area .area_items .area_flex .area_flex___title .area_title {
		color: #ed1b2e;
		font-weight: bold;
	}
	#area .area_items .area_flex .area_flex___area {
		border: none;
		padding: 0;
	}
	#area .area_items .area_flex .area_flex___area ul.parent li {
		padding-top: 15px;
		margin-top: 15px;
	}
	#area .area_items .area_flex .area_flex___area ul.parent li a {
		font-weight: bold;
	}
	#area .area_items .area_flex .area_flex___area ul.parent ul.child {
		margin: 9px 0 0;
	}
	#area .area_items .area_flex .area_flex___area ul.parent ul.child li a {
		font-weight: normal;
	}
}


/*********************************
 * 検索
 * ******************************/

.search_box {
	text-align: center;
	line-height: 1.8;
}
.search_box .search_form {
	width: 480px;
    margin: 30px auto 0;
}
.search_box .search_nav {
	width: 100%;
    margin: 60px auto 0;
}
.search_form.wide input#s {
	padding: 15px;
	font-size: 1.8rem;
}

@media screen and (max-width: 560px) {
	.search_form.wide {
		width: 100%;
	}
	.search_form.wide input#s {
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
	.search_form.wide {
		width: 100%;
	}
}



/*********************************
 * 工事エリア 親
 * taxonomy-area_category-saitama-ecocute.php
 * ******************************/

/* 工事例
 * *******************************/

#area .works_items {
	
}

/* 地域の詳細
 * *******************************/

#area .area_details_box {
	background: #fafafa;
	padding: 50px 0;
}
#area .area_info {
	
}
#area .area_info_flex {
	display: flex;
	align-items: flex-start;
}
#area .area_info_flex .area_info_flex___text {
	width: calc(100% - 400px);
	padding: 20px 45px 20px 20px;
	line-height: 1.6;
	font-size: 2.0rem;
	letter-spacing: 0.03em;
}
#area .area_info_flex .area_info_flex___img {
	width: 400px;
	position: relative;
}
#area .area_info_flex .area_info_flex___img > div {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#area .area_info_flex .area_info_flex___img > div p.ontext {
	width: 100%;
	text-align: center;
	font-style: italic;
    font-family: sans-serif;
	font-weight: bold;
	font-size: 2.6rem;
	color: #ed1b2e;
	line-height: 1.6;
}
#area .area_info_flex .area_info_flex___img > div p.ontext span {
	display: block;
	font-size: 3.6rem;
}
#area .area_summary {
	margin-top: 30px;
	width: 100%;
	padding: 40px;
	line-height: 1.6;
    font-size: 2.0rem;
    letter-spacing: 0.03
}
#area .area_details {
	margin-top: 30px;
	width: 100%;
	border: 3px #ed1b2e double;
	background: #FFFBFC;
	padding: 40px;
	border-radius: 6px;
}
#area .area_details .sub_title {
	font-weight: bold;
	line-height: 1.6;
}
#area .area_details ul {
	margin-top: 20px;
}
#area .area_details ul li {
	border-bottom: 1px #CCC dotted;
	font-size: 1.5rem;
	line-height: 1.6;
	padding: 16px 0 16px 30px;
	position: relative;
}
#area .area_details ul li:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(calc(-50% - 3px)) rotate(-45deg);
	width: 15px;
	height: 10px;
	border-left: 4px solid #ed1b2e;
	border-bottom: 4px solid #ed1b2e;
}
#area .area_details ul li a:after,
#area .area_details ul li span:after {
	content: "、";
	color: #1F1F1F;
}
#area .area_details ul li a:last-child:after,
#area .area_details ul li span:last-child:after {
	content: none;
}
#area .area_details ul.options li.nocheck {
	padding: 16px 0 16px 16px;
}
#area .area_details ul.options li.nocheck:before {
	content: none;
}
#area .area_details p.memo {
	margin-top: 16px;
	font-size: 1.5rem;
}
#area .area_feature {
	margin-top: 30px;
	padding: 30px;
	line-height: 1.6;
	font-size: 2.0rem;
	letter-spacing: 0.03em;
}
#area .area_details.automatic_block {
	border: 3px #B73542 double;
	background: #FAEFF0;
}
#area .area_details .area_details_text {
	margin-top: 20px;
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
	#area .area_info_flex .area_info_flex___text {
		width: calc(100% - 280px);
	}
	#area .area_info_flex .area_info_flex___img {
		width: 280px;
	}
	#area .area_info_flex .area_info_flex___img > div p.ontext {
		font-size: 2rem;
	}
}
@media screen and (max-width: 560px) {
	#area .area_details_box {
		padding: 30px 0;
	}
	#area .area_info_flex {
		flex-direction: column;
	}
	#area .area_info_flex .area_info_flex___text {
		width: 100%;
		order: 2;
		padding: 20px 12px;
		font-size: 1.6rem;
	}
	#area .area_info_flex .area_info_flex___img {
		width: 100%;
		order: 1;
	}
	#area .area_info_flex .area_info_flex___img img {
		width: 100%;
	}
	#area .area_details {
		padding: 30px;
	}
	#area .area_details ul {
		margin-top: 12px;
	}
	#area .area_summary {
		padding: 30px 0;
		font-size: 1.6rem;
	}
	#area .area_feature {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 430px) {
	#area .area_details {
		padding: 20px;
	}
}


/*********************************
 * 個人情報保護方針
* ******************************/

#privacy-policy .policy_block {
	margin-top: 20px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#privacy-policy .policy_block .privacy_title {
	margin: 0 0 12px;
	font-size: 1.8rem;
	font-weight: bold;
}
#privacy-policy .policy_block p.bot {
	margin: 15px 0 0;
}
#privacy-policy ul.num_list {
	padding: 5px 0 0 0;
}
#privacy-policy ul.num_list li {
	margin: 8px 0 0 2em;
	font-size: 1.5rem;
	line-height: 1.8;
}

@media screen and (max-width: 560px) {
	#privacy-policy .policy_block .privacy_title {
		font-size: 1.6rem;
	}

}
@media screen and (max-width: 430px) {
	#privacy-policy .policy_block .privacy_title {
		
	}

}

/*********************************
 * サイトマップ
 * ******************************/

#sitemap ul.sitemap_list {
	padding: 20px 0;
	border-bottom: 1px dotted #ddd;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}
#sitemap ul.sitemap_list.list01 {
  border-top: 1px dotted #ddd;
}
#sitemap ul.sitemap_list.list10 {
  padding: 0 0 20px;
}
#sitemap ul.sitemap_list li.home {
	line-height: 2.5;
	font-size: 2.4rem;
	padding-left: 30px;
	position: relative;
}
#sitemap ul.sitemap_list li.home:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/nav_home_red.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 18px;
	height: 18px;
	margin-right: 6px;
}
#sitemap ul.sitemap_list li.parent {
	font-size: 2.0rem;
	line-height: 2.5;
}
#sitemap ul.sitemap_list li.parent::before {
	display: inline-block;
	margin: 0 10px 0 0;
	content: "・";
	/* font-family:'condenseicon';
	font-size: 1.4rem;*/
	color: #ed1b2e;
}
#sitemap ul.sitemap_list ul {
	margin: 0 0 0 1em;
}
#sitemap ul.sitemap_list li.child {
	font-size: 1.6rem;
	line-height: 2.0;
}
#sitemap ul.sitemap_list li.grandchild {
	font-size: 1.6rem;
	line-height: 2.0;
	margin-left: 1em;
}
#sitemap ul.sitemap_list li.child:before {
	content: "-";
	display: inline-block;
	margin: 0 5px 0 25px;
}
#sitemap ul.sitemap_list li.grandchild:before {
	content: "・";
	display: inline-block;
	margin: 0 5px 0 25px;
}

#sitemap ul.sitemap_list a {
  color: #4B4B4B;
}

@media screen and (max-width: 560px) {
	#sitemap ul.sitemap_list li.home {
		font-size: 2rem;
		line-height: 2;
	}
	#sitemap ul.sitemap_list li.parent {
		font-size: 1.8rem;
		line-height: 2;
	}

}


/*********************************
 * 404エラー
 * ******************************/

#error .error_box {
	text-align: center;
}
#error .error_box p {
	line-height: 1.8;
}

@media screen and (max-width: 560px) {
	#error .error_box {
		margin-top: 30px;
	}

}
