.flex{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;}
/*******************************************************************
								header
*******************************************************************/
header{
	list-style-type: none;
	width: 1000px;
	height: 40px;
	margin: 30px auto 200px;
	padding: 0;}
hgroup{
	margin-bottom:30px;}
header h1 a{
	display:block;
	height:78px;
	width:275px;
	background:url(../images/title_logo.png) no-repeat center center;}
header .information{
	margin-left:375px;
	width:260px;}
header .information p{
	text-align:left;
	font-size:12px;}
header .information address{
	padding:5px 0;
	text-align:center;
	font-size:35px;}
header .information p.info{
	padding:5px;
	background:#D62129;
	color:#fff;
	text-align:center;}
header .mail{
	margin-left:10px;
	width:80px;
	text-align:center;}
header .mail p.mail_icon a{
	display:block;
	padding:52px 10px 0 10px;
	width:80px;
	height:80px;
	background:#D62129 url(../images/mail.svg) 15px 10px no-repeat;
	background-size: 50px;
	color:#fff;
	font-size:10px;}

/*******************************************************************
								nav
*******************************************************************/
nav {
	width:100%;
	min-height:90px;
	background:#D62129;}
.slicknav_menu {display:none;}

header li{
	position: relative;
	width: 250px;
	float: left;
	margin: 0;
	padding: 0;
	text-align: center;}

header li h3:hover{
	cursor:pointer;}

header li a{
	display: block;
	margin: 0;
	padding:40px 0 32px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;}

header li:hover > a{
	background: #f9dadc;
	color: #d62129;}

header > li:hover > a{
	border-radius: 3px 3px 0 0;}

header li ul{
	list-style: none;
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	border-radius: 0 0 3px 3px;}

header li:last-child ul{
	left: -100%;
	width: 100%}

header li ul li{
	overflow: hidden;
	width: 200%;
	height: 0;
	color: #fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;}

header li ul li a{
	padding: 13px 15px;
	background: rgba(227,71,78,0.9);
	text-align: left;
	font-size: 12px;
	font-weight: normal;}

header li:hover ul li{
	overflow: visible;
	height: 38px;
	border-top: 1px solid #d62129;
	border-bottom: 1px solid #e3474e;}

header li:hover ul li:first-child{
	border-top: 0;}

header li:hover ul li:last-child{
	border-bottom: 0;}

header li:hover ul li:last-child a{
	border-radius: 0 0 3px 3px;}
/*******************************************************************
								TOP
*******************************************************************/
#top_contents{
	width: 100%; 
	margin-top:50px;
	text-align:center;}
#top_contents h2{
	margin-bottom:15px;
	font-size:25px;}
#top_contents p{
	padding-top:15px;
	line-height:1.2em;
	font-size:25px;
	font-weight:bold;}
#top_contents p em{
	color:#E30000;
	font-weight:bold;}

#top_menu{
	margin:0 auto;
	width:1000px;
	text-align:center;
	display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;/*要素の横並び*/
	justify-content:center;
	flex-wrap:wrap;}
#top_menu section{
	margin-left:5px;
	padding:0;
	text-align:left;
	width:330px;}
#top_menu section.air,#top_menu section.toilet{
	margin:0;}
#top_menu section h1{
	padding:5px 15px;
	color:#fff;
	font-size:25px;
	font-weight:bold;}

#top_menu section img{
	width:330px;
	height:160px;}
#top_menu section a:hover img{
	opacity:0.5;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;}

#top_picky h2{
	margin-top:50px;
	padding:20px;
	font-size:32px;
	font-weight:bold;
	text-align:center;
	color:#fff;
	background:#D62129;}
#top_picky #picky{
	margin:30px auto 0 auto;
	justify-content:center;
	flex-wrap:wrap;
	width:1020px;
	text-align:center;}
#top_picky #picky section{
	margin:0 5px 10px 5px;
	width:495px;
	border:5px solid #D62129;}
