@charset "euc-jp";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500&display=swap&subset=japanese');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
/*font: inherit;*/
/*vertical-align: baseline;*/
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* css reset end */

*{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
	word-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
.clearfix:after {
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	content:".";
}

table , th , td{
}

body{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height:1.7;
	font-size: 100%;
	background-color: #e6e6e6;
}

a{
	text-decoration: none;
	transition: 0.3s;
	color: #333333;
}

a:hover{
	color: #333333;
}

a:active,
a:visited,
a:focus{
	color: #333333;
	text-decoration: none;
}

a img:hover{
    opacity: 0.75;
	cursor: pointer;
}

.spNone{ display: block; }
.pcNone{ display: none; }


/*--------------------------------------------------------------
layout
--------------------------------------------------------------*/

.wrapper {
}

.wrapper img {
    width: 100%;
	height: auto;
    vertical-align: bottom;
}

.contentsWindow{
	max-width: 1200px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.MainSection{
	width: 80%;
	box-sizing: border-box;
	padding-right: 50px;
}

.naviSection{
	width: 20%;
	box-sizing: border-box;
	margin-top: 50px;
}

.naviSection.topMT0{margin-top: 0;}


/*--------------------------------------------------------------
ヘッダー
--------------------------------------------------------------*/

.nav_openSP,
.nav_container{display: none;}

#header {
	background-color: #fff;
}

#header a:hover img{opacity: 1;}

.headerTopText{
	background-color: #333333;
	text-align: center;
	padding: 12px 15px;
	color: #fff;
}

.headerContents{
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 30px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}

.headerLogo{
	width: 28%;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.headerBnrBox{
	width: 22%;
	margin: 0px 5px;
}

.headerBnrBox img{
	max-width: 100%;
}

.headerLinkBox{
	width: 42%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.headerMenuBox{
	font-size: 0.85rem;
	line-height: 1.2;
}

.headerMenu01{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
	margin-bottom: 15px;
}

.headerMenu01 li{
	padding: 0px 10px;
	border-right: 1px solid #333333;
}

.headerMenu01 li:first-child{border-left: 1px solid #333333;}

.headerMenu02{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.headerMenu02 li{
	margin-left: 15px;
}

.headerMenu02 li:first-child{margin-left: 0px;}

.headerMenu02 a{
	display: block;
	padding: 8px 25px;
	color: #fff;
	border-radius: 10px;
}

.headerMenu02 a:hover{
	text-decoration: none;
	opacity: 0.75;
}

.headerMenu02_01 a{
	background-color: #e50012;
}

.headerMenu02_01 img{
	width: 15px;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 2px;
}

.headerMenu02_02 a{
	background-color: #333333;
}

.headerMenu02_02 img{
	width: 18px;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 2px;
}

.headerSearchBox{
	width: 40%;
	margin-left: auto;
	padding-top: 3px;
}

.headerSearchBox p{
	width: 101px;
	margin-bottom: 17px;
}

.headerSearchBox input{
	background-color: #e6e6e6;
	border: none;
	padding: 2px 5px;
	width: 70%;
	font-size: 1rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height: 1.7;
	height: auto;
	box-sizing: border-box;
	border-radius: 10px 0px 0px 10px;
}

.headerSearchBox button{
	height: 31px;
	width: 31px;
	border: none;
	background-color: #4b4b4b;
	margin-left: -5px;
	background-image: url(https://img21.shop-pro.jp/PA01441/205/etc/icon_search.png?cmsp_timestamp=20191217004543);
	background-size: 17px auto;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 0px 10px 10px 0px;
}

.menuBtn{display: none;}


/*--------------------------------------------------------------
ライトナビ
--------------------------------------------------------------*/

.naviContents{}

.naviSearchBox{
	display: none;
}

.naviContents h3{
	background-color: #333333;
	text-align: center;
	padding: 10px 10px;
}

.naviContents h3 img{width: 97px;}

.naviMenuWrap{
}

.naviManuLink a{
	display: block;
	padding: 15px 35px 15px 25px;
	position: relative;
	border-top: 1px solid #e6e6e6;
	background-color: #fff;
	font-weight: bold;
	line-height: 1.3;
}

.naviManuLink a:hover{text-decoration: none;}

.naviManuLink a::before{
	content: "";
	display: block;
	height: 15px;
	width: 3px;
	position: absolute;
	top: 34%;
	left: 10px;
	background-color: #ed1c24;
}

.naviManuLink a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
}

.naviMenuWrap dt{
	padding: 15px 35px 15px 25px;
	position: relative;
	border-top: 1px solid #e6e6e6;
	background-color: #fff;
}

.naviMenuWrap dt:hover{cursor: pointer;}

.naviMenuWrap dt::before{
	content: "";
	display: block;
	height: 15px;
	width: 3px;
	position: absolute;
	top: 34%;
	left: 10px;
	background-color: #ed1c24;
}

.naviMenuWrap dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
}

.naviMenuWrap dt.open{
	padding: 15px 35px 15px 25px;
	position: relative;
	border-bottom: 1px solid #e6e6e6;
}

.naviMenuWrap dt.open::after{transform: translateY(-50%) rotate(135deg);}

.naviMenuWrap dd{
	padding: 0px 10px 0px;
	display: none;
	background-color: #fff;
}

.naviMenuWrap dd p{
	margin-bottom: 10px;
	padding-left: 15px;
	position: relative;
}

.naviMenuWrap dd p:first-child{margin-top: 20px;}
.naviMenuWrap dd p:last-child{margin-bottom: 20px;}

.naviMenuWrap dd p::before{
	content: "・";
	position: absolute;
	top: 0px;
	left: 0px;
}

.naviContactBtn{
	margin-top: 30px;
}



/*--------------------------------------------------------------
price Off Section
--------------------------------------------------------------*/

#priceOffSection{
	margin-top: 60px;
	padding: 30px 15px;
	background-color: #fee7ea;
}

.priceOffContents{
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
}

.priceOffContents h3{
	width: 185px;
	margin: 0px auto 40px;
}

.priceOffLinkBox{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.priceOffLinkBox li{
	width: calc((100% - (30px*3)) /4);
	margin-right: 30px;
	margin-bottom: 30px;
}

.priceOffLinkBox li:nth-child(4n){
	width: calc((100% - (30px*3)) /4);
	margin-right: 0px;
	margin-bottom: 30px;
}

.priceOffLinkBox li a{
	display: block;
	text-align: center;
	background-color: #ed1c24;
	color: #fff;
	padding: 10px 15px;
	box-sizing: border-box;
	border-radius: 50px;
	font-size: 1.25rem;
	font-weight: bold;
}

.priceOffLinkBox li a:hover{
	opacity: 0.5;
	text-decoration: none;
}



/*--------------------------------------------------------------
フッター
--------------------------------------------------------------*/

#footer {
	padding: 0px 15px 30px;
	background-color: #333333;
	width: 100%;
}

.footerContents{
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 50px 0 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.footerLogo{
	width: 300px;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.footerLogo a:hover img{opacity: 1;}

.footerMenuBox{
	width: 62%;
	padding-left: 20px;
	box-sizing: border-box;
	color: #fff;
}

.footerMenuLink{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.footerMenuLink li{
	border-left:1px solid #fff;
	line-height: 1.5;
	padding: 0px 15px;
	margin-bottom: 10px;
}

.footerMenuLink li:last-child{
	border-right:1px solid #fff;
}

.footerMenuLink a{
	color: #fff;
}

.footerAdd{
	text-align: right;
	padding-right: 50px;
	margin-top: 20px;
}


.footerCopy{
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
	color: #fff;
	text-align: center;
}


/*--------------------------------------------------------------
common
--------------------------------------------------------------*/

/*----------　Title Style　----------*/
.subTitle01 {
	display: flex;
	align-items: center;
	font-size: 1.5rem;
	color: #333;
	margin-bottom: 30px;
}

.subTitle01:before, .subTitle01:after {
	border-top: 1px solid #333;
	content: "";
	flex-grow: 1;
}

.subTitle01:before {margin-right: 20px;}
.subTitle01:after {margin-left: 20px;}


/*----------　おすすめ商品・商品一覧　----------*/
.listItemSection{}

.itemTable{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.itemTable li{
	width: calc((100% - (30px*2)) /3);
	margin-right: 30px;
	margin-bottom: 30px;
	background-color: #fff;
	overflow: hidden;
	border: 1px solid #ccc;
}

.itemTable li:nth-child(3n){
	width: calc((100% - (30px*2)) /3);
	margin-right: 0px;
	margin-bottom: 30px;
	overflow: hidden;
	border: 1px solid #ccc;
}

.itemTable a{display: block;}

.itemTable a:hover{text-decoration: none; opacity: 0.7;}
.itemTable a:hover img{opacity: 1;}

.itemTableImg{
	height: 206px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
}

.itemTableImg img{
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	flex-shrink: 0;
}

.itemTableTextBox{
	padding: 20px 20px;
}

.itemTableText01{
	margin-bottom: 5px;
	position: relative;
	height: calc(14 * 1.7 * 2 * 1px);
	font-size: 14px;
	line-height: 1.7;
	word-break: break-all;
	overflow: hidden;
	letter-spacing: 0.01rem;
}

.itemTableText01::before,
.itemTableText01::after {
	position: absolute;
	background: #fff;
}

.itemTableText01::before {
	content: '...';
	top: calc(14 * 1.7 * (2 - 1) * 1px);
	right: 0;
	width: 1em;
}

.itemTableText01::after {
	content: '';
	width: 100%;
	height: 100%;
}

.itemTableText02{
	font-weight: bold;
	margin-bottom: 5px;
	position: relative;
	height: calc(16 * 1.7 * 2 * 1px);
	font-size: 16px;
	line-height: 1.7;
	word-break: break-all;
	overflow: hidden;
	letter-spacing:0.005rem;
}

.itemTableText02::before,
.itemTableText02::after {
	position: absolute;
	background: #fff;
}

.itemTableText02::before {
	content: '...';
	top: calc(16 * 1.7 * (2 - 1) * 1px);
	right: 0;
	width: 1em;
}

.itemTableText02::after {
	content: '';
	width: 100%;
	height: 100%;
}

.itemTablePrice{
	color: #ed1c24;
	margin-bottom: 5px;
}

.itemTableOff{
	display: inline-block;
	background-color: #ed1c24;
	color: #fff;
	padding: 2px 10px;
}


/*----------　施工場所から探す　----------*/
.workSection{
	margin-top: 60px;
	text-align: center;
}

.workSection.topWS{
	margin-top: 30px;
	text-align: center;
}

.workList{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.workList li{
	width: calc((100% - (30px*2)) /3);
	margin-right: 30px;
	margin-bottom: 30px;
}

.workList li:nth-child(3n){
	width: calc((100% - (30px*2)) /3);
	margin-right: 0px;
	margin-bottom: 30px;
}

.workList a{
	display: block;
}

.workList a:hover{text-decoration: none; opacity: 0.7;}
.workList a:hover img{opacity: 1;}

.workListImg{margin-bottom: 5px;}

.workList p{font-size: 1.25rem; font-weight: bold;}


/*----------　パンくず　----------*/
.panSection{
	padding: 12px 0px;
	width: 100%;
	min-height: 50px;
}

.panList{
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
}

.panList li{display: inline-block;}

.panList .home img{
	width: 14px;
	vertical-align: middle;
	margin:0px 5px 5px 0px;
}


/*----------　ページャ　----------*/

.pagenation{
	width: 100%;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
}

.pagenation .disabled{color: #ccc;}


/*----------　ご利用ガイド・特定商他　----------*/

.guideContents {
	background-color: #fff;
	padding: 30px 30px;
	box-sizing: border-box;
	border-radius: 10px;
	margin-bottom: 50px;
}


/*----------　フリーページ更新雛形用　----------*/

.FPContents{
	background-color: #fff;
	padding: 30px 30px;
	box-sizing: border-box;
	border-radius: 10px;
	margin-bottom: 50px;
}

.FPContents img{
	max-width: 100%;
	width: auto;
	height: auto;
}

.FPTitle01{
	font-size: 1.5rem;
	margin-bottom: 15px;
}


/*--------------------------------------------------------------
お知らせ・フリースペース
--------------------------------------------------------------*/



/*--------------------------------------------------------------
メディアクエリ
--------------------------------------------------------------*/

@media (max-width: 1199px) {
	
.contentsWindow{
	max-width: 1200px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
	padding: 0px 15px;
}

/*----------　パンくず　----------*/
.panSection{
	padding: 20px 15px;
	width: 100%;
}

}


@media (max-width: 768px) {

body{font-family: 'Noto Sans JP', sans-serif;}

.spNone{ display: none; }
.pcNone{ display: block; }
	
/*--------------------------------------------------------------
layout
--------------------------------------------------------------*/

#wrapper {
}

.contentsWindow{
	max-width: none;
	margin:0 auto;
	display: block;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
	width: 100%;
	box-sizing: border-box;
}

.MainSection{
	width: 100%;
	padding-right: 0px;
	box-sizing: border-box;
}

.naviSection{
	width: 100%;
	box-sizing: border-box;
	margin-top: 0px;
	height: 100vh;
	position: fixed;
	right: -100%;
	top: 0;
	background-color: rgba(255,255,255,0.85);
	transition: 0.3s ease;
	z-index: 800;
}

.naviSection.topMT0{margin-top: 0;}

.naviSection.open{right: 0%;}



/*--------------------------------------------------------------
ヘッダー
--------------------------------------------------------------*/

#header {
	background-color: #fff;
}

#header a:hover img{opacity: 1;}

.headerTopText{
	background-color: #333333;
	text-align: left;
	padding: 12px 70px 12px 15px;
	color: #fff;
	font-size: 0.75rem;
}

.headerContents{
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 25px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}

.headerLogo{
	width: 49%;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.headerBnrBox{
	width: 35%;
	margin: 0px 10px;
}

.headerBnrBox img{
	max-width: 100%;
}

.headerLinkBox{
	width: 12%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.headerMenuBox{
	font-size: 0.65rem;
	line-height: 1.2;
	margin-left: auto;
}

.headerMenu01{
	display: none;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
	margin-bottom: 15px;
}

.headerMenu01 li{
	padding: 0px 10px;
	border-right: 1px solid #333333;
}

.headerMenu01 li:first-child{border-left: 1px solid #333333;}

.headerMenu02{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.headerMenu02 li{
	margin-left: 10px;
}

.headerMenu02 li:first-child{margin-left: 0px;}

.headerMenu02 a{
	display: block;
	padding: 8px 10px;
	color: #fff;
	border-radius: 10px;
}

.headerMenu02 a:hover{
	text-decoration: none;
	opacity: 0.75;
}

.headerMenu02_01 a{
	background-color: #e50012;
	transition: 0s;
}
	
.headerMenu02_01 img{
	width: auto;
	vertical-align: middle;
	margin-right: 0px;
	margin-bottom: 0px;
	height: 15px;
}

.headerMenu02_02 a{
	background-color: #333333;
	transition: 0s;
}

.headerMenu02_02 img{
	width: auto;
	vertical-align: middle;
	margin-right: 0px;
	margin-bottom: 0px;
	height: 15px;
}

.headerMenu02_01 a span,
.headerMenu02_02 a span{display: none;}

.headerSearchBox{
	display: none;
}

.menuBtn{
	display: block;
	width: 45px;
	height: 45px;
	text-align: center;
	background-color: #fff;
	position: fixed;
	top: 15px;
	right: 15px;
	box-sizing: border-box;
	color: #ed1c24;
	padding: 12px 10px 10px;
	border-radius: 5px;
	opacity: 0.9;
	z-index: 900;
}

.menuBtnBD{
	position: relative;
	height: 20px;
}

.menuBtnBD span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: #ed1c24;
	left: 0;
	transition: .35s ease-in-out;
}

.menuBtnBD span:nth-child(1) {
    top: 0;
}

.menuBtnBD span:nth-child(2) {
    top: 9px;
}

.menuBtnBD span:nth-child(3) {
    top: 18px;
}

.open .menuBtnBD span:nth-child(1) {
	top: 9px;
	transform: rotate(315deg);
}
.open .menuBtnBD span:nth-child(2) {
	width: 0;
	left: 50%;
}

.open .menuBtnBD span:nth-child(3) {
	top: 9px;
	transform: rotate(-315deg);
}


/*--------------------------------------------------------------
ライトナビ
--------------------------------------------------------------*/

.naviContents{
	padding: 80px 0px;
}

.naviSearchBox{
	display: block;
	width: 80%;
	margin: 0px auto 20px;
}

.naviSearchBox input{
	background-color: #ccc;
	border: none;
	padding: 2px 5px;
	width: 85%;
	font-size: 1rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height: 1.7;
	height: auto;
	box-sizing: border-box;
	border-radius: 10px 0px 0px 10px;
	margin: 0;
}

.naviSearchBox button{
	height: 31px;
	width: 31px;
	border: none;
	background-color: #4b4b4b;
	margin-left: -5px;
	background-image: url(https://img21.shop-pro.jp/PA01441/205/etc/icon_search.png?cmsp_timestamp=20191217004543);
	background-size: 17px auto;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 0px 10px 10px 0px;
}

.naviContents h3{
	background-color: #333333;
	text-align: center;
	padding: 15px 10px;
	margin: 0px 15px;
}

.naviContents h3 img{width: 97px;}

.naviMenuWrap{
	margin: 0px 15px;
	height: 65vh;
    overflow-y: auto;
}

.naviManuLink a{
	display: block;
	padding: 15px 35px 15px 25px;
	position: relative;
	border-top: 1px solid #e6e6e6;
	background-color: #fff;
	font-weight: bold;
	line-height: 1.3;
}

.naviManuLink a:hover{text-decoration: none;}

.naviManuLink a::before{
	content: "";
	display: block;
	height: 15px;
	width: 3px;
	position: absolute;
	top: 34%;
	left: 10px;
	background-color: #ed1c24;
}

.naviManuLink a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
}

.naviMenuWrap dt{
	padding: 15px 35px 15px 25px;
	position: relative;
	border-top: 1px solid #e6e6e6;
	background-color: #fff;
}

.naviMenuWrap dt:hover{cursor: pointer;}

.naviMenuWrap dt::before{
	content: "";
	display: block;
	height: 15px;
	width: 3px;
	position: absolute;
	top: 34%;
	left: 10px;
	background-color: #ed1c24;
}

.naviMenuWrap dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
}

.naviMenuWrap dt.open{
	padding: 15px 35px 15px 25px;
	position: relative;
	border-bottom: 1px solid #e6e6e6;
}

.naviMenuWrap dt.open::after{transform: translateY(-50%) rotate(135deg);}

.naviMenuWrap dd{
	padding: 20px 10px 0px;
	display: none;
	background-color: #fff;
}

.naviMenuWrap dd p{
	margin-bottom: 0px;
	padding-left: 15px;
	position: relative;
}

.naviMenuWrap dd p:first-child{margin-top: 0px;}
.naviMenuWrap dd p:last-child{margin-bottom: 20px;}

.naviMenuWrap dd p::before{
	content: "・";
	position: absolute;
	top: 10px;
	left: 0px;
}
	
.naviMenuWrap dd a{
	display: block;
	padding: 10px 0px;
}

.naviContactBtn{
	width: 60%;
	margin: 30px auto 0px;
}


/*--------------------------------------------------------------
price Off Section
--------------------------------------------------------------*/

#priceOffSection{
	margin-top: 40px;
	padding: 30px 15px 0px;
	background-color: #fee7ea;
}

.priceOffContents{
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
}

.priceOffContents h3{
	width: 155px;
	margin: 0px auto 40px;
}

.priceOffLinkBox{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.priceOffLinkBox li{
	width: calc((100% - (15px*1)) /2);
	margin-right: 15px;
	margin-bottom: 15px;
}

.priceOffLinkBox li:nth-child(2n){
	width: calc((100% - (15px*1)) /2);
	margin-right: 0px;
	margin-bottom: 30px;
}

.priceOffLinkBox li a{
	display: block;
	text-align: center;
	background-color: #ed1c24;
	color: #fff;
	padding: 10px 10px;
	box-sizing: border-box;
	border-radius: 50px;
	font-size: 1.0rem;
	font-weight: bold;
}

.priceOffLinkBox li a:hover{
	opacity: 0.5;
	text-decoration: none;
}


/*--------------------------------------------------------------
フッター
--------------------------------------------------------------*/

#footer {
	padding: 0px 0px 30px;
	background-color: #333333;
	width: 100%;
}

.footerContents{
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 30px 0 30px;
	display: block;;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.footerLogo{
	width: 70%;
	line-height: 1;
	padding: 0;
	margin: 0 auto 30px;
}

.footerLogo a:hover img{opacity: 1;}

.footerMenuBox{
	width: 100%;
	padding-left: 0px;
	box-sizing: border-box;
	color: #fff;
}

.footerMenuLink{
	display: block;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.footerMenuLink li{
	border-left:none;
	line-height: 1.5;
	padding: 0px 0px;
	margin-bottom: 0px;
	text-align: center;
}

.footerMenuLink li:last-child{
	border-right:none;
}

.footerMenuLink a{
	color: #fff;
	display: block;
	padding: 15px 50px 15px 50px;
	background: #000000;
	background: -webkit-linear-gradient(top, #555 0%,#333 50%,#111111 100%);
	background: linear-gradient(to bottom, #555 0%,#333 50%,#111111 100%);
	position: relative;
	box-sizing: border-box;
}

.footerMenuLink a:hover{text-decoration: none;}

.footerMenuLink a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
}

.footerAdd{
	text-align: center;
	padding-right: 0px;
	margin-top: 20px;
}


.footerCopy{
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	font-size: 0.75rem;
}


/*--------------------------------------------------------------
common
--------------------------------------------------------------*/

/*----------　Title Style　----------*/
.subTitle01 {
	display: flex;
	align-items: center;
	font-size: 1.25rem;
	color: #333;
	margin-bottom: 30px;
}

.subTitle01:before, .subTitle01:after {
	border-top: 1px solid #333;
	content: "";
	flex-grow: 1;
}

.subTitle01:before {margin-right: 15px;}
.subTitle01:after {margin-left: 15px;}


/*----------　おすすめ商品・商品一覧　----------*/
.listItemSection{}

.itemTable{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.itemTable li{
	width: calc((100% - (15px*1)) /2);
	margin-right: 15px;
	margin-bottom: 15px;
	background-color: #fff;
	overflow: hidden;
	border: 1px solid #ccc;
}

.itemTable li:nth-child(3n){
	width: calc((100% - (15px*1)) /2);
	margin-right: 15px;
	margin-bottom: 15px;
	overflow: hidden;
	border: 1px solid #ccc;
}

.itemTable li:nth-child(2n){
	width: calc((100% - (15px*1)) /2);
	margin-right: 0px;
	margin-bottom: 15px;
	overflow: hidden;
	border: 1px solid #ccc;
}

.itemTable a{display: block;}

.itemTable a:hover{text-decoration: none; opacity: 0.7;}
.itemTable a:hover img{opacity: 1;}

.itemTableImg{
	height: 32vw;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
}

.itemTableImg img{
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	flex-shrink: 0;
}

.itemTableTextBox{
	padding: 15px 15px;
}

.itemTableText01{
	margin-bottom: 5px;
	position: relative;
	height: calc(14 * 1.7 * 2 * 1px);
	font-size: 14px;
	line-height: 1.7;
	word-break: break-all;
	overflow: hidden;
	letter-spacing:normal;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.itemTableText01::before,
.itemTableText01::after {
	position: static;
	background: #fff;
}

.itemTableText01::before {
	content: '';
	top: calc(14 * 1.7 * (2 - 1) * 1px);
	right: 0;
	width: 1em;
	display: none;
}

.itemTableText01::after {
	content: '';
	width: 100%;
	height: 100%;
	display: none;
}

.itemTableText02{
	font-weight: bold;
	margin-bottom: 5px;
	position: relative;
	height: calc(16 * 1.7 * 2 * 1px);
	font-size: 16px;
	line-height: 1.7;
	word-break: break-all;
	overflow: hidden;
	letter-spacing:normal;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.itemTableText02::before,
.itemTableText02::after {
	position: static;
	background: #fff;
}

.itemTableText02::before {
	content: '';
	top: calc(16 * 1.7 * (2 - 1) * 1px);
	right: 0;
	width: 1em;
	display: none;
}

.itemTableText02::after {
	content: '';
	width: 100%;
	height: 100%;
	display: none;
}

.itemTablePrice{
	color: #ed1c24;
	margin-bottom: 5px;
}

.itemTableOff{
	display: inline-block;
	background-color: #ed1c24;
	color: #fff;
	padding: 2px 10px;
}


/*----------　施工場所から探す　----------*/
.workSection{
	margin-top: 50px;
	text-align: center;
}

.workSection.topWS{
	margin-top: 20px;
	text-align: center;
}

.workList{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.workList li{
	width: calc((100% - (15px*2)) /3);
	margin-right: 15px;
	margin-bottom: 15px;
}

.workList li:nth-child(3n){
	width: calc((100% - (15px*2)) /3);
	margin-right: 0px;
	margin-bottom: 15px;
}

.workList a{
	display: block;
}

.workList a:hover{text-decoration: none;}

.workListImg{margin-bottom: 5px;}

.workList p{font-size: 1.0rem; font-weight: bold;}


/*----------　パンくず　----------*/
.panSection{
	padding: 20px 15px;
	width: 100%;
}

.panList{
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
	font-size: 0.85rem;
}

.panList li{display: inline-block;}

.panList li a{transition: 0s;}

.panList .home img{
	width: 14px;
	vertical-align: middle;
	margin:0px 5px 5px 0px;
}

/*----------　ページャ　----------*/

.pagenation{
	width: 100%;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
}

.pagenation .disabled{color: #ccc;}


/*----------　ご利用ガイド・特定商他　----------*/

.guideContents {
	background-color: #fff;
	padding: 15px 15px;
	box-sizing: border-box;
	border-radius: 10px;
	margin-bottom: 50px;
}


/*----------　フリーページ更新雛形用　----------*/

.FPContents{
	background-color: #fff;
	padding: 15px 15px;
	box-sizing: border-box;
	border-radius: 10px;
	margin-bottom: 50px;
}

.FPContents img{
	max-width: 100%;
	width: auto;
	height: auto;
}

.FPTitle01{
	font-size: 1.25rem;
	margin-bottom: 10px;
}

  
}