@charset "UTF-8";

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, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font: "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
.clear {
	clear:both;	
}
a img {
	border: 0;
	vertical-align:top;
}


/* 初期 */
.wrapper {
	width:1200px;
	margin:0 auto;
	box-sizing:border-box;
    position: relative;
}

.logobox {
	margin-top:10px;
	font-size:30px;
	font-weight:bold;
}
.logobox a {
	text-decoration:none;
	color:#000000;
}

/* ナビゲーション */
.navigationbox {
	margin-top:10px;
}
.navigationbox a {
	display:block;
	border:1px solid #ffffff;
	background-color:#323232;
	text-align:center;
	width:100%;
	padding:4px;
	color:white;
	text-decoration:none;

}
.navigationbox a:hover {
	cursor: pointer;
	background-color:#aaaaaa;
}
.gnav {
	display: flex;
	height: 2rem;
	margin: 0 auto;
	width: 100%;
	padding:0;
	margin:0;
	list-style-type: none;
}
.gnav li {
	width: 100%;
}
.subnav {
    list-style: none;
    position: relative;
    width:100%;
    display:none;
	padding:0;
	margin:0;
	list-style-type: none;
}


.topanimation {
	margin-top:30px;
}

.topanimation img {
	width:100%;
}

/*  */
.addressbox {
	width:650px;
	text-align:left;
	float:left;
}
.addrbox {
	background-color:#dfdfdf;
	padding:8px;
	text-align:center;
	line-height:180%;
}
.gmap {
	width:550px;
	text-align:left;
	float:right;
	padding-left:10px;
}

.addressbox2 {
	width:100%;
	text-align:center;
}
.addrbox2 {
	background-color:#dfdfdf;
	padding:8px;
	text-align:center;
	line-height:180%;
}



/*  */
.torikumititle {
	background-color:#93eb85;
	text-align:center;
	padding:2px;
}
.torikumibox {
	display:flex;
	width:100%;
}
.torikumibox div {
	width:100%;
	padding:2px;
}
.torikumibox img {
	width:100%;
}

.contents {
	box-sizing: border-box;

}


/* TOPに戻るアイコン */
.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
}
.pagetop a {
    display: block;
    background:rgb(50,50,50,0.6);
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 12px;
    text-decoration: none;
    width:80px;
    height:80px;
    border-radius: 40px;
    position: relative;
}
.pagetop a span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}



/* 会社概要 */
.h1icon {
	margin:0;
	padding:0;
	margin-top:30px;
	background:url("../images/h1back.jpg");
	background-repeat:no-repeat;
	background-size:contain;
	padding-left:60px;
}

.companytable {
	margin-top:30px;
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
}
.companytable th {
	background-color:#dfdfdf;
	white-space:nowrap;
	text-align:center;
	line-height:180%;
	padding:8px;
	width:300px;
}
.companytable td {
	text-align:left;
	background-color:#ffffff;
	line-height:180%;
	padding:8px 20px 8px 20px;
}
.companytable img {
	width:auto;
}
.companyphotoh2 {
	margin-top:30px;
}
.h2icon {
	margin:0;
	padding:0;
	margin-top:30px;
	background:url("../images/h2back.png");
	background-repeat:no-repeat;
	background-size:contain;
	padding-left:45px;
}
.companyphotobox {
	margin-top:30px;
	margin-bottom:50px;
}
.companyphotobox img {
	width:100%;
}


