@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body{
color:#333;
font:85% verdana,"メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
background:#ffffff;
-webkit-text-size-adjust: none;
}

html{background:#f0f0f0;}


/* リンク設定
------------------------------------------------------------*/
a{color:#337db6;text-decoration:none;}
a:hover{color:#246292;}
a:active, a:focus{outline:0;}


a:hover img{
	opacity: 0.7;
	-moz-opacity: 0.7; /* Firefox */
	filter: alpha(opacity=70); /* IE6/7 */
	-ms-filter: "alpha(opacity=70)"; /* IE8 */
	-khtml-opacity: 0.7;              /* Safari 1.x */
}


/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}


/*************
/* ヘッダー
*************/
#header{
padding:15px 0 15px;
overflow:hidden;
}

* html #header{height:1%;}

#header h1{
font-size:11px;
font-weight:normal;
margin-bottom:5px;
}

.headtxt {
font-size:11px;
font-weight:normal;
margin-bottom:5px;
}

/*************
/* ロゴ
*************/
#header .logo{
float:left;
padding:0;
}

.logo a{
font-size:20px;
font-weight:bold;
line-height:1;
color:#333;
}

/*電話番号ボックスの設定*/
.logo address {
	margin: 10px auto 10px;
}

address {
	position: static;
	width: auto;
	margin: 0 auto 10px;
	font-size: 18px;	/*文字サイズ*/
	text-align: center;	/*文字をセンタリング*/
	font-style: normal;	/*通常斜体になっているのを通常に*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる設定*/
	line-height: 1;		/*行間*/
	color: #003399;		/*文字色*/
	font-weight: bold;	/*文字を太字に*/
}
address a {
	color: #003399;		/*文字色*/
	text-decoration:none;
}

/*電話番号ボックス内の「TEL」の設定*/
address .tel {
	display: inline-block;
	color: #FFF;				/*文字色*/
	background-color: #003399;	/*背景色*/
	padding: 2px 10px 1px;		/*上、左右、左へのボックス内の余白*/
	margin-right: 10px;
	font-weight: normal;
	font-size:0.8em
}

.mini1 {
	font-size: 11px;
	font-weight: normal;
}



/**************************
/* トップナビゲーション
**************************/
ul#topnav{
float:right;
overflow:hidden;
}

* html ul#topnav{height:1%;}

ul#topnav li{
float:left;
margin:0 5px;
text-align:center;
background:#0069b8;
border-bottom:solid 5px #f8b501;

}

ul#topnav a{
font-size:12px;
display:block;
padding:10px 10px;
color:#fff;
}

ul#topnav span{
color:#e3eeff;
font-size:10px;
}

ul#topnav li.active a,ul#topnav a:hover{
	background:#25bcef;
}


/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
margin:15px auto 20px auto;
padding:0;
width:100%;
position:relative;
line-height:0;
}

#mainBanner img{
max-width:100%;
height:auto;
border-radius:3px;
}

.slogan{
position:absolute;
max-width:100%;
height:auto;
bottom:0;
left:0;
padding:15px 20px;
line-height:1.4;
}

.slogan h1{
padding-bottom:5px;
font-size:18px;
}

.slogan h3{
font-size:12px;
color:#666;
}

/* サブページ スローガンの背景*/
.subImg .slogan{background-color:#FFF;
opacity: 0.7;
	-moz-opacity: 0.7; /* Firefox */
	filter: alpha(opacity=70); /* IE6/7 */
	-ms-filter: "alpha(opacity=70)"; /* IE8 */
	-khtml-opacity: 0.7;              /* Safari 1.x */}