#top_picky #picky section h1{
	color:#fff;
	text-align:center;
	font-size:44px;
	font-weight:bold;
	line-height:90px;
	background:#D62129 url(../images/menu_bg_orig.svg) no-repeat top left;}
#top_picky #picky section p{
	padding:15px;
	font-size:18px;
	line-height:1.5em;}

#othermenu{
	margin:30px 0;
	justify-content:center;
	flex-wrap:wrap;}
#othermenu div a{
	display:inline-block;
	width:330px;
	height:110px;
	text-align:center;}
#othermenu a h5{
	font-size:32px;
	font-weight:bold;
	line-height:110px;}
#othermenu div a::before,
#othermenu div a::after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';}
#othermenu div a,
#othermenu div a::before,
#othermenu div a::after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;}
#othermenu div a {
	position: relative;
	z-index: 2;
	background-color: #fff;
	color: #333;
	line-height: 50px;
	overflow: hidden;}
#othermenu div.qa a:hover,
#othermenu div.price a:hover,
#othermenu div.pack a:hover{color: #fff;}
#othermenu div a::after {
	top: -100%;
	width: 100%;
	height: 100%;}
#othermenu div a:hover::after{top: 0;}
#othermenu div.qa a{border:solid 5px #F7931E; margin-right:5px; color:#F7931E;}
#othermenu div.price a{border:solid 5px #00A99D; margin-right:5px; color:#00A99D;}
#othermenu div.pack a{border:solid 5px #93278F; color:#93278F;}

#othermenu div.qa a:hover::after{background-color:#F7931E;}
#othermenu div.price a:hover::after{background-color:#00A99D;}
#othermenu div.pack a:hover::after{background-color:#93278F;}

/*******************************************************************
								contents
*******************************************************************/
#tmenu,#others{
	margin:0 auto;
	padding-bottom:15px;
	width:1000px;
	text-align:center;}
#tmenu p{
	font-size:12px;
	text-align:left;}
#tmenu p a{
	text-decoration:underline;}
#tmenu p a:hover{
	color:#D62129;}
#menu_box{
	justify-content:center;}
#contents_nav{
	margin-right:20px;
	width:200px;}
#contents_main{
	width:780px;}
/*	nav	***********************************************************/
#contents_nav h3{
	padding:15px 0;
	background:#D62129;
	font-size:18px;
	color:#fff;
	text-align:center;}
#contents_nav ul{
	margin-bottom:20px;}
#contents_nav ul li{
	font-size:16px;
	border-bottom:1px dotted #999;}
#contents_nav ul li a{
	padding:20px;
	display:block;
	background:#fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;}
#contents_nav ul li a:hover{
	background:#ddd;}
/*	contents	***************************************************/
#contents_main h1{
	margin-bottom:20px;
	padding:10px;
	font-size:28px;
	font-weight:bold;
	color:#fff;}
#contents_main h1 span{
	font-weight:normal;
	font-size:20px;}
#contents_main figure.single{
	margin:0 20px 20px 0;
	float:left;}
#contents_main figure.single img{
	width:330px;
	height:160px;}
#contents_main p.caption{
	margin-bottom:20px;
	font-size:14px;
	line-height:1.5em;}
/*		menu	***************************************************/
/*check*/
section.check{
	margin-bottom:25px;
	clear:both;}
