@charset "utf-8";

body {
	overflow-x: hidden;
	font-family: "ヒラギノUD角ゴF W3 JIS2004", "Hiragino UD Sans F W3 JIS2004",
		YuGothic, "メイリオ", "游ゴシック", Meiryo, sans-serif;
	color: #231815;
}
a:hover {
	opacity: 0.7;
}

.tbudgo {
	font-family: "TBUDゴシック B", "TBUDGothic B";
}
.midego {
	font-family: 見出ゴMB31, "Midashi Go MB31";
}
.hiraudgo {
	font-family: "ヒラギノUD角ゴF W3 JIS2004", "Hiragino UD Sans F W3 JIS2004";
}
.ryumin {
	font-family: "リュウミン M-KL", "Ryumin Medium KL";
}
/* ////////////////////////////////////////
PC,SP共通 
//////////////////////////////////////// */

.wrap {
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.contents {
	margin-left: auto;
	margin-right: auto;
}

/* 横幅全画面 */
.fullWidth {
	width: 100%;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
		"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.gothic {
	font-family: "ヒラギノ角ゴ W2 JIS2004", "Hiragino Kaku Gothic W2 JIS2004",
		YuGothic, "メイリオ", "游ゴシック", Meiryo, sans-serif;
}
.meiryo {
	font-family: "メイリオ", Meiryo, sans-serif;
}
.impact {
	font-family: Impact, sans-serif;
}

/* ヘッダー ////////// */
.header {
	position: relative;
}
.header-nav > li:first-child:before {
	content: none;
}

.font-switch {
	margin-left: 2em;
}
.font-switch:before {
	content: "文字サイズ";
	display: inline-block;
	vertical-align: middle;
}
.font-switch li {
	display: inline-block;
	vertical-align: middle;
}
.font-switch a {
	display: block;
	padding: 0 1em;
	color: #fff;
	background: #c8c9c9;
	border-radius: 2px;
}
.font-switch a.switch-current {
	background: #e6001b;
}
/* ヘッダー ////////// */

/* グローバルナビ ////////// */
.nav {
	position: relative;
}
.global-nav li {
	position: relative;
}

.global-nav a {
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
}

.global-nav a:after {
	display: block;
	font-weight: normal;
	color: #9c1533;
	text-align: center;
}
.global-nav li:nth-child(1) a:after {
	content: "COMPANY";
}
.global-nav li:nth-child(2) a:after {
	content: "WORKS";
}
.global-nav li:nth-child(3) a:after {
	content: "SERVICE";
}
.global-nav li:nth-child(4) a:after {
	content: "EQUIPMENT";
}
.global-nav li:nth-child(5) a:after {
	content: "MACHINE";
}
.global-nav li:nth-child(6) a:after {
	content: "CONTACT";
}
.global-nav li:nth-child(7) a:after {
	content: "PRIVACY POLICY";
}
.global-nav li:nth-child(8) a:after {
	content: "SITEMAP";
}

.global-nav__sub {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 2;
}
.global-nav__sub a {
	color: #fff;
	border-bottom: 1px solid transparent;
	transition: border-color 0.25s;
}
.global-nav__sub a:hover {
	border-bottom: 1px solid #fff;
}
.global-nav__sub li:nth-child(1) a {
	background-color: #4d86c0;
}
.global-nav__sub li:nth-child(2) a {
	background-color: #73b58a;
}
.global-nav__sub li:after,
.global-nav__sub a:after {
	content: none !important;
}
/* グローバルナビ ////////// */

/* フッター ////////// */

.footer {
	position: relative;
	background: #f4f4f4;
	box-sizing: border-box;
}
.logo-footer {
	display: block;
	text-align: center;
}
.footer-nav > li > a {
	display: inline-block;
	padding-left: 1em;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-indent: 0.1em;
}
.footer-nav > li {
	position: relative;
}
.footer-nav > li:before {
	position: absolute;
	left: 0;
	top: 1em;
	display: inline-block;
	width: 1em;
	height: 1em;
	font-size: 50%;
	color: #fff;
	background: #e6001b;
	text-align: center;
	border-radius: 0.5em;
	vertical-align: top 10px;
}

.footer-nav > li .list-angle > li:before,
.footer-bottom-nav > li:before {
	font-size: 75%;
	color: #e6001b;
	vertical-align: middle;
}
.footer-bottom-nav a,
.copyright small {
	letter-spacing: 0.06em;
	text-indent: 0.06em;
}
/* フッター ////////// */

/* サイドバー ////////// */
.box-side li {
	padding: 1em 0;
	border-bottom: 1px dashed #000;
}
.box-side-new a,
.box-side-category a {
	display: block;
	text-decoration: underline;
}
.box-side-monthly a {
	display: inline-block;
	padding: 0 0.5em 0 0;
	text-decoration: underline;
}
/* サイドバー ////////// */

/* トップに戻るボタン */
.pagetop {
	position: fixed;
	z-index: 999;
}
/* トップに戻るボタン *


/* 見出し */
.head-main {
	color: #0052a4;
	text-align: center;
}
/* 見出し */

/* 見出し */
.head-sub {
	background: rgba(4, 75, 141, 0.1);
	letter-spacing: 0.04em;
}
.head-sub a {
	display: block;
}
/* 見出し */

/* 見出し */
.wrap-head-item {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
		"Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.solar .wrap-head-item,
.civil .wrap-head-item {
	margin-bottom: 3em;
	text-align: center;
}
.machine .wrap-head-item,
.equipment .wrap-head-item {
	margin-bottom: 2em;
	text-align: center;
}
.works .wrap-head-item {
	margin-bottom: 2em;
}
.service .wrap-head-item {
	margin-bottom: 1em;
}
.wrap-head-item > * {
	display: inline-block;
}
.head-item {
	margin-right: 0.5em;
	color: #0052a4;
}
.icon-earth:before {
	content: "";
	display: inline-block;
	margin-right: 0.5em;
	background: url(../images/icon-earth.png) no-repeat center center;
	background-size: contain;
	vertical-align: middle;
}

.border-gradient:after {
	content: "";
	margin-top: 0.5em;
	display: block;
	width: 100%;
	height: 4px;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0.7) 0%,
		rgba(0, 82, 164, 0.7) 26%,
		rgba(0, 82, 164, 0.7) 50%,
		rgba(0, 82, 164, 0.7) 74%,
		rgba(255, 255, 255, 0.7) 100%
	);
}
/* 見出し */

