/*  RESET   */

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* Base format */
html {
	font-size: 62.5%;
	height: 100%;
}

body {
  font-size: 14px;
  color: #333;
  font-family:"ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  height: 100%;
  line-height: 1.6;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x:hidden;
}

::selection { background:#E9F0F6; }
::-moz-selection { background:#E9F0F6; }

p {
  margin-top: 0;
}

figure {
  margin: 0;
}

li {
  margin-bottom: .5em;
}

input[type="submit"] {
	-webkit-appearance: none;
}

/* img */
img {
  height: auto;
  vertical-align:bottom;
  max-width: 100%;
}

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

/* table */

table {
  width: 100%;
  border-collapse:collapse;
  border-top:#CCC 1px solid;
}

table th, table td {
	padding:13px;
	text-align: left;
	vertical-align:top;
	border-bottom:#CCC 1px solid;
}

table th {
  font-weight:normal;
  position:relative;
}
@media screen and (min-width: 769px) {
	table th:after {
		content:"";
		width:1px;
		height:18px;
		background:#CCC;
		transform: rotate(25deg);
		position:absolute;
		right:20px;
	}
}

@media screen and (max-width: 768px) {
	.table-scroll {
		position: relative;
		overflow-x: auto;
		white-space: nowrap; 
	}
	table th, table td { 
		display:block;
	}
}

/* margin */
.m-0 { margin: 0;}
.mt-0 { margin-top: 0;}
.mb-0 {  margin-bottom: 0px;}
.mb-5 {  margin-bottom: 5px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}
.mb-70 { margin-bottom:70px;}
.mb-80 { margin-bottom:80px;}
.mb-90 { margin-bottom:90px;}
.mb-100 { margin-bottom:100px;}

@media screen and (min-width: 769px) {
	.col-1 { width: 8.33333%; }
	.col-2 { width: 16.66667%; }
	.col-3 { width: 25%; }
	.col-4 { width: 33.33333%; }
	.col-5 { width: 41.66667%; }
	.col-6 { width: 48%; }
	.col-7 { width: 58.33333%; }
	.col-8 { width: 66.66667%; }
	.col-9 { width: 75%; }
	.col-10 { width: 83.33333%; }
	.col-11 { width: 91.66667%; }
	.col-12 { width: 100%; }
}

@media screen and (max-width: 768px) {
  .col-md-1 { width: 8.33333%; }
  .col-md-2 { width: 16.66667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33333%; }
  .col-md-5 { width: 41.66667%; }
  .col-md-6 {  width: 50%;}
  .col-md-7 {  width: 58.33333%;  }
  .col-md-8 { width: 66.66667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 {  width: 83.33333%; }
  .col-md-11 {  width: 90%; }
  .col-md-12 {  width: 100%; } 
}

/* status */
.right { text-align: right; }
.center { text-align: center; }

.inner {
	max-width:1080px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (min-width: 769px) {
	.overflow { overflow: hidden; }
	.fl-l { float: left; }
	.fl-r { float: right; }
}
@media screen and (max-width: 768px) {
	.fl-l { margin-bottom:20px; }
	.inner {
		width:90%;
	}
}

/* link */
a {
	outline: none;
	color:#154D8A;
	-webkit-transition: all .3s;
	 transition: all .3s;
}
a:hover {
	text-decoration:none;
}
.opa:hover {
	opacity:0.8;
}

[class*="btn-type"] {
	display:inline-block;
	text-decoration:none;
	font-weight:bold;
}
.btn-type01 {
	font-size:1.6rem;
	text-align:center;
	color:#144C8A;
	width:230px;
	border:#144C8A 2px solid;
	border-radius:100px;
	padding:12px 0;
	position:relative;
}
.btn-type01.white {
	color:#FFF;
	border-color:#FFF;
}
.btn-type02 {
	font-size:1.6rem;
	color:#FFF;
	background:#154D8A;
	width:250px;
	padding:15px 0;
	border-radius:100px;
	position:relative;
}
.btn-type01:after, .btn-type02:after {
	content:"\f105";
	font-family:FontAwesome;
	position:absolute;
	right:15px;
}
.btn-type03 {
	color:#333;
}
.btn-type03:after {
	content:"\f105";
	font-size:1.6rem;
	font-family:FontAwesome;
	color:#154D8A;
	margin-left:10px;
}
@media screen and (max-width: 768px) {
	[class*="btn-type"] {
		width:100%;
	}
}

/* list */
ul.inline {
	letter-spacing:-.40em;
}
ul.inline li {
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
}

/* title */
.page-ttl {
	position:relative;
	text-align:center;
	margin-bottom:150px;
}
.page-ttl .visual img {
	width:100%;
}
.page-ttl h2 {
	font-size:5rem;
	font-weight:bold;
	letter-spacing:0.15em;
	color:#FFF;
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	top: 50%;
	padding-top:90px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.page-ttl h2 span{
	font-size:1.4rem;
	display:block;
}
@media screen and (min-width: 769px) {
}
@media screen and (max-width: 768px) {
	.page-ttl .visual img {
		min-height:250px;
		object-fit: cover;
	}
	.page-ttl h2 {
		font-size:3rem;
		padding-top:70px;
	}
	.page-ttl h2 span {
		font-size:1.2rem;
	}
}
[class*="ttl-"] {
	font-weight:bold;
	letter-spacing:0.12em;
}
.ttl-type01 {
	font-size:3rem;
	text-align:center;
	margin-bottom:30px;
	padding-top:30px;
	position:relative;
}
.ttl-type01:before {
	content:"";
	width:35px;
	height:25px;
	background:url(../img/common/icn_car@2x.png) no-repeat;
	background-size: contain;
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
}

.ttl-type01.white {
	color:#FFF;
}
.ttl-type01.white:before {
	background:url(../img/common/icn_car_w@2x.png) no-repeat;
	background-size: contain;
}
.ttl-type02 {
	font-size:3rem;
	position:relative;
	padding-left:45px;
	margin-bottom:25px;
}
.ttl-type02:before {
	content:"";
	width:35px;
	height:25px;
	background:url(../img/common/icn_car@2x.png) no-repeat;
	background-size: contain;
	position:absolute;
	left:0;
	top:12px;
}
.ttl-type03 {
	font-size:1.6rem;
	color:#0B5D9D;
	margin-bottom:15px;
}

/* ---------------------------------------

                 header
				 
--------------------------------------- */
#header {
	color:#FFF;
	background:rgba(21,77,138,0.95);
	padding:10px 15px;
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:100;
	letter-spacing:-.40em;
}
.description {
	font-size:1.2rem;
	letter-spacing:normal;
}

.logo, ul.nav, .contact-area {
	display:inline-block;
	vertical-align:bottom;
}

@media screen and (min-width: 769px) {
	.logo {
		width:12%;
	}
}
@media screen and (max-width: 768px) {
	#header .description {
		display:none;
	}
}
/* nav */

ul.nav li {
	width:25%;
	text-align:center;
}
ul.nav li a {
	font-size:1.5rem;
	font-weight:bold;
	text-decoration:none;
	color:#FFF;
}
@media screen and (min-width: 769px) {
	ul.nav {
		width:48%;
	}
}
@media screen and (max-width: 768px) {
	ul.nav {
		display:none;
	}
	ul.nav.block {
		display:block;
	}
	ul.nav li{
		width:100%;
		text-align:center;
	}
	ul.nav li a {
		display:block;
		padding:20px 0;
	}
}


/* navボタン */
	
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	float:right;
	position:absolute;
	width: 30px;
	height: 25px;
	z-index:101;
	top:23px;
	right:5%;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color:#FFF;
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 11px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}
	
@media screen and (min-width: 769px) {
	.menu-trigger {
		display:none;
	}
}

/* contact-area */
#header .contact-area {
	width:40%;
}
.contact-area {
	letter-spacing:normal;
}
.contact-area .tel, .contact-area .btn-type01 {
	display:inline-block;
	vertical-align:bottom;
}
.tel {
	font-size:2.4rem;
	font-weight:bold;
	margin-right:15px;
}
.tel span {
	font-size:1.2rem;
	font-weight:bold;
	display:block;
}
@media screen and (min-width: 769px) {
	.contact-area {
		text-align:right;
	}
}
@media screen and (max-width: 768px) {
	#header .contact-area {
		display:none;
	}
	.tel {
		margin-bottom:15px;
	}
}
/* ---------------------------------------

                 footer
				 
--------------------------------------- */
#footer {
	color:#FFF;
	background:#154D8A;
	padding:20px 0;
}
#footer .fl-l p {
	display:inline-block;
}
.copy {
	font-size:1rem;
}
@media screen and (max-width: 768px) {
	#footer {
		text-align:center;
	}
}