/* 事業内容 */
.gyoumucontentscenter {
	width:1000px;
	margin:0 auto;
	border:1px solid #dfdfdf;
	border-radius:20px;
	padding:0 20px 20px 20px;
	margin-top:30px;
}
.gyoumuh1icon {
	margin:0;
	padding:0;
	margin-top:30px;
	height:50px;
}
.gyoumuh1icon div {
	margin:0;
	padding:0;
	background:url("../images/h1back.jpg");
	background-repeat:no-repeat;
	background-size:contain;
	width:50px;
	height:50px;
	float:left;
	margin-right:10px;
}
.gyoumuh2icon {
	margin:0;
	padding:0;
	margin-top:30px;
	height:40px;
	background: linear-gradient(to top, #dfdfdf , #ffffff 30%, #ffffff 50% ); 
}
.gyoumuh2icon div {
	margin:0;
	padding:0;
	background:url("../images/h2back.png");
	background-repeat:no-repeat;
	background-size:contain;
	width:40px;
	height:40px;
	float:left;
	margin-right:10px;
}
.gyoumuphotobox {
	text-align:center;
	padding:20px 0 20px 0;
}
.gyoumupbox {
	padding:10px;
	background-color: #F7EECA;
	border-radius: 10px;
}

.gyoumutable {
	width:80%;
	border-collapse:separate;
	border-spacing:1px;
	margin:0 auto;
	margin-top:30px;
}
.gyoumutable th {
	text-align: center;
	width:350px;
	vertical-align: top;
	padding-top:20px;
	padding-bottom:20px;
	border-bottom:2px dotted #dfdfdf;
}
.gyoumutable th img {
	width:auto;
	max-width:350px;
	max-height:250px;
}
.gyoumutable td {
	text-align: left;
	vertical-align: top;
	padding-top:20px;
	padding-bottom:20px;
	padding-left:20px;
	border-bottom:2px dotted #dfdfdf;
}
.gyoumutable td div {
	font-size:140%;
	font-weight: bold;
}
.gyoumuspacer {
	margin-bottom:60px;
}
.cautionmes {
	font-size:12px;
	font-weight:normal;
}

/*  */
.aisatsubox {
	display: flex;
	margin-top:1em;
	margin-bottom:1em;}
.aisatsu {
	width:65%;
}
.aisatsuphotobox {
	width:35%;
}
.aisatsuphotobox img {
	width:100%;
}




/* 実績・施工例 */
.achievementtable {
	margin-top:0px;
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
}
.achievementtable th {
	background-color:#dfdfdf;
	white-space:nowrap;
	text-align:center;
	line-height:180%;
	padding:4px;
	width:106px;
}
.achievementtable td {
	white-space:nowrap;
	background-color:#ffffff;
	text-align:center;
	line-height:180%;
	padding:4px;
	width:106px;
}
.achievementtable2 {
	margin-top:0px;
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
	margin-bottom:20px;
}
.achievementtable2 th {
	background-color:#dfdfdf;
	white-space:nowrap;
	text-align:center;
	line-height:180%;
	padding:4px;
	width:300px;
}
.achievementtable2 td {
	white-space:nowrap;
	background-color:#ffffff;
	text-align:left;
	line-height:180%;
	padding:4px;
}
.achievementtable2 td img {
	width:100%;
	height:auto;
}

/* スタッフ */
.stafftable {
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
}
.stafftable th {
	background-color:#ffffff;
	white-space:nowrap;
	text-align:center;
	line-height:180%;
	padding:4px;
	width:300px;
}
.stafftable td {
	white-space:nowrap;
	background-color:#ffffff;
	text-align:left;
	line-height:180%;
	padding:4px;
}
.stafftablephotobox {
	width:300px;
	padding-right:10px;
}
.stafftablephotobox img {
	width:100%;
}
.tablescrollmessage {
	display:none;
	margin-top:20px;
}
.staffinfo {
	border:1px solid #aaaaaa;
	border-bottom:none;
	padding:8px;
}
.staffinfo:last-child {
	border-bottom:1px solid #aaaaaa;
}

.staffbox {
	display:flex;
	margin-top:20px;
	margin-bottom:30px;
}
.staffrightbox {
	width:900px;
}


/* 採用情報 */
.recruitheadertable {
	margin-top:30px;
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
	margin-bottom:20px;
}
.recruitheadertable th {
	background-color:#ffffff;
	font-weight:normal;
	white-space:nowrap;
	text-align:center;
	line-height:180%;
	padding:4px;
	width:300px;
}
.recruitheadertable td {
	white-space:nowrap;
	background-color:#ffffff;
	line-height:180%;
	padding:4px;
}
.recruitheadertable td.wordleft {
	text-align:left;
}


.recruittable {
	margin-top:30px;
	width:100%;
	background-color:#aaaaaa;
	border-collapse:separate;
	border-spacing:1px;
	margin-bottom:20px;
}
.recruittable th {
	background-color:#ffffff;
	font-weight:normal;
	white-space:nowrap;
	text-align:center;
	line-height:140%;
	padding:4px;
	width:300px;
}
.recruittable td {
	white-space:nowrap;
	background-color:#ffffff;
	line-height:140%;
	padding:4px;
}
.recruittable td.wordleft {
	text-align:left;
}

.kinmutable {
	border-spacing:0px;
	margin-left:2em;
}
.kinmutable th {
	font-weight:normal;
	white-space:nowrap;
	text-align:center;
	line-height:140%;
	padding:2px;
}
.kinmutable td {
	white-space:nowrap;
	line-height:140%;
	padding:2px;
}
.kinmutable td.wordleft {
	text-align:left;
}
.recruitlinkbox {
	display:inline-block;
	background-color:#ff9000;
	border-radius:10px;
	color:#ffffff;
	padding:6px 20px 6px 20px;
	text-decoration:none;
	font-weight:bold;
}
.recruitlinkbox:hover {
	background-color:#ffcc00;
	color:#ff6000;
	transition: all 0.4s;
}

.norecruittitle {
	border-top:1px solid #000000;
	border-bottom:1px solid #000000;
	padding:20px;
	text-align:center;
	color:red;
	margin-bottom:30px;
	font-weight:bold;
}
.norecruitbody {
	color:red;
	text-align:center;
}





/* お問い合わせ */
body#contact {
	padding:20px;
}
#contactiframe {
	width:100%;
	height:500px;
	border:1px solid #cccccc;
	margin-top:30px;
}

p.contactcautionbox {
	line-height:120%;
	font-size:90%;
	margin-bottom:30px;
}


.contactbox {
	margin:0 auto;
	width:600px;
}
.contacttable {
	margin-top:30px;
	margin-bottom:20px;
	margin:0 auto;
	width:100%;
	background-color:#999999;
	border-collapse:separate;
	border-spacing:1px;
	line-height:180%;
}
.contacttable th {
	background-color:#cccccc;
	font-weight:normal;
	white-space:nowrap;
	text-align:center;
	padding:2px;
	width:40%;
}
.contacttable td {
	background-color:#ffffff;
	padding:2px;
}
.contacttable input[type=text] {
	width:90%;
}
.contacttable input[type=email] {
	width:90%;
}
.contacttable textarea {
	width:90%;
	height:10em;
}

.attention {
	color:red;
	font-size:90%;
}
.contactp {
	margin-top:1em;
	margin-bottom:1em;
}


/* 見積もり */
.estimatebox {
	text-align:center;
	margin-top:30px;
	margin-bottom:30px;
}
.estimatephotobox {
	text-align:center;
	margin-bottom:30px;
}
.estimatephotobox img {
	max-width:200px;
}



/* フッター */
.footer {
	margin-top:30px;
}