.subImg .slogan h2{color:#000;}
.subImg .slogan h3{color:#000;}



/**************************
/* グリッド
**************************/
.gridWrapper{
padding-bottom:20px;
overflow: hidden;
}

* html .gridWrapper{height:1%;}
	
.grid{
float:left;
border-radius:5px;
background:#fff;
}

.grid h3{
padding:15px 5px;
text-align:center;
border-radius:5px 5px 0 0;
background:#FEF8A2;
}
.grid h3.green {
padding:15px 5px;
text-align:center;
border-radius:5px 5px 0 0;
background:#B8DEC7;
}

.grid p{
padding:5px 10px;
}

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

/* トップバナーのグリッド（3カラム） */
#bnr .grid{
float:left;
background:#fff;

}

#bnr .grid h3{
padding:0px;
text-align:center;
border-radius:0;
background:#fff;
}

#bnr .gridWrapper img{
max-width:100%;
height:auto;
}


/* フッター内のグリッド(3カラム) */
#footer .grid{
background:transparent;
}

#footer .grid p{padding:0;}




/*20211125*/

.accordion {
  position: relative;
  width: 100%;
}
.accordion-title {
    color :#00B050;
	font-weight: bold;
    margin: 20px 0 10px;	
	cursor: pointer;
}
.accordion-content {
  display: none;
  padding: 10px 20px;
}

.accordion-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.accordion-content li {
	line-height: 22px;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-image: url(../images/icon1.gif);
	background-position: 0px 5px;
	margin: 0 0 5px;
	padding: 0 0 0 18px;
}


/*************
メイン コンテンツ
*************/
section.content{
padding:19px;
margin-bottom:20px;
border:1px solid #ebebeb;
border-radius:6px;
background:#fff;
overflow:hidden;
font-size:100%;
}

* html section.content{height:1%;}

section.content p{margin-bottom:15px;
line-height:190%;}

h3.heading{
padding-left:7px;
margin-bottom:10px;
font-size:120%;
border-left:5px solid #0069b8;
}

h3.heading2{/*左オレンジ*/
padding-left:7px;
margin-bottom:10px;
font-size:140%;
border-left:solid 7px #F6AB00;
}

h3.heading3{/*オレンジ下線*/
padding-left:7px;
margin-bottom:10px;
font-size:160%;
border-bottom:solid 2px #F6AB00;
}

h3.heading4{/*左青灰背景*/
padding-left:7px;
margin-bottom:5px;
font-size:160%;
border-left:solid 7px #0069b8;
background-color:#F0F0F0;
}

h4.h4_1 {
	font-size:120%;
color:#F60;
font-weight:bold;
border-bottom: 2px #FFE3C8 solid;
}

section.content img{
max-width:98%;
height:auto;
}

.alignleft{
float:left;
clear:left;
margin:3px 15px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 15px;
}

.aligncenter{
	text-align:center;
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px dashed #006666;
	margin-bottom:20px;}

img.frame,#gallery img{
border:4px solid #fff;
box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
-webkit-box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
}

#gallery .grid{padding:5px 0 0;}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


/*************
テーブル
*************/
table.table{
border-collapse:collapse;
width:100%;
margin:10px auto;
}

table.table th,table.table td{
padding:5px;
border:1px solid #cacaca;
}

table.table th{
text-align:right;
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
background:#f3f3f3;
vertical-align:middle;
}

table.table td{border-left:#48370d;}


table.table2{
border-collapse:collapse;
width:80%;
margin:10px auto;
}

table.table2 th,table.table2 td{
padding:5px;
border:1px solid #cacaca;
text-align: center;
}

table.table2 th{
text-align:right;
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
background:#f3f3f3;
vertical-align:middle;
}

/* 料金表 */

/* オレンジ */
table.service_table01{
border-collapse:collapse;
width:100%;
margin:10px auto;
}

table.service_table01 th,table.service_table01 td{
padding:5px;
border:1px solid #bbb;
}

table.service_table01 th{
text-align:center;
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
background:#FEF8A2;
vertical-align:middle;
}

table.service_table01 td {background-color:#FFFCD2;}

table.service_table01 td.service_td01 {
	background-color:#FEF8A2;
}


/* グリーン */
table.service_table02{
border-collapse:collapse;
width:100%;
margin:10px auto;
}

table.service_table02 th,table.service_table02 td{
padding:5px;
border:1px solid #bbb;
}

table.service_table02 th{
text-align:center;
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
background:#B8DEC7;
vertical-align:middle;
}

table.service_table02 td {background-color:#D9EEE1;}

table.service_table02 td.service_td01 {
	background-color:#B8DEC7;
}


/* リスト */
ul.list{
}
ul.list li{
	line-height: 22px;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-image: url(../images/icon1.gif);
	background-position: 0px 5px;
	margin: 0 0 5px;
	padding: 0 0 0 18px;
}




/*************
サブ（フッター前）コンテンツ
*************/
#sub ul{padding:10px;}

#sub li{
margin-bottom:10px;
padding-bottom:10px;
border-bottom:1px dashed #ebebeb;
}

#sub li:last-child{
border:0;
margin-bottom:0;
}

#sub li a{display:block;}

#sub ul.list{padding-bottom:7px;}

#sub ul.list li{
clear:both;
margin-bottom:5px;
padding:5px 0;
overflow:hidden;
}

