@charset "utf-8";
.tablet{
	display: none;
}


@media screen and (max-width: 1024px) {
	html{
		font-size: 70%;
	}
	body{
		font-size: 1.4rem;
	}
	img{
		max-width: 100%;
	}
/* CSS Document
/* ---------------------------------------------------------------------
header
--------------------------------------------------------------------- */

header {
	height:auto;
	min-width:100%;
}

h1 {
	font-size:1.5rem;
	height:auto;
	max-width: 100%;
}

.h1_bg {
	height:auto;
	min-width:100%;
}

header .header_box {
	width:100%;
	height:auto;
}

header .header_box .logo {
	max-width:30%;
	height:auto;
	float:left;
}

header .header_box .mail_contact {
	width:30%;
	height:auto;
	margin-left:2%;
}

header .header_box .tel_contact {
	width:30%;
	height:auto;
	margin-left:2%;
}


/* ---------------------------------------------------------------------
container
--------------------------------------------------------------------- */
.container {
	width:100%;
}

.container .breadnav {
	height:auto;
	font-size:1.4rem;
	clear: both;
}



/* ---------------------------------------------------------------------
nav
--------------------------------------------------------------------- */

nav {
	height:auto;
	min-width:100%;
}

nav ul {
	width:100%;
	height:auto;
	display: flex;
}

nav ul li {
	width:20%;
	height:auto;
	font-size:1.8rem;
}

nav ul .gnhome {
	width:5%;
	height:auto;
	font-size:1.8rem;
}




/* ---------------------------------------------------------------------
contents
--------------------------------------------------------------------- */

.contents {
	width:78%;
}

.contents h2 {
	width:100%;
	height:auto;
	color:#FFF;
	font-size:2.0rem;
	box-sizing: border-box;
	padding:2%;
	float: none;
}

/* ---------------------------------------------------------------------
main
--------------------------------------------------------------------- */

.main {
	width:100%;
	box-sizing: border-box;
	padding:3%;
	float: none;
}


/* ---------------------------------------------------------------------
aside
--------------------------------------------------------------------- */

aside {
	width:20%;
}


aside h2 {
	width:100%;
	height:auto;
	font-size:2.0rem;
}

aside .h2s {
	font-size:1.6rem;
}


aside ul {
	width:100%;
	box-sizing: border-box;

}


aside ul li {
	height:auto;
	box-sizing: border-box;
}


aside .area {
	width:100%;
	box-sizing: border-box;
	padding:5%;
}


/*---------------------------------------------------------------------
footer
--------------------------------------------------------------------- */

footer {
	min-width:100%;
}

footer .top_link {
	width:100%;
	box-sizing: border-box;
	padding:5%;
}



footer .sitemap {
	width:100%;
}

footer .sitemap ul {
	width:95%;
}

footer .sitemap ul li {
	font-size:1.4rem;
}

footer .corp {
	width:100%;
	box-sizing: border-box;
	padding:5%;
}


footer .copyright {
	font-size:1.5rem;
	min-width:100%;
}

/* ---------------------------------------------------------------------
page.css
--------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
index
--------------------------------------------------------------------- */

.topbanner_bg {
	min-width:100%;
	height: auto;
}

.topbanner {
	width:100%;
	height:auto;
}
.topbanner div{
	width: 100%!important;
	height: auto!important;
}

#index .main {
	font-size:1.6rem;
}

#index .main div {
	width:100%;
	background-size: 25%;
	}


#index .index_banner {
	width:100%;
	height:auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: stretch;
}

#index .index_banner .index_bannerl{
	width:49%;
	box-sizing: border-box;
	height:auto;
	padding:2%;
	margin-right: 2%;
}

#index .index_banner .index_bannerr{
	width:49%;
	box-sizing: border-box;
	height:auto;
	padding:2%;
}

#index .index_banner .index_bannerl img,#index .index_banner .index_bannerr img {
	width:50%;
	height:auto;
}

#index .index_banner .index_bannerl p,#index .index_banner .index_bannerr p {
	width:48%;
	margin-left:2%;
	font-size:1.5rem;
}


/* ---------------------------------------------------------------------
商品一覧
--------------------------------------------------------------------- */

