@charset "utf-8";





/*==========================================================================

	           business  事業内容
	
============================================================================*/

/*---------------------------------------
         #business-sec1
---------------------------------------*/

.business-sec1-box1 {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
.business-sec1-box1 h2 {
	font-size: clamp(18px, 4vw, 40px);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 1.5em;
}

/*---------------------------------------
         #business-sec2
---------------------------------------*/

.business-sec2-box1 {
	max-width: 1200px;
	margin: 0 auto 50px;
}
.business-sec2-box1 ul > li {
	margin-bottom: 120px;
}
.business-sec2-box1 dl {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.business-sec2-box1 ul > li:nth-child(odd) dl {
	flex-direction: row-reverse;
}
.business-sec2-box1 dt {
	max-width: 690px;
	width: 57%;
	box-sizing: border-box;
	background-color: #fff;
}
.business-sec2-box1 ul > li:nth-child(odd) dt {
	padding: 2.5em 3em 2.5em 6em;
}
.business-sec2-box1 ul > li:nth-child(even) dt {
	padding: 2.5em 6em 2.5em 3em;
}

.business-sec2-box1 dt h2 {
	font-size: clamp(17px, 4vw, 34px);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-bottom: 0.5em;
}

.business-sec2-box1 dd {
	max-width: 560px;
	width: 48%;
	position: absolute;
}
.business-sec2-box1 ul > li:nth-child(odd) dd {
	top: -30px;
	left: 0;
	box-shadow: 20px 20px 0px 0px #c0edad;
}
.business-sec2-box1 ul > li:nth-child(even) dd {
	top: -30px;
	right: 0;
	box-shadow: -20px 20px 0px 0px #c0edad;
}

@media screen and (max-width: 1024px){
	.business-sec2-box1 ul > li {
		max-width: 800px;
		margin: 0 auto 10%;
	}
	.business-sec2-box1 dl {
		background-color: #fff;
		padding: 8% 5% 10%
	}
	.business-sec2-box1 dt {
		max-width: inherit;
		width: 100%;
		margin-bottom: 7%;
	}
	.business-sec2-box1 ul > li:nth-child(odd) dt {
		padding: 0
	}
	.business-sec2-box1 ul > li:nth-child(even) dt {
		padding: 0
	}
	.business-sec2-box1 dt h2 {
		text-align: center;
	}
	.business-sec2-box1 dd {
		max-width: 560px;
		width: 80%;
		margin: 0 auto;
		position: inherit;
	}
	.business-sec2-box1 ul > li:nth-child(odd) dd {
		top: inherit;
		left: inherit;
		box-shadow: 10px 10px 0px 0px #c0edad;
	}
	.business-sec2-box1 ul > li:nth-child(even) dd {
		top: inherit;
		right: inherit;
		box-shadow: 10px 10px 0px 0px #c0edad;
	}
}


/*==========================================================================

	           works  施工事例
	
============================================================================*/

/*---------------------------------------
         #works-sec1
---------------------------------------*/

.works-sec1-category {
	max-width: 1200px;
	margin: 0 auto;
}
.works-sec1-category ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
}
.works-sec1-category ul li a {
	font-size: clamp(16px, 3vw, 20px);
	text-align: center;
	padding: 0.3em 1em;
	border: #838383 1px solid;
	text-decoration: none;
	border-radius: 30px;
	transition: .5s;
}
.works-sec1-category ul li a:hover {
	color: #fff;
	border: #59c32c 1px solid;
	background-color: #59c32c;
	transition: .5s;
}


.works-sec1-content {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 120px;
}
.works-sec1-content h2 {
	font-size: clamp(20px, 4vw, 30px);
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.4;
	border-bottom: #cbcbcb 2px solid;
	padding-bottom: 0.2em;
	margin-bottom: 1.5em;
}
.works-sec1-content ul {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 0;
}
.works-sec1-content ul li {
	width: 32%;
	margin-right: 2%;
}
.works-sec1-content ul li:nth-child(3n) {
	margin-right: 0;
}
.works-sec1-content-photo {
	max-width: 380px;
	margin-bottom: 1em;
}
.works-sec1-content-photo img {
	/* width: 380px;
	height: 250px; */
	object-fit: cover;
	aspect-ratio: 38 / 25;
}
.works-sec1-content-title {
	font-size: clamp(15px, 3vw, 20px);
	line-height: 1.5;
}
.works-sec1-content-photoname {
	font-size: clamp(11px, 2vw, 13px);
	color: #666;
}

@media screen and (max-width: 768px){
	.works-sec1-content {
		padding-top: 10%;
	}
	.works-sec1-content ul {
		justify-content: space-between;
		gap: 0;
	}
	.works-sec1-content ul li {
		width: 48%;
		margin-right: 0;
		margin-bottom: 8%;
	}
}


/*==========================================================================

	           company  会社概要
	
============================================================================*/

/*---------------------------------------
         #company-sec1
---------------------------------------*/

.company-sec1-box1 {
	max-width: 800px;
	margin: 0 auto 2em;
}
.company-sec1-box1 h2 {
	font-size: clamp(18px, 3.5vw, 26px);
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 1.5em;
}
.company-sec1-box1 h3 {
	max-width: 144px;
	width: 25%;
	float: right;
	margin-top: 2em;
}

/*---------------------------------------
         #company-sec2
---------------------------------------*/

.company-sec2-box1 {
	max-width: 1000px;
	margin: 0 auto 2em;
}
.company-sec2-box1 h2 {
	font-size: clamp(18px, 3.5vw, 26px);
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.15em;
	margin-bottom: 1.5em;
}
.company-sec2-box1 table {
	width: 100%;
	border-top: #cbcbcb 1px solid;
	border-left: #cbcbcb 1px solid;
	border-right: #cbcbcb 1px solid;
}
.company-sec2-box1 th {
	width: 14em;
	padding: 1em 0;
	text-align: center;
	background-color: #f2faee;
	border-right: #cbcbcb 1px solid;
	border-bottom: #cbcbcb 1px solid;
}
.company-sec2-box1 td {
	padding: 1em 1.5em;
	background-color: #fff;
	border-bottom: #cbcbcb 1px solid;
}
.company-sec2-box1 td a {
	text-decoration: none;
}
.company-sec2-box1 td ul li {
	padding-left: 1em;
	text-indent: -1em;
}

.company-sec2-map {
	max-width: 1200px;
	margin: 0 auto;
	border: #cbcbcb 1px solid;
}
.company-sec2-map iframe {
	width: 100%;
	height: 400px;
	line-height: 0;
}

@media screen and (max-width: 768px){
	.company-sec2-box1  table {
		width: 100%;
		border-top: #cbcbcb 1px solid;
		border-left: #cbcbcb 1px solid;
		border-right: #cbcbcb 1px solid;
	}
	.company-sec2-box1 th {
		display: block;
		width: inherit;
		padding: 0.5em 0;
		border-right: none;
		font-weight: bold;
	}
	.company-sec2-box1 td {
		display: block;
		padding: 1.2em 1em;
	}
}


/*==========================================================================

	           recruit  採用情報
	
============================================================================*/

/*---------------------------------------
         #recruit-sec1
---------------------------------------*/

.recruit-sec1-box1 {
	max-width: 1100px;
	margin: 0 auto;
}
.recruit-sec1-box1 h2 {
	font-size: clamp(16px, 4vw, 40px);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 1.5em;
}
.recruit-sec1-box1 dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.recruit-sec1-box1 dt {
	max-width: 360px;
	width: 33%;
}
.recruit-sec1-box1 dt img {
	margin-bottom: 15px;
}
.recruit-sec1-box1 dd {
	width: 64%;
}

@media screen and (max-width: 900px){
	.recruit-sec1-box1 dt {
		max-width: 740px;
		width: 100%;
		margin: 0 auto 2em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.recruit-sec1-box1 dt img {
		max-width: 360px;
		width: 49%;
		margin-bottom: 0;
	}
	.recruit-sec1-box1 dd {
		width: 100%;
	}
}

/*---------------------------------------
         #recruit-sec2
---------------------------------------*/

.recruit-sec2-box1 {
	max-width: 1000px;
	margin: 0 auto 2em;
}
.recruit-sec2-box1 h2 {
	font-size: clamp(18px, 3.5vw, 26px);
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.15em;
	margin-bottom: 1.5em;
}
.recruit-sec2-box1 table {
	width: 100%;
	border-top: #cbcbcb 1px solid;
	border-left: #cbcbcb 1px solid;
	border-right: #cbcbcb 1px solid;
	margin-bottom: 100px;
}
.recruit-sec2-box1 th {
	width: 14em;
	padding: 1em 0;
	text-align: center;
	background-color: #f2faee;
	border-right: #cbcbcb 1px solid;
	border-bottom: #cbcbcb 1px solid;
}
.recruit-sec2-box1 td {
	padding: 1em 1.5em;
	background-color: #fff;
	border-bottom: #cbcbcb 1px solid;
}
.recruit-sec2-box1 td a {
	text-decoration: none;
}
.recruit-sec2-box1 td ul li {
	padding-left: 1em;
	text-indent: -1em;
}

.recruit-sec2-map {
	max-width: 1200px;
	margin: 0 auto;
	border: #cbcbcb 1px solid;
}
.recruit-sec2-map iframe {
	width: 100%;
	height: 400px;
	line-height: 0;
}

@media screen and (max-width: 768px){
	.recruit-sec2-box1 table {
		width: 100%;
		border-top: #cbcbcb 1px solid;
		border-left: #cbcbcb 1px solid;
		border-right: #cbcbcb 1px solid;
		margin-bottom: 15%;
	}
	.recruit-sec2-box1 th {
		display: block;
		width: inherit;
		padding: 0.5em 0;
		border-right: none;
		font-weight: bold;
	}
	.recruit-sec2-box1 td {
		display: block;
		padding: 1.2em 1em;
	}
}


/*==========================================================================

	           conract  お問い合わせ
	
============================================================================*/

/*---------------------------------------
         #contact-sec1
---------------------------------------*/

.contact-sec1-box1 {
	max-width: 800px;
	margin: 0 auto 2em;
}
.contact-sec1-box1 h2 {
	font-size: clamp(17px, 4.5vw, 40px);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 1em;
}
.contact-sec1-box1 ul {
	margin-top: 2em;
}
.contact-sec1-box1 ul li {
	font-size: clamp(12px, 3vw, 16px);
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.5;
}



/*---------------------------------------
    #contact-sec2  メールが届かない方へ
---------------------------------------*/

.contact-sec2-box1 {
	font-size: clamp(13px, 3vw, 16px);
	line-height: 1.8;
}


/*==========================================================================

	             MW WP Form フォーム
	
============================================================================*/

#sec-form {
    /* padding: 0 0 50px; */
}
@media screen and (max-width: 900px){
	#sec-form {
		/* padding: 0 0 12%; */
	}
}