* html #sub ul.list li{height:1%;}

#sub ul.list li img{
float:left;
margin-right:10px;
}

#sub ul.list li{
font-size:12px;
line-height:1.35;
}


/*************
/* フッター
*************/
#footer{
clear:both;
padding:20px 0 40px;
overflow:hidden;
}

* html #footer{height:1%;}

p.tel{font-size:12px;}

.tel strong{
font-size:20px;
font-weight:bold;
}

#footer a{color:#333;}
#footer a:hover{color:#888;}

#footer .copyright{font-size:11px;}


/* PC用 */
@media only screen and (min-width:960px){	
	#wrapper,.inner{
	width:940px;
	padding:0;
	}
	
	#wrapper{padding-bottom:20px;}
	
	/* グリッド全体 */
	.gridWrapper{
	width:960px;
	margin:0 0 0 -20px;
	}
	
	/* グリッド共通 ベース:トップページ4カラム */
	.grid{
	float:left;
	width:220px;
	margin-left:20px;
	}
	
	/* サブコンテンツ + フッター グリッド(3カラム) */
	#sub .grid, #footer .grid{
	width:300px;
	}
	
	/* ギャラリー グリッド(4カラム) */
	#gallery{
	width:920px;
	}
	
  #gallery .grid{
	width:210px;
	}	
}


/* モニター幅940px以下 */
@media only screen and (max-width:940px){
	#header h1{padding:0 0 5px 10px;}
	#header .logo{padding-left:10px;}
	
	.grid{
	float:left;
	width:23%;
	margin:10px 2% 0 0;
	}
	
	.grid img{
	float:left;
	margin-right:5px;
	width:100%;
	}
	
	.grid .logo img {width:30%;
	float:none;}
	
	#gallery{padding-left:1px;}
	
	#gallery .grid{
	width:23%;
	margin:0 2% 0 0;
	padding:0;
	}
	
	#gallery .grid img{
	float:none;
	margin:0;
	}
	
	#sub .grid{
	width:32%;
	margin:10px 1%;
	}
	
	#sub .grid:first-child{
	margin-left:0;
	}
	
	#sub .grid:last-child{
	margin-right:0;
	}
	
	#footer .grid{
	float:none;
	width:100%;
	text-align:center;
	}
	
	#footer .grid:last-child{padding-top:20px;}
}


@media only screen and (min-width:768px) {
	.logo address {display:none;}
}

