@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background:#FFFFFF;
	color: #282828;
	font-family: 'Noto Sans JP', sans-serif, "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman", "HG明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:16px;
	line-height:1.4;
}
html .goti,
html .goti form *{
	font-family:  "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 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;
}
.sitewrap {
	width: 1200px;
	min-width:1200px;
	overflow:hidden;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}
.fixedMenu {
	position: fixed;
	top: -80px;
	z-index: 10;
	max-width: 100%;
	margin: 0 auto;
}
@media screen and (max-width:1240px) {
	.sitewrap {
		min-width: unset;
		width: calc(100% - 2%);
	}
}
@media screen and (max-width:768px) {
.sitewrap {
	width: 100%;
	min-width:0;
}
.fixedMenu {
	position: static;
	transform: none;
	left: 0;
	animation: none;
	}

}

/* header
-------------------------------------------------------------------*/
header {
	background:#fff;
}
.h1{
	float:left;
}
header nav{
	float:right;
	width: 72%;
}
header nav ul{
	max-width: calc(1200px + 2%);
	padding: 1em 1%;
	margin: 0 auto;
	display: flex;
}
header nav ul li{
	width: calc(100% / 8);
}


header nav ul li a{
	display:block;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align:center;
	font-size: 0.875rem;
	color: #010000 !Important;
	transition: opacity 0.3s;
	text-decoration:none;
	border-right: dotted 2px #bdbdbd;
}
header nav ul li:first-child a{
	border-left: dotted 2px #bdbdbd;
}

header nav ul li:hover a{
	opacity: 0.5; 
	color: unset;
}
@media screen and (max-width: 1200px){
	header nav ul li a{
		font-size: 0.7rem;
	}
}
@media screen and (max-width:768px) {
	header nav ul{
		width: 100%;
		padding: 0;
		flex-direction: column;
	}
}

#SpMenu{  
	display:none;
}
@media screen and (max-width: 768px) {
header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
    z-index: 500;
	/*border-bottom: solid 1px #ccc;*/
}




header .sitewrap{
	padding:8px 10px 8px;
	position:relative;
}
header .top_wrap > .position{
	height:60px;
	overflow:hidden;
}
#SpMenu{
	display:block;
	position: fixed;
    top: 6px;
    right:0;
    z-index: 550;
}
#SpMenu .close,
#SpMenu.active .open{
	display:none;
}
#SpMenu.active .close{
	display: block;
}
.h1{
	width:140px;
	padding: 8px 0 0 14px;
	float: none;
	position: relative;
	text-align: left;
}
header h1 .position img, header .position .h1 img{
	position:static;
}
header nav{
	float:none;
	width:auto;
	display:none;
	position:fixed;
	top:59px;
	left:0;
	background:#fff;
	width:100%;
	z-index:600;
	padding:0 !important;

}
header nav ul {
	border-left:none;
	background-color: #fff;
	/*border-top:solid 1px #ccc;*/
}
header nav ul li,header nav ul li:nth-child(5),header nav ul li:nth-child(6),header nav ul li:nth-child(7){
	float:none;
	width:auto;
	border-right:none;
	margin-left: -3px;
	position: relative;
	margin-bottom: 7px;
	/*border-bottom:solid 1px #ccc;*/
}
header nav ul li:nth-child(2), header nav ul li:nth-child(3), header nav ul li:nth-child(4), header nav ul li:nth-child(7){
	width: 100%;
	}
header nav ul li a{
	display:block;
	line-height: 1.6;
	background:#fff;
	padding:18px 25px;
	text-align:left;
	font-size:16px;
    position:relative;
	transition: none;
	top: 8px;
	border-bottom: solid 1px #7ba23f;
	z-index: 1000;
}
header nav ul li a:hover{
	transition: none;
}

header nav ul li:nth-child(3) a{ line-height:1.6;}
header nav ul li a br{ display:none;}
header nav ul li a span{
    display: inline-block;
    padding-right: 15px;
    color: #7ba23f;
}

@media screen and (max-width: 768px){
#tvcm header nav ul li a span {
    display: block;
    padding-right: 14px;
    color: #7ba23f;
}
}

/*header nav ul li a span:before,
header nav ul li a span:after{
    display: inline-block;
    content: "";
    width:0;
    height:0;
	border: 8px solid transparent;
	border-left: 8px solid #E60012;
	position:absolute;
	top:50%;
	margin-top:-8px;
	right:12px;
}*/
header nav ul li a span:after{
    display: inline-block;
	border-left: 8px solid #f6f6f6;
	right:15px;
}
header nav ul li:hover a span:before,
header nav ul li:hover a span:after{
	border-left-color: #f6f6f6;
}
header nav ul li:hover a span:after{
	border-left-color: #E60012;
}
}