.form-box  {
    max-width: 1200px;
	margin: 0 auto 5%;
}

.form-sub {
	font-size: clamp(16px, 3vw, 20px);
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	background-color: #231815;
	padding: 0.5em 1em;
	margin: 0 0 1.5em;
}

.form-box table {
    width: 100%;
	background-color: #fff;
	border-top: #cbcbcb 1px solid;
	border-left: #cbcbcb 1px solid;
	border-right: #cbcbcb 1px solid;
	margin: 10px 0 0;
}
.form-box table th {
	width: 16em;
	border-bottom: #cbcbcb 1px solid;
	padding: 1.5em 0 1.5em 2em;
	font-weight: bold;
}
.form-box table td {
	border-bottom: #cbcbcb 1px solid;
	padding: 1.5em 2em 1.5em 0;
	box-sizing: border-box;
}
@media screen and (max-width: 900px){
	.form-box table th {
		width: inherit;
		display: block;
		background-color: #f2faee;
		padding: 0.3em 1em;
	}
	.form-box table th br {
		display: none;
	}
	.form-box table td {
		display: block;
		padding: 1.2em 1em;
	}
}

.form-box table td ul li {
	display: inline-block;
	margin-right: 1em;
}

.form-box .must {
    display: inline-block;
	border: #ea2f2f 1px solid;
	color: #ea2f2f;
	font-size: clamp(11px, 3vw, 13px);
	padding: 0 0.3em;
	margin-left: 0.7em;
	line-height: 1.5;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	vertical-align: middle;
}