/* 見出し */
.wrap-head-blue {
	color: #fff;
	background: rgba(0, 82, 164, 0.7);
	text-align: center;
}
/* 見出し */

/* 背景色 */
.bg-white {
	background: #fff;
}
.bg-gray {
	background: #f5f6f0;
}
.bg-pink {
	background: #ea4d98;
}

.bg-blue {
	background: rgba(0, 82, 164, 0.1);
}
/* 背景色 */

/* 文字色 */
.color-red {
	color: #e6001b;
}
.color-blue {
	color: #1d2083;
}
/* 文字色 */

/* パンくず */
.breadcrumb li {
	float: left;
}
.breadcrumb li:not(:first-child):before {
	margin: 0 0.5em 0 1em;
	content: ">";
	color: #fff;
}
.breadcrumb a,
.breadcrumb span {
	color: #fff;
}
.breadcrumb a:hover span {
	color: #fff;
}
.breadcrumb a:hover {
	text-decoration: underline;
}
/* パンくず */

/* ページ送り */
.pager {
	display: table;
	text-align: center;
}
.pager li {
	display: inline-block;
	vertical-align: middle;
}
.page {
	display: block;
	color: #000;
	border: 1px solid transparent;
	box-sizing: border-box;
}
.page:hover,
.page-current {
	color: #fff;
	background: #000;
	border: none;
	opacity: 1;
}
/* ページ送り */

