@charset "UTF-8";
.boxIndexSlide01 .slick-list {
	padding-right: 20%!important
}
.boxIndexSlide01 .slick-slide {
	margin-right: 28px
}
.boxIndexSlide01 .item img {
	width: 100%;
	height: auto;
	display: block
}
.boxIndexSlide01 .slick-dots {
	width: 96px;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	display: flex!important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 0
}
.boxIndexSlide01 .slick-dots li {
	width: 8px;
	height: 8px;
	background-color: #8b8a8a;
	margin: 10px 0;
	border-radius: 50%;
	list-style: none
}
.boxIndexSlide01 .slick-dots li button:before {
	display: none
}
.boxIndexSlide01 .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	border-radius: 50%;
	background: transparent
}
.boxIndexSlide01 .slick-dots li.slick-active {
	background-color: #78c20c
}
.slick-prev:before, .slick-next:before {
	content: "";
	width: 90%;
	height: 90%;
	background-color: #050505!important;
	border-radius: 50%;
	position: absolute;
	left: 5%;
	top: 5%;
	opacity: 1!important
}
.slick-prev, .slick-next {
	width: 100px;
	height: 100px;
	border-radius: 100px;
	background-color: rgba(161, 214, 26, .47)!important;
	left: auto;
	right: 18%!important;
	top: auto;
	bottom: 45px;
	transform: none;
	z-index: 1
}
.slick-next {
	bottom: 165px
}
.slick-prev:after {
	content: "";
	width: 23px;
	height: 22px;
	background: url(../../images/common/ico-arrow-left-green.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 50%;
	transform: translateY(-9px)
}
.slick-next:after {
	content: "";
	width: 23px;
	height: 22px;
	background: url(../../images/common/ico-arrow-right-green.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 50%;
	transform: translateY(-9px)
}
.boxIndexTop .ttl01 {
	font-size: clamp(20px, 2.2vw, 49px);
	color: #fff;
	line-height: 1.5;
	margin-bottom: .25em;
	/*
	transform: skew(-12deg);
	
	text-indent: -10px*/
}
.boxIndexTop .ttl01 span {
	background-color: #000;
	padding: 3px 0.3em;
	display: inline-block;
}
.boxIndexTop .ttl01 span:nth-of-type(2) {
	margin-top: 8px;
}
.boxIndexTop .ttl01 small {
	font-size: .93em
}
.boxIndexTop .ttl02 {
	font-size: clamp(60px, 6.4vw, 134px);
	color: #9cd20a;
	line-height: 1.1;
	font-style: italic;
	margin-left: -10px
}
.boxIndexTop {
	position: relative
}
.boxIndexTop .ttl_wrap {
	position: absolute;
	left: 140px;
	bottom: 40px;
}
.boxIndex01 .box_wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 115px
}
.boxIndex01 .box_wrap .box {
	width: 588px;
	position: relative
}
.boxIndex01 .box_wrap .box:nth-of-type(2) {
	margin-left: 55px
}
.boxIndex01 .box_wrap .box .cont {
	width: calc(100% - 38px);
	height: 120px;
	background-color: #78c20c;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 60px 0 0 30px
}
.boxIndex01 .box_wrap .box .cont .p01 {
	font-weight: 700;
	color: #fff;
	font-size: 1.875rem;
	text-shadow: 2px 2px 0 #50a505;
	letter-spacing: .06em
}
.boxIndex01 .box_wrap .box .cont .p02 {
	background-color: #000;
	color: #cecece;
	font-weight: 700;
	font-size: 1.375rem;
	padding: 0 30px;
	height: 40px;
	line-height: 1;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0
}
.boxIndex01 .box_wrap .box .cont .p02:before {
	content: "";
	display: block;
	position: absolute;
	right: -40px;
	top: 0;
	width: 0;
	height: 0;
	border-top: 40px solid #000;
	border-right: 40px solid transparent
}
.boxIndex01 .box_wrap .box .cont:before {
	content: "";
	width: 39px;
	height: 39px;
	background: url(../../images/common/ico-arrow-right-green.svg) no-repeat center center;
	background-size: 16px;
	background-color: #000;
	position: absolute;
	right: 32px;
	top: 58%;
	transform: translateY(-50%)
}
.boxIndex01Wrap {
	padding: 97px 0 113px 0
}
.boxIndexBg01 {
	background: url(../../images/index/bg01.jpg) no-repeat center bottom
}
.boxIndex01 .ttl01 {
	color: #9cd20a;
	font-style: italic;
	font-size: 6.25rem;
	margin-bottom: 122px;
	text-align: right;
	padding-right: 8%
}
.boxIndex0102 {
	text-align: center
}
.boxIndex0102 .title {
	font-weight: 700;
	color: #fff;
	font-size: 2.375rem
}
.boxIndex0102 .title:after {
	width: 200px;
	height: 1px;
	background-color: #78c20c;
	content: "";
	display: block;
	margin: 30px auto 40px auto
}
.boxIndex0102 .lead {
	font-size: 1.125rem;
	letter-spacing: .12em;
	line-height: 2
}
body.home .baseW {
	max-width: 1440px
}
.ttlIndex01 {
	margin-bottom: 1.3rem
}
.ttlIndex01 .ja {
	color: #78c20c;
	display: block;
	font-size: 1.5rem;
	margin-bottom: .6em;
	font-weight: 700
}
.ttlIndex01 .en {
	display: block;
	font-style: italic;
	color: #000;
	font-size: 4.71rem;
	line-height: 1;
	text-indent: -10px;
	letter-spacing: .03em
}
.boxIndex02Wrap {
	background: url(../../images/index/bg-company.jpg) no-repeat center top;
	padding: 100px 0 115px 0;
	background-size: cover
}
.boxIndex02 .boxIndexLead01 {
	text-align: left
}
.boxIndexLead01 {
	text-align: center;
	font-size: 1.125rem;
	color: #000;
	line-height: 2.1
}
.boxTabList {
	display: flex;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	position: absolute;
	top: -70px;
	width: 100%
}
.boxIndex03 {
	position: relative
}
.boxTabList li {
	width: 202px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	letter-spacing: .12em;
	font-size: 1.125rem;
	background-color:#78c20c;
	color: #fff
}
.boxTabList li.active {
	background: #fff;
	color: #000
}
.boxTabContent {
	display: none;
	padding: 70px 0 0 0
}
.boxTabContent.active {
	display: block
}
.boxIndex03Wrap {
	background: url(../../images/index/bg-group.jpg) no-repeat left top;
	background-size: cover;
	padding-bottom: 5rem
}
.boxIndex03Item {
	display: flex
}
.boxIndex03Item .img {
	width: 50%
}
.boxIndex03Item .cont {
	width: 50%;
	padding: 35px 0 0 5%;
	color: #000
}
.boxIndex03Item .cont .p01 {
	font-size: 2.375rem;
	font-weight: 700;
	margin-bottom: .5em
}
.boxIndex03Item .cont .p02 {
	font-size: 1.5rem;
	margin-bottom: 1.3em;
	font-weight: 700
}
.boxIndex03Item .cont .p02 .alpha {
	font-size: 1.875rem
}
.boxIndex03Item .cont .boxBaseCom p {
	font-size: 1.125rem;
	line-height: 1.88
}
.boxIndex03Item .cont .btnBase01 {
	margin: 45px 0 0 auto
}
.boxIndex04Wrap {
	background-color: #88cc14;
	padding: 90px 0 0 0
}
.boxIndex04 .ttlIndex01 {
	text-align: center;
	position: relative;
	top: -17px;
	margin-bottom: .3rem
}
.boxIndex04 .ttlIndex01 .ja {
	color: #fff;
	width: 206px;
	position: relative;
	margin: 0 auto .6em auto;
	background-color: #88cc14
}
.boxIndex04 .ttlIndex01 .ja:before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 10em;
	background-color: #fff;
	position: absolute;
	left: 19px;
	top: 50%;
	transform: translateY(-50%)
}
.boxIndex04 .ttlIndex01 .ja:after {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 10em;
	background-color: #fff;
	position: absolute;
	right: 19px;
	top: 50%;
	transform: translateY(-50%)
}
.boxIndex04 .boxIndexLead01 {
	color: #000;
	text-align: center;
	line-height: 2.1;
	font-size: 1.125rem;
	margin-bottom: 40%
}
.boxIndex04 .btnBase01 {
	margin: auto;
	display: block;
}
.boxIndex04 {
	max-width: 1060px;
	border: 1px solid #fff;
	border-bottom: none;
	padding-bottom: 80px!important
}
.boxIndex04Menu01 {
	display: flex;
	position: absolute;
	left: 0;
	top: 54%;
	width: 100%
}
.boxIndex04Menu01 .box {
	width: 25%;
	height: 24.16vw;
	position: relative;
	background: url(../../images/index/img-service01.jpg) no-repeat center center;
	background-size: cover
}
.boxIndex04Menu01 .box02 {
	background-image: url(../../images/index/img-service02.jpg)
}
.boxIndex04Menu01 .box03 {
	background-image: url(../../images/index/img-service03.jpg)
}
.boxIndex04Menu01 .box04 {
	background-image: url(../../images/index/img-service04.jpg)
}
.boxIndex04Menu01 .box:before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #318300;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	transition: all 0.3s
}
.boxIndex04Menu01 .box:after {
	content: "";
	width: 30px;
	height: 30px;
	background: url(../../images/common/ico-arrow-right-white.svg) no-repeat center center;
	background-size: contain;
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.4s;
}
.boxIndex04Menu01 .box:hover:after {
	opacity: 1;
}
.boxIndex04Menu01 .box:hover:before {
	opacity: .4
}
@media only screen and (max-width:750px) {
	.boxIndex04Menu01 .box:after {
		opacity: 1;
	}
}
.boxIndex04Menu01 .box a {
	display: flex;
	align-items: flex-end;
	height: 100%
}
.boxIndex04Menu01 .box .txt {
	color: #fff;
	position: relative;
	z-index: 1;
	padding: 0 0 22px 22px
}
.boxIndex04Menu01 .box .txt .ja {
	font-weight: 700;
	letter-spacing: .07em;
	font-size: 1.9rem;
	line-height: 1.35
}
.boxIndex04Menu01 .box .txt .en {
	letter-spacing: .12em
}
.boxIndex05Wrap {
	padding: 80px 0;
	position: relative;
	z-index: 1;
	background-color: #000
}
.boxIndex05 .ttlIndex01 {
	text-align: center
}
.boxIndex05 .ttlIndex01 .en {
	color: #fff
}
.boxIndex05 .boxIndexLead01 {
	color: #fff
}
.boxIndex05 .boxIndexLead01 {
	margin-bottom: 55px
}
.boxIndex05 .btnBase01 {
	margin: 50px auto 0 auto
}
.boxIndex06Wrap {
	padding: 90px 0;
	background-color: #fff;
	color: #000
}
.boxIndex06 {
	max-width: 1240px!important
}
.boxIndex06 .box_wrap {
	display: flex
}
.boxIndex06 .box_wrap .left {
	width: 202px
}
.boxIndex06 .box_wrap .left .ttlIndex01 {
	margin-bottom: 70px
}
.boxIndex06 .box_wrap .left .ttlIndex01 .en.alpha {
	font-size: 3.5rem
}
.boxIndex06 .box_wrap .left .btnBase01 {
	width: 100%;
	background-color: #fafafa
}
.boxIndex06 .box_wrap .right {
	width: calc(100% - 202px);
	padding-left: 50px
}
.boxIndex06 .box_wrap .right dl {
	padding: 26px 0;
	border-top: 1px solid #dadada;
	display: flex
}
.boxIndex06 .box_wrap .right dl:last-child {
	border-bottom: 1px solid #dadada
}
.boxIndex06 .box_wrap .right dl dt {
	width: 120px;
	padding-left: 22px;
	display: flex;
	align-items: center
}
.boxIndex06 .box_wrap .right dl dd {
	width: calc(100% - 120px);
	font-size: 1.125rem;
	padding-left: 58px;
	position: relative
}
.boxIndex06 .box_wrap .right dl dd a {
	display: block;
	width: 100%
}
.boxIndex06 .box_wrap .right dl dd:before {
	content: "";
	width: 20px;
	height: 20px;
	background: url(../../images/common/ico-arrow-right-white01.svg) no-repeat center center;
	background-size: 5px;
	background-color: #000;
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%)
}
@media only screen and (max-width:750px) {
	.boxIndexTop .ttl01 {
		font-size: 6.28vw
	}
	.boxIndexTop .ttl02 {
		font-size: 11.73vw;
		line-height: 1.15
	}
	.boxIndexTop .ttl_wrap {
		left: 6vw;
		bottom: -20vw
	}
	.boxIndexSlide01 .slick-dots {
		width: 7.73vw
	}
	.boxIndexSlide01 .slick-dots li {
		width: 1.2vw;
		height: 1.2vw;
		margin: 5px 0
	}
	.boxIndexSlide01 .slick-slide {
		margin-right: 0
	}
	.boxIndexSlide01 .slick-list {
		padding-right: 0!important
	}
	.slick-prev, .slick-next {
		width: 10vw;
		height: 10vw;
		right: 4%!important
	}
	.slick-next:after {
		width: 3vw;
		height: 3vw;
		transform: translateY(-50%)
	}
	.slick-prev:after {
		width: 3vw;
		height: 3vw;
		transform: translateY(-50%)
	}
	.slick-prev {
		bottom: -18vw
	}
	.slick-next {
		bottom: -4vw
	}
	.boxIndex01 .box_wrap {
		display: block
	}
	.boxIndex01 .box_wrap .box {
		width: 100%
	}
	.boxIndex01 .box_wrap .box:nth-of-type(2) {
		margin: 2rem 0 0 0
	}
	.boxIndex01 .box_wrap .box .cont .p01 {
		font-size: 22px
	}
	.boxIndex01 .box_wrap .box .cont .p02 {
		font-size: 14px;
		height: 34px
	}
	.boxIndex01 .box_wrap .box .cont .p02:before {
		top: -6px
	}
	.boxIndex01 .box_wrap .box .cont {
		height: 80px;
		padding-top: 42px;
		overflow: hidden
	}
	.boxIndex01 .box_wrap .box .cont:before {
		top: 70%;
		width: 29px;
		height: 29px;
		background-size: 12px
	}
	.boxIndex01 .ttl01 {
		text-align: center;
		font-size: 3.5rem;
		padding: 0;
		margin-bottom: 1em
	}
	.boxIndex0102 .title {
		font-size: 5.6vw
	}
	.boxIndex01Wrap, .boxIndex02Wrap {
		padding: 5rem 0
	}
	.boxIndex01Wrap {
		padding-top: 8rem
	}
	.ttlIndex01 .ja {
		font-size: 1rem
	}
	.ttlIndex01 .en {
		font-size: 3.5rem
	}
	.boxIndexLead01 {
		text-align: left;
		margin-bottom: 2em
	}
	.boxTabList li {
		width: auto;
		height: 3rem;
		font-size: 1rem;
		padding: 1em
	}
	.boxTabList {
		top: -3rem
	}
	.boxIndex03Item {
		display: block;
		padding-bottom: 5rem
	}
	.boxIndex03Item .img {
		width: 100%;
		margin-bottom: 1.5rem
	}
	.boxIndex03Item .cont {
		width: 100%;
		padding: 0
	}
	.boxTabContent {
		min-height: inherit
	}
	.boxIndex03Wrap {
		background-color: #fff;
		padding-bottom: 0
	}
	.boxIndex03Item .cont .p01 {
		font-size: 2rem
	}
	.boxIndex04Menu01 {
		margin-top: -170vw;
		margin-top: -550px;
		flex-wrap: wrap
	}
	.boxIndex04Menu01 .box {
		width: 50%;
		height: 57vw
	}
	.boxIndex04 .ttlIndex01 {
		top: -3vw
	}
	.boxIndex04Menu01 .box .txt .en {
		font-size: .9rem
	}
	.boxIndex04Menu01 .box .txt .ja {
		font-size: 1.25rem
	}
	.boxIndex04Menu01 .box a {
		align-items: flex-end
	}
	.boxIndex04 .boxIndexLead01 {
		margin-bottom: 140vw;
		margin-bottom: 550px
	}
	.boxIndex06 .box_wrap {
		display: block
	}
	.boxIndex06 .box_wrap .left .ttlIndex01 {
		text-align: center
	}
	.boxIndex06 .box_wrap .left {
		width: 100%
	}
	.boxIndex06 .box_wrap .right {
		width: 100%;
		padding: 0
	}
	.boxIndex06 .box_wrap .right dl dt {
		width: 100%;
		padding-left: 0;
		margin-bottom: .5em
	}
	.boxIndex06 .box_wrap .right dl {
		display: block;
		position: relative
	}
	.boxIndex06 .box_wrap .right dl dd {
		width: 100%;
		padding-left: 0;
		padding-right: 2em;
		position: static
	}
	.boxIndex06 .box_wrap .right dl dd:before {
		right: 0
	}
	.boxIndex06 .box_wrap .left .btnBase01 {
		position: absolute;
		bottom: 0;
		max-width: 330px;
		left: 0;
		right: 0;
		margin: auto
	}
	.boxIndex06 {
		position: relative;
		padding-bottom: 120px
	}
	.boxIndex06Wrap {
		padding: 5rem 0
	}
	.boxIndex03Item .cont .p02 .alpha {
		font-size: 1.6rem
	}
	.boxIndex05 .boxIndexLead01 {
		text-align: center
	}
	.boxIndexLead01 {
		font-size: 3.73vw
	}
	.boxIndex03Item .cont .p02 {
		font-size: 1.35rem
	}
}
@media only screen and (min-width:751px) and (max-width:1580px) {
	.baseW {
		padding: 0 3%
	}
	.slick-prev, .slick-next {
		transform: scale(.8);
		transform-origin: center center;
		right: 12%
	}
	.slick-next {
		bottom: 145px;
	}
}
@media screen and (max-width:750px) {
	.boxIndexBg01 {
		background: url(../../images/index/bg01sp.jpg) no-repeat center 151vw;
		background-size: 100%;
		padding-bottom: 35vw
	}
	.boxIndex0102 .lead {
		font-size: 3.73vw;
		text-align: left
	}
	.boxIndex03Item .cont .boxBaseCom p {
		font-size: 3.73vw
	}
	.boxIndex03Item .cont .btnBase01 {
		margin: 45px auto 0 auto
	}
	.boxIndex04Menu01 {
		position: relative;
		margin: 3rem 0 0 0;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		z-index: 1
	}
	.boxIndex04 .boxIndexLead01 {
		margin: 0;
		font-size: 1rem
	}
	.boxIndex04 {
		padding-bottom: 0!important
	}
	.boxIndex04Wrap {
		position: relative;
		padding-bottom: 12rem
	}
	.boxIndex04 .btnBase01 {
		position: absolute;
		bottom: 4rem;
		left: 0;
		right: 0;
		margin: auto
	}
	.boxIndex04Wrap:before {
		content: "";
		width: 1px;
		height: calc(100% - 90px);
		background-color: #fff;
		position: absolute;
		left: 5%;
		bottom: 0
	}
	.boxIndex04Wrap:after {
		content: "";
		width: 1px;
		height: calc(100% - 90px);
		background-color: #fff;
		position: absolute;
		right: 5%;
		bottom: 0
	}
}