#index h3 {
	font-size:1.6rem;
}

/* ---------------------------------------------------------------------
施工事例一覧
--------------------------------------------------------------------- */

#index h3 {
	font-size:1.6rem;
}
#index .case_banner_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#index .case_banner_box .case_banner {
	width:32%;
	padding:0;
}

#index .case_banner_box .case_banner img {
	max-width:100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* ---------------------------------------------------------------------
greeting
--------------------------------------------------------------------- */

#other h3 {
	font-size:1.6rem;
}


#other .message img {
	margin-left:5%;
}

#other .message h3 {
	font-size:2.0rem;
	padding:3% 0px 3% 70px;
}

/* ---------------------------------------------------------------------
sitemap
--------------------------------------------------------------------- */

#other .main .sitelist {
	margin-left:10%;
}


/* ---------------------------------------------------------------------
staff
--------------------------------------------------------------------- */

#other .staff img {
	box-shadow:5px 5px 5px #999;
	max-width:100%;
}


#other .staff .staff_box .staff_pic {
	padding:0px 2%;
	box-sizing: border-box;
	width: 43%;
}

#other .staff .staff_name {
	width:55%;
	font-size:3.2rem;
}

#other .staff .staff_part {
	width:55%;
	padding:0px 10% 0px 0px;
	font-size:2.1rem;
	box-sizing: border-box;
}

#other .staff .staff_mes {
	width:55%;
	box-sizing: border-box;
	padding:0px 10% 2% 0px;
}

/* ---------------------------------------------------------------------
company
--------------------------------------------------------------------- */


#other .company th {
	box-sizing: border-box;
	padding:3%;
	font-size:1.4rem;
}

#other .company td {
	box-sizing: border-box;
	padding:3%;
	font-size:1.4rem;
}

/* ---------------------------------------------------------------------
faq
--------------------------------------------------------------------- */

#other .faq h3 {
	font-size:1.6rem;
}

#other .faq dt{
	width:100%;
	height:auto;
	padding-left:10%;
	box-sizing: border-box;
}

#other .faq dl h4 {
	width:100%;
	height:auto;
	padding-left:5%;
	box-sizing: border-box;
	font-size:1.8rem;
}

#other .faq dd{
	width:100%;
	padding-left:5%;
	box-sizing: border-box;

}


/* ---------------------------------------------------------------------
voice
--------------------------------------------------------------------- */

#other .voice h3 {
	font-size:1.6rem;
}

#other .voice .voice_box {
	padding: 3%;
	box-sizing: border-box;
}

#other .voice .voice_box h4 {
	height:auto;
	font-size:2.0rem;
	box-sizing: border-box;
	padding-bottom: 20px;
}

#other .voice .voice_box .voice_m {
	padding:5%;
	box-sizing: border-box;
}


/* ---------------------------------------------------------------------
product_x
--------------------------------------------------------------------- */

#product .main h3 {
	font-size:1.6rem;
}

#product .main .product_title {
	height:auto;
	padding:1%;
	box-sizing: border-box;
}

#product .main .product_title img {
	margin-right:3%;
}

#product .main .product_title h4 {
	font-size:1.8rem;
}


#product .main .product_box img {
	max-width:50%;
	height:auto;
}

#product .main .product_box .price_box {
	width:40%;
}

#product .main .product_box .price_box .price_p {
	height:auto;
	box-sizing: border-box;
	padding:3%;
}

#product .main .product_box .price_box table {
	width:40%;
}

#product .main .product_box .price_box .price_b {
	padding:1% 1% 0px 0px;
	font-size:1.6rem;
	box-sizing: border-box;
}

#product .main .product_box .price_box .price_r {
	padding:1% 1% 0px 0px;
	box-sizing: border-box;
	font-size:1.8rem;
}

#product .main .product_box .price_box .price_k {
	padding:1% 1% 0px 0px;
	box-sizing: border-box;
}

#product .main .product_box .price_box .price_r .large {
	font-size:4.0rem;
}

#product .main .service_title {
	height:auto;
	padding:1% 10%;
	box-sizing: border-box;
	font-size:1.8rem;
	padding-left: 120px;
}

#product .main .product_box .service_box {
	width:40%;
}