/* テキスト */
.text-main p:not(:last-child) {
	margin-bottom: 1em;
}

.text-common {
	line-height: 1.7;
}
/* テキスト */

/* ボタン */
.btn {
	position: relative;
	display: block;
	color: #fff;
	text-align: center;
	background: #d70c18;
	box-sizing: border-box;
}
.btn--blue {
	background-color: #0052a4;
}
.btn--green {
	background-color: #008e5f;
}
.btn:after {
	font-family: FontAwesome;
	content: "\f054";
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
}
.btn-l {
	background: #e6001b;
}
.btn-s {
	background: #727171;
}
/* ボタン */

/* ページタイトル */
.head-page {
	position: relative;
	font-family: "TBUDゴシック B", "TBUDGothic B";
	font-weight: bold;
	color: #231815;
	text-align: center;
	box-sizing: border-box;
	text-indent: 0.18em;
	letter-spacing: 0.18em;
}
.head-page:after {
	display: block;
	padding-top: 1em;
	color: #9c1533;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.sitemap .head-page:after {
	content: "SITEMAP";
}
.privacy-policy .head-page:after {
	content: "PRIVACY POLICY";
}
.contact .head-page:after,
.confirm .head-page:after,
.complete .head-page:after {
	content: "CONTACT";
}
/* ページタイトル */

/* 文字色交互 */
.alternate-color span:nth-child(2n-1) {
	color: #006934;
}
/* 文字色交互 */

.head-underline {
	border-bottom: 2px solid #000;
}
.head-underline:after {
	content: "";
	display: block;
	margin-top: 0.5em;
	margin-bottom: 3px;
	border-bottom: 2px dashed #000;
}

/* 共通テーブル */
.table-common {
	width: 100%;
}
.table-common tr {
	border-bottom: 0.25px solid #999;
}
.table-common tr:first-child {
	border-top: 0.25px solid #999;
}
.table-common th,
.table-common td {
	letter-spacing: 0.12em;
	box-sizing: border-box;
}
.table-common th {
	background: #e9eaea;
}

/* 共通テーブル */

/* 下層ページ　トップ画像 */
.page-top p {
	color: #fff;
}
/* 下層ページ　トップ画像 */

/* ////////////////////////////////////////
PC,SP共通
//////////////////////////////////////// */