/* contents
-------------------------------------------------------------------*/

main{
	/*margin-bottom:120px;*/
	display: block;
}

#commons .visula{
	background:url(../img/common/bg_common.jpg) no-repeat top center;
	background-size:100%;
	min-width:1100px;
}
#commons .visula .sitewrap{ padding-bottom:21.5%;}
#commons .visula h1,
#commons .visula .h1{
	position: absolute;
	top:50%;
	left:50%;
	z-index:200;
	font-size:40px;
	text-shadow: 2px 2px 1px rgba(0,0,0,0.5);
	font-weight:bold;
    margin-left: -2em;
	margin-top:-0.5em;
	line-height:1em;
	color:#fff;

}
#commons .visula h1 br{ display:none;}
.common_nav{
	background:#F4F4F4;
	margin-bottom:70px;
}
.common_nav ul{
	text-align:center;
	margin:0 auto;
	display: table;
}
.common_nav ul li{display: table-cell;vertical-align: middle;text-align: center;}
.common_nav ul li a{
	display: block;
	font-size:16px;
	font-weight:bold;
	color:#777777;
	padding:20px 30px;
}
.common_nav ul li a br{ display:none;}
.common_nav ul li a:hover,
.common_nav ul li a.active{
	background:#1F1F1F;
	color:#fff;
	text-decoration:none;
}


@media screen and (max-width:768px) {
	main{
		padding-top:60px;
		/*margin-bottom:40px;*/
	}
	#commons .visula{ 	background-size:cover; min-width:inherit;}
	#commons .visula .sitewrap{ padding-bottom:40%;}
	#commons .visula h1{ font-size:32px;}
	.common_nav { margin-bottom:10px;}
	.common_nav ul {
		display:table;
		width: 100%;
		padding:0
	}
	.common_nav ul li{ width:50%; }
	.env_csr .common_nav ul li,
	.service .common_nav ul li,
	.used .common_nav ul li,
	.rental .common_nav ul li{width:33.3%;}
	.about .common_nav ul li{ width:25%;}
	.common_nav ul li a{
		font-size:14px;
		padding: 18px 0;
		text-align:center;
		width:100%;
	}
	.common_nav ul li a.long{
		line-height: 18px;
		padding: 10px 0;
	}
	.common_nav ul li a br{ display:inline;}
	.common_nav ul li a:hover,
	.common_nav ul li a.active{
		background:#1F1F1F;
		color:#fff;
		text-decoration:none;
	}
	.common_nav ul li a span {
		text-align: center;
		display: block;
		width: 6em;
		margin: 0 auto;
	}
	.common_nav ul:after{ content:none;}
}
@media screen and (max-width:360px) {
	.common_nav ul li a{
		font-size:12px;
	}
}

/* footer
-------------------------------------------------------------------*/
#pageTop {
    position: fixed;
    bottom: 110px;
    right: 17%;
    width: 70px;
    z-index: 999;
}
.in_footer{
	margin:120px auto 20px;
}
.in_footer ul{
	margin:10px 0 0px;
	text-align:right;
}
.in_footer li{
	display:inline-block;
	border-left: solid 1px #999999;
	padding: 2px 16px;
	text-align:center;
}
footer{
	background:#9cc857;
	padding: 0;
	/*max-width: 1600px;*/
	margin: 0 auto;
}


#foot_left{
	float:left;
	width:330px;
	color: #fff;
	margin: 16px 0;
}
#foot_right{
	float:right;
	width:570px;
	font-size:16px;
	text-align:right;
}
#foot_right ul{
	margin: 16px 0;
}
#foot_right li{
	display:inline-block;
	/*border-left: solid 1px #999999;*/
	padding: 2px 16px;
	text-align:center;
}
#foot_right li a,
#foot_right small{	color:#fff;}


@media screen and (max-width:768px) {
#pageTop {
    width: 55px;
    right: 17px;
    bottom: 50px;
}
.in_footer{
	margin:40px auto 0;
}
.in_footer ul{
	border-top:solid 1px #ddd;
}
.in_footer ul:after{
	content:none;
}
.in_footer li{
	font-size: 15px;
    display: block;
    text-align: left;
    padding: 0;
	border-bottom:solid 1px #ddd;
}
.in_footer li a{
    display: block;
    padding: 20px;
	position:relative;
}
.in_footer a:before,
.in_footer a:after{
    display: inline-block;
    content: "";
    width:0;
    height:0;
	border: 8px solid transparent;
	border-left: 8px solid #888888;
	position:absolute;
	top:50%;
	margin-top:-8px;
	right:10px;
}
.in_footer a:after{
	border: 8px solid transparent;
	border-left: 8px solid #fff;
	right:13px;
}
footer{/* padding:30px 0; */}
#foot_left,
#foot_right ul{/* display:none;*/}
#foot_right{
	text-align:center;
	width:auto;
	float:none;
}
#foot_right small{
	font-size:10px;
}

