@charset "utf-8";

/* all
-------------------------------------------------------------------*/
html {
	background: #FFFFFF;
	color: #333333;
	font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 16px;
	line-height: 1.4;
}
html .goti,
html .goti form * {
	font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
html .dekar,
html .dekar form * {
	font-family: 'Dekar', sans-serif;
}
html .min,
html .min form * {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman", "HG明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width: 1100px;
}
main {
	overflow: hidden;
	width: 100%;
}
.ovfl_wrap {
	overflow:hidden;
}
.ovfl_wrap .sitewrap {
	overflow: visible;
}
.kaso main .sitewrap{
	width:1000px;
	min-width:1000px;
}
.sitewrap {
	width: 1280px;
	min-width: 1100px;
	overflow: hidden;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
@media screen and (max-width:1140px) {
	body,
	.sitewrap {
		width: 100%;
		min-width: 0;
	}
	.sitewrap>* {
		padding-left: 2%;
		padding-right: 2%;
	}
}
@media screen and (max-width:1000px) {
	.kaso main .sitewrap {
		width: 100%;
		min-width: 0;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size: 14px;
	}
	.sitewrap>* {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* header
-------------------------------------------------------------------*/
header#fix_menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	min-height: 115px;
	transition: top .4s .2s;
}
.home header#fix_menu.fixedMenu,
.kaso header#fix_menu{
	background:#fff;
}
.menu_top {
	position: relative;
}
.menu_top #site_ttl {
	float: left;
	padding: 27.5px 10px;
	white-space: nowrap;
	z-index: 1000;
	position: relative;
}
.menu_top #site_ttl a {
	display: inline-block;
	vertical-align: middle;
}
.menu_top #site_ttl a img{
	height: 60px;
}
.menu_top #site_ttl a img.display_wht,
.fixedMenu .menu_top #site_ttl a img.display_gre,
header #switch:checked ~ .menu_top  #site_ttl a img.display_wht,
.kaso .menu_top #site_ttl a img.display_gre{
	display:block;
}
.menu_top #site_ttl a img.display_gre,
.fixedMenu .menu_top #site_ttl a img.display_wht,
header #switch:checked ~ .menu_top  #site_ttl a img.display_gre,
.kaso .menu_top #site_ttl a img.display_wht{
	display:none;
}
.drop_menu {
	margin: auto;
}
header #switch {
	position: absolute;
	display: none;
	opacity: 0;
}
header #switch ~ .menu_bottom label {
	display: block;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 900;
	-webkit-transition: 0.5s transform;
	transition: 0.5s transform, right 0.2s;
	padding: 12px;
	width: 125px;
	height: 115px;
	box-sizing: border-box;
	background: #0d0d0e;
	text-align: center;
}
header #switch:checked~ .menu_bottom label::before {
    position: fixed;
    display: inline-block;
    content: "";
    height:calc(100% - 792px);
    left: 0;
    bottom: 0;
	right:0;
	margin:auto;
}
header #switch ~ .menu_bottom label b {
	z-index: 2;
	width: 100%;
	display: block;
	margin-bottom: 0;
}
header #switch ~ .menu_bottom label span {
	cursor: -webkit-grabbing;
	display: block;
	width: 60px;
	height: 3px;
	background: #fff;
	-webkit-transition: 0.2s transform, 0.5s background;
	transition: 0.2s transform, 0.5s background;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: auto;
	margin-top: -5px;
}
header #switch ~ .menu_bottom label span:before,
header #switch ~ .menu_bottom label span:after {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	background: #fff;
	position: absolute;
	margin-top: 0;
}
header #switch ~ .menu_bottom label span:before {
	top: -18px;
}
header #switch ~ .menu_bottom label span:after {
	top: 18px;
}
header #switch:checked~.menu_bottom label span {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
header #switch:checked~.menu_bottom label span:before {
	top: 0;
}
header #switch:checked~.menu_bottom label span:after {
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
	top: 0;
	margin-top: 0;
}
.drop_menu #NavWrap {
	position: fixed;
	top: -100%;
	width: 100%;
	z-index: 800;
	height: 100%;
	overflow: auto;
	visibility: hidden;
	padding-top: 150px;
	box-sizing: border-box;
	transition: all 0.25s;
	background: #559a6d;
	max-height: 792px;
}
.drop_menu #NavWrap::before{
	position:absolute;
	display:inline-block;
	content:"";
	width:50%;
	height:100%;
	background:url(../img/common/bg_hamburger.png);
	top:0;
	right:0;
	z-index:-1;
}
.drop_menu #NavWrap::-webkit-scrollbar {
	height: 10px;
	width: 10px;
}
.drop_menu #NavWrap::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #b3b3b3;
}
.drop_menu #NavWrap::-webkit-scrollbar-thumb {
	border-radius: 10px;
}
header #switch:checked~.menu_bottom label+#NavWrap {
	visibility: visible;
	top: 0;
}
.drop_menu #NavWrap .menu_wrap{
	max-width:1100px;
	margin:auto;
}
.drop_menu #NavWrap .menu_wrap .menu_box{
	width: 50%;
	min-width: 500px;
	text-align: left;
	color: #fff;
}
.drop_menu #NavWrap .menu_wrap .menu_box .menu_home a {
	display:inline-block;
	font-size:6.25rem;
	letter-spacing:0.1em;
	line-height:1;
	margin-bottom: 0.75em;
}
.drop_menu #NavWrap .menu_wrap .menu_box .menu_home{
	position:relative;
}
.drop_menu #NavWrap .menu_wrap .menu_box .menu_home::after {
	position:absolute;
	display:inline-block;
	content:"";
	width:15rem;
	height:3px;
	background:#fff;
	bottom:3rem;
	left:0;
	z-index: 10;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box{
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .menu_service dt{
	font-size:4.375rem;
	letter-spacing:0.1em;
	line-height:1;
	margin-bottom:0.35em;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .menu_service dd  p{
	margin-bottom: .75em;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .menu_service dd a{
	font-size:1rem;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu{
	margin-top:5.5em;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu p{
	margin-bottom: .75em;
}
.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu a{
	font-size:1.375rem;
	font-weight:bold;
}
.drop_menu #NavWrap .menu_wrap .menu_box a{
	position:relative;
	overflow:hidden;
	display:inline-block;
}
.drop_menu #NavWrap .menu_wrap .menu_box a::before{
	position:absolute;
	display:inline-block;
	content:"";
	width:100%;
	height:2px;
	background:#fff;
	bottom:0;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .4s;
	z-index:0;
}
.drop_menu #NavWrap .menu_wrap .menu_box a:hover::before{
	transform: scale(1, 1);
	transform-origin: left top;
}
.drop_menu #NavWrap .menu_wrap .menu_box a span.off{
	transform:translate3d(0,0,0);
	transition: transform .5s;
	display:inline-block;
}
.drop_menu #NavWrap .menu_wrap .menu_box a:hover span.off{
	transform:translate3d(0,-100%,0);
}
.drop_menu #NavWrap .menu_wrap .menu_box a span.on{
	position:absolute;
	transform:translate3d(0,100%,0);
	transition: transform .5s;
	top:0;
	left:0;
}
.drop_menu #NavWrap .menu_wrap .menu_box a:hover span.on{
	transform:translate3d(0,0,0);
}
@media screen and (max-width:767px) {
	.kaso body {
		padding-top: 50px;
	}
	header#fix_menu,
	header#fix_menu.fixedMenu {
		top: 0;
		transition: none;
		position: fixed;
		min-height:0;
		
	}
	header .menu_top {
		top: 0;
		left: 0;
		width: 100%;
		background: none;
		padding: 0;
		box-sizing: border-box;
	}
	header .menu_top #site_ttl {
		padding: 10px 15px;
	}
	header .menu_top #site_ttl img {
		max-height: 36px;
		width: auto;
	}
	header .menu_top .menu_fix {
		position: relative;
	}
	.drop_menu #NavWrap {
		padding: 70px 15px 60px;
		width: 100%;
		height: 100%;
		max-height: 100%;
		box-sizing: border-box;
	}
	.drop_menu #NavWrap::before{
		display:none;
	}
	header #switch:checked~label+#NavWrap {
		top: 0;
		left: auto;
		right: 0;
	}
	header #switch ~ .menu_bottom label {
		padding: 12px 12px;
		width: 60px;
		height: 60px;
	}
	header #switch:checked ~ .menu_bottom label{
		background:#26784e;
	}
	header #switch ~ .menu_bottom label span {
		width: 30px;
		height: 2px;
		top: 29px;
		margin: auto;
	}
	header #switch ~ .menu_bottom label span:before,
	header #switch ~ .menu_bottom label span:after {
		width: 30px;
		height: 2px;
		margin-top: 0;
	}
	header #switch ~ .menu_bottom label span:before {
		top: -12px;
	}
	header #switch ~ .menu_bottom label span:after {
		top: 12px;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box{
		width: 100%;
		min-width: 0;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .menu_home a {
		font-size: 5rem;
		margin-bottom: 0.25em;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .menu_home{
		position:relative;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .menu_home::after {
		width: 12rem;
		height: 2px;
		bottom: 1rem;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box{
		display: block;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .menu_service dt{
		font-size: 3rem;
		margin-bottom: 0.25em;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .menu_service dd  p{
		margin-bottom: .5em;
		margin-left: 2em;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu{
		margin-top: 1.5em;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu p{
		margin-bottom: .5em;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box .flex_box .right_menu a{
		font-size:1.215rem;
		font-weight:bold;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box a::before,
	.drop_menu #NavWrap .menu_wrap .menu_box a:hover::before{
		display:none;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box a span.off,
	.drop_menu #NavWrap .menu_wrap .menu_box a:hover span.off{
		transform:none;
	}
	.drop_menu #NavWrap .menu_wrap .menu_box a span.on,
	.drop_menu #NavWrap .menu_wrap .menu_box a:hover span.on{
		display:none;
	}
}
/* contents
-------------------------------------------------------------------*/
main {
	display: block;
}
.home .visual {
	position:relative;
	z-index:0;
}
.home .visual::after{
	position:absolute;
	display:inline-block;
	content:"";
	width:100%;
	height: 200px;
	background:#fff;
	bottom: -199px;
	left:0;
	right:0;
	z-index: 1;
}
.home .visual .bg_wrap{
	position:relative;
	z-index:0;
}
.home .visual .bg_wrap .main_bg{
	position:relative;
	z-index:0;
}
.home .visual .bg_wrap .bg_box{
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
}
.home .visual .check_wrap{
	position:absolute;
	z-index: 110;
	top:0;
	left:0;
	bottom:0;
	right:0;
}
.home .visual .check_wrap .icon{
	position:absolute;
	width: 7.5%;
	max-width: 144px;
}
.home .visual .check_wrap .icon img{
	display:block;
	max-width:100%;
	transition:transform .4s;
}
.home .visual .check_wrap .icon a{
	position:relative;
	z-index: 0;
	display: block;
}
.home .visual .check_wrap .icon a::after{
	position:absolute;
	display:inline-block;
	content:"";
	width: 51%;
	height: 30px;
	background: url(../img/top/img_check_shadow.png) no-repeat;
	background-position: top center;
	background-size: contain;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
}
@keyframes bound-anim{
  0%{transform:translateY(0px);}
  100%{transform: translateY(6px);}
}
.home .visual .check_wrap .icon a img{
  animation: .6s bound-anim ease-in infinite alternate;
}
.home .visual .check_wrap .icon:nth-of-type(even) a img{
	animation: .6s bound-anim ease-in infinite alternate;
	animation-delay: .6s;
}
.home .visual .check_wrap .icon a img.off,
.home .visual .check_wrap .icon a:hover img.on{
	display:block;
}
.home .visual .check_wrap .icon a img.on,
.home .visual .check_wrap .icon a:hover img.off{
	display:none;
}
.home .visual .check_wrap .icon_recycling {
	top: 6%;
	left: 51.5%;
}
.home .visual .check_wrap .icon a:hover img{
	animation:none;
}
.home .visual .check_wrap .icon_sangyo{
	top:20%;
	left:41.5%;
}
.home .visual .check_wrap .icon_confidential{
	top:17%;
	left:85%;
}
.home .visual .check_wrap .icon_cargo{
	top: 28%;
	left: 62.5%;
}
.home .visual .check_wrap .icon_bulky-garbage{
	top:69%;
	left:34%;
}
.home .visual .check_wrap .icon_greasetrap{
	top:64%;
	left:44%;
}
.home .visual .check_wrap .icon_ippan{
	top:69%;
	left:73%;
}
.home .visual .check_wrap .icon_movie {
	top:32%;
	left: 72%;
}
.home .top_tit{
	font-size:6.875rem;
	letter-spacing:0.04em;
	line-height:1;
	color: #336842;
	/* 変更 */
	margin-bottom: 0;
}
.home .txt_box .lead{
	font-size:1.875rem;
	font-weight:500;
	color: #336842;
	margin-bottom:0.25em;
}
.home .txt_box p{
	font-size:1.25rem;
	line-height:2;
}
.top_heading {
	margin-bottom: 1.375em;
	font-size: 18px;
}
@media screen and (max-width:767px) {
	.home .visual .check_wrap .icon{
		width: 25%;
		max-width: 100%;
	}
	.home .visual .check_wrap .icon a::after{
		width: 40%;
		height: 16px;
	}
	.home .visual .check_wrap .icon_sangyo{
		top: 30%;
		left: 0%;
	}
	.home .visual .check_wrap .icon_confidential{
		top: 23%;
		left: 27%;
	}
	.home .visual .check_wrap .icon_recycling {
		top: 4%;
		left: 65%;
	}
	.home .visual .check_wrap .icon_cargo{
		top: 30%;
		left: 68.5%;
	}
	.home .visual .check_wrap .icon_bulky-garbage{
		top: 75%;
		left: 25%;
	}
	.home .visual .check_wrap .icon_greasetrap{
		top: 57%;
		left: 8%;
	}
	.home .visual .check_wrap .icon_ippan{
		top: 77%;
		left: 73%;
	}
	.home .visual .check_wrap .icon_movie {
		top: 45%;
		left: 70%;
	}
	.home .top_tit{
		font-size:4.5rem;
		margin-bottom:0.1em;
	}
	.home .txt_box .lead{
		font-size:1.5rem;
		margin-bottom:0.05em;
	}
	.home .txt_box p{
		font-size:1rem;
		line-height:1.8;
	}
}
.home .message_wrap{
	position:relative;
	z-index:1;
	margin-top:-50px;
	padding-bottom: 80px;
}
.home .message_wrap .flex_box{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	margin-bottom:3em;
}
.home .message_wrap .flex_box .txt_box{
	width:calc(100% - 380px);
}
.home .message_wrap .flex_box .btn_box{
	width:360px;
}
.home .message_wrap .flex_box .btn_box .common_btn{
	margin-bottom:0;
}
@media screen and (max-width:1280px) {
	.home .message_wrap .flex_box .txt_box p br{
		display: none;
	}
}
@media screen and (max-width:767px) {
	.home .message_wrap{
		margin-top:0;
		padding: 40px 0;
	}
	.home .message_wrap .flex_box{
		flex-direction:column;
		margin-bottom:3em;
	}
	.home .message_wrap .flex_box .txt_box,
	.home .message_wrap .flex_box .btn_box{
		width:100%;
	}
	.home .message_wrap .flex_box .btn_box .common_btn{
		margin-bottom:0;
	}
}
.home .service_wrap{
	position:relative;
	z-index:0;
	padding: 80px 0 130px;
}
.home .service_wrap .top_tit{
	text-align:center;
	margin-bottom:0.25em;
}
.home .service_wrap .txt_box{
	text-align:center;
	margin-bottom: 5em;
}
.home .service_wrap .service_box{
	position:relative;
	z-index:0;
}

/* 20240826変更 */
.home .service_wrap .service_box::after{
	position:absolute;
	display:inline-block;
	content:"";
	width: 105vw;
	height: 100%;
	background: #8ab193;
	top:0;
	left: -5vw;
	bottom:0;
	right:0;
	z-index:-1;
	margin: auto;
	/* 変更 */
	transform: none;
	padding: 40px 0;
}
.home .service_wrap .service_box .list{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
	margin:auto;
	/* 変更 */
	align-items: stretch;
	justify-content: center;
}
.home .service_wrap .service_box .list .item{
	display:block;
	background:#fff;
	padding: 1.5em 1.25em;
	max-width:350px;
	box-shadow:0 0 16px rgba(0,0,0,0.2);
	transition: transform .4s;
	/* 変更 */
	width: 100%;
	margin-right: 0;
	margin-bottom: 0;
	height: 100%;
}
.home .service_wrap .service_box .list .item:hover{
	text-decoration:none;
	transform: translateY(-5px);
}
.home .service_wrap .service_box .list .item:nth-of-type(4){
	margin-left: 8%;
}
.home .service_wrap .service_box .list .item:nth-of-type(6){
	margin-right:0;
}
.home .service_wrap .service_box .list .item .img_box{
	text-align:center;
	margin-bottom:2em;
}
.home .service_wrap .service_box .list .item .item_tit{
	position:relative;
	/* 変更 */
	padding-right: 39px;
	z-index: 0;
}
.home .service_wrap .service_box .list .item .item_tit::before,
.home .service_wrap .service_box .list .item .item_tit::after{
	position:absolute;
	display:inline-block;
	content:"";
	width:33px;
	height:33px;
	background: #336842;
	border-radius:50%;
	top:0;
	bottom:0;
	right:0;
	margin:auto;
	z-index: -2;
}
.home .service_wrap .service_box .list .item .item_tit::after{
	width: 8px;
	height: 7px;
	background:transparent;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	border-radius:0;
	transform: rotate(33deg) skew(335deg);
	right: 38px;
	transition:right .4s;
	z-index: -2;
}
.home .service_wrap .service_box .list .item:hover .item_tit::after{
	right: 14px;	
}
.home .service_wrap .service_box .list .item .item_tit span{
	font-size: 1rem;
	font-weight: bold;
}
.home .service_wrap .service_box .list .item .description {
	background-color: #fff;
	width: 100%;
	max-width: 350px;
	margin-top: 20px;
	display: none;
}
.home .service_wrap .accordion {
	display: none;
	flex-grow: 1;
}
.home .service_wrap .accordion_btn {
	width: 100%;
}
.home .service_wrap .sp-description {
	width: 100%;
	background-color: #fff;
	padding: 1.25em 1.25em 1em;
	margin-top: 4%;
	height: auto;
}
.home .service_wrap .service_box .list .content_box {
	width: 22%;
	margin-right: 1%;
	margin-bottom: 1%;
	height: 100%;
}
@media screen and (max-width:767px) {
	.home .service_wrap{
		padding: 20px 0 90px;
	}
	.home .service_wrap .txt_box{
		margin-bottom: 3em;
	}
	.home .service_wrap .service_box::after{
		padding: 30px 0 10px;
		height: 100%;
	}
	.home .service_wrap .service_box .list{
		justify-content:space-between;
		max-width:100%;
		align-items: normal;
	}
	.home .service_wrap .service_box .list .item,
	.home .service_wrap .service_box .list .item:hover,
	.home .service_wrap .service_box .list .item:nth-of-type(4){
		margin-right:0;
		margin-left: 0;
		margin-bottom:4%;
		padding: 2em 1.25em 1em;
		width:49%;
		max-width:100%;
		box-shadow:0 0 5px rgba(0,0,0,0.2);
		transform: none;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.home .service_wrap .service_box .list .item .img_box{
		max-width:70%;
		margin:0 auto 1em;
	}
	.home .service_wrap .service_box .list .item .item_tit{
		padding-right: 20px;
	}
	.home .service_wrap .service_box .list .item .item_tit::before{
		width:16px;
		height:16px;
	}
	.home .service_wrap .service_box .list .item .item_tit::after,
	.home .service_wrap .service_box .list .item:hover .item_tit::after{
		width: 6px;
		height: 5px;
		border-width:1px;
		right: 6px;
	}
	.home .service_wrap .service_box .list .item .item_tit span{
		font-size:1.15rem;
	}
	.home .service_wrap .accordion {
		display:flex;
		flex-direction: column;
		align-items: stretch;
	}
	.home .service_wrap .accordion_btn {
		display: block;
		width: 0;
		height: 0;
		border-right: 3em solid transparent;
		border-left: 3em solid transparent;
		border-top: 2em solid #ffffff;
		margin: 0 auto;
	}
	.home .service_wrap .sp-description {
		display: none;
		flex-grow: 1;
	}
	.home .service_wrap .service_box .list .content_box, .home .service_wrap .service_box .list .content_box:hover, .home .service_wrap .service_box .list .content_box:nth-of-type(4) {
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 30px;
		width: 100%;
		max-width: 100%;
		transform: none;
		display: flex;
		flex-direction: column;
	}
	.home .service_wrap .service_box .list .item, .home .service_wrap .service_box .list .item:hover, .home .service_wrap .service_box .list .item:nth-of-type(4) {
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 10px;
		width: 100%;
		max-width: 100%;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	}
}
.home .feature_wrap {
	margin-bottom:120px;
}
.home .feature_wrap .flex_box{
	display:flex;
}
.home .feature_wrap .flex_box .txt_box,
.home .feature_wrap .flex_box .img_box{
	width:50%;
}
.home .feature_wrap .flex_box .txt_box{
	padding-right:2em;
}
.home .feature_wrap .flex_box .img_box img{
	max-width:704px;
}
@media screen and (max-width:767px) {
	.home .feature_wrap {
		margin-bottom:60px;
	}
	.home .feature_wrap .flex_box{
		position:relative;
		flex-direction:column;
		padding-bottom: 110px;
		z-index:0;
	}
	.home .feature_wrap .flex_box .txt_box,
	.home .feature_wrap .flex_box .img_box{
		width:100%;
	}
	.home .feature_wrap .flex_box .txt_box .common_btn{
		position:absolute;
		width:100%;
		left:0;
		right:0;
		bottom:20px;
		margin:0;
		z-index:10;
	}
	.home .feature_wrap .flex_box .txt_box{
		padding-right:0;
		margin-bottom: 1em;
	}
	.home .feature_wrap .flex_box .img_box img{
		max-width:100vw;
		margin-left:-15px;
	}
}
.home .news_wrap .lead {
	font-size:1.875rem;
	font-weight:500;
	color: #336842;
	margin-bottom:2em;
}
.home .news_wrap .common_btn a {
	margin-left:auto;
}
@media screen and (max-width:767px) {
	.home .news_wrap .lead {
		font-size: 1.5rem;
		margin-top:0;
		margin-bottom: 1em;
	}
	.home .news_wrap .common_btn a {
		margin-left:auto;
	}	
}
.home .recruit_wrap {
	position:relative;
	padding-top:280px;
	padding-bottom: 80px;
	z-index:0;
}
.home .recruit_wrap::after{
	position:absolute;
	display:inline-block;
	content:"";
	width: 105vw;
	height: 100%;
	background: #336842;
	bottom: -8vw;
	left: -5vw;
	right:0;
	z-index:-1;
	margin: auto;
	transform: rotate(-8deg) skew(-8deg);
}
.home .recruit_wrap .flex_box{
	display:flex;
}
.home .recruit_wrap .flex_box .txt_box,
.home .recruit_wrap .flex_box .img_box{
	width:50%;
}
.home .recruit_wrap .flex_box .txt_box .top_tit,
.home .recruit_wrap .flex_box .txt_box .lead,
.home .recruit_wrap .flex_box .txt_box p{
	color:#fff;	
}
.home .recruit_wrap .flex_box .txt_box .lead{
	margin-bottom:1em;
}
.home .recruit_wrap .flex_box .txt_box p{
	line-height:1.4;
}
.home .recruit_wrap .flex_box .img_box{
	order:-1;
}
@media screen and (max-width:767px) {
	.home .recruit_wrap {
		padding-top: 80px;
		padding-bottom: 0;
	}
	.home .recruit_wrap::after{
		height: 86%;
		transform: rotate(-10deg) skew(-10deg);
		left: -2vw;
	}
	.home .recruit_wrap .flex_box{
		flex-direction:column;
	}
	.home .recruit_wrap .flex_box .txt_box{
		width:100%;
	}
	.home .recruit_wrap .flex_box .img_box{
		width: 68%;
		margin-left:auto;
		margin-top:-50px;
	}
}
.home .access_wrap{
	position:relative;
	padding:80px 0;
	z-index:0;
}
.home .access_wrap .top_tit {
	position:absolute;
	font-size:15.625rem;
	color: #ecf4ef;
	top:-10px;
	left:-12px;
	z-index:-1;
}
.home .access_wrap .flex_box{
	display:flex;
}
.home .access_wrap .flex_box .txt_box,
.home .access_wrap .flex_box .map_box{
	width:50%;
	padding:0 2em;
}
.home .access_wrap .flex_box .txt_box{
	padding-top: 4em;
}
.home .access_wrap .flex_box .txt_box .lead{
	margin-bottom:2.5em;
}
.home .access_wrap .flex_box .txt_box .access {
	margin-top:1em;
	margin-bottom:1em;
}
.home .access_wrap .flex_box .txt_box .access p{
	font-size:1rem;
	line-height:1.6;
}
.home .access_wrap .flex_box .txt_box .common_btn{
	margin:0.5em 0;
}
.home .access_wrap .flex_box .map_box{
	max-width:570px;
	padding-right: 0;
}
@media screen and (max-width:767px) {
	.home .access_wrap{
		padding: 80px 0 0;
	}
	.home .access_wrap .top_tit {
		font-size:9rem;
		top:0;
		left:-6px;
	}
	.home .access_wrap .flex_box{
		flex-direction:column;
	}
	.home .access_wrap .flex_box .txt_box,
	.home .access_wrap .flex_box .map_box{
		width:100%;
		padding:0;
	}
	.home .access_wrap .flex_box .txt_box{
		padding-top: 0;
	}
	.home .access_wrap .flex_box .txt_box .lead{
		margin-bottom:1em;
	}
	.home .access_wrap .flex_box .txt_box .logo{
		width: 325px;
	}
	.home .access_wrap .flex_box .txt_box .access {
		margin-bottom:2em;
	}
	.home .access_wrap .flex_box .txt_box .common_btn{
		margin:0.5em 0;
	}
	.home .access_wrap .flex_box .map_box{
		max-width:100vw;
		width: 100vw;
		padding-right: 0;
		margin-left: -15px;
		margin-top: 3em;
	}
}

/* 20240826 INFORMATION */
.information_wrap {
	padding: 80px 0 130px;
}
.information_tree {
	display: flex;
	border: 1px solid #000000;
	padding: 20px;
	margin: 0 auto;
	max-width: 1200px;
	justify-content: center;
	font-size: 1.125rem;
}
.information_tree_title {
	border: 1px solid #000000;
	margin-bottom: 20px;
	font-size: 1.125rem;
	padding: 10px;
	max-width: 430px;
}
.information_tree_1st_item {
	border-right: 1px solid #000000;
	padding-right: 48px;
	height: 161px;
	margin-top: 13px;
	margin-bottom: auto;
	padding-top: 40px;

}
.information_tree_1st_item > p {
	width: 55px;
}
.information_tree_1st_item > p,
.information_tree_2nd_item > p,
.information_tree_2nd_item-2 > p,
.information_tree_3rd_item > p,
.information_tree_4th_item > p
{
	position: relative;
}
.information_tree_1st_item > p::after{
	content: "";
	height: 1px;
	width: 40px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: -48px;
}
.information_tree_2nd {
	padding-left: 16px;
}
.information_tree_2nd_flex {
	display: flex;
}
.information_tree_2nd_flex p {
	margin-bottom: 20px;			
}
.information_tree_2nd_item-2 > p {
	padding-left: 85px;
}
.information_tree_2nd_item > p::after {
	content: "";
	height: 1px;
	width: 14px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: -16px;
}
.information_tree_2nd_item-2 > p::after {
	content: "";
	height: 1px;
	width: 82px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 25%;
	left: 2px;
}
.information_tree_3rd {
	padding-left: 84px;
	margin-top: 20px;
	margin-bottom: 40px;
}
.information_tree_3rd_item > p::before {
	content: "";
	width: 1px;
	height: 34px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: -22px;
	left: -44px;
}
.information_tree_3rd_item > p::after {
	content: "";
	height: 1px;
	width: 42px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 16%;
	left: -44px;
}
.information_tree_4th {
	padding-left: 85px;
}
.information_tree_4th_item > p::before {
	content: "";
	width: 1px;
	height: 62px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: -58px;
	left: -44px;
}
.information_tree_4th_item > p::after {
	content: "";
	height: 1px;
	width: 42px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 16%;
	left: -44px;
}
.information_tree_4th_item:nth-child(2) > p::before {
	content: "";
	width: 1px;
	height: 100px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: -92px;
	left: -128px;
}
.information_tree_4th_item:nth-child(2) > p::after {
	content: "";
	height: 1px;
	width: 124px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	top: 25%;
	left: -128px;
}
@media screen and (max-width: 767px) {
	.information_tree {
		flex-direction: column;
	}
	.information_tree_1st_item {
		border-right:none;
		padding-right: 0;
		height: auto;
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 0;
	}
	.information_tree_1st_item > p::after{
		height: 310px;
		width: 1px;
		top: 100%;
		left: 43%;
	}
	.information_tree_2nd {
		padding-left: 44px;
		margin-top: 40px;
	}
	.information_tree_2nd_flex p {
		margin-bottom: 20px;			
	}
	.information_tree_2nd_item-2 > p {
		padding-left: 20px;
		min-height: 88.19px;
	}
	.information_tree_2nd_item > p > span {
		display: inline-block;
		width: 90px;
	}
	.information_tree_2nd_item > p::after {
		width: 16px;
		top: 16%;
		left: -20px;
	}
	.information_tree_2nd_item-sp > p::after {
		top: 50%;
	}
	.information_tree_2nd_item-2 > p::after {
		width: 28px;
		top: 13%;
		left: -9px;
	}
	.information_tree_3rd {
		padding-left: 84px;
		margin-top: 20px;
		margin-bottom: 40px;
	}
	.information_tree_3rd_item {
		height: 132.28px;
	}
	.information_tree_3rd_item > p::before {
		height: 30px;
		top: -18px;
		left: -44px;
	}
	.information_tree_3rd_item > p::after {
		width: 42px;
		top: 9%;
		left: -44px;
	}
	.information_tree_4th {
		padding-left: 20px;
	}
	.information_tree_4th_item:first-child > p {
		min-height: 66.14px;
	}
	.information_tree_4th_item > p::before {
		height: 107px;
		top: -97px;
		left: -15px;
	}
	.information_tree_4th_item > p::after {
		width: 15px;
		left: -15px;
	}
	.information_tree_4th_item:nth-child(2) > p::before {
		height: 186px;
		top: -174px;
		left: -64px;
	}
	.information_tree_4th_item:nth-child(2) > p::after {
		width: 64px;
		top: 50%;
		left: -64px;
	}

}

/* footer
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	/* bottom: 15px; */
	bottom: 70px;
	right: 5%;
	width: 70px;
	z-index: 500;
}
footer {
	background: #336842;
	padding: 60px 0 15px;
	color: #ffff;
}
footer .sitewrap{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:stretch;
	min-width: 1100px;
	width: 1100px;
}
#foot_left{
	margin-bottom:1.5em;
}
#foot_left .access{
	margin-top:1.5em;
	font-size:1rem;
	line-height:1.6;
	letter-spacing: 0.1em;
}
#foot_right {
	display:flex;
	justify-content:space-between;
	max-width: 710px;
	width: 60%;
	min-width: 690px;
}
.add-footer-link{
	display: inline-block;
	margin: 0 0 0 28.33em;
}
.add-footer-link li{
	font-size: 0.875rem;
	position: relative;
	line-height: 1.9;
}
.add-footer-link li::before{
	position: absolute;
	display: inline-block;
	content: "";
	width: 0.35rem;
	height: 1px;
	background: #fff;
	top: 0;
	left: -1em;
	bottom: 0;
	margin: auto;
}
@media screen and (max-width:767px) {
	.add-footer-link{
		margin: 0;
		display: none;
	}
}

#foot_right dt{
	margin-bottom:0.5em;
}
#foot_right dd p{
	position:relative;
	font-size:0.875rem;
	padding-left:1rem;
	margin-bottom: 0.35em;
}
#foot_right dd p::before{
	position:absolute;
	display:inline-block;
	content:"";
	width:0.35rem;
	height:1px;
	background:#fff;
	top:0;
	left:0;
	bottom:0;
	margin:auto;
}
#foot_right .center_menu p {
	margin-bottom:0.5em;
	line-height: 1.2;
}
#foot_right p a{
	position:relative;
	display:inline-block;
	padding-bottom:2px;
	overflow:hidden;
}
#foot_right p a:hover{
	text-decoration:none;
}
#foot_right p a::before{
	position:absolute;
	display:inline-block;
	content:"";
	width:100%;
	height:1px;
	background:#fff;
	bottom:0;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .4s;
	z-index:0;
}
#foot_right p a:hover::before{
	transform: scale(1, 1);
	transform-origin: left top;
}
#foot_right .right_menu{
	width:295px;
}
#foot_right .right_menu .common_btn{
	margin:0 0 1em;
}
footer small {
	display:block;
	color: #fff;
	font-size: 0.75rem;
	width:100%;	
}
main a.page_link {
	margin-top: -114px;
	padding-top: 114px;
	display: block;
	position: relative;
	z-index: -10;
}
@media screen and (max-width:1100px) {
	footer .sitewrap{
		min-width: 0;
		width: 100%;
	}
}
@media screen and (max-width:767px) {
	#pageTop {
		width: 49px;
		right: 10px;
		/* bottom: 10px; */
		bottom: 90px;
	}
	footer {
		padding: 30px 0 80px;
	}
	footer .sitewrap{
		display:block;
	}
	#foot_left{
		margin-bottom:1.5em;
	}
	#foot_left .logo{
		display: block;
		width: 293px;
	}
	#foot_left .access{
		margin-top:1em;
		font-size:0.875rem;
	}
	#foot_right {
		display: none;
	}
	footer small {
		text-align:center;
	}
}