.boxIndex05Item .slick-prev,.boxIndex05Item .slick-next {
    width: 65px;
    height: 65px;
    border-radius: 65px;
    background-color: transparent!important;
    left: -90px;
    right:auto!important;
    top: 50%;
    bottom: auto;
    transform: none;
    z-index: 1;
    border: 1px solid #8a8a8a;
}

.boxIndex05Item .slick-next {
    bottom: auto;
    left: auto;
    right: -90px!important;
}
@media only screen and (max-width:1500px) and (min-width:751px) {
  .boxIndex05Item .slick-next {
    right:-20px!important;
  }
  .boxIndex05Item .slick-prev {
    left: -20px !important;
  }
}
.boxIndex05Item .slick-prev:after {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../../images/common/ico-arrow-left-white.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    transform: translateY(-7px)
}

.boxIndex05Item .slick-next:after {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../../images/common/ico-arrow-right-white.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    transform: translateY(-7px)
}
.boxIndex05Item .slick-prev:before, .boxIndex05Item .slick-next:before {
  content: none;
}
/* スライド自体に左右マージン */
.boxIndex05Item .slick-slide {
  margin: 0 10px; /* 合計20px */
}

/* 外側の余白を打ち消す */
.boxIndex05Item .slick-list {
  margin: 0 -10px;
}
@media only screen and (max-width:750px) {
  /* スライド自体に左右マージン */
.boxIndex05Item .slick-slide {
  margin: 0; /* 合計20px */
}

/* 外側の余白を打ち消す */
.boxIndex05Item .slick-list {
  margin: 0;
}
.boxIndex05Item .slick-prev {
  left: -4%;
}
.boxIndex05Item .slick-next {
  right: -4%!important;
}
.boxIndex05Item .slick-prev,.boxIndex05Item .slick-next {
		width: 10vw;
		height: 10vw;
    top: 45%;
	}
  .boxIndex05Item .box {
    margin-top: 0!important;
  }
}
@media only screen and (max-width:1200px) and (min-width:751px) {
	.boxIndexTop .ttl02 {
    font-size: clamp(60px, 5.979vw, 134px);
	}
}