.page_link {
    margin-top: -60px;
    padding-top: 60px!important;
    display: block;
}
}








/*history*/
.history .history-list{
	position:relative;
	padding-left:120px;
}
.history .history-list:before{
	content:"";
	width: 7px;
	background:#d8d8d8;
	position:absolute;
	inset: 0 auto 0 4px;
	margin:auto;
	border-radius:10px;
}
.history .history-list .history-item{
	position:relative;
	padding-block:2.25em;
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	border-bottom:1px solid #c9c9c9;
	z-index:10;
	padding-inline:1.25em;
	gap:1.375em;
}
.history .history-list .history-item:first-child{
	padding-top:1.5em;
}
.history .history-list .history-item:before{
	content:"";
	width:0.9375em;
	aspect-ratio:1 / 1;
	border-radius:50%;
	background:#7ba23f;
	position:absolute;
	inset: 2.5em auto auto -120px;
}
.history .history-list .history-item:after{
	content:"";
	width:5.75em;
	height:0.375em;
	border-radius:10px;
	background:#9cc857;
	position:absolute;
	inset: 2.75em auto auto -117px;
	z-index:-1;
}
.history .history-list .history-item:first-child:before{
	top:2em;
}
.history .history-list .history-item:first-child:after{
	top:2.25em;
}
.history .history-list .history-item .item-year{
	font-size:1.125rem;
	font-weight:bold;
	line-height:1;
	width: 6.75em;
}
.history .history-list .history-item .item-year span{
	font-size:2rem;
	line-height:1;
	display:inline-block;
	margin-right:0.125em
}
.history .history-list .history-item .history-year{
	font-size:1.125rem;
	font-weight:bold;
	line-height:1;
	width: 11.5em;
	background:#9cc857;
	display:inline-block;
	height:fit-content;
	text-align:center;
	border-radius:42px;
	padding:0.389em 0.5em 0.5em;
	color:#fff;
}
.history .history-list .history-item .history-right{
	width:calc(100% - 21.9em);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1em;
	flex-wrap: wrap;
}
.history .history-list .history-item .history-txt{
	padding-top:0.25em;
	padding-left:1.5em;
	max-width: 530px;
}
.history .history-list .history-item:has( .history-image img:nth-child(2)) .history-txt{
	max-width: 100%;
}
.history .history-list .history-item .history-txt li{
	list-style:disc;
}
@media screen and (max-width:768px) {
	.history .history-list{
		padding-left: 40px;
	}
	.history .history-list:before{
		width: 4px;
		inset: 0 auto 0 4px;
	}
	.history .history-list .history-item{
		padding-block: 1.25em;
		padding-inline:1.25em;
		gap: 0.75em 0.5em;
		flex-wrap: wrap;
	}
	.history .history-list .history-item:first-child{
		padding-top: 1em;
	}
	.history .history-list .history-item:before{
		width: 0.75em;
		inset: 1.65em auto auto -40px;
	}
	.history .history-list .history-item:after{
		width: 2.25em;
		height: 0.125em;
		inset: 2em auto auto -37px;
	}
	.history .history-list .history-item:first-child:before{
		top:1.375em;
	}
	.history .history-list .history-item:first-child:after{
		top:1.75em;
	}
	.history .history-list .history-item .item-year{
		font-size:1rem;
		width: 6em;
	}
	.history .history-list .history-item .item-year span{
		font-size:1.47rem;
	}
	.history .history-list .history-item .history-year{
		font-size:0.86rem;
		width: 11em;
		padding:0.389em 0.5em 0.5em;
	}
	.history .history-list .history-item .history-right{
		width:100%;
	}
	.history .history-list .history-item .history-txt li{
		font-size:0.875rem;
	}
}