/* トップページアニメーション */
.bg01{
	z-index: 10;
}
.bg02{
	z-index: 20;
}
.bg03{
	z-index: 30;
}
.bg04{
	z-index: 40;
}
.bg05{
	z-index: 50;
}

.car-left-down{
	width: 10%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 31;
}
.car-left-up{
	width: 10%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 32;
}
.car-left-down2{
	width: 10%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 33;
}
.car-left-up2{
	width: 10%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 34;
}
.car-right-down{
	width: 10%;
	position: absolute;
	top: -30%;
	right: 20%;
	z-index: 5;
}
.car-right-up{
	width: 10%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 6;
}
.car-collection{
	width: 12%;
	position: absolute;
	top: 28%;
	right: 50%;
	z-index: 61;
}
.car-collection1-1{
	width: 12%;
	position: absolute;
	top: 40%;
	right: 7%;
	z-index: 63;
}
.car-collection1-2{
	width: 12%;
	position: absolute;
	top: 40%;
	right: 7%;
	z-index: 63;
}
.car-collection1-end{
	width: 12%;
	position: absolute;
	top: 40%;
	right: 7%;
	z-index: 63;
}
.cover{
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: auto;
	z-index: 100;
}.cleaning-person1{
	width: 2.1%;
	position: absolute;
	top: 54%;
	right: 14.5%;
	z-index: 71;
}
.light1{
	width: 2.3%;
	position: absolute;
	top: 54%;
	right: 4.8%;
	z-index: 72;
}
.roof{
	width: 15.4%;
	position: absolute;
	top: -0.1%;
	right: 39.75%;
	z-index: 72;
}
.walk-animate{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.walk-left{
	width: 6%;
	position: absolute;
	top: 42%;
	left: 10%;
	z-index: 55;
}
.walk-right{
	width: 6%;
	position: absolute;
	top: 42%;
	left: 10%;
	z-index: 55;
	opacity: 0;
}
.ship-animate{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.ship{
	width: 13%;
	position: absolute;
	top: 5%;
	left: 10%;
	z-index: 56;
}
.talk-animate{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.talk-left{
	width: 2.2%;
	position: absolute;
	top: 50%;
	left: 70%;
	z-index: 57;
}
.talk-right{
	width: 2.0%;
	position: absolute;
	top: 50%;
	left: 72%;
	z-index: 58;
}
.cleaning-animate{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.cleaning-left{
	width: 4.2%;
	position: absolute;
	top: 14%;
	left: 70%;
	z-index: 15;
}
.cleaning-right{
	width: 4.2%;
	position: absolute;
	top: 14%;
	left: 72%;
	z-index: 16;
}

/* contact */
.contact_btn {
	display: flex;
	align-items: center;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 400px;
	background-color: #022b0c;
	z-index: 1;
}
.contact_btn a {
	flex-grow: 1;
	display: block;
	padding: 1rem;
}
.contact_btn a:hover img {
	animation: bound 0.3s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
.contact_btn img {
	height: 30px;
}
.contact_btn a.contact_btn_mail {
	background-color: #ecfff0;
}
.contact_btn .btn_sp {
	display: none;
}
.grecaptcha-badge[style] {
	bottom: 75px !important;
}
@media screen and (max-width:767px) {
	.contact_btn {
		width: 100%;
	}
	.contact_btn a {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
		pointer-events: initial !important;
	}
	.contact_btn a.contact_btn_tel{
		width:60%;
	}
	.contact_btn a.contact_btn_mail{
		width:40%;
	}
	.contact_btn img {
		height: 25px;
	}
	.contact_btn .btn_sp {
		display: inline-block;
	}
	.contact_btn .btn_pc {
		display: none;
	}
	.grecaptcha-badge[style] {
		bottom: 150px !important;
	}
}
@keyframes bound {
	0% {
    transform: translateY(10px);
  }
	50% {
    transform: translateY(0);
  }
	65% {
    transform: translateY(5px);
  }
	100% {
    transform: translateY(0);
  }
}

/* 20241001 TOP CASE STUDY */
.casestudy_wrap {
	padding: 80px 0 130px;
}
.casestudy_list{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	row-gap: 40px;
}
.casestudy_list_item{
	padding: 20px 0;
	width: 22%;
	display: flex;
	flex-direction: column;
}
.casestudy_imgtxtbox {
	position: relative;
	padding-top: 22px;
	transition : 1s;
}
.casestudy_img {
	width: 100%;
}
.casestudy_img-txt {
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: #26784e;
	color: #fff;
	font-size: 0.875rem;
	padding: 2px 6px;
}
input[type=checkbox].casestudy_check {
	display: none;
}
.casestudy_ttl { 
	font-weight: bold;
}
.casestudy_textArea {
	opacity: 0;
	visibility: hidden;
	flex-grow: 1;
	height: 0px;
	transition: opacity 0.8s ease;
	padding-top: 10px;
}
.casestudy_imgtxtbox:hover ~ .casestudy_textArea {
	opacity: 1;
	visibility: visible;
	height: auto;
}
@media screen and (max-width: 767px) {
	.casestudy_list {
		padding-top: 20px;
	}
	.casestudy_list_item{
		flex-direction: column;
		padding: 0px;
	}
	.casestudy_list_item{
		width: 100%;
	}
	.casestudy_ttl {
		position: relative;
	}
	.casestudy_ttl:after {
		content: '';
		position: absolute;
		top: 4px;
		width: 0;
		height: 0;
		transition: transform 0.5s;
		border-style: solid;
		border-right: 10px solid transparent;
		border-left: 10px solid transparent;
		border-top: 12px solid #26784e;
		border-bottom: 0;
		margin-left: 6px;
	}
	.casestudy_check:checked + .casestudy_ttl + .casestudy_textArea {
		opacity: 1;
		visibility: visible;
		height: auto;
	}
	.casestudy_check:checked + .casestudy_ttl:after {
		transform: rotate(180deg);
	}
}

/* 20241126 footer 対応地域 */
footer .sitewrap .copyright {
 padding-top: 1rem;
}
footer .sitewrap .under_menu {
 padding-bottom: 2rem;
 margin: 0 0 0 auto;
}
footer .sitewrap .under_menu .area_txt {
 z-index: 0;
 position: relative;
 text-align: center;
 padding: 0 2.625em 0.5em;
 width: 60%;
 margin: 0 0 0 auto;
}
footer .sitewrap .under_menu .area_txt::before {
 position: absolute;
 display: inline-block;
 content: "";
 height: calc(100% - 1.25em);
 border: 1px solid #ffffff;
 border-radius: 20px;
 z-index: -1;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
footer .sitewrap .under_menu .region_tt {
 width: 200px;
 border: 1px solid #ffffff;
 background-color: #336842;
 color: #fff;
 padding: 0.35em 1rem;
 margin-bottom: 1.25em;
 border-radius: 10px;
}
footer .sitewrap .under_menu .r_tt {
 font-size: 16px;
 text-align: left;
 padding-bottom: 1rem;
}
footer .sitewrap .under_menu .r_tt .p_name {
 font-size: 16px;
 line-height: 2rem;
}
@media screen and (max-width: 1140px) {
 footer .sitewrap .under_menu,
 footer .sitewrap .under_menu .area_txt {
  margin: initial;
 }
}
@media screen and (max-width: 767px) {
 footer .sitewrap .under_menu .area_txt {
  width: 100%;
  padding: 0 2em 0.5em;
 }
 footer .sitewrap .under_menu .region_tt {
  margin: 0 auto;
 }
footer .sitewrap .under_menu .r_tt{
	font-size:1rem;
}
}

/* 20250331 top業種別ページへのリンク設置 */
.casestudy_list_link:hover {
	text-decoration: none;
}
.casestudy_list_link:hover ~ .casestudy_textArea {
	opacity: 1;
	visibility: visible;
	height: auto;
}