.form-box .error {
    color: #FF0000;
	font-weight: bold;
	margin-top: 10px;
}

.form-box .mw_wp_form_confirm .form-txt {
    display: none;
}

.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
}
#container .mwform-radio-field {
    display: inline-block;
	margin-left: 0;
	margin-right: 30px;
}
#container .mwform-radio-field input {
	margin-right: 0;
}
#container .mwform-checkbox-field {
    display: inline-block;
	margin-left: 0;
	margin-right: 30px;
}
#container .donation-item .mwform-checkbox-field-text {
	font-size: clamp(14px, 3vw, 16px);
	font-weight: bold;
}
#container .consent .mwform-checkbox-field-text {
	font-weight: bold;
}
#container .consent input[type=checkbox] {
	transform: scale(1.6);
	margin: 0 7px 0 1em;
}
.form-box select {
	padding: 3px 5px;
	margin: 5px 0;
}
.form-box input[type=text] {
	padding: 3px 10px;
	box-sizing: border-box;
	border: #D8D8D8 1px solid;
	border-radius: 4px;
}
.form-box .name {
	width: 100%;
}
.form-box .company-name {
	width: 100%;
}
.form-box .mailaddress {
	width: 100%;
}
.form-box textarea {
    width: 100%;
	padding: 3px 10px;
	line-height: 1.5;
	box-sizing: border-box;
	border: #D8D8D8 1px solid;
	border-radius: 4px;
}
@media screen and (max-width: 768px){
	#container .mwform-radio-field {
		margin-right: 20px;
	}
	#container .mwform-checkbox-field {
		margin-right: 20px;
	}
	#container .consent input[type=checkbox] {
		transform: scale(1.4);
		margin: 0 7px 0 1em;
	}
	.form-box input[type=text] {
		width: 100%;
    }
}