/*ques*/
.ques .ques-btn{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:1em;
	margin-bottom: 5em;
}
.ques .ques-btn .link_btn{
	width:32%;
}
.ques .ques-btn .link_btn a span{
	padding-left:10px;
}
.ques .ques-btn .link_btn.gr a span:after{
	transform:rotate(135deg);
	right:1.3em;
	top:-0.25em
}
.ques .ques-wrap{
	background:#fff;
	border-radius:20px;
	border: 2px solid;
	padding: 1em 3em 3em;
}
.ques .ques-wrap + .ques-wrap{
	margin-top:5em;
}
.ques .ques-wrap:last-child{
	margin-bottom:4em;
}
.ques .ques-wrap .ques-item{
	border-bottom:1px solid #c9c9c9;
}
.ques .ques-wrap .ques-item + .ques-item{
	margin-top:2em;
}
.ques .ques-wrap .ques-item dt{
	font-size:1.125rem;
	position:relative;
	font-weight:bold;
	padding: 0.5em 2.125em 1em 1em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	cursor: pointer;
}
.ques .ques-wrap .ques-item dt em{
	font-size:1.5rem;
	color:#9cc857;
}
.ques .ques-wrap .ques-item dt:before,
.ques .ques-wrap .ques-item dt:after{
	content:"";
	width:1em;
	height:2px;
	background:#282828;
	position:absolute;
	inset:0 1em 0 auto;
	margin:auto;
	transition:.5s transform;
}
.ques .ques-wrap .ques-item dt:after{
	transform:rotate(90deg);
}
.ques .ques-wrap .ques-item dt.opened:before{
	transform:rotate(180deg);
}
.ques .ques-wrap .ques-item dt.opened:after{
	transform:rotate(360deg);
}
.ques .ques-wrap .ques-item dd{
	border-top:1px solid #c9c9c9;
	padding:1.5em 1em;
	line-height: 1.75;
}
.ques .ques-wrap .ques-item dd p{
	margin-bottom:1em;
}
.ques .ques-wrap .ques-item dd *:last-child{
	margin-bottom:0;
}
.ques .ques-wrap .ques-item dd ul{
	padding-left:1.75em;
	margin-bottom:1em;
}
.ques .ques-wrap .ques-item dd ul li{
	list-style:disc;
	margin-block: 0.25em;
}
.ques .ques-wrap .ques-item dd .ques-image{
	display:flex;
	gap:1em;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap: wrap;
}
.ques .ques-wrap .ques-item dd p a{
	text-decoration:underline;
	text-underline-offset:5px;
	transition:.5s text-decoration-color;
}
.ques .ques-wrap .ques-item dd p a:hover{
	text-decoration-color:transparent;
}
.ques .ques-wrap .ques-item dd .ques-mini-wrap{
	margin-block:1em;
}
.ques .ques-wrap .ques-item dd .ques-mini-wrap em{
	font-weight:bold;
	font-size:1.125rem;
	margin-bottom:0.5em;
	display:block;
}
.ques .ques-wrap .ques-item dd .ques-col82{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1em;
}
.ques .ques-wrap .ques-item dd .ques8{
	width:calc(80% - 1em);
}
.ques .ques-wrap .ques-item dd .ques2{
	width:20%;
}
@media screen and (max-width:768px) {
	.ques .ques-btn{
		gap:1em;
		margin-bottom:3em;
	}
	.ques .ques-btn .link_btn{
		width:100%;
	}
	.ques .ques-wrap{
		border-radius:10px;
		border: 1px solid;
		padding: 1em;
	}
	.ques .ques-wrap .ques-item + .ques-item{
		margin-top: 1.5em;
	}
	.ques .ques-wrap .ques-item dt{
		font-size:1rem;
		padding: 0.5em 2.25em 0.5em 1em;
		align-items:flex-start;
	}
	.ques .ques-wrap .ques-item dt em{
		font-size:1.125rem;
	}
	.ques .ques-wrap .ques-item dt p{
		font-size:0.875rem;
	}
	.ques .ques-wrap .ques-item dt:before,
	.ques .ques-wrap .ques-item dt:after{
		content:"";
		width:1em;
		height:2px;
		background:#282828;
		position:absolute;
		inset:0 1em 0 auto;
		margin:auto;
		transition:.5s transform;
	}
	.ques .ques-wrap .ques-item dd{
		padding:1em 1em;
		font-size:0.875rem;
	}
	.ques .ques-wrap .ques-item dd .ques-mini-wrap em{
		font-size:1rem;
	}
	.ques .ques-wrap .ques-item dd .ques-col82{
		gap:1em;
	}
	.ques .ques-wrap .ques-item dd .ques8{
		width:100%;
	}
	.ques .ques-wrap .ques-item dd .ques2{
		width:100%;
		text-align:center;
	}
	.ques .ques-wrap + .ques-wrap{
		margin-top:3em;
	}
	.ques .ques-wrap:last-child{
		margin-bottom:2em;
	}
	.ques .ques-wrap .ques-item dd .ques-image{
		gap:1em 1%;
	}
	.ques .ques-wrap .ques-item dd .ques-image:has(img:nth-child(3)) *{
		width:32%;
	}
}


