@charset "UTF-8";

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


              // TOP //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
	/* visual
	-------------------------------------------------- */
	.mv-slider::after {
	    opacity: 0.35;
	}
	.visual-copy {
		width: 100%;
	    left: 0;
	    transform: translateY(-50%);
		padding: 0 4% 0 6.6666%;
		box-sizing: border-box;
	}
	.visual-copy .ttl {
	    font-size: 2.5rem;
	    margin-bottom: 15px;
		letter-spacing: 0.10em;
	}
	.visual-copy .ttl span.outer {
		margin: 15px 0;
	}
	.visual-copy .ttl-ja {
	    font-size: 1.4rem;
	    letter-spacing: 0.08em;
	    line-height: 2;
	}
	.badge {
	    right: 10px;
	    bottom: 15px;
	    width: 130px;
	}
	
	/* t-serviceArea
	-------------------------------------------------- */
	.t-serviceArea {
	    padding: 60px 0 0;
		overflow: hidden;
	}
	.t-serviceArea .bg-ttl {
	    left: -30px;
	    top: -15px;
	}
	.service-list-col4-wrap {
		width: 94.6667vw;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		margin-left: 5.3333vw;
	}
	.service-list-col4 {
		width: 170vw;
	    padding: 30px 0 0;
	}
	.service-list-col4 li {
	    text-align: left;
	}
	.service-list-col4 li a {
	    justify-content: flex-start;
		align-items: flex-end;
	    height: 300px;
	    letter-spacing: 0.12em;
		padding: 20px 10px 20px 20px;
		box-sizing: border-box;
	}
	.service-list-col4 li .numb {
	    font-size: 1.0rem;
	    margin-bottom: 10px;
	}
	.service-list-col4 li .numb span {
	    font-size: 1.8rem;
	}
	.service-list-col4 li .ttl {
	    font-size: 1.7rem;
	    margin-bottom: 20px;
	}
	.service-list-col4 li .more {
	    font-size: 0.8rem;
	}
	.service-list-col4 li .more p {
	    margin-bottom: 10px;
	}
	.circle-arrow {
	    width: 40px;
	    height: 40px;
	}
	.circle-arrow::after {
	    width: 8px;
	    height: 8px;
	    margin-top: 0px;
	}
	
	/* t-serviceArea
	-------------------------------------------------- */
	.t-facilityArea {
	    padding: 60px 0;
	}
	.t-facilityArea::before {
	    width: 35%;
	}
	.t-facilityArea .bg-ttl {
		right: inherit;
	    left: -10px;
	    top: inherit;
		bottom: 260px;
	    z-index: 1;
	}
	.t-facilityArea .col2 {
		padding-right: 5.3333%;
	}
	.t-facilityArea .left-col {
	    width: 100%;
	    padding-bottom: 80px;
	}
	.t-facilityArea .right-col {
		width: 106%;
	}
	.t-facilityArea .btn {
		text-align: right;
	}
	
	/* t-copmanyArea
	-------------------------------------------------- */
	.t-copmanyArea {
	    position: relative;
	    padding-bottom: 80px;
	}
	.loop-slider-wrap {
	    position: relative;
	    padding: 60px 0 0;
	}
	.loop-slider-wrap::before {
	    content: "";
	    width: 83%;
	    height: calc(100% + 80px);
	    background: #f2f3f5;
	    position: absolute;
	    top: 0;
	    left: 0;
	}
	.loop-slider .thumb {
	    width: 65vw;
	    margin-right: 6vw;
	}
	.t-copmanyArea .bg-ttl {
	    bottom: inherit;
		top: 10px;
	    left: 85px;
		z-index: 1;
		transform-origin: left top;
		transform: rotate(90deg);
		font-size: 110px;
		letter-spacing: 0.02em;
	}
	.t-copmanyArea-block {
	    width: 78%;
	    margin: -30px 0 0 0;
	    padding: 40px 5.3333vw 0 0;
	}
	.t-copmanyArea-block .sec-ttl {
		padding-left: 10vw;
	}
	.t-copmanyArea-block .sec-ttl .bd::before {
		width: 10.5vw;
        left: -15.3333vw;
    }
	.t-copmanyArea-block p {
		margin-left: 10vw;
		
	}

	/* t-newsArea
	-------------------------------------------------- */
	.t-newsArea {
	    padding-bottom: 80px;
	    padding-left: 0;
	}
	.t-newsArea .left-col {
	    width: 100%;
	    padding-left: 0;
	}
	.t-newsArea .sec-ttl .bd::before {
	    width: 10.5vw;
        left: -15.3333vw;
	}
	.t-newsArea .right-col {
	    width: 100%;
	}
	.news-list {
		margin-bottom: 30px;
	}
	.news-list li a {
		flex-wrap: wrap;
		justify-content: flex-start;
	    padding: 25px 5px 20px;
	}
	.news-list li a::after {
		display: none;
	}
	.news-list li.nolinks {
		flex-wrap: wrap;
		justify-content: flex-start;
	    padding: 25px 5px 20px;
	}
	.news-list li.nolinks::after {
		display: none;
	}	
	.date {
	    line-height: 28px;
	    width: 90px;
		font-size: 1.2rem;
	}
	.cate {
	    width: 150px;
	    line-height: 26px;
	    font-size: 1.0rem;
	    margin-right: 0;
	}
	.cate-no {
	    width: 150px;
	    line-height: 26px;
	    font-size: 1.0rem;
	    margin-right: 0;
	}
	.news-list li .ttl {
	    width: 100%;
		margin-top: 10px;
		font-size: 1.4rem;
	}
	.news-cate {
	    display: flex;
	    letter-spacing: 0.08em;
	}
	.news-cate .date {
	    width: auto;
	    padding-right: 15px;
	    font-size: 1.2rem;
	}
	.news-cate .cate {
	    width: auto;
	    padding: 0 20px 2px;
	}
	.newsdetail-ttl .news-cate {
	    margin-top: 30px;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // SERVICE //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* ===============================================
	    01_waste
	=============================================== */
	.waste-features {
		overflow: hidden;
	}
	.waste-features-img::before {
	    top: 35%;
	}
	.waste-features-img li {
	    width: 47%;
	    font-size: 1.3rem;
	}
	.waste-features .btn {
		text-align: right;
		margin-bottom: 10px;
	}
	.cont-manifest {
	    padding: 30px 0 40px;
	    margin: 60px auto;
	}
	.cont-manifest .ttl {
	    font-size: 2.2rem;
	    letter-spacing: 0.08em;
	    margin-bottom: 10px;
		line-height: 1.75;
	}
	.cont-manifest__logo {
	    padding-top: 10px;
	}
	.cont-manifest__logo li {
	    height: 85px;
	    padding: 0 4%;
	}
	.waste-type-img {
	    background-image: url("../images/waste_type_img.jpg");
	    height: 280px;
	}
	.waste-type-contents {
	    width: 100%;
	    margin: 0;
	    padding: 40px 0 0;
	}
	
	/* ===============================================
	    02_tansport
	=============================================== */
	.transport-area .col-block {
		background: url("../images/transport-area_img.png") right bottom -40px no-repeat;
		background-size: 500px auto;
		padding-bottom: 480px;
		margin-bottom: 0;
	}
	.transport-area .col-block .table-wrap {
		padding-top: 20px;
	}
	.transport-area-img {
		display: none;
	}
	.transport-area .cont-manifest {
	    margin-top: 20px;
	}
	.transport-type {
	    margin-bottom: 60px;
	}
	.transport-type .btn {
	    text-align: center;
	}
	
	/* ===============================================
	    03_aggregate
	=============================================== */
	.aggregate-recycled {
		overflow: hidden;
	}
	.aggregate-recycled .col-block {
	    width: 100%;
	    margin: 30px 0 0;
	}
	.aggregate-recycled .block-inner {
	    padding: 15px 5px 0;
	}
	.aggregate-recycled .block-inner .ttl {
	    font-size: 1.7rem;
	    margin-bottom: 5px;
	}
	.aggregate-recycled .cont-manifest {
		margin-top: 40px;
	}
	.aggregate-recycled .cont-manifest .ttl {
		font-size: 1.8rem;
	}
	.bg-contents .table02 {
	    width: 100%;
	    margin: 0 auto 20px;
	}
	
	/* ===============================================
	    04_demolition
	=============================================== */
	.demolition-features {
		overflow: hidden;
	}
	.demolition-case {
	    margin: 60px 0 0;
		padding: 10px 0 100px;
	}
	.demolition-case .sec-ttl {
	    padding-left: 15.3333vw;
	    margin-left: 0;
	    margin-bottom: 25px;
	}
	.demolition-case .bg-ttl {
		right: -20px;
		top: -80px;
		text-align: right;
	}
	.case-slider-wrap {
	    padding: 60px 0 0;
	}
	.case-slider-wrap::before {
	    width: 90%;
	    height: calc(100% + 140px);
	}
	.case-slider {
		margin-left: 4%;
	}
	.case-slider .thumb {
	    width: 70vw;
	    margin-right: 4vw;
	}
	.demolition-flow {
	    padding: 50px 0 40px;
	}
	.demolition-flow .sec-ttl {
	    margin-bottom: 30px;
	}
	.demolition-flow-wrap {
	    padding-left: 50px;
	}
	.demolition-flow__arrow {
	    width: 30px;
	    height: calc(100% - 30px);
	    padding: 20px 0;
	    font-size: 1.4rem;
	    line-height: 30px;
	}
	.demolition-flow__arrow::after {
	    bottom: -15px;
	    border-left: 15px solid transparent;
	    border-right: 15px solid transparent;
	    border-top: 15px solid #003670;
	}
	.flow-block {
	    padding-bottom: 30px
	}
	.flow-block .thumb-block {
	    width: 30%;
	    margin-bottom: 20px;
	}
	.flow-block .thumb-block .arrow {
	    width: 20px;
	    bottom: -20px;
	}
	.flow-block-cont {
	    width: 65%;
	    display: block;
	    padding-bottom: 20px;
	}
	.flow-block-cont .ttl {
	    width: 100%;
	    text-align: left;
	    font-size: 1.4rem;
		line-height: 1.75;
		margin-bottom: 5px;
	}
	.flow-block-cont__inner {
	    width: 100%;
	}
	.flow-block-cont__numb {
		font-size: 1.0rem;
	    margin-bottom: 10px;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // FACILITY //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.facility-block {
		overflow: hidden;
	    margin-bottom: 60px;
	}
	.facility-col2 {
		display: block;
	    padding-top: 0;
	}
	.facility-slider-nav-wrap {
	    width: 100%;
	}
	.facility-slider-wrap {
	    width: 100%;
	}
	.facility-slider-nav {
	    padding: 0;
		background: rgba(255,255,255,0.30);
	}
	.facility-slider-nav li {
	    width: auto !important;
	    float: left !important;
	    padding: 20px 3px 15px;
		margin: 0 10px 25px;
	}
	.facility-slider-nav li::before {
	    left: 50%;
	    top: 0;
	    transform: translateX(-50%);
	}
	.facility-slider-nav li::after {
	    width: 100%;
	    height: 1px;
	    left: 0;
	    top: inherit;
		bottom: 0;
	}
	.facility-slider-nav li p {
	    padding-right: 0;
	}
	.facility-slider-nav li p::before {
		display: none;
	}
	.facility-list-wrap {
		padding: 35px 0 50px;
	}
	.facility-list-wrap::before {
		height: calc(100% + 80px);
	}
	.facility-list {
	    padding: 25px 20px 30px;
	}
	.facility-list .table-col3 .table {
		display: flex !important;
		justify-content: space-between;
	}
	.facility-list .sub-ttl {
	    margin-bottom: 15px;
	}
	.facility-list-col2 {
	    display: block;
	}
	.facility-list-table {
	    width: 100%;
	}
	.facility-list-table:nth-child(1) {
		border-bottom: none;
	}
	.facility-list-table .block {
	    display: flex;
	    justify-content: space-between;
	}
	.facility-list-table .block-left {
	    width: 34%;
	}
	.facility-list-table .block-left .block-left_ttl {
	    font-size: 1.2rem;
	}
	.facility-list-table .block-right {
	    width: 66%
	}
	.facility-list-table .block .hd {
	    font-size: 1.0rem;
	}
	.facility-list-table .block-right dl dt,
	.facility-list-table .block-right dl dd {
	    padding: 0 0 0 10px;
	    font-size: 1.2rem;
	}
	.facility-list-table .block-right dl.hd dt,
	.facility-list-table .block-right dl.hd dd {
	    font-size: 1.0rem;
	}
	.facility-list-table .block-right dl dt {
		 width: 35%;
	}
	.facility-list-table .block-right dl dd:nth-child(2) {
		width: 45%;
	}
	.facility-list-table .block-right dl dd:nth-child(3) {
		width: 20%;
	}
	.facility-list-table:nth-child(2) .hd {
		display: none;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // COMPANY //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	.company-message {
	    padding: 50px 0 20px;
	}
	.company-message .section-wrap {
	    display: block;
	}
	.company-message .sec-ttl {
	    width: 100%;
	}
	.company-message-block {
	    width: 100%;
	}
	.company-message-block__name {
	    margin-top: 15px;
	}
	.company-message-block__name span {
	    font-size: 2.2rem;
	}
	.company-overview {
	    padding: 50px 0 50px;
	}
	.company-overview::before {
	    width: 38%;
	}
	.company-overview .bg-ttl {
		top: 0;
		left: 106%;
		font-size: 120px;
		opacity: 0.035;
	}
	.company-overview .table-col2 {
	    margin-top: 40px;
	}
	.company-access {
	    padding: 70px 0 50px;
	}
	.access-map {
	    padding: 20px 4% 0;
	}
	.access-map iframe {
	    width: 100%;
		height: 320px
	}
	.access-info {
	    float: none;
	    width: 100%;
	    padding: 205px 5.3333% 40px;
	    margin-top: -200px;
	    display: block;
	}
	.access-info__txt {
	    width: 100%;
		margin-bottom: 15px;
	}
	.access-info .btn-b {
	    width: 100%;
	    text-align: left;
	}
	.company-list .txt-ttl {
	    text-align: center;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // NEWS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* news-col2
	-------------------------------------------------- */
	.news-col2 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 80px;
	}
	.news-detail .news-col2 {
		flex-flow: row-reverse;
		flex-wrap: wrap;
	}
	/* side-bar
	-------------------------------------------------- */
	.side-bar {
	    float: none;
	    width: 100%;
	    position: static;
	    font-size: 1.3rem;
		margin-bottom: 30px;
	}
	.side-bar .ttl {
		font-size: 1.2rem;
	    margin-bottom: 5px;
	}
	.side-bar-inner {
		width: 100vw;
		margin-left: -5.3333vw;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	.side-bar.txt-link ul {
		white-space: nowrap;
		padding: 0 5.3333% 15px;
	}
	.side-bar.txt-link li {
		display: inline-block;
		margin: 5px 20px 5px 0;
	}
	.side-bar.txt-link a {
	    padding-left: 20px;
	    position: relative;
	}
	.side-bar.sns-link {
	    display: none;
	}
	
	/* news-list
	-------------------------------------------------- */
	.news-col-main {
		width: 100%;
		margin-left: 0;
		margin-bottom: 0;
	}
	.news-col-main .sns-link {
		display: flex;
		align-items: center;
		padding: 50px 0;
	}
	
	/* sns-link
	-------------------------------------------------- */
	.sns-link .ttl {
		position: relative;
		padding-right: 43px;
		margin-right: 15px;
	}
	.sns-link .ttl::after {
		content: "";
		width: 30px;
		height: 1px;
		background: #333333;
		position: absolute;
		right: 0;
		bottom: 50%;
	}
	.sns-link li {
		display: inline-block;
		width: 28px;
		margin: 0 5px 0 0;
	}
	
	/* wp-pagenavi
	-------------------------------------------------- */
	.wp-pagenavi {
	    margin: 40px 0 0;
		font-size: 1.3rem;
	}
	.wp-pagenavi a {
	    width: 40px;
	    height: 40px;
	    line-height: 40px;
		margin: 0 5px 5px 0;
	}
	.wp-pagenavi span.current, .wp-pagenavi span.extend {
	    width: 40px;
	    height: 40px;
	    line-height: 40px;
		margin: 0 5px 5px 0;
	}
	
	/* news-detail
	-------------------------------------------------- */
	.news-detail {
		padding-bottom: 0;
	}

	/* entry
	-------------------------------------------------- */
	.entry {
	    width: 100%;
	    margin: 0 auto;
	}
	
	/* detail-nav
	-------------------------------------------------- */
	.detail-nav {
	    padding: 50px 0 0;
	}
	.detail-nav ul {
	    height: 40px;
	}
	.detail-nav ul li.btn-prev {
	    left: 0;
	}
	.detail-nav ul li.btn-next {
	    right: 0;
	}
	.detail-nav ul li a {
	    line-height: 40px;
	}
	.detail-nav ul li.btn-back a {
	    padding: 7px 0;
	}
	.detail-nav ul li.btn-prev a {
	    padding-left: 60px;
	}
	.detail-nav ul li.btn-next a {
	    padding-right: 60px;
	}
	.detail-nav ul li.btn-prev a::before,
	.detail-nav ul li.btn-next a::before {
	    width: 40px;
	    height: 40px;
	}
	.detail-nav ul li.btn-next a::before {
	    left: inherit;
	    right: 0;
	}
	.detail-nav ul li.btn-prev a::after,
	.detail-nav ul li.btn-next a::after {
	    width: 8px;
	    height: 8px;
	    margin-top: 0px;
	    left: 18px;
	    top: 16px;
	}
	.detail-nav ul li.btn-next a::after {
	    transform: rotate(45deg);
	    left: inherit;
	    right: 18px;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // CONTACT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* contact-wrap
	-------------------------------------------------- */
	.contact-block {
	    margin-bottom: 80px;
	}
	.contact-lead {
	    padding-bottom: 30px;
	}
	/* .contact-block dl {
	    padding: 25px 0 15px;
	}
	.contact-block dl dt {
	    width: 100%;
	    float: none;
	    padding: 0 0 15px;
	    line-height: 1.5;
	}
	.contact-block dl dd {
	    margin: 0;
	}
	.required {
		display: inline-block;
	    font-size: 1.1rem;
	    line-height: 20px;
	    position: static;
	    padding-bottom: 2px;
		margin-left: 15px;
	} */
	
}