section.check h2{
	padding:10px;
	font-size:20px;
	font-weight:bold;
	color:#fff;}
section.check p.box{
	margin-bottom:10px;
	padding:20px;
	background:#fbfbfb;
	line-height:1.2em;}
section.check ul.check_list{
	margin-bottom:10px;
	padding:10px 0;
	flex-wrap:wrap;
	background:#fbfbfb;}
section.check ul.check_list li{
	width:390px;
	padding:10px 20px;
	font-size:14px;}
ul.checkup li:before{
	padding-right:5px;
	content:url(../images/check_icon.png);}
section.check section.case{
	margin:15px 0;
	border:1px solid #808080;
	border-radius:25px;}
section.check section.case h3{
	padding:10px 0 5px 0;
	text-align:center;
	font-size:16px;
	font-weight:bold;
	color:#808080;
	border-bottom:1px solid #808080;}
section.check section.case p br{
	display:none;}
section.check section.case p,section.check section.case ul.case_list{
	margin:20px;}
section.check section.case ul.case_list li{
	padding-right:25px;}
section.check section.case table{
	margin:0 20px 20px 20px;
	border-collapse:collapse;
	text-align:center;
	background:#fff;}
section.check section.case table tr{
	border: 1px solid #808080;
	vertical-align:middle;}
section.check section.case table td{
	padding:10px 0;
	width:45px;
	border: 1px solid #808080;
	vertical-align:middle;}
section.check section.case table td.case_title{
	width:200px;}
.case_maintitle{
	color:#fff;
	background:url(../images/sub_bg.gif);}
.case_title{
	font-weight:bold;}
/*price*/
section.price{
	padding-bottom:20px;
	clear:both;}
section.price h3{
	margin-bottom:20px;
	font-size:18px;}
section.price h3 span{
	margin-right:0.5em;
	padding:2px;
	display:inline-block;}
section.price p.caution,section.check p.caution{
	margin-bottom:20px;
	padding-left:1em;
	font-size:12px;
	letter-spacing:0.1em;
	line-height:1.1em;}
section.price section{
	background:#fff;}
section.price section h4{
	padding:10px 20px;
	font-size:18px;
	color:#fff;
	background:#808080;}
section.price section h4 span{
	padding-left:1em;
	font-size:16px;}
section.price ul.table{
	margin:5px 0;
	display: table;
    width: 100%;}
section.price ul.table li{
    display: table-cell;
	padding:10px 15px;
    text-align: right;
	font-size:16px;
    vertical-align: middle;}

.singl_lamp_menu section{
	flex-wrap:wrap;}
.singl_lamp_menu section h5{
	margin-bottom:10px;
	padding:10px;
	width:780px;
	font-weight:bold;
	color:#fff;
	background:#808080;}
.singl_lamp_menu section img{
	margin:0 10px 10px 0;
	width:150px;}
.singl_lamp_menu section p{
	margin-bottom:10px;
	width:620px;
	font-size:14px;
	line-height:1.5em;}

.set_water_menu{
	justify-content:center;
	flex-wrap:wrap;}
.set_water_menu section{
	position:relative;
	margin:5px;}
.set_water_menu section h5{
	padding:10px;
	font-size:18px;
	font-weight:bold;
	color:#fff;}
.set_water_menu section img{
	width:250px;}
.set_water_menu section .overlay{
	position:absolute;
	bottom:3px;
	left:0;
	width:250px;
	height:121px;
	opacity:0.3;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;}
.set_water_menu section .overlay:hover{opacity:0;}

section.price ul.table li span{padding-left:10px;font-size:28px;color:#D62129;}
section.price ul.table li.table_time{width:300px;text-align:left;}
section.price ul.table li.table_summary{width:480px;text-align:left; vertical-align:top;}
section.price ul.table li.table_price-1{width:480px;}
section.price ul.table li.table_price-2{width:240px;}
section.price ul.table li.table_price-3{width:260px;}
section.price ul.table li.table_submenu{width:180px;}
section.price ul.table li.table_subprice{width:210px;text-align:left;}
section.price ul.table li.table_price-set-1{width:300px; line-height:2em;}
section.price ul.table li.table_price-set-2{width:390px;}
section.price ul.table li.table_price-set-3{width:260px;}
section.price ul.table li.table_price-set-4{width:195px; text-align:left;}
section.price ul.table li.menu_title{background: url(../images/sub_bg.gif);color:#fff;text-align:center;}
section.price ul.table li.table_time-set{width:390px; text-align:left;font-size:18px;border-bottom:1px dotted #999;}
section.price ul.table li.clear{border:none;}

section.price ul.line{border-bottom: 1px solid #ddd;}

section.menu_caution{
	margin-bottom:20px;
	padding:25px;
	border:1px solid #808080;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;}
section.menu_caution h2{
	margin-bottom:20px;
	font-size:20px;
	font-weight:bold;
	color:#D62129;
	border-bottom:3px solid #D62129;}
section.menu_caution h3{
	margin-bottom:10px;
	padding-left:5px;
	border-left:5px solid #D62129;
	font-size:18px;
	font-weight:bold;}
section.menu_caution p{
	padding-bottom:10px;
	font-size:14px;
	line-height:1.5em;}
section.menu_caution p.caution{
	color:#D62129;}
section.menu_caution ul li{
	padding-bottom:10px;
	padding-left:1em;
	text-indent:-1em;
	font-size:14px;
	list-style:inside square;
	line-height:1.5em;}


/*	price		***************************************************/
.price_box{
	margin-top:20px;
	border-left:1px solid #808080;
	border-right:1px solid #808080;}
.price_box h2{
	padding:10px 20px;
	font-size:18px;
	color:#fff;
	background:#808080;}
.price_box ul li{
	padding:0 20px;
	border-bottom:1px solid #808080;
	background:#fff;}
.price_box ul li h5{
	padding:10px 0;
	width:480px;
	border-right:1px solid #808080;}
.price_box ul li p{
	padding:10px 0;
	width:300px;
	text-align:right;}
/*teiki*/
table.teiki_menu{
	border-collapse:collapse;
	text-align:center;
	background:#fff;}
table.teiki_menu tr{
	border: 1px solid #808080;
	vertical-align:middle;}
table.teiki_menu td{
	padding:15px;
	border: 1px solid #808080;
	vertical-align:middle;}
table.teiki_menu td.teiki_title_main{
	width:390px;}
table.teiki_menu td.teiki_title_sub{
	width:195px;}
tr.teiki_title td{
	font-weight:bold;
	color:#fff;
	background:url(../images/sub_bg.gif);}
.teiki_frequency{
	line-height:2em;}
.teiki_price{
	color:#D62129;}



#others h1{
	margin-bottom:10px;
	padding:20px;
	border:1px solid #000;
	border-radius:40px;
	background:#fff;}
/*	Q&A		***************************************************/
#others_qa{
	padding:0 20px;}
#others_qa dt,#others_qa dd{
	padding-bottom:10px;
	font-size:16px;
	text-align:left;
	letter-spacing:0.1em;}
#others_qa dt{
	padding-top:10px;}
#others_qa dd{
	padding-left:24px;
	text-indent:-12px;
	line-height:1.4em;
	border-bottom:2px dotted #E6E6E6;}
.qa_q,.qa_a{
	display:inline-block;
	font-size:24px;}
.qa_a{
	color:#D62129;}

/*	overview	************************************************/
.area h3{
	margin-bottom:0.5em;
	font-size:20px;
	font-weight:bold;
	border-left:5px solid #000;
	text-indent:5px;}
.area ul.table{
	display: table;
	border:1px solid #808080;
	border-bottom:none;
	width:100%;}
.area ul.table_end{
	border-bottom:1px solid #808080;}
.area ul.table li{
	padding:10px;
    display: table-cell;
    vertical-align: middle;}
.table_cell-title{
	width:20%;
	text-align:center;
	background:#eee;}
.table_cell-contents{
	width:80%;
	text-align:left;
	background:#fff;}
.map{
	margin:10px 0;}
.map_button{
	display:none;}

/*******************************************************************
								footer
*******************************************************************/
footer #sitemap{
	margin-top:30px;
	padding-bottom:25px;
	display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;
	justify-content:center;
	flex-wrap:wrap;
	background:#E6E6E6;}
footer #sitemap a{
	color:#000;}
#sitemap section{
	padding-left:50px;
	min-width:200px;
	font-size:12px;}


#sitemap h6{
	padding:30px 0 1em 0;
	font-weight:bold;}
#sitemap ul li{
	padding-bottom:0.5em;
	list-style:square inside;}
	
#footer{
	padding:30px 0 80px 0;
	background:#D62129;
	text-align:center;}
#footer,#footer a{color:#fff;}