@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900|Roboto:100,100i,300,300i,400,400i,500,500i,700,700i&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese');

/*	レイアウト
---------------------------------*/
body {
	width: 100%;
	line-height: 1.6;
	color: #111;
	font-family: 'Noto Sans JP', sans-serif;
}
#wrapper {
	overflow: hidden;
}

/*	ヘッダー
---------------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1010;
	-webkit-transition: background .3s ease-in-out;
	-moz-transition: background .3s ease-in-out;
	transition: background .3s ease-in-out;
}
.hd-inr {
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	margin: auto;
	padding: 25px 0;
	width: 100%;
	max-width: 1720px;
	color: #fff;
}
.hd-logo {
	margin: 0 15px 0 0;
}
.hd-info {
	-webkit-align-items: center;
	align-items: center;
}
.hd-contact {
	width: 90px;
	background: #444d00;
	text-align: center;
	font-size: 15px;
	color: #fff;
	line-height: 35px;
}
@media screen and (max-width:1720px) {
.hd-inr {
	padding-left: 15px;
	padding-right: 15px;
}
}
@media screen and (max-width: 1023px) {
.hd-logo {
	max-width: 220px;
}
}
@media screen and (max-width: 767px) {
.hd-inr {
	padding: 10px;
}
.hd-logo {
	margin: 0;
	max-width: 150px;
}
.hd-contact {
	display: none;
}
.hd-tel {
	display: block;
	position: absolute;
	right: 40px;
	top: 0;
	margin: auto;
	background: #000;
	cursor: pointer;
	z-index: 1001;
}
.hd-tel a {
	display: block;
	position: relative;
	width: 40px;
	height: 40px;
}
.hd-tel a:before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	width: 25px;
	height: 25px;
	background: url(../images/common/icon_tel.png) no-repeat center center;
	background-size: contain;
}
.hd-tel span {
	display: none;
}
}

/*	フッター
---------------------------------*/
footer {
	position: relative;
	font-size: 0.8125rem;
	background: #222;
	color: #fff;
}
.ft-inr {
	-webkit-align-items: center;
	align-items: center;
	margin: 0 auto;
	padding: 40px 0;
	max-width: 1180px;
	font-size: 0.8125rem;
}
.ft-info {
	margin: 0 20px 0 0;
}
.ft-info h2 {
	margin: 0 0 25px;
}
.ft-info p {
	margin: 0 0 1em;
}
.ft-nav {
	font-size: 0.875rem;
}
.ft-nav > ul {
	margin: 0 75px 0 0;
}
.ft-nav > ul:last-of-type {
	margin: 0 20px 0 0;
}
.ft-nav > ul > li {
	margin: 0 0 22px;
	line-height: 1;
}
.ft-nav > ul > li:last-of-type {
	margin: 0;
}
.ft-copyright {
	padding: 0;
	background: #fff;
	text-align: center;
	font-size: 0.75rem;
	color: #222;
	line-height: 55px;
}
@media screen and (max-width:1180px) {
.ft-inr {
	padding-left: 15px;
	padding-right: 15px;
}
}
@media screen and (max-width: 1023px) {
.ft-info h2 {
	max-width: 280px;
}
.ft-nav > ul {
	margin: 0 25px 0 0;
}
}
@media screen and (max-width: 767px) {
footer {
	position: relative;
	font-size: 0.8125rem;
}
.ft-inr {
	padding: 30px 15px 20px;
}
.ft-info {
	margin: 0;
	width: 100%;
	text-align: center;
	font-size: 0.75rem;
}
.ft-info h2 {
	margin: 0 auto 10px;
	max-width: 200px;
}
.ft-nav {
	display: none;
}
.ft-copyright {
	font-size: 0.625rem;
	line-height: 35px;
}
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	margin: 0;
	font-size: 0.9378rem;
	line-height: 1.4;
	z-index: 1000;
}
.pc-nav ul {
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin: 0 45px 0 0;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0 0 0 60px;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-weight: 400;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
.pc-nav > ul > li > a span {
	position: relative;
	padding: 0;
}
.pc-nav > ul > li > a span strong {
	display: block;
	margin: 0 0 5px;
	font-size: 1rem;
}
.pc-nav > ul > li > a span small {
	display: block;
	font-size: 0.6875rem;
	color: #aaa;
}
.pc-nav > ul > li a:hover,
.pc-nav > ul > li.current a{
	opacity: 1;
}
@media screen and (max-width: 1279px) {
.pc-nav > ul > li {
	position: relative;
	margin: 0 0 0 20px;
}
}
@media screen and (max-width: 1023px) {
.pc-nav ul {
	margin: 0 25px 0 0;
}
}
@media screen and (max-width: 767px) {
.pc-nav {
	display:none;
}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width: 767px) {
header nav.sp-nav {
	display: block;
	position: absolute;
	top: -1180px; /* 開いてないときは画面外に配置 */
	left: 0;
	padding: 10px 10px 30px;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.85);
	box-shadow: 0px 7px 15px -5px rgba(0, 0, 0, 0.2);
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	font-size: 14px;
	font-weight: 500;
	z-index: 1000;
}
header nav.sp-nav a{
	display: block;
	color:#fff;
}
header nav.sp-nav a *{
	transition: 0s;
}
header nav.sp-nav .logo{
	width: 150px;
	text-align: left;
}
header nav.sp-nav .logo+ul {
	display: block;
	margin-top: 0.5em;
}
header nav.sp-nav .logo+ ul li a {
	border-top: 1px solid #666;
	padding: 10px 0;
	position: relative;
}
header nav.sp-nav .logo+ ul li a img {
	display: none;
}
header nav.sp-nav .logo+ ul li a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
header nav.sp-nav .logo+ ul li:first-child a {
	border-top: none;
}
header nav.sp-nav .logo+ ul li:first-child a .material-icons {
	display: none;
}
header nav.sp-nav .logo+ ul li small {
	display: none;
}
header nav.sp-nav .sp-nav-sub {
	background: rgba(255,255,255,0.2);
	margin-top: 0.5em;
}
header nav.sp-nav .sp-nav-sub li {
	border-top: 1px solid #666;
	font-size: 13px;
}
header nav.sp-nav .sp-nav-sub li:first-child {
	border-top: none;
}
header nav.sp-nav .sp-nav-sub li a {
	padding: 7px;
}
#wrapper header nav.sp-nav .header-contact {
	margin-top: 1em;
	text-align: center;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	flex-wrap:wrap;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
header nav.sp-nav .header-contact a{
	width: 48%;
	padding: 10px 0;
	letter-spacing: 0;
}
header nav.sp-nav .header-contact a span{
	background-position: left center;
	background-repeat: no-repeat;
}
header nav.sp-nav .header-contact .blc-tel {
	border: 2px solid #444d00;
	font-weight: 500;
	color: #fff;
}
header nav.sp-nav .header-contact .blc-contact {
	background: #444d00;
	border: 2px solid #444d00;
	font-weight: 500;
	color: #fff;
}	
/* ナビゲーション スライドアニメーション */
header.open nav.sp-nav {
	-moz-transform: translateY(1180px);
	-webkit-transform: translateY(1180px);
	-webkit-transition: -webkit-translateY(1180px);
	transform: translateY(1180px);
}
/*ハンバーガーボタン*/
header .navToggle {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background: #444d00;
	cursor: pointer;
	z-index: 1001;
}
header .navToggle div {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	width: 22px;
	height: 14px;
}
header .navToggle span {
	display: block;
	position: absolute;
	height:2px;
	width:100%;
	background: #fff;
	left:0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	border-radius:5px;
}
header .navToggle span:nth-child(1) {
	top: 0;
}
header .navToggle span:nth-child(2) {
	top: 6px;
}
header .navToggle span:nth-child(3) {
	top: 12px;
}
/* ハンバーガーボタン 切り替えアニメーション */
header.open .navToggle span {
}
header.open .navToggle span:nth-child(1) {
	top: 6px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
header.open .navToggle span:nth-child(2) {
	width: 0; left: 50%;
}
header.open .navToggle span:nth-child(3) {
	top: 6px; -webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	max-width: 1180px;
}
@media screen and (max-width:1180px) {
.contents-inr {
	padding-left: 15px;
	padding-right: 15px;
}
}

/*	汎用タイトル
---------------------------------*/
.cmn-ttl-inr {
	-webkit-align-items: center;
	align-items: center;
	max-width: 1180px;
}
.ttl-cmn01 {
	position: relative;
	margin: 0 0 45px;
	text-align: left;
	color: #444d00;
	line-height: 1;
}
.ttl-cmn01.chg-col01 {
	color: #fff;
}
.ttl-cmn01 span {
	display: block;
	position: relative;
	margin: 0 0 15px;
	font-size: 6.25rem;
	font-weight: 600;
}
.ttl-cmn01 small {
	display: block;
	position: relative;
	margin: 0;
	font-size: 2rem;
	font-weight: 600;
}
.ttl-cmn02 {
	position: relative;
	margin: 0 0 65px;
	text-align: center;
	line-height: 1;
}
.ttl-cmn02 span {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	font-size: 12.5rem;
	font-weight: 600;
	color: #b29257;
	opacity: 0.08;
	font-family: 'Roboto', sans-serif;
}
.ttl-cmn02 small {
	display: block;
	position: relative;
	margin: 0;
	font-size: 2.25rem;
	font-weight: 600;
	color: #444d00;
}
@media screen and (max-width:1023px) {
.ttl-cmn01 span {
	font-size: 4.25rem;
}
.ttl-cmn01 small {
	font-size: 1.25rem;
}
.ttl-cmn02 span {
	font-size: 8.5rem;
}
.ttl-cmn02 small {
	font-size: 1.5rem;
}
}
@media screen and (max-width:767px) {
.ttl-cmn01 {
	margin: 0 0 25px;
}
.ttl-cmn01 span {
	font-size: 1.5rem;
}
.ttl-cmn01 small {
	font-size: 0.8125rem;
}
.ttl-cmn02 {
	margin: 0 0 25px;
}
.ttl-cmn02 span {
	font-size: 4.5rem;
}
.ttl-cmn02 small {
	font-size: 1.25rem;
}
}

/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
	margin: 0 auto;
	width: 200px;
	font-family: 'Roboto', sans-serif;
}
.btn-cmn01 a {
	display: block;
	position: relative;
	padding-right: 18px;
	width: 100%;
	border: 2px solid #444d00;
	text-align: center;
	font-size: 20px;
	color: #444d00;
	line-height: 46px;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn01 a:hover {
	background: #444d00;
	color: #fff;
	opacity: 1;
}
.btn-cmn01 a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 11px;
	height: 11px;
	margin: auto;
	border-top: 2px solid #444d00;
	border-right: 2px solid #444d00;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn01 a:hover {
	opacity: 1;
}
.btn-cmn01 a:hover:after {
	border-color: #fff;
}
.btn-cmn02 {
	margin: 0;;
	width: 200px;
	font-family: 'Roboto', sans-serif;
}
.btn-cmn02 a {
	display: block;
	position: relative;
	padding-right: 18px;
	width: 100%;
	border: 2px solid #fff;
	text-align: center;
	font-size: 20px;
	color: #fff;
	line-height: 46px;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn02 a:hover {
	background: #fff;
	color: #444d00;
	opacity: 1;
}
.btn-cmn02 a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 11px;
	height: 11px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn02 a:hover {
	opacity: 1;
}
.btn-cmn02 a:hover:after {
	border-color: #444d00;
}
.btn-cmn03 {
	margin: 0;;
	width: 110px;
}
.btn-cmn03 a {
	display: block;
	position: relative;
	padding-right: 9px;
	width: 100%;
	background: #fff;
	border: 2px solid #fff;
	text-align: center;
	font-size: 16px;
	color: #444d00;
	line-height: 36px;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn03 a:hover {
	background: #444d00;
	color: #fff;
	opacity: 1;
}
.btn-cmn03 a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #444d00;
	border-right: 2px solid #444d00;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.btn-cmn03 a:hover {
	opacity: 1;
}
.btn-cmn03 a:hover:after {
	border-color: #fff;
}
@media screen and (max-width:767px) {
.btn-cmn01 {
	width: 180px;
}
.btn-cmn01 a {
	font-size: 16px;
}
.btn-cmn01 {
	width: 180px;
}
.btn-cmn02 a {
	font-size: 16px;
}
.btn-cmn03 a {
	font-size: 14px;
}
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	width: 100%;
}
.main-img {
	width: 100%;
	height: 950px;
}
.main-img.img01 {
	background: url(../images/top/img_main01.png) no-repeat center top;
	background-size: cover;
}
.main-img.img02 {
	background: url(../images/top/img_main02.png) no-repeat center top;
	background-size: cover;
}
.main-img.img03 {
	background: url(../images/top/img_main03.png) no-repeat center top;
	background-size: cover;
}
.main-img-cap {
	position: absolute;
	bottom: -35px;
	left: 0;
	padding: 3.9% 4%;
	width: 50%;
	background: #000;
	color: #fff;
	z-index: 100;
}
.main-img-cap h2 {
	text-align: left;
}
.main-img-cap h2 small {
	display: block;
	margin: 0 0 10px;
	font-size: 2rem;
	font-weight: 500;
}
.main-img-cap h2 strong {
	font-size: 2.375rem;
	font-weight: 500;
}
@media screen and (max-width:1023px) {
.main-img-cap h2 small {
	font-size: 1.25rem;
}
.main-img-cap h2 strong {
	font-size: 1.75rem;
}
}
@media screen and (max-width:767px) {
.main-img {
	height: 105vw;
}
.main-img-cap {
	position: absolute;
	bottom: -25px;
	left: 0;
	padding: 15px;
	width: 70%;
}
.main-img-cap h2 small {
	margin: 0 0 5px;
	font-size: 0.8125rem;
}
.main-img-cap h2 strong {
	font-size: 0.875rem;
	font-weight: 500;
}
.main-img-cap h2 br {
	display: none;
}
}


/*	トップページ
---------------------------------*/

/*	仕事を知る	*/
.top-greeting {
	position: relative;
	margin: 0;
	padding: 0;
	background: url(../images/top/bg_greeting.png) no-repeat center center #444d00;
	color: #fff;
}
.top-greeting h3 {
	position: absolute;
	top: -74px;
	right: 0;
	width: 49vw;
	z-index: 100;
}
.top-greeting .contents-inr {
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
	max-width: 880px;
}
.top-greeting figure {
	position: relative;
	width: 33%;
	max-width: 290px;
}
.top-greeting figure div {
	position: absolute;
	top: 0;
	left: -5.1vw;
	width: 46.875vw;
	height: 100%;
	background: url(../images/top/img_greeting.png) no-repeat center center;
	background-size: cover;
}
.top-greeting-txt {
	position: relative;
	padding: 170px 0 110px;
	width: 67%;
	max-width: 590px;
	font-size: 1.125rem;
	z-index: 2;
}
.top-greeting-txt h4 {
	margin: 0 0 30px;
	font-size: 2rem;
	font-weight: 500;
}
.top-greeting-txt p {
	margin: 0 0 35px;
	line-height: 2;
}
@media screen and (max-width:767px) {
.top-greeting {
	padding: 40px 0;
}
.top-greeting h3 {
	display: none;
}
.top-greeting .contents-inr {
	display: block;
	max-width: 880px;
}
.top-greeting figure {
	margin: 0 0 20px;
	width: 100%;
	max-width: 100%;
	height: 250px;
}
.top-greeting figure div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-greeting-txt {
	padding: 0;
	width: 100%;
	max-width: 100%;
	font-size: 0.8125rem;
}
.top-greeting-txt h4 {
	margin: 0 0 20px;
	font-size: 1.125rem;
}
.top-greeting-txt p {
	margin: 0 0 25px;
}
}

/*	キャリア	*/
.top-carrer {
	counter-reset: number 0;
	position: relative;
	margin: 0;
	padding: 90px 0 0;
	background: url(../images/top/bg_carrer.png) no-repeat center top;
	background-size: cover;
	text-align: center;
	color: #fff;
}
.top-carrer h3 {
	margin: 0 0 25px;
	font-size: 2.25rem;
	font-weight: 600;
}
.top-carrer .top-carrer-txt {
	margin: 0 0 30px;
	font-size: 1.125rem;
}
.top-carrer ul {
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.top-carrer li {
	padding: 1.2%;
	width: 19.9%;
	background: rgba(68,77,0,0.65);
	text-align: left;
	font-size: 0.875rem;
	color: #fff;
}
.top-carrer li:nth-of-type(1) {
	min-height: 175px;
}
.top-carrer li:nth-of-type(2) {
	min-height: 220px;
}
.top-carrer li:nth-of-type(3) {
	min-height: 265px;
}
.top-carrer li:nth-of-type(4) {
	min-height: 310px;
}
.top-carrer li:nth-of-type(5) {
	min-height: 355px;
}
.top-carrer li h4 {
	margin: 0 0 15px;
	font-size: 1.375rem;
	font-weight: 500;
}
.top-carrer li h4:before {
	display: block;
	counter-increment: number 1;
	content: "STEP" counter(number,decimal-leading-zero);
	margin: 0 0 10px;
	font-size: 1.875rem;
	color: #8f9273;
	line-height: 1;
	font-family: 'Roboto', sans-serif;
}
@media screen and (max-width:1279px) {
.top-carrer li {
	font-size: 0.8125rem;
}
.top-carrer li h4 {
	font-size: 1.125rem;
}
.top-carrer li h4:before {
	font-size: 1.25rem;
}
}
@media screen and (max-width:1023px) {
.top-carrer li {
	font-size: 0.75rem;
}
}
@media screen and (max-width:767px) {
.top-carrer {
	padding: 40px 0 30px;
}
.top-carrer h3 {
	margin: 0 0 15px;
	font-size: 1rem;
}
.top-carrer .top-carrer-txt {
	margin: 0 0 20px;
	font-size: 0.875rem;
}
.top-carrer ul {
	display: block;
}
.top-carrer li {
	margin: 0 0 10px;
	padding: 10px;
	width: 100%;
	font-size: 0.8125rem;
}
.top-carrer li:nth-of-type(1),
.top-carrer li:nth-of-type(2),
.top-carrer li:nth-of-type(3),
.top-carrer li:nth-of-type(4),
.top-carrer li:nth-of-type(5) {
	min-height: initial;
}
.top-carrer li h4 {
	margin: 0 0 10px;
	font-size: 1rem;
}
.top-carrer li h4:before {
	font-size: 1.125rem;
}
}

/*	仕事を知る	*/
.top-about {
	position: relative;
	margin: 0;
	padding: 60px 0 45px;
	background: #000;
	text-align: center;
	color: #fff;
}
.top-about h3 {
	margin: 0 0 15px;
	font-size: 2.25rem;
	font-weight: 600;
}
.top-about p {
	font-size: 1.25rem;
	line-height: 2;
}
@media screen and (max-width:767px) {
.top-about {
	padding: 30px 0 25px;
}
.top-about h3 {
	margin: 0 0 15px;
	font-size: 1.25rem;
}
.top-about p {
	font-size: 0.875rem;
}
}

/*	こんな方	*/
.top-person {
	padding: 90px 0 65px;
	background: url(../images/top/bg_person.png) no-repeat center top #f7f7f7;
	text-align: center;
}
.top-person-inr {
	padding: 50px 45px 35px;
	background: #444d00;
}
.top-person-list {
	position: relative;
	text-align: left;
	color: #fff;
}
.top-person-list:before {
	display: block;
	content: "";
	position: absolute;
	left: calc(100% - 175px);
	bottom: -117px;
	width: 492px;
	height: 675px;
	background: url(../images/top/img_person.png) no-repeat center center;
}
.top-person-list ul {
	margin: 0 30px 0 0;
}
.top-person-list ul:last-of-type {
	margin: 0;
}
.top-person-list li {
	position: relative;
	margin: 0 0 15px;
	padding: 0 0 0 30px;
	font-size: 1.25rem;
}
.top-person-list li:before {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	width: 25px;
	height: 24px;
	background: url(../images/common/icon_check.png) no-repeat center center;
}
@media screen and (max-width:1279px) {
.top-person-inr {
	padding: 50px 25px 25px;
}
.top-person-list ul {
	margin: 0 15px 0 0;
}
.top-person-list li {
	font-size: 1rem;
}
}
@media screen and (max-width:1023px) {
.top-person-list:before {
	display: none;
}
.top-person-list li {
	font-size: 0.9378rem;
}
}
@media screen and (max-width:767px) {
.top-person {
	padding: 40px 0 35px;
}
.top-person-inr {
	padding: 20px 15px 15px;
}
.top-person-list {
	position: relative;
	display: block;
	text-align: left;
	color: #fff;
}
.top-person-list ul {
	margin: 0;
}
.top-person-list li {
	margin: 0 0 10px;
	padding: 0 0 0 20px;
	font-size: 0.875rem;
}
.top-person-list li:before {
	width: 15px;
	height: 14px;
	background-size: contain;
}
}

/*	採用に関するご質問	*/
.top-faq {
	padding: 90px 0;
}
.top-faq li {
	margin: 0 0 10px;
	padding: 20px 25px;
	background: #f7f7f7;
	color: #444d00;
}
.faq-ques {
	position: relative;
	padding: 0 0 0 60px;
	font-size: 1.5rem;
	font-weight: 600;
	cursor: pointer;
}
.faq-ques:before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 30px;
	height: 33px;
	background: url(../images/top/icon_ques.png) no-repeat center center;
}
.faq-answ {
	display: none;
	position: relative;
	margin: 16px 0 0;
	padding: 16px 0 0 60px;
	border-top: 1px dashed #444d00;
	font-size: 1rem;
}
.faq-answ:before {
	content: "";
	position: absolute;
	top: 16px;
	left: 0;
	width: 29px;
	height: 29px;
	background: url(../images/top/icon_answ.png) no-repeat center center;
}
@media screen and (max-width:767px) {
.top-faq {
	padding: 40px 0;
}
.top-faq li {
	padding: 15px;
}
.faq-ques {
	padding: 0 0 0 30px;
	font-size: 1.125rem;
}
.faq-ques:before {
	top: 3px;
	width: 20px;
	height: 22px;
	background-size: contain;
}
.faq-answ {
	margin: 8px 0 0;
	padding: 8px 0 0 30px;
	border-top: 1px dashed #444d00;
	font-size: 0.8125rem;
}
.faq-answ:before {
	top: 10px;
	width: 20px;
	height: 20px;
	background-size: contain;
}
}

/*	施工実績	*/
.cmn-works {
	padding: 60px 0 80px;
}
.cmn-works ul {
	margin: 0 0 30px;
}
.cmn-works li {
	margin: 0 0.13% 0 0;
	width: 24.9%;
	font-size: 0.875rem;
}
.cmn-works li:nth-of-type(4n) {
	margin-right: 0;
}
.cmn-works li figure {
	position: relative;
	margin: 0;
}
.cmn-works-inr {
	padding: 5.2%;
	text-align: center;
}
.cmn-works-ttl {
	position: relative;
	margin: 0 0 15px;
	line-height: 1;
}
.cmn-works-ttl span {
	display: block;
	position: relative;
	padding: 0 0 15px;
	font-size: 1.25rem;
	font-weight: 500;
	color: #444d00;
}
.cmn-works-ttl span:after {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	width: 75px;
	height: 3px;
	background: #596500;
}
.cmn-works-txt {
	margin: 0;
}
@media screen and (max-width:767px) {
.cmn-works {
	padding: 40px 0 35px;
}
.cmn-works ul {
	margin: 0 0 20px;
}
.cmn-works li {
	margin: 0 0.2% 0 0;
	width: 49.9%;
	font-size: 0.8125rem;
}
.cmn-works li:nth-of-type(2n) {
	margin-right: 0;
}
.cmn-works li figure {
	position: relative;
	margin: 0;
}
.cmn-works-inr {
	padding: 5.2%;
	text-align: center;
}
.cmn-works-ttl {
	margin: 0 0 20px;
}
.cmn-works-ttl span {
	font-size: 1rem;
}
.cmn-works-ttl span:after {
	height: 2px;
}
.cmn-works-txt {
	margin: 0;
}
}

/*	ブログ	*/
.top-blog {
	padding: 65px 0 45px;
	background: #444d00;
}
.top-blog .ttl-cmn01 {
	margin: 0 0 30px;
}
.top-blog li {
	margin-bottom: 2.11%;
	width: 48.72%;
	max-width: 575px;
	background: #fff;
}
.top-blog-inr {
	padding: 15px;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.top-blog li:hover .top-blog-inr {
	background: #f8f8f8;
}
.top-blog-txt {
	padding: 15px 0 0;
	width: calc(100% - 200px);
	font-size: 1rem;
}
.top-blog-txt > span {
	color: #999;
}
.top-blog-txt p {
	margin: 0 0 20px;
}
.top-blog-txt p span {
	border-bottom: 1px solid #444d00;
	font-weight: 500;
	color: #444d00;
}
.top-blog li:hover .top-blog-txt p span {
	border-bottom: none;
}
.top-blog-more {
	position: relative;
	padding: 0 51px 0 0;
	text-align: right;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	color: #da0617;
	font-family: 'Roboto', sans-serif;
}
.top-blog-more:after {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 41px;
	height: 9px;
	background: url(../images/common/icon_arw01.png) no-repeat;
	background-size: contain;
}
@media screen and (max-width:767px) {
.top-blog {
	padding: 40px 0 35px;
}
.top-blog .ttl-cmn01 {
	margin: 0 0 10px;
}
.top-blog li {
	margin: 0 auto 2.7%;
	width: 100%;
}
.top-blog li figure {
	max-width: 80px;
}
.top-blog-txt {
	padding: 0;
	width: calc(100% - 95px);
	font-size: 0.8125rem;
}
}

/*	エントリー	*/
.cmn-bnr {
	margin: 0;
	padding: 80px 0 5px;
}
.cmn-bnr p {
	margin: 0 auto 70px;
	text-align: center
}
@media screen and (max-width:767px) {
.cmn-bnr {
	padding: 40px 0 5px;
}
.cmn-bnr p {
	margin: 0 auto 30px;
}
}

/*=============================
	Sub(Lower)Page setting
===============================*/

.fadein { opacity : 0; transform: translateY(20px); transition: all 1s; }

/* main_visual
-------------------------*/
#sub_visual {height:330px;background: url(../images/common/bg_visual.png) no-repeat center center; background-size: cover;background-attachment: fixed;}
#sub_visual h2 {padding-top: 170px; margin: 0 auto; width: 1180px;text-align:center;}
#sub_visual h2 span{font-weight: bold; font-size: 48px; color: #fff;border-bottom: 1px solid #fff; padding-bottom: 10px;}

/* sub_contents
-------------------------*/
#sub_contents {font-size: 15px;}
#sub_contents section{width: 1180px; margin: 110px auto 120px;}
#sub_contents p{margin-bottom: 10px; font-size: 15px;}
#sub_contents h3{ position: relative; margin: 0 0 65px; text-align: center; line-height: 1; }
#sub_contents h3 span { display: block; position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); font-size: 8.5rem; width: 100%; font-weight: 600; color: #b29257; opacity: 0.08; font-family: 'Roboto', sans-serif; }
#sub_contents h3 small { display: block; position: relative; margin: 0; font-size: 2.25rem; font-weight: 600; color: #444d00; }
#sub_contents h3 b{display: block;margin-top: 20px;}
#sub_contents .ulbox{margin:0px 0px 10px 0px;}
#sub_contents .ulbox li{padding:5px 0px;list-style-type:disc;overflow:visible;list-style-position: inside;}
#sub_contents hr{border-width: 0.5px; margin: 80px auto; border-color: #ddd;}
#sub_contents .img_right{float: right;margin-left: 25px;}
#sub_contents .img_left{float: left;margin-right: 25px;}

/* bread_crumb_list
------------------------------*/
#sub_contents .bread_crumb_list{font-size: 13px; color:#ccc;position: relative;background: #000;}
#sub_contents .bread_crumb{text-align:left;padding:20px 0px 20px; width: 1180px; margin: 0px auto 0px;}
#sub_contents .bread_crumb li { display:inline;}
#sub_contents .bread_crumb li:after {content : '>>';padding-left:5px;}
#sub_contents .bread_crumb li:last-child:after { content : '';}
#sub_contents .bread_crumb li a {text-decoration:underline;}
#sub_contents .bread_crumb li a:hover{ text-decoration:none;}
#sub_contents .bread_crumb li.current { font-weight: normal;} 

/* business
-------------------------*/
#sub_contents.business section{margin: 100px auto 120px;}
#sub_contents.business h3{text-align: left; }
#sub_contents.business h3 span{color: #fff;}
#sub_contents.business h3 small{color: #fff;}
#sub_contents.business{background: url(../images/business/bg_business.png) no-repeat center center; background-size: cover;}
#sub_contents.business p{font-size: 17px; font-weight: bold; margin-bottom: 20px; line-height: 180%;}
#sub_contents.business p span.bb{ font-size: 29px; font-weight: bold; margin-bottom: 5px;color: #444d00; display: inline-flex; border-bottom: 1px solid #444d00; padding-bottom: 10px;}
#sub_contents.business p.rr{position: relative;margin-bottom: 100px;}
#sub_contents.business p.rr b{position: absolute; font-size: 100px;bottom:0px; color: #fff; opacity: 0.7;}

/* works
-------------------------*/
#sub_contents ul.w_area li.w01{width: 63%;display: inline;float: left;}
#sub_contents ul.w_area li.w01 img{width: 100%;}
#sub_contents ul.w_area li.w02{float: left;width: 37%;}
#sub_contents .custom-thumb { padding: 0 0 0 3%; width: auto; }
#sub_contents .custom-thumb a { margin: 0 0 0 0; max-width: 50%; }
#sub_contents .custom-thumb a img{margin-bottom: 1.5%;}

/* recruit
-------------------------*/
#sub_contents .txt_cen{text-align: center; font-weight: bold; font-size: 26px;position: relative;padding: 60px 0px;color: #444d00;}
#sub_contents .txt_cen::before{content: "［";font-size: 140px;position: absolute;left: 0px;opacity: 0.1;color: #444d00;top: 0%; font-weight: normal;}
#sub_contents .txt_cen::after{content: "］";font-size: 140px;position: absolute;right: 0px;opacity: 0.1;color: #444d00;top: 0%; font-weight: normal;}

/* company
-------------------------*/
#sub_contents.company{border-bottom: 0px solid #ddd;}
#sub_contents table.tbl_company tr:first-child{ border-top:1px solid #ccc;}
#sub_contents table.tbl_company tr{ display:block;border-bottom:1px solid #ccc; padding:12px 0px;}
#sub_contents table.tbl_company th{background: #444d00; color: #fff;width: 320px; font-weight: bold; vertical-align: middle;}
#sub_contents table.tbl_company td{ padding:10px 10px 10px 35px;background: #eee;width:960px;}
#sub_contents table.tbl_company td a{color: #444d00;text-decoration: underline;}
#sub_contents table.tbl_company td a.tel{color: inherit;text-decoration:inherit;}
#sub_contents .bg_access{background: #f7f7f7;padding: 50px 0px;}
#sub_contents .bg_access iframe{border: 10px solid #fff;}
#sub_contents .bg_access h2 small {background: #eff3f9; }
#sub_contents .bg_access h2 b{background: #eff3f9;}

/* sitemap
------------------------------*/
#sub_contents ul.sitemap_list{margin-bottom: 50px;padding: 30px 35px 20px;box-sizing: border-box;border: 1px solid #ddd;}
#sub_contents ul.sitemap_list li a{padding-left: 30px;line-height: 55px;overflow: hidden; margin-bottom:20px; display: block; width: 48.5%; float: right; box-sizing: border-box; font-size: 17px;text-align:center;background: #f4f5e9;position: relative; font-weight: bold;}
#sub_contents ul.sitemap_list li a small{ font-size: 15px;margin-left: 10px; opacity: 0.2; text-transform: lowercase;}
#sub_contents ul.sitemap_list li:first-child a{width: 100%;}
#sub_contents ul.sitemap_list li:nth-child(even) a{ float: left;}
#sub_contents ul.sitemap_list li a:hover{color: #fff; text-decoration:none; background:#444d00;opacity: 1.0; letter-spacing: 0.1em; font-weight: bold;}
#sub_contents ul.sitemap_list li a:after{content: ""; position: absolute; top: 0; bottom: 0; right: 35px; width: 8px; height: 8px; margin: auto; border-top: 2px solid #444d00; border-right: 2px solid #444d00; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
#sub_contents ul.sitemap_list li a:hover:after{border-top: 2px solid #fff; border-right: 2px solid #fff;}

/* privacy
----------------------------------- */
#sub_contents.privacy h3{text-align:left; font-size: 1.5rem; font-weight: bold;margin-bottom:30px; width:100%;position: relative;display: inline-block; margin-top:20px;font-weight: bold;text-align: left;padding: 0px;}
#sub_contents.privacy h3:before {top:inherit;background: none; content: '';position: absolute;bottom: -12px;display: inline-block;width:110px;height:3px;left:0%;-moz-transform: translateX(0%);-webkit-transform: translateX(0%);-ms-transform: translateX(0%);transform: translateX(0%);background:#0380d2;}
#sub_contents.privacy h3::after{display: none;}
#sub_contents.privacy h3:first-child{ margin-top: 10px;}
#sub_contents.privacy hr{margin: 60px auto 40px;height: 0.5px;border:0.5px solid #ddd;}

/* entry
----------------------------------- */
#sub_contents p.con_cen{ border: 1px solid #444d00;text-align:center; padding:30px 50px 30px; font-size:16px; line-height:180%; margin:50px 0px 60px;}
#sub_contents p.con_cen a{ display: inline-block; margin:15px 0px;}
#sub_contents p.con_cen a.cc-tel{margin: 5px 0 0px; padding: 10px 0 10px 0px; font-size: 2.475rem;font-weight: normal;font-family: 'Oswald', sans-serif;font-weight: 500;letter-spacing: 0.03em;}
#sub_contents p.con_cen a.cc-tel small{font-size: 2.0rem;}
#sub_contents p.con_cen span{font-size: 1.1rem;color: #444d00;display:block;font-weight: bold;}
#sub_contents p.con_cen a img:hover{ opacity:1.0;}
#sub_contents table.defTable01{margin:0px auto 80px;border-collapse:collapse; width:100%;box-sizing:border-box;}
#sub_contents table.defTable01 tr{ display:block;border-bottom:1px solid #ddd; padding:10px 0px;}
#sub_contents table.defTable01 tr:first-child{ border-top: 1px solid #ddd;}
#sub_contents table.defTable01 th{ padding:10px 40px 10px 30px;width:36%;display:inline-block; box-sizing:border-box; font-weight:bold; font-size: 15px;}
#sub_contents table.defTable01 th span{ background: #ff5c7a; padding: 5px 30px; text-align: center; width: 200px; color: #fff; display: block;}
#sub_contents table.defTable01 td{ padding:10px 0px 10px 0px;display:inline-block;box-sizing:border-box;width:63.5%; text-align:left;}
#sub_contents table.defTable01 td a{color: #444d00; font-weight: bold;}
#sub_contents table.defTable01 th em.clrred{ font-size:12px;color:#fff;font-style:normal; text-align:center;background:#d30000; padding:1px 5px; display:block; width:50px; float:right;}
#sub_contents table.defTable01 th em.any{ font-size:12px;color:#fff;font-style:normal; text-align:center;background:#333;padding:1px 5px;width:50px; float:right;}
#sub_contents table.defTable01 td.cen{ text-align:center; margin:0 auto; display:block;}
#sub_contents table.defTable01 td.cen input{padding: 10px;color: #000;font-size: 15px;width: 50%;background: #fff;cursor: pointer; border:1px solid #ccc; display:block; text-align:center; margin:0 auto;}
#sub_contents table.defTable01 td.cen input:hover{ background: #000;opacity: 0.8;filter: alpha(opacity=80);-moz-opacity: 1.0;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out; color:#fff;}
#sub_contents table.defTable01 input {padad8843ding: 8px 10px; background: #eee; font-size:13px;border:none;box-sizing:border-box;width:100%;padding: 10px 10px;border-radius: 4px;font-weight: bold;}
#sub_contents table.defTable01 textarea  {padding:8px 10px;background: #eee;font-size:13px; border:none; width:100%;box-sizing: border-box;padding: 10px 10px;border-radius: 4px;font-weight: bold;}
#sub_contents table.defTable01 .bbn {border-bottom: none!important;}
#sub_contents table.defTable01 td.tel_area input {width:23%;}
#sub_contents table.defTable01 input[type="checkbox"] { width:3%;}
#sub_contents table.defTable01 input[type="checkbox"]::before {content: "";background: #000;}
#sub_contents table.defTable01 input[type="radio"] { width:3%;}

/* privacy
----------------------------------- */
#sub_contents.privacy h3:first-child{ margin-top: 10px;}
#sub_contents.privacy h3{text-align:left; font-size: 1.5rem; font-weight: bold;margin-bottom:30px; width:100%;position: relative;display: inline-block; margin-top:20px;font-weight: bold;text-align: left;padding: 0px;letter-spacing: 0.05em;}
#sub_contents.privacy h3:before {top:inherit;content: '';position: absolute;bottom: -15px;display: inline-block;width:100px;height:3px;left:0%;-moz-transform: translateX(0%);-webkit-transform: translateX(0%);-ms-transform: translateX(0%);transform: translateX(0%);background-color:#444d00;}
#sub_contents.privacy hr{border:0.5px solid #ddd;margin: 50px auto 40px;}

/* news
----------------------------------- */
#sub_contents ul.blog_list li a{ margin-bottom: 3%; width: 48.72%; max-width: 650px; background: #fff; display: block; float: left;box-shadow: 2px 5px 2px #ddd;}
#sub_contents ul.blog_list li:nth-child(2n) a{float: right;}
#sub_contents ul.blog_list li a .top-blog-inr { padding: 15px; -webkit-transition: .3s ease-in-out; -moz-transition: .3s ease-in-out; transition: .3s ease-in-out; }
#sub_contents ul.blog_list li a .top-blog li:hover .top-blog-inr { background: #f8f8f8; }
#sub_contents ul.blog_list li a .top-blog-txt { padding: 15px 0 0; width: calc(100% - 200px); font-size: 1rem; }
#sub_contents ul.blog_list li a .top-blog-txt > span { color: #999; }
#sub_contents ul.blog_list li a .top-blog-txt p { margin: 0 0 20px; }
#sub_contents ul.blog_list li a .top-blog-txt p span { border-bottom: 1px solid #444d00; font-weight: 500; color: #444d00; }
#sub_contents ul.blog_list li a .top-blog li:hover .top-blog-txt p span { border-bottom: none; }
#sub_contents ul.blog_list li a .top-blog-more { position: relative; padding: 0 51px 0 0; text-align: right; font-size: 0.875rem; font-weight: 500; line-height: 1; color: #da0617; font-family: 'Roboto', sans-serif; }
#sub_contents ul.blog_list li a .top-blog-more:after { display: block; content: ""; position: absolute; bottom: 0; right: 0; width: 41px; height: 9px; background: url(../images/common/icon_arw01.png) no-repeat; background-size: contain; }

/* blog_detail
----------------------------------- */
#sub_contents h3.b_ttl small {font-size: 1.6rem;}
#sub_contents .cmn-blog-txt{ border: 1px solid #ddddca; padding: 30px; margin-top: 20px; display: block; font-size: 15px;}
#sub_contents .area_blog img.b_img{ text-align: center; margin: 0 auto 20px; display: block;}

/* wp-page_nav
------------------------------*/
#sub_contents .wp-pagenavi {clear: both;text-align:center;margin-top:50px;}
#sub_contents .wp-pagenavi a,.wp-pagenavi span {display: inline-block;color: #000;background-color: #fff;border: 1px solid #ddd;padding: 8px 12px;margin: 0 2px 5px;white-space: nowrap;text-align: center;text-decoration: none;}
#sub_contents .wp-pagenavi span.pages {display: none;}
#sub_contents .wp-pagenavi a:hover{color: #FFF;background-color: #444d00;border: 1px solid #444d00;}
#sub_contents .wp-pagenavi span.current{color: #fff;background-color: #444d00;font-weight: bold;border: 1px solid #444d00;}

@media screen and (max-width: 1180px) {
#sub_visual h2 {width: 94%;}
#sub_contents section{width: 94%;}
#sub_contents .bread_crumb{width: 94%;}
#sub_contents .img_right{float: none;margin-left: 0px;width: 100%; display: block;margin: 0 auto 10px; text-align: center;}
#sub_contents .img_left{float: none;margin-right: 0px;width: 100%; display: block;margin: 0 auto 10px; text-align: center;}

}

@media screen and (max-width: 767px) {

/* main_visual
-------------------------*/
#sub_visual {height:180px;background: url(../images/common/bg_visual.png) no-repeat center center; background-size: cover;background-attachment: inherit;}
#sub_visual h2 {padding-top: 90px; margin: 0 auto; width: 94%;text-align:center;}
#sub_visual h2 span{font-weight: bold; font-size: 27px; color: #fff;border-bottom: 1px solid #fff; padding-bottom: 10px;}

/* sub_contents
-------------------------*/
#sub_contents {font-size: 13px;}
#sub_contents section{width: 94%; margin: 70px auto 60px;}
#sub_contents p{margin-bottom: 10px; font-size: 13px;}
#sub_contents h3{ position: relative; margin: 0 0 30px; text-align: center; line-height: 1; }
#sub_contents h3 span { display: block; position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); font-size: 50px; width: 100%; font-weight: 600; color: #b29257; opacity: 0.08; font-family: 'Roboto', sans-serif; }
#sub_contents h3 small { display: block; position: relative; margin: 0; font-size: 24px; font-weight: 600; color: #444d00; }
#sub_contents h3 b{display: block;margin-top: 10px;}
#sub_contents .ulbox{margin:0px 0px 10px 0px;}
#sub_contents .ulbox li{padding:5px 0px;list-style-type:disc;overflow:visible;list-style-position: inside;}
#sub_contents hr{border-width: 0.5px; margin: 40px auto; border-color: #ddd;}
#sub_contents .img_right{float: none;margin-left: 0px;width: 100%; margin: 0 auto 10px; text-align: center;display: block;}
#sub_contents .img_left{float: none;margin-right: 0px;width: 100%; margin: 0 auto 10px; text-align: center;display: block;}

/* bread_crumb_list
------------------------------*/
#sub_contents .bread_crumb_list{font-size: 11px; color:#ccc;position: relative;background: #000;}
#sub_contents .bread_crumb{text-align:left;padding:15px 0px 15px; width: 94%; margin: 0px auto 0px;}
#sub_contents .bread_crumb li { display:inline;}
#sub_contents .bread_crumb li:after {content : '>>';padding-left:5px;}
#sub_contents .bread_crumb li:last-child:after { content : '';}
#sub_contents .bread_crumb li a {text-decoration:underline;}
#sub_contents .bread_crumb li a:hover{ text-decoration:none;}
#sub_contents .bread_crumb li.current { font-weight: normal;} 

/* business
-------------------------*/
#sub_contents.business section{margin: 50px auto 60px;}
#sub_contents.business h3{text-align: left; }
#sub_contents.business h3 span{color: #fff;}
#sub_contents.business h3 small{color: #fff; font-size: 18px;}
#sub_contents.business{background: url(../images/business/bg_business.png) no-repeat center center; background-size: cover;}
#sub_contents.business p{font-size: 13px; font-weight: bold; margin-bottom: 15px; line-height: 160%;}
#sub_contents.business p span.bb{ font-size: 17px; font-weight: bold; margin-bottom: 0px;color: #444d00; display: block; border-bottom: 1px solid #444d00; padding-bottom: 10px;}
#sub_contents.business p.rr{position: relative;margin-bottom: 50px;}
#sub_contents.business p.rr b{position: absolute; font-size: 50px;bottom:0px; color: #fff; opacity: 0.7;}

/* works
-------------------------*/
#sub_contents ul.w_area li.w01{width: 100%;display: inline;float: none; }
#sub_contents ul.w_area li.w01 img{width: 100%;margin-bottom: 5px;}
#sub_contents ul.w_area li.w02{float: none;width: 100%;}
#sub_contents .custom-thumb { padding: 0 0 0 0%; width: auto; }
#sub_contents .custom-thumb a { margin: 0 0 0 0; max-width: 50%; float: left;padding: 2px;}
#sub_contents .custom-thumb a img{margin-bottom:0%;}

/* recruit
-------------------------*/
#sub_contents .txt_cen{text-align: center; font-weight: bold; font-size: 13px;position: relative;padding: 0px 0px;color: #444d00; margin-bottom: 30px;}
#sub_contents .txt_cen::before{content: "［";font-size:60px;position: absolute;left: 0px;opacity: 0.1;color: #444d00;top: 0%; font-weight: normal;display: none;}
#sub_contents .txt_cen::after{content: "］";font-size: 60px;position: absolute;right: 0px;opacity: 0.1;color: #444d00;top: 0%; font-weight: normal; display: none;}

/* company
-------------------------*/
#sub_contents.company{border-bottom: 0px solid #ddd;}
#sub_contents table.tbl_company {width: 100%;}
#sub_contents table.tbl_company tr:first-child{ border-top:1px solid #ccc;}
#sub_contents table.tbl_company tr{ display:block;border-bottom:1px solid #ccc; padding:2px 0px;width: 100%;}
#sub_contents table.tbl_company th{padding:10px 10px 10px 10px;background: #444d00; color: #fff;width: 100%; font-weight: bold; vertical-align: middle;display: block;}
#sub_contents table.tbl_company td{ padding:10px 10px 10px 10px;background: #eee;width:100%; display: block;}
#sub_contents table.tbl_company td a{color: #444d00;text-decoration: underline;}
#sub_contents table.tbl_company td a.tel{color: inherit;text-decoration:inherit;}
#sub_contents .bg_access{background: #f7f7f7;padding: 30px 0px;}
#sub_contents .bg_access iframe{border: 4px solid #fff; height: 360px;}
#sub_contents .bg_access h2 small {background: #eff3f9; }
#sub_contents .bg_access h2 b{background: #eff3f9;}

/* sitemap
------------------------------*/
#sub_contents ul.sitemap_list{margin-bottom: 0px;padding: 0px 0px 0px;box-sizing: border-box;border: 0px solid #ddd;}
#sub_contents ul.sitemap_list li a{padding-left: 20px;line-height: 55px;overflow: hidden; margin-bottom:10px; display: block; width: 100%; float: none; box-sizing: border-box; font-size: 14px;text-align:center;background: #f4f5e9;position: relative; font-weight: bold;}
#sub_contents ul.sitemap_list li a small{ font-size: 12px;margin-left: 5px; opacity: 0.2; text-transform: lowercase;}
#sub_contents ul.sitemap_list li:first-child a{width: 100%;}
#sub_contents ul.sitemap_list li:nth-child(even) a{ float: none;}
#sub_contents ul.sitemap_list li a:hover{color: #fff; text-decoration:none; background:#444d00;opacity: 1.0; letter-spacing: 0.1em; font-weight: bold;}
#sub_contents ul.sitemap_list li a:after{content: ""; position: absolute; top: 0; bottom: 0; right: 35px; width: 8px; height: 8px; margin: auto; border-top: 2px solid #444d00; border-right: 2px solid #444d00; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
#sub_contents ul.sitemap_list li a:hover:after{border-top: 2px solid #fff; border-right: 2px solid #fff;}

/* privacy
----------------------------------- */
#sub_contents.privacy h3{text-align:left; font-size: 16px; font-weight: bold;margin-bottom:20px; width:100%;position: relative;display: inline-block; margin-top:15px;font-weight: bold;text-align: left;padding: 0px;}
#sub_contents.privacy h3:before {top:inherit;background: none; content: '';position: absolute;bottom: -12px;display: inline-block;width:110px;height:3px;left:0%;-moz-transform: translateX(0%);-webkit-transform: translateX(0%);-ms-transform: translateX(0%);transform: translateX(0%);background:#0380d2;}
#sub_contents.privacy h3::after{display: none;}
#sub_contents.privacy h3:first-child{ margin-top: 10px;}
#sub_contents.privacy hr{margin: 40px auto 30px;height: 0.5px;border:0.5px solid #ddd;}

/* entry
----------------------------------- */
#sub_contents p.con_cen{ border: 1px solid #444d00;text-align:center; padding:15px 15px 15px; font-size:13px; line-height:160%; margin:30px 0px 30px;}
#sub_contents p.con_cen a{ display: inline-block; margin:10px 0px;}
#sub_contents p.con_cen a.cc-tel{margin: 5px 0 0px; padding: 10px 0 10px 0px; font-size: 26px;font-weight: normal;font-family: 'Oswald', sans-serif;font-weight: 500;letter-spacing: 0.03em;}
#sub_contents p.con_cen a.cc-tel small{font-size: 20px;}
#sub_contents p.con_cen span{font-size: 13px;color: #444d00;display:block;font-weight: bold;}
#sub_contents p.con_cen a img:hover{ opacity:1.0;}
#sub_contents table.defTable01{margin:0px auto 40px;border-collapse:collapse; width:100%;box-sizing:border-box;}
#sub_contents table.defTable01 tr{ display:block;border-bottom:0px solid #ddd; padding:0px 0px;}
#sub_contents table.defTable01 tr:first-child{ border-top: 0px solid #ddd;}
#sub_contents table.defTable01 th{ padding:10px 0px 10px 0px;width:100%;display:block; box-sizing:border-box; font-weight:bold; font-size: 13px;border-top:1px solid #ddd; border-bottom:1px solid #ddd;text-align: left;}
#sub_contents table.defTable01 th span{ background: #ff5c7a; padding: 5px 20px; text-align: center; width: 160px; color: #fff; display: block;}
#sub_contents table.defTable01 td{ padding:10px 0px 10px 0px;display:block;box-sizing:border-box;width:100%; text-align:left;}
#sub_contents table.defTable01 td a{color: #444d00; font-weight: bold;}
#sub_contents table.defTable01 th em.clrred{ font-size:12px;color:#fff;font-style:normal; text-align:center;background:#d30000; padding:1px 5px; display:block; width:50px; float:right;}
#sub_contents table.defTable01 th em.any{ font-size:12px;color:#fff;font-style:normal; text-align:center;background:#333;padding:1px 5px;width:50px; float:right;}
#sub_contents table.defTable01 td.cen{ text-align:center; margin:0 auto; display:block;}
#sub_contents table.defTable01 td.cen input{padding: 10px;color: #000;font-size: 13px;width:100%;background: #fff;cursor: pointer; border:1px solid #ccc; display:block; text-align:center; margin:0 auto;}
#sub_contents table.defTable01 td.cen input:hover{ background: #000;opacity: 0.8;filter: alpha(opacity=80);-moz-opacity: 1.0;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out; color:#fff;}
#sub_contents table.defTable01 input {padad8843ding: 8px 10px; background: #eee; font-size:13px;border:none;box-sizing:border-box;width:100%;padding: 10px 10px;border-radius: 4px;font-weight: bold;}
#sub_contents table.defTable01 textarea  {padding:8px 10px;background: #eee;font-size:13px; border:none; width:100%;box-sizing: border-box;padding: 10px 10px;border-radius: 4px;font-weight: bold;}
#sub_contents table.defTable01 .bbn {border-bottom: none!important;}
#sub_contents table.defTable01 td.tel_area input {width:23%;}
#sub_contents table.defTable01 input[type="checkbox"] { width:3%;}
#sub_contents table.defTable01 input[type="checkbox"]::before {content: "";background: #000;}
#sub_contents table.defTable01 input[type="radio"] { width:3%;}

/* privacy
----------------------------------- */
#sub_contents.privacy h3:first-child{ margin-top: 10px;}
#sub_contents.privacy h3{text-align:left; font-size: 17px; font-weight: bold;margin-bottom:30px; width:100%;position: relative;display: inline-block; margin-top:20px;font-weight: bold;text-align: left;padding: 0px;letter-spacing: 0.05em;}
#sub_contents.privacy h3:before {top:inherit;content: '';position: absolute;bottom: -15px;display: inline-block;width:100px;height:3px;left:0%;-moz-transform: translateX(0%);-webkit-transform: translateX(0%);-ms-transform: translateX(0%);transform: translateX(0%);background-color:#444d00;}
#sub_contents.privacy hr{border:0.5px solid #ddd;margin: 50px auto 40px;}

/* news
----------------------------------- */
#sub_contents ul.blog_list li a{ margin-bottom: 5%; width:100%; max-width: 100%; background: #fff; display: block; float: left;box-shadow: 1px 2px 1px #ddd;}
#sub_contents ul.blog_list li:nth-child(2n) a{float: right;}
#sub_contents ul.blog_list li a .top-blog-inr { padding: 10px; -webkit-transition: .3s ease-in-out; -moz-transition: .3s ease-in-out; transition: .3s ease-in-out; }
#sub_contents ul.blog_list li a .top-blog li:hover .top-blog-inr { background: #f8f8f8; }
#sub_contents ul.blog_list li a .top-blog-txt { padding: 10px 0 0; width: calc(100% - 200px); font-size: 13px; }
#sub_contents ul.blog_list li a .top-blog-txt > span { color: #999; }
#sub_contents ul.blog_list li a .top-blog-txt p { margin: 0 0 10px; }
#sub_contents ul.blog_list li a .top-blog-txt p span { border-bottom: 1px solid #444d00; font-weight: 500; color: #444d00; }
#sub_contents ul.blog_list li a .top-blog li:hover .top-blog-txt p span { border-bottom: none; }
#sub_contents ul.blog_list li a .top-blog-more { position: relative; padding: 0 51px 0 0; text-align: right; font-size: 12px; font-weight: 500; line-height: 1; color: #da0617; font-family: 'Roboto', sans-serif; }
#sub_contents ul.blog_list li a .top-blog-more:after { display: block; content: ""; position: absolute; bottom: 0; right: 0; width: 41px; height: 9px; background: url(../images/common/icon_arw01.png) no-repeat; background-size: contain; }

/* blog_detail
----------------------------------- */
#sub_contents h3.b_ttl small {font-size: 18px;}
#sub_contents .cmn-blog-txt{ border: 1px solid #ddddca; padding: 15px 10px; margin-top: 10px; display: block; font-size: 13px;}
#sub_contents .area_blog img.b_img{ text-align: center; margin: 0 auto 10px; display: block;}

/* wp-page_nav
------------------------------*/
#sub_contents .wp-pagenavi {clear: both;text-align:center;margin-top:30px;}
#sub_contents .wp-pagenavi a,.wp-pagenavi span {display: inline-block;color: #000;background-color: #fff;border: 1px solid #ddd;padding: 5px 5px;margin: 0 2px 5px;white-space: nowrap;text-align: center;text-decoration: none;}
#sub_contents .wp-pagenavi span.pages {display: none;}
#sub_contents .wp-pagenavi a:hover{color: #FFF;background-color: #444d00;border: 1px solid #444d00;}
#sub_contents .wp-pagenavi span.current{color: #fff;background-color: #444d00;font-weight: bold;border: 1px solid #444d00;}

}