/* ////////////////////////////////////////
PCのみ
//////////////////////////////////////// */
@media screen and (min-width: 641px), print {
	a[href^="tel:"] {
		pointer-events: none;
	}

	/* 横幅全画面 */
	.fullWidth {
		min-width: 960px; /* 最低幅 表示エリアを指定 */
	}

	.contact .wrap,
	.confirm .wrap,
	.complete .wrap,
	.privacy-policy .wrap,
	.sitemap .wrap {
		padding: 80px 0;
	}
	.solar .wrap,
	.civil .wrap,
	.company .wrap,
	.works .wrap,
	.service .wrap,
	.equipment .wrap,
	.machine .wrap,
	.recruit .wrap {
		padding: 40px 0 80px;
	}
	.contents {
		width: 960px;
	}
	.inner-contents {
		padding: 0 32px;
		box-sizing: border-box;
	}
	.section {
		padding: 30px 0;
	}

	.inner700 {
		margin-left: auto;
		margin-right: auto;
		width: 700px;
	}

	.main-contents {
		width: 715px;
	}
	.sidebar {
		width: 160px;
	}

	/* ヘッダー ////////// */
	.header {
	}
	.header > .contents > div {
		display: flex;
		align-items: center;
		height: 80px;
	}
	.wrap-header-nav {
		display: flex;
		align-items: center;
	}

	.header-nav {
		display: flex;
		align-items: center;
	}
	.header-nav li {
		margin-left: 2em;
	}
	.header-nav > li:before {
		font-size: 50%;
		color: #e6001b;
	}
	.header-nav li {
		font-size: 12px;
	}

	.font-switch:before {
		font-size: 12px;
	}
	.font-switch a {
		font-size: 10px;
		line-height: 14px;
	}
	/* ヘッダー ////////// */

	/* グローバルナビ ////////// */
	.global-nav {
		padding: 15px 0;
	}
	.global-nav .sp {
		display: none;
	}
	.global-nav a {
		display: table-cell;
		padding: 10px 0;
		width: 160px;
		font-size: 14px;
	}
	.global-nav a:hover {
		opacity: 1;
	}
	.global-nav a:after {
		margin-top: 5px;
		font-size: 7px;
		-webkit-transform: scale(0.8);
	}

	.global-nav li.current:after,
	.global-nav li:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		-webkit-transform: scaleX(0);
		-ms-transform: scaleX(0);
		transform: scaleX(0);
		background: linear-gradient(
			to right,
			#d68847 0%,
			#cf4619 50%,
			#d68847 100%
		);
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.global-nav li.current:after,
	.global-nav li:hover:after {
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
	/* グローバルナビ ////////// */

	/* フッター ////////// */
	.footer {
		padding: 50px 0 30px;
	}

	.footer-nav {
		margin: 0 -28px 70px;
	}
	.footer-nav > li {
		margin: 0 28px;
	}
	.footer-nav > li > a {
		margin-bottom: 0.5em;
	}

	.footer-nav > li ul {
		margin-left: 1em;
		line-height: 2;
	}
	.footer-nav > li ul a {
		font-size: 12px;
	}

	.logo-footer {
		margin-bottom: 35px;
	}

	.footer-bottom-nav li {
		margin-left: 2em;
	}
	.footer-bottom-nav a,
	.copyright small {
		font-size: 12px;
	}
	/* フッター ////////// */

	/* サイドバー ////////// */
	.head-side span {
		font-size: 21px;
	}
	/* サイドバー ////////// */

	/* トップに戻るボタン */
	.pagetop {
		right: 50px;
		bottom: 50px;
	}
	/* トップに戻るボタン */

	/* 見出し */
	.head-main {
		margin-bottom: 10px;
		font-size: 35px;
	}
	/* 見出し */

	/* 見出し */
	.head-sub,
	.head-sub a {
		font-size: 18px;
	}
	.privacy-policy .head-sub,
	.sitemap .head-sub a {
		padding: 15px 30px;
	}
	/* 見出し */

	/* 見出し */
	.head-item {
		font-size: 32px;
		line-height: 40px;
		vertical-align: middle;
	}
	.text-item {
		font-size: 19px;
		vertical-align: middle;
	}
	.icon-earth:before {
		width: 40px;
		height: 40px;
	}
	/* 見出し */

	/* 見出し */
	.wrap-head-blue h2 {
		font-size: 21px;
		line-height: 36px;
	}
	/* 見出し */

	/* テキスト */
	.text-main {
		font-size: 18px;
		line-height: 1.25;
	}
	/* テキスト */

	/* ボタン */
	.wrap-btn {
		display: table;
		margin: 0 auto;
	}
	.btn {
		margin: 0 8px;
		width: 330px;
		height: 50px;
		line-height: 50px;
		font-size: 16px;
		border-radius: 25px;
	}
	.btn-l {
		width: 340px;
	}
	.btn-s {
		width: 205px;
	}
	.btn:after {
		font-size: 14px;
	}
	/* ボタン */

	/* ページタイトル */
	.head-page {
		margin-bottom: 50px;
		font-size: 24px;
	}
	.head-page:after {
		font-size: 16px;
	}
	/* ページタイトル */

	/* パンくず */
	.breadcrumb {
		margin: 0.4em 0;
	}
	.breadcrumb li:not(:first-child):before {
		font-size: 14px;
	}
	.breadcrumb a,
	.breadcrumb span {
		font-size: 14px;
	}
	/* パンくず */

	/* ページ送り */
	.pager {
		margin: 0 auto 100px;
	}
	.pager li {
		margin: 0 5px;
	}
	.page {
		min-width: 25px;
		height: 33px;
		font-size: 17px;
		line-height: 33px;
	}
	/* ページ送り */

	/* ページメイン画像 */
	.main-page img {
		width: 100%;
	}
	.about .main-page img,
	.farm-produce .main-page img,
	.recruit .main-page img,
	.contact .main-page img {
		height: 384px;
	}
	.information .main-page img {
		height: 400px;
	}
	/* ページメイン画像 */

	/* 共通テーブル */
	.wrap-table-common {
		margin-left: auto;
		margin-right: auto;
		width: 845px;
	}
	.table-common th,
	.table-common td {
		padding-top: 1em;
		padding-bottom: 1em;
		font-size: 14px;
		line-height: 1.7;
		vertical-align: top;
	}
	.table-common th {
		width: 200px;
		text-align: center;
		vertical-align: middle;
	}
	.table-common td {
		padding-left: 40px;
		padding-right: 40px;
	}
	.table-common th.space1em {
		text-indent: 1em;
		letter-spacing: 1em;
	}
	/* 共通テーブル */

	/* 下層ページ　トップ画像 */
	.page-top {
		min-height: 100px;
		background: url(../images/bg-page-top.jpg) no-repeat center center;
		background-size: cover;
	}
	.inner-page-top {
		margin-left: -50px;
	}
	.page-top p {
		display: table-cell;
		height: 100px;
		font-size: 25px;
		letter-spacing: 0.2em;
		vertical-align: middle;
	}
	/* 下層ページ　トップ画像 */

	/* 関連会社リンク */
	.section-links {
		padding: 50px 0;
	}
	.wrap-link {
		margin: -9px;
	}
	.wrap-link > * {
		margin: 9px;
	}
	/* 関連会社リンク */
}
/* ////////////////////////////////////////
PCのみ
//////////////////////////////////////// */

/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
@media screen and (max-width: 640px) {
	body {
		position: relative;
		overflow-x: hidden;
	}
	body:not(.index) .wrap {
		padding: 10vw 0;
	}

	.main {
		margin-bottom: 15vw;
	}
	.sp-contents {
		margin-left: auto;
		margin-right: auto;
		width: 93.75%;
	}
	.section {
		padding: 7.5vw 0;
	}

	/* ヘッダー ////////// */
	.header {
		padding: 5vw 0;
		box-sizing: border-box;
	}

	.header-nav {
		margin: 0 auto 5vw;
		width: 45vw;
		text-align: center;
	}
	.header-nav * {
		font-size: 3vw;
	}
	.header-nav li {
		margin: 0 1em 1em;
	}
	.logo {
		display: block;
		margin: 0;
		width: 70%;
	}
	.logo img {
		width: 100%;
		max-width: 265px;
		height: auto;
	}

	.sp-btn {
		position: absolute;
		right: 0;
		top: -1vw;
		margin: auto;
		width: 10vw;
		height: 10vw;
		font-size: 10vw;
		color: #d70c18;
		cursor: pointer;
	}

	/* ヘッダー ////////// */

	/* グローバルナビ ////////// */
	.nav {
		display: none;
		position: absolute;
		left: 0;
		z-index: 200;
		background: #fff;
	}
	.global-nav {
		border-top: 1px solid #d70c18;
		border-bottom: 2px solid #d70c18;
	}
	.global-nav li:not(:last-child) {
		border-bottom: 1px solid #d70c18;
	}
	.global-nav a {
		display: block;
		padding: 0.75em 0;
		width: 100%;
		text-align: center;
	}
	.global-nav a:after {
		margin-top: 0.25em;
		font-size: 2.5vw;
	}

	/* グローバルナビ ////////// */

	/* フッター ////////// */
	.footer {
		padding: 15vw 0 5vw;
		box-sizing: border-box;
	}
	.logo-footer {
		margin: 0 auto 7.5vw;
		width: 60%;
	}
	.logo-footer img {
		width: 100%;
		max-width: 260px;
		height: auto;
	}
	.footer-nav {
		margin: 0 auto 10vw;
		width: 75%;
	}
	.footer-nav li {
		margin: 0.5em 1.5%;
	}
	.footer-nav a {
		font-size: 4vw;
		margin-bottom: 0.5em;
	}
	.footer-nav ul {
		display: none;
	}

	.copyright {
		text-align: center;
	}
	.footer-bottom-nav {
		margin-bottom: 2em;
	}
	.footer-bottom-nav > li:not(:last-child) {
		margin-bottom: 1em;
	}
	.copyright small {
		font-size: 2.7vw;
	}

	/* フッター ////////// */

	/* サイドバー ////////// */
	.head-side span {
		font-size: 5vw;
	}
	/* サイドバー ////////// */

	/* 見出し */
	.head-main {
		margin-bottom: 5vw;
		font-size: 6vw;
		line-height: 1.25;
	}

	/* 見出し */

	/* 見出し */
	.head-sub,
	.head-sub a {
		font-size: 4.5vw;
	}
	.privacy-policy .head-sub,
	.sitemap .head-sub a {
		padding: 0.4em 1em;
		line-height: 1.25;
	}
	/* 見出し */

	/* 見出し */
	.head-item {
		margin-bottom: 0.25em;
		font-size: 6vw;
	}
	.text-item {
		line-height: 1.25;
	}
	.icon-earth:before {
		width: 6vw;
		height: 6vw;
	}
	/* 見出し */

	/* 見出し */
	.wrap-head-blue {
		padding: 1em;
	}
	.wrap-head-blue h2 {
		font-size: 4.5vw;
	}
	/* 見出し */

	/* テキスト */
	.text-common {
		line-height: 1.7;
	}
	/* テキスト */

	/* トップに戻るボタン */
	.pagetop {
		right: 5vw;
		bottom: 5vw;
		width: 10vw;
		height: auto;
	}
	/* トップに戻るボタン */

	/* ボタン */
	.wrap-btn > li:not(:last-child) {
		margin-bottom: 1em;
	}
	.btn {
		padding: 0.75em 2em;
		width: 100%;
		line-height: 1.25;
		font-size: 4.5vw;
		border-radius: 1.375em;
	}
	.btn:after {
		font-size: 4vw;
		width: 4vw;
		height: 4vw;
		line-height: 4vw;
	}
	/* ボタン */

	/* ページタイトル */
	.head-page {
		margin-bottom: 1em;
		font-size: 5vw;
	}
	.head-page:after {
		font-size: 3vw;
	}
	/* ページタイトル */

	/* パンくず */
	.breadcrumb {
		margin: 0.5em 0;
	}
	.breadcrumb li:not(:first-child):before {
		font-size: 3vw;
	}
	.breadcrumb a,
	.breadcrumb span {
		font-size: 3vw;
	}
	/* パンくず */

	/* ページ送り */
	.pager {
		margin: 10vw auto;
	}
	.pager li {
		margin: 0 0.25em;
	}
	.page {
		min-width: 8vw;
		height: 10vw;
		font-size: 5vw;
		line-height: 10vw;
	}
	/* ページ送り */

	/* ページメイン画像 */
	.main-page img {
		width: 100%;
		height: 40vw;
	}
	/* ページメイン画像 */

	/* 共通テーブル */
	.table-common th {
		padding: 1em;
	}
	.table-common td {
		padding: 1em 1em 2em;
		line-height: 1.5;
	}
	/* 共通テーブル */

	/* 下層ページ　トップ画像 */
	.page-top {
		background: url(../images/bg-page-top-sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.page-top p {
		padding: 1em 0 1em 0.5em;
		font-size: 4.5vw;
		line-height: 1.25;
		letter-spacing: 0.2em;
	}
	/* 下層ページ　トップ画像 */

	/* 関連会社リンク */
	.section-links {
		padding: 10vw 0;
	}
	.wrap-link > li:last-child {
		width: 97%;
	}
	/* 関連会社リンク */
}
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
