@charset "utf-8";

/*
main dark		: #FFA000	橙
main bright		: #FFC107	黄
accent			: #FF5722	朱
text			: #333333	黒;
*/

/*----------------------------
header
----------------------------*/


/*----------------------------
main
----------------------------*/
main > section + section{
	margin-top:90px;
}
/*-----------全体-----------*/
h2.chapter{
	/*border-bottom:solid 1px #FFC107;*/
	border-left:solid 3px #FFC107;
	padding-left:0.5em;
}
/*---------新着情報---------*/
section#update th{
	width:11em;
	text-align:left;
	padding:3px 0 3px 1em;
}
section#update td{
	width:calc(100% - 12em);
	padding:3px 0;
}
/*---------ごあいさつ---------*/
div#greetingContent{
	overflow:hidden;
}
img#greetingImg{
	float:left;
	width:400px;
}
div#greetingText{
	float:right;
	width:540px;
	margin:0;
}
div#greetingText p{
	margin-top:0;
}
/*---------施工例等---------*/
#result h3{
	margin-top:70px;
	margin-bottom:10px;
}
#result h2+h3{
	margin-top:30px;
}

.results.wrapper{
	margin-top:15px;
	display:flex;
	flex-wrap: wrap;
}
.results.block{
	width:29%;
	margin-bottom:20px;
	margin-left:1.25%;
	padding:15px 1.25% 20px;
	border:solid 1px #aaa;
	box-shadow:0 2px 5px rgba(0,0,0,0.26);
	background:#fafafa
	border-radius:1px;
}
.result.block:nth-child(3n+1){
	margin-left:0;
}
.results.block.new{
	background-image: url('../img/component/new.png');
	background-position: left top;
	background-repeat: no-repeat;
}
.results.block.pin{
	background-image: url('../img/component/pin.png');
	background-position: left 4px top 4px;
	background-repeat: no-repeat;
}
.results.date{
	text-align:right;
	font-size:12px;
	line-height:1.0;
	color:#333;
	font-weight:bold;
}
.results.imageArea{
	display:block;
	width:100%;
	height:209px;
	margin:10px auto;
	background:#e6e6e6;
}
.results.imageArea img{
	width:100%;
	height:209px;
	object-fit:cover;
}
.results.title{
	font-size:12px;
	line-height:1.2;
	height:30px;
	color:#333;
	font-weight:bold;
}
.results.description{
	font-size:12px;
	line-height:1.2;
	margin-top:8px;
	color:#444;
}













#publishment figure{
	margin:30px 1.5% 0;
}
#publishment img{
	width:30%;
	margin-right:1%;
}
#publishment figcaption{
	margin-bottom:20px;
}
#publishment figcaption:before{
	color:#FFA000;
	content:"■";
	margin:-right:0.5em;
}
/*---------会社概要---------*/
section#profile table{
	border-collapse:collapse;
}
section#profile th, section#profile td{
	padding:5px 0;
	margin:0;
	border:solid 1px #FFC107;
}
section#profile th{
	width:160px;
}
section#profile td{
	padding-left:1em;
	width:300px;
}
section#profile h3{
	margin-top:30px;
}
/*------会社概要 > 沿革------*/
.timeline {
	list-style:none;
}
.timeline > li {
	overflow: hidden;
	margin: 0;
	position: relative;
}
.timeline-date {
	width: 110px;
	float: left;
	margin-top: 20px;
}
.timeline-content {
	width: 75%;
	float: left;
	border-left: 3px #eee solid;
	padding-left: 30px;
}
.timeline-content:before {
	content: '';
	width: 12px;
	height: 12px;
	background:#FFC107;
	position: absolute;
	left: 106px;
	top: 24px;
	border-radius: 100%;
}

/*--------お問い合わせ--------*/
form{
	background-color:#fff;
	margin-top:10px;
	padding:20px 5% 20px 5%;
	overflow:hidden;
}
form p{
	margin-bottom:30px;
	overflow:hidden;
}

form label,
form input,
form select,
form textarea{
	display:block;
	float:left;
	margin:5px;
	padding:5px;
	width:45%;
	max-width:580px;
}
form span.form_annotation{
	display:block;
	float:left;
	padding:5px;
}

form label{
	width:20%;
	max-width:15em;
	margin-right:30px;
	text-align:right;
}
label.required:after{
	width:40px;
	color:#FFF;
	font-size:12px;
	background-color:#D32F2F;
	border-radius:1px;
	padding:0 6px;
	margin-left:10px;
	content:"必須";
}
form textarea{
	height:200px;
	vertical-align:top;
}

p#submit{
	text-align:center;
}
form button#form_submit{
	font-size: 1.2em;
	font-weight: bold;
	padding: 4px 20px;
	margin:10px;
	border-style: none;
	border-radius: 5px;
	box-shadow: 2px 2px 3px 1px #666;
	color: #fff;
	background-color:#FF5722;
	transition:0.2s;
}
form button#form_return{
	font-size: 1em;
	font-weight: bold;
	padding: 4px 10px;
	color: #eee;
	border-style: none;
	box-shadow: 2px 2px 3px 1px #666;
	-moz-box-shadow: 2px 2px 3px 1px #666;
	-webkit-box-shadow: 2px 2px 3px 1px #666;
	background-color:#4f3d3d;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
form button + button{
	margin-left:5%;
}
form button:hover {
	opacity: 0.5;
}
div.errors{
	width:96%;
	border:double 2px #f00;
	padding:10px;
}
div.errors strong{
	color:#f00;
	margin-bottom:5px;
}
span#charCount{
	display:block;
	float:right;
}
span#charCount-num{
	margin:0;
	padding:0 5px;
}
p#gotoTop{
	text-align:center;
}

table{
	margin:10px auto;
	border-collapse:collapse;
}
table th{
	text-align:center;
	width:180px;
	padding:10px;
	border:solid 1px #FFA000;
}
table td{
	text-align:left;
	width:680px;
	padding:10px;
	border:solid 1px #FFA000;
}
form.forCheck{
	background-color:inherit;
	padding:0;
}
form.forCheck p{
	text-align:center;
}