#product .main .product_box .service_box .service_p {
	padding:3%;
	box-sizing: border-box;
	font-size:1.4rem;
}

#product .main .product_box .service_box table {
	width:100%;
}

#product .main .product_box .service_box table th {
	padding:1% 2%;
	box-sizing: border-box;
}
#product .main .product_box .service_box table th:first-child {
	width: 30%;
}

#product .main .product_box .service_box table td {
	padding:1% 2%;
	box-sizing: border-box;
}

#product .main .product_box .service_box table .service_price {
	width:10%;
}


/* ---------------------------------------------------------------------
case
--------------------------------------------------------------------- */

#case .main .casebox {
	width:100%;
	box-sizing: border-box;
	padding:5%;
}

#case .main h3 {
	font-size:2.4rem;
}


#case .main .casebox .case_left {
	width:40%;
}

#case .main .casebox .case_left img {
	max-width:100%;
}

#case .main .casebox h4 {
	font-size:2.1rem;
	height:auto;
}

#case .main .casebox .case_left p {
	font-size:1.4rem;
	height:auto;

}

#case .main .casebox .case_left .case_price {
	font-size:2.1rem;
	height:auto;
}

#case .main .casebox .case_center {
	width:20%;
	padding-top: 30%;
	height: inherit;
}

#case .main .casebox .case_right {
	width:40%;
}

#case .main .casebox .case_right img {
	max-width:100%;
}


/* ---------------------------------------------------------------------
flow
--------------------------------------------------------------------- */

#flow .main h3 {
	font-size:1.6rem;
}

#flow .main h4 {
	font-size:2.0rem;
	box-sizing: border-box;
	padding:1% 0px 1% 70px;
}

#flow .main img {
	margin:0px 5% 7% 5%;
}

#flow .main p {
	margin:0px 0px 7% 5%;
}


/* ---------------------------------------------------------------------
about
--------------------------------------------------------------------- */



#other .about .about_box img{
	margin:0px 0px 5% 5%;
}

#other .about .about_box p {
	padding-left:5% ;
	box-sizing: border-box;
}

#other .about .about_box h4 {
	height:auto;
	font-size:2.4rem;
	padding:1% 0px 0px 100px;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-color: #ffc105;
}

#other .about .about_box ul {
	box-sizing: border-box;
	padding:5% 7%;
}



/* お問い合わせフォーム */
/* contact */

/*お問い合わせフォーム*/
	table.mailform {
	width: 100% !important;
	max-width: 100%;
	display: block;
}
tbody {
}


table.mailform tr th, table.mailform tr td {
	display: block;
	width: 100% !important;
	max-width: 100%;
	text-align: left !important;
}
table.mailform tr th {
	padding: 1% 0 !important;
}
table.mailform tr td {
	padding: 1% 0 !important;
}
textarea.mfp {
	max-width: 95%;
}
table.mailform input[type="text"], table.mailform textarea {
	font-size: 1.2em;
	width: 95% !important;
	padding: 10px;
	box-sizing: border-box;
}


table.mailform input#send_confirm {
	width: 5% !important;
}

div#mfp_buttons{
	width: 100%!important;
}
div#mfp_buttons ul{
	height: auto!important;
	margin: 5% auto!important;
	width: 90%!important;
}
div#mfp_buttons ul li{
	float: none!important;
	margin-left: auto!important;
	margin-right: auto!important;
}
.plholder{
	padding-left: 2%;
	top: 25%;
	font-size:16px;
}
	.plholder img{
		width: 200px!important;

	}

.ft120 {
	font-size: 120%;
}
div#confirmBody {
	width: 100% !important;
	left: 0 !important;
}
div#confirmWindow {
	height: 100% !important;
}
table.infield {
	width: 90% !important;
	display: block;
	border: none;
}
ul.confirm_layer li {
	width: 100% !important;
}
ul.confirm_layer {
	width: 100% !important;
}
li.confirm_middle {
	background: none !important;
}
li.confirm_top {
	background: none !important;
}
ul.confirm_layer li {
	background: none !important;
}
table.infield tr th {
	width: 96% !important;
	display: block;
	text-align: left !important;
	border-bottom: none !important;
	background-color: #ffffff;
}
table.infield tr td {
	width: 96% !important;
	display: block;
	border-bottom: none !important;
}
table.infield tr {
	width: 100% !important;
	display: block;
}
table.infield tr:nth-child(even) td {
	background: #f5f5f5;
}


}