.form-btn {
	width: 250px;
	margin: 40px auto 0;
}
/*確認画面へ進むボタン用*/
.form-box .confirm  {
	width: 250px;
	margin-bottom: 35px;
}
.form-box .confirm input {
	width: 250px;
	padding: 15px 0;
	cursor:pointer;
	border-style: none;
	background-color: #59c32c;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.2em;
	box-sizing:border-box;
	/*-moz-box-shadow: 4px 4px 0 0 #ccc;
	-webkit-box-shadow: 4px 4px 0 0 #ccc;
	box-shadow: 4px 4px 0 0 #ccc;*/
	/* border-radius: 10px; */
}
.form-box .confirm input:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.70;
	opacity: 0.70;
	transition: .5s;
}

/*戻るボタン用*/
.form-box .back  {
	width: 250px;
}
.form-box .back input {
	width: 250px;
	padding: 11px 0;
	cursor:pointer;
	border-style: none;
	background-color: #fff;
	border: #1F1F1F 2px solid;
	color: #000;
	font-size: 20px;
	text-align: center;
	letter-spacing: 0.2em;
	box-sizing:border-box;
	/*-moz-box-shadow: 4px 4px 0 0 #ccc;
	-webkit-box-shadow: 4px 4px 0 0 #ccc;
	box-shadow: 4px 4px 0 0 #ccc;*/
	/* border-radius: 10px; */
}

@media screen and (max-width: 768px){
	.form-btn {
		width: 200px;
		margin: 8% auto 0;
	}
	.form-box .confirm  {
		width: 200px;
		margin-bottom: 25px;
	}
	.form-box .confirm input {
		width: 200px;
		letter-spacing: 0.1em;
	}
	.form-box .back  {
		width: 200px;
	}
	.form-box .back input {
		width: 200px;
		letter-spacing: 0.1em;
	}
	.form-box input[type="submit"],
	.form-box input[type="button"],
	.form-box input[type="reset"] {
		-webkit-appearance: none;
	}
}

/*---------------------------------------
         プライバシーポリシー
---------------------------------------*/

.form-box .mw_wp_form_confirm .privacy {
    display: none;
}

.privacy h3 {
	display: none;
}

.privacy-box {
    clear: both;
	max-width: 800px;
	height: 230px;
	margin: 5% auto 5%;
	padding: 3% 3%;
	border: #cbcbcb 1px solid;
	background-color: #fff;
	line-height: 1.6;
	color: #333;
	font-size: clamp(12px, 3vw, 14px);
	overflow: auto;
	box-sizing: border-box;
}
.privacy-box h4 {
	font-size: clamp(14px, 3vw, 18px);
	font-weight: bold;
	margin-bottom: 0.5em;
}
.privacy-box dl {
	/* border-top: #ddd 1px dotted; */
	/*border-bottom: #ddd 1px dotted;*/
	padding-top: 3%;
	margin: 3% 0;
}
.privacy-box dt {
	font-weight: bold;
	margin-bottom: 1%;
}
.privacy-box dd {
	margin-bottom: 3%;
}
@media screen and (max-width: 900px){
	.privacy h3 {
		display: block;
		text-align: center;
		font-weight: bold;
		margin: 8% 0 7%;
	}
	.privacy-box {
		display: none;
		height: inherit;
		margin: 2% auto 10%;
		padding: 5% 5%;
	}
}

/*---------------------------------------
          Datepicker
---------------------------------------*/

/* 日曜日のカラー設定 */
td.ui-datepicker-week-end:first-child a.ui-state-default{
  background-color: #ffecec;   /* 背景色を設定 */
  color: #f00!important;       /* 文字色を設定 */
}
/* 土曜日のカラー設定 */
td.ui-datepicker-week-end:last-child a.ui-state-default{
  background-color: #eaeaff;   /* 背景色を設定 */
  color: #00f!important;       /* 文字色を設定 */
}
/* ホバー時の動作 */
td.ui-datepicker-week-end a.ui-state-hover{
  opacity: 0.8;
}
/* 当日を示す色はそのまま */
td.ui-datepicker-week-end a.ui-state-highlight{
  background-color: #fffa90!important;
}


/*==========================================================================

	                  お問い合わせ(サンクスページ)
	
============================================================================*/

.thanks-box {
	max-width: 1200px;
	margin: 0 auto 5%;
	padding: 0 4% 5%;
	text-align: center;
	box-sizing: border-box;
}
.thanks-box h3 {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
}
.thanks-box script {
	display: block;
}
.thanks-box .btn a {
    width: 18em;
	margin: 5% auto 0;
}
@media screen and (max-width: 641px){
	.thanks-box h3 {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.thanks-box .btn a {
		width: 15em;
	}
}