/* foot-nav */
ul.foot-nav li {
	margin-right:15px;
}
ul.foot-nav li a {
	color:#FFF;
	text-decoration:none;
	position:relative;
	padding-left:10px;
}
ul.foot-nav li a:before{
	content:"";
	width:3px;
	height:3px;
	background:#FFF;
	position:absolute;
	left:0;
	top:8px;
}

/* page-top */
.page-top {
	font-size:3rem;
	text-align:center;
	color:#144C8A;
	background:#D6E6F3;
	padding:5px 0;
	margin-top:150px;
	display:block;
}
/* ---------------------------------------

                   top
				 
--------------------------------------- */
#main {
	position:relative;
	color:#FFF;
}
#main .visual img{
	width:100%;
}
#main .inner {
	line-height:2.2;
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	z-index:1;
}
#main .shovel {
	position:absolute;
	right:-90px;
	bottom:-20px;
}
@media screen and (min-width: 769px) {
	#main .inner {
		bottom:20%;
	}
}
@media screen and (max-width: 768px) {
	#main {
		overflow:hidden;
	}
	#main .visual img{
		min-height:800px;
		object-fit: cover;
	}
	#main .inner {
		top:80px;
	}
}
/* news */
#top .news {
	overflow:hidden;
	padding:20px 0;
}
.ttl-news {
	float:left;
	font-size:1.8rem;
	font-weight:bold;
	color:#154D8A;
	padding-left:20px;
	margin-right:10px;
	position:relative;
}
.ttl-news:before {
	content:"";
	width:16px;
	height:15px;
	background:url(../img/top/icn_logo@2x.png) no-repeat;
	background-size: contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
#top .news .news-list {
	float:left;
}
ul.news-list a {
	color:#333;
	text-decoration:none;
	margin-left:15px;
}
#top .news .btn-type03 {
	float:right;
}
/* business */
#top .business {
	background:url(../img/top/bg_business.jpg);
	text-align:center;
	padding-top:45px;
	position:relative;
}
@media screen and (min-width: 769px) {
	#top .business:after {
		content: '';
		position: absolute;
		bottom:-90px;
		left: 0;
		width: 120%;
		height: 100%;
		margin: 3% -10% 0;
		background:url(../img/top/bg_business.jpg);
		-webkit-transform-origin: left center;
		-ms-transform-origin: left center;
		transform-origin: left center;
		-webkit-transform: rotate(-3deg);
		-ms-transform: rotate(-3deg);
		transform: rotate(-3deg);
		z-index:-1;
	}
}
ul.work-list li{
	background:#FFF;
	width: calc((100% - 70px)/3);
	border-radius:3px;
	box-shadow:0px 4px 0px 0px #0d3159;
	margin-bottom:30px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
ul.work-list li:hover {
	box-shadow:none;
	margin-top:3px;
	margin-bottom:27px;
}

ul.work-list li a {
	color:#333;
	padding:15px 12px;
	display:block;
	text-decoration:none;
}
ul.work-list li h3 {
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0.08em;
	margin:10px 0;
}
@media screen and (min-width: 769px) {
	ul.work-list li:not(:nth-child(3n+3)) {
		margin-right:35px;
	}
	ul.work-list li:last-child {
		margin:0;
	}
}
@media screen and (max-width: 768px) {
	ul.work-list li{
		width:100%;
	}
}
.business-img {
	position:relative;
	z-index:-2;
}
.business-img img {
	width:100%;
}
@media screen and (max-width: 768px) {
	.business-img img {
		min-height:250px;
		object-fit: cover;
	}
}
/* case-list */
ul.case-list li{
	box-shadow:0px 0px 4px 0px #ccc;
	margin:0 15px 5px;
}
ul.case-list img {
	width:100%;
}
ul.case-list figcaption {
	padding:12px;
}
ul.case-list a {
	text-decoration:none;
}
	
ul.case-list h3 {
	color:#333;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1.4;
	letter-spacing:0.12em;
	margin-bottom:40px;
}
.tag {
	font-size:1.2rem;
	font-weight:bold;
	color:#144C8A;
	background:#D6E6F3;
	padding:2px 5px;
	display:inline-block;
}

/* ---------------------------------------

                  business
				 
--------------------------------------- */
.work-box {
	padding:50px 0;
}
.work-box:nth-child(2n+2) {
	background:#EBF0F1;
}
.work-box .fl-l {
	padding-left:105px;
	box-sizing:border-box;
	position:relative;
}
.work-box .fl-l:before {
	content:"";
	width:85px;
	height:85px;
	background:url(../img/top/pic_dismantling@2x.png) no-repeat;
	background-size: contain;
	position:absolute;
	left:0;
	top:0;
}
#civil.work-box .fl-l:before {
	background:url(../img/top/pic_civil@2x.png) no-repeat;
	background-size: contain;
}
#processing.work-box .fl-l:before{
	background:url(../img/top/pic_processing@2x.png) no-repeat;
	background-size: contain;
}
#asbestos.work-box .fl-l:before{
	background:url(../img/top/pic_asbestos@2x.png) no-repeat;
	background-size: contain;
}
#collection.work-box .fl-l:before{
	background:url(../img/top/pic_collection@2x.png) no-repeat;
	background-size: contain;
}
.ttl-work {
	font-size:2.6rem;
	margin-bottom:15px;
}
@media screen and (max-width: 768px) {
	.work-box .fl-l {
		padding:90px 0 0 0;
	}
	.work-box .fl-l:before {
		right:0;
		margin:auto;
	}
	.ttl-work {
		text-align:center;
	}
}
/* ---------------------------------------

                case
				 
--------------------------------------- */
#case ul.case-list li {
	width: calc((100% - 60px)/3);
	margin:0 0 30px 0;
}