/* iPad 縦 */
@media only screen and (max-width:768px){
  #header{padding-bottom:0;}	

	#header h1{text-align:center;}
	
	#header .logo{
	float:none;
	text-align:center;
	padding:10px 5px 20px;
	}

	ul#topnav{
	clear:both;
	width:100%;
	}

	ul#topnav li{
	width:33%;
	margin:0;
	border-top:1px solid #fff;
	border-right:1px dashed #fff;
	 box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
	}

	ul#topnav li:nth-child(3n){border-right:0;width:34%;}

	ul#topnav li.active a,ul#topnav a:hover{border-radius:0;}
	
	#sub ul.list{padding:10px 10px 11px;}
	
	#sub ul.list li{
	padding-bottom:10px;
	margin-bottom:8px;
	}
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
	#footer .grid p{text-align:center;}
	
	.grid{
	float:left;
	width:48%;
	}
	
	.grid img{
	width:100%;
	float:none;
	margin:0 auto 0;
	}
	
	.grid p,#sub .grid li{text-align:left;}
	
	.grid .logo img {width:50%;}
	
	img.frame,#gallery img{border-width:2px;}

  .alignleft,.alignright{
	float:none;
	display:block;
	margin:0 auto 10px;
	}
	
	/* ギャラリー用 */
	#gall .grid {width:98%;

	text-align:center;}
	
	#gall .grid p {
		text-align:center;}
	
	#gall.grid img{
	margin:10px 10px 10px 0;
	}

/* 料金表
---------------------------------------------------- */	
    /* 見出し行を消す */
    .service_table01 th {
        display: none;
    }
 
    /* セルをブロックとして表示 */
    .service_table01 td {
        display: block;
    }
 
    /* 最初の項目に背景色を付ける */
    .service_table01 td:nth-child(1) {
        margin-top:20px;
    }
 
    /* セルに見出し代わりの文字を付加 */
    .service_table01 td:nth-child(2):before {
        content: '対応（工事内容）： ';
    }
 
    .service_table01 td:nth-child(3):before {
        content: '作業料金（税抜）： ';
    }
 
    .service_table01 td:nth-child(4):before {
        content: '作業時間目安 ： ';
    }
	
	/* グリーン */
	/* 見出し行を消す */
    .service_table02 th {
        display: none;
    }
 
    /* セルをブロックとして表示 */
    .service_table02 td {
        display: block;
    }
 
    /* 最初の項目に背景色を付ける */
    .service_table02 td:nth-child(1) {
        margin-top:20px;
    }
 
    /* セルに見出し代わりの文字を付加 */
    .service_table02 td:nth-child(2):before {
        content: '対応（工事内容）： ';
    }
 
    .service_table02 td:nth-child(3):before {
        content: '作業料金（税抜）： ';
    }
 
    .service_table02 td:nth-child(4):before {
        content: '作業時間目安 ： ';
    }
 
	
/* 問い合わせ
---------------------------------------------------- */

/*************
テーブル
*************/
table.table{}

table.table th,table.table td{
border:none;
}

table.table th{
	text-align:left;
}

table.table td{}

/* 会社概要 */
.gaiyou {
	width:100%;
	border-collapse:collapse;
	border: solid 1px #cacaca;
	
	
}
.gaiyou th,
.gaiyou td{
	display:block;
	width:100%;
	padding:10px;
	box-sizing: border-box;
	
}
.gaiyou th{
	font-weight:bold;
	border-bottom:none;
	
}
.gaiyou td{

}

/* 問い合わせ */
.contact_form {
	width:100%;
	border-collapse:collapse;
	border: solid 1px #cacaca;
	
	
}
.contact_form th,
.contact_form td{
	display:block;
	width:100%;
	padding:10px;
	box-sizing: border-box;
	
}
.contact_form th{
	font-weight:bold;
	border-bottom:none;
}
.contact_form td{
	
	text-align:center;
	
}

/* ボタン中央そろえ */
p.btn_center {text-align:center;
}


}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
	ul#topnav li{width:50%;}

	ul#topnav li:nth-child(3n){
	border-right:1px dashed #fff;
	width:50%;
	}
	
	ul#topnav li:nth-child(2n),ul#topnav li:nth-child(6n){border-right:0;}
	
	#mainBanner{margin-left:1px;}
	#mainBanner h2,#mainBanner h3{font-size:80%;}
	
	#sub .grid{
	float:none;
	width:98%;
	}
	
	#sub .grid h3{padding:10px 5px;}
	
	#bnr .grid {margin:0 0 5px 0;}
	
	#bnr .grid h3{padding:0;}
	
	#bnr .grid img {margin:0px;}
	
	#sub ul.list{padding:10px;}
	
	#sub ul.list li{
	padding-bottom:3px;
	margin-bottom:3px;
	}
	
	#sub ul.list li img{margin:0 5px 0 0;}
}