@media screen and (max-width: 768px) {
	html{
		font-size: 50%;
	}
	.tablet{
		display: block;
	}
	.pc_tablet{
		display: none;
	}



	/*ヘッダーまわりはサイトに合わせて調整してください*/
	#hamb {
	  padding:10px;
	  background: #155efb;
		width: 25px;
		height: 20px;
		position: fixed;
		right: 5px;
		top: 5px;
	}

	#nav-drawer {
	  position: relative;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
	  display:none;
	}

	/*アイコンのスペース*/
	#nav-open {
	  display: inline-block;
	  width: 30px;
	  height: 22px;
	  vertical-align: middle;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  position: absolute;
	  height: 3px;/*線の太さ*/
	  width: 25px;/*長さ*/
	  border-radius: 3px;
	  background: #fff;
	  display: block;
	  content: '';
	  cursor: pointer;
	}
	#nav-open span:before {
	  bottom: -8px;
	}
	#nav-open span:after {
	  bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
	  display: none;/*はじめは隠しておく*/
	  position: fixed;
	  z-index: 99;
	  top: 0;/*全体に広がるように*/
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
	  overflow: auto;
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 9999;/*最前面に*/
	  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	  max-width: 330px;/*最大幅（調整してください）*/
	  height: 100%;
	  background: #fff;/*背景色*/
	  transition: .3s ease-in-out;/*滑らかに表示*/
	  -webkit-transform: translateX(-105%);
	  transform: translateX(-105%);/*左に隠しておく*/
	}
#nav-content .navtt{
	font-size: 2.5rem;
	background: #155efb;
	color: #fff;
	font-weight: bold;
	padding: 2%;
	text-align: center;
}
	#nav-content ul{
		padding-bottom: 30%;
}
	#nav-content ul li{
		margin-left: 5%;
		font-weight: bold;
		font-size: 2rem;
		color: #155efb;
		margin-top: 2%;
	}

	#nav-content ul li a{
		text-decoration: none;
}
#nav-content ul li:hover,#nav-content ul li a:hover{
	color: #000;
}
	#nav-content ul li::before{
		content: "➡";
		margin-right: 1%;
}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  display: block;/*カバーを表示*/
	  opacity: .5;
	}

	#nav-input:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);/*中身を表示（右へスライド）*/
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}

	.contents {
		width:98%;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}

	aside {
		width:98%;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}

	aside .spbanner img{
		display :block;
		margin: 2% auto;

	}

}
@media screen and (max-width: 480px) {
	html{
		font-size: 50%;
	}

header .header_box .logo{
	max-width: 100%;
	float: none;
}
header .header_box .tel_contact{
	width: 48%;
	margin-left: 0;
}
header .header_box .mail_contact{
	width: 48%;
	margin-left: 4%;
}

#index .index_banner .index_bannerl,#index .index_banner .index_bannerr{
	width: 100%;
	margin-right: 0;
}
#index .index_banner .index_bannerl{
	margin-bottom: 10px;
}

	#product .main .product_box img {
		max-width:80%;
		float: none;
		display: block;
		margin: 2% auto;
	}

	#product .main .product_box .price_box {
		width:80%;
		margin: 2% auto;
		float: none;
	}

	#product .main .product_box .price_box table {
		width:80%;
		margin: 2% auto;
	}


	#product .main .product_box .service_box {
		width:80%;
		margin: 2% auto;
		float: none;

	}

	#flow .main img,#other .about .about_box img{
		width: 70%;
		display: block;
		margin: 2% auto;
		float: none;
	}

#other .staff .staff_box .staff_pic,#other .staff .staff_name,#other .staff .staff_part,#other .staff .staff_mes{
	width: 80%;
	margin: 2% auto;
	float: none;
}

#other .company th,#other .company td{
	display: block;
	width: 100%;
}
#other .message img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	float: none!important;
	margin-bottom: 5%;
	width: 40%;
}

}