@media screen and (min-width: 769px) {
	#case ul.case-list li:not(:nth-child(3n+3)) {
		margin-right:30px;
	}
}
@media screen and (max-width: 768px) {
	#case ul.case-list li {
		width:100%;
	}
}

/* entry */
.entry-body {
	padding-bottom:30px;
	margin-bottom:30px;
	border-bottom:#CCC 1px solid;
}
.ttl-entry {
	font-size:1.6rem;
	margin-bottom:25px;
}

/* ---------------------------------------

                contact
				 
--------------------------------------- */
[class*="input-"],textarea {
	font-family:"ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border:none;
	padding:10px;
	background:#F2F2F2;
}
.input-m {
	width:380px;
}
.input-l {
	width:580px;
}
textarea {
	width:680px;
	height:200px;
}
.send {
	font-family:"ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border:none;
	cursor:pointer;
}
@media screen and (max-width: 768px) {
	[class*="input-"],textarea {
		width: calc(100% - 20px);
	}
}
/* ---------------------------------------

                  policy
				 
--------------------------------------- */
#policy section{
	margin-bottom:40px;
}
/* ---------------------------------------

               sitemap
				 
--------------------------------------- */
ul.map-list {
	border-top:#CCC 1px solid;
}
ul.map-list li{
	border-bottom:#CCC 1px solid;
}
ul.map-list a {
	color:#333;
	text-decoration:none;
	display:block;
	padding:15px 45px;
	position:relative;
}
ul.map-list a:before {
	content:"\f105";
	font-size:1.6rem;
	font-family:FontAwesome;
	position:absolute;
	color:#154D8A;
	left:20px;
}