/* 問い合わせ
---------------------------------------------------- */

input#submit_button {height:40px;
width:200px;
font-size:150%;
}

input.check {height:20px;
width:20px;

}

span.hissu {
	color:#FFF;
	background-color:#F60;
	padding:0 3px 1px 3px;
	font-size:0.8em;
	margin-left:5px;
	border-radius: 3px;        /* CSS3草案 */  
    -webkit-border-radius: 3px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 3px;   /* Firefox用 */ 
	}


/*リフォームの流れ*/
.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow {
  padding-left: 0;
}

.flow > li {
  list-style-type: none;
  position: relative;
  padding-left: 50px;
}

.flow > li:not(:last-child) {
  padding-bottom: 10px;
}

.flow > li .icon05 {
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  border-radius: 100vh;
  display: inline-block;
  background: #0069b8;
  color: #fff;
  position: absolute;
  left: 0;
}

.flow > li:not(:last-child)::before {
  content: '';
  background: #c3c3c3;
  width: 4px;
  height: 100%;
  position: absolute;
  top: calc(50% - -30px);
  left: 17px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flow > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: #000000;
}

.flow > li dl dd {
  margin-left: 0;
}


/*施工例*/

ul.flex {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;	
}

ul.flex li {
	width: 50%;
	margin: 0 0 3px;
	padding: 0;
}

/* RSS
---------------------------------------------------- */

#top_RSS dl{
	background-color: #fff;
	margin: 0;
	padding: 10px 14px 0;
	width: 95%;
}
#top_RSS dl:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
* html #top_RSS dl {
	/*\*/height:1%;/*for WinIE*/
	display:inline-table;/*for MacIE*/
}

*:first-child+html #top_RSS dl {
	display:inline-block;/*for MacIE*/
	min-height: 1%;
}

#top_RSS dt{
	font-size: 90%;
	background-position: 0px 0px;
	margin: 0 10px 12px 0;
	padding: 0 0 12px;
	width: 85px;
	float: left;
	clear: both;
}

#top_RSS dt em{
	line-height: 24px;
/*	font-weight: bold;*/
	font-style: normal;
	background-color: #EE7700;
	width: 85px;
	height: 24px;
	display: block;
	text-align: center;
	border-radius:3px;
	color:#FFF;
}
#top_RSS dd{
/*	font-weight: bold;*/
	line-height: 24px;
	background-attachment: scroll;
	background-image: url(../image/RSS_line.gif);
	background-repeat: repeat-x;
	background-position: 0px 100%;
	margin: 0 0 12px;
	padding: 0 0 12px 90px;
}
#top_RSS dd a:link,
#top_RSS dd a:visited{
	color: #000000;
	text-decoration:underline;
}
#top_RSS dd a:hover,
#top_RSS dd a:active{
	color: #FF3300;
}

/* --------------------------------------------------------------------------------------
 隙間
--------------------------------------------------------------------------------------- */

.mt5 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt55 { margin-top: 55px !important;}
.mt60 { margin-top: 60px !important;}

.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}

/* --------------------------------------------------------------------------------------
 文字装飾
--------------------------------------------------------------------------------------- */

.attention01 {font-size:120%;
color:#F60;
font-weight:bold;}

.attention02 {color:#0069b8;
font-weight:bold;}

.attention03 {font-size:120%;
color:#00aad8;
font-weight:bold;}

.attention04 {color:#F00;
font-weight:bold;}

.attention05 {color:#F60;
font-weight:bold;}

.attention06 {color:#00b0f0;
font-weight:bold;}

.question {color:#48AA79;
font-weight:bold;}

.answer{margin-left:10px;}

.bold {font-weight:bold;}

/*190724 尾関追加*/
.clearfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

/*200123 尾関追加*/
.videowrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}

.videowrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}