/*flow*/
.flow .sitewrap{
	overflow:visible;
}
.flow .flow-top {
	position: relative;
	z-index: 0;
}
.flow .flow-top p{
	text-align: center;
	line-height: 2.2;
	margin-block: -1em 3em;
	font-weight: 500;
}
.flow .flow-top .img{
	margin: 0 auto 6em;
	max-width: 788px;
}
.flow .flow-top .img > img{
	border: 2px solid;
	border-radius: 1.5rem;
	aspect-ratio: 2 / 1.1;
	object-fit: cover;
}
.flow .flow-top .first-img{
	position: absolute;
	z-index: 0;
	margin: auto;
	width: fit-content;
	inset: auto auto -2.5em 6.5em;
}
.flow .flow-title{
	position:relative;
	margin-bottom:3em;
}
.flow .flow-title .secound-img{
	position:absolute;
	inset: -4.75em 0 0 34em;
	margin:auto;
	max-width: fit-content;
}
.flow .flow-list{
	margin-top: 4em;
}
.flow .flow-list .flow-item{
	position:relative;
	margin-bottom: 4.5em;
	background:#fff;
	border:2px solid #282828;
	border-radius:10px;
	padding: 2.5em 2.875em;
	z-index:10;
}
.flow .flow-list .flow-item:after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 64px solid transparent;
	border-left: 64px solid transparent;
	border-top: 36px solid #9cc857;
	border-bottom: 0;
	position:absolute;
	inset:auto 0 -38px 0;
	margin:auto;
	z-index:-1;
}
.flow .flow-list .flow-item:last-child:after{
	display:none;
}
.flow .flow-list .flow-item i{
	display:flex;
	justify-content:center;
	align-items:center;
	line-height:1;
	font-size:3rem;
	font-weight:bold;
	color:#fff;
	background:#9cc857;
	border:2px solid #282828;
	aspect-ratio:1 / 1;
	width:1.708em;
	position:absolute;
	inset:-0.75em auto auto -0.75em;
	border-radius:50%;
	font-style:normal;
	padding-bottom:0.125em
}
.flow .flow-list .flow-item .flow-col{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
	gap: 1%;
}
.flow .flow-list .flow-item .flow-col .flow-left{
	width: 50.75%;
}
.flow .flow-list .flow-item .flow-col .flow-left p{
	line-height:1.875;
	letter-spacing: -0.075em;
}
.flow .flow-list .flow-item .flow-col .flow-right{
	width: 46%;
}
.flow .flow-list .flow-item .flow-col .flow-right img{
	border-radius:10px;
}
@media screen and (max-width:1300px) {
	.flow .flow-list .flow-item i{
		font-size:2.5rem;
		left:-0.5em
	}
}
@media screen and (max-width:768px) {
	.flow .flow-top .first-img{
		width: 5em;
		inset: auto auto -6em 0;
	}
	.flow .flow-top p{
		text-align: left;
		line-height: 1.8;
		margin-block: 0em 2em;
		font-size:0.875rem;
	}
	.flow .flow-top .img{
		margin: 0 auto 6em;
	}
	.flow .flow-top .img > img{
		border: 1px solid;
		border-radius: .5rem;
	}
	.flow .flow-title .secound-img{
		position: absolute;
		inset: -4.5em 0 auto auto;
		width: 4em;
	}
	.flow .flow-list{
		margin-top: 3em;
	}
	.flow .flow-list .flow-item i{
		font-size: 2rem;
		left:-0.25em;
		border-width: 1px;
	}
	.flow .flow-list .flow-item{
		margin-bottom:3em;
		border-width:1px;
		border-radius:5px;
		padding:1.5em 1em;
	}
	.flow .flow-list .flow-item .flow-col{
		flex-direction:column-reverse;
		gap:1.5em;
	}
	.flow .flow-list .flow-item .flow-col .flow-left{
		width:100%;
	}
	.flow .flow-list .flow-item .flow-col .flow-left .page-h3{
		margin-bottom:0.5em;
	}
	.flow .flow-list .flow-item .flow-col .flow-left p{
		line-height: 1.6;
		letter-spacing: -0.075em;
		font-size: 0.875rem;
	}
	.flow .flow-list .flow-item .flow-col .flow-right{
		width:100%;
	}
	.flow .flow-list .flow-item:after{
		border-right-width:48px;
		border-left-width:48px;
		border-top-width:24px;
		inset:auto 0 -25px 0;
		margin:auto;
		z-index:-1;
	}
	.flow .flow-list .flow-item .flow-col .flow-right img{
		border-radius:5px;
	}
}