@charset "utf-8";
:root {
	--base-font-gothic: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--base-font-gothic02: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--base-font-min: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--base-font-min02: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--base-font-en: HelveticaNeue;
	--base-font-weight: 500;
	--base-txt-black: #ece9e9
}
@font-face {
	font-family: "GenShinWebBold";
	font-weight: 700;
	src: url(../../font/genshingothic-bold.woff), url(../../font/genshingothic-bold.woff2)
}
@font-face {
	font-family: "GenShinWebMid";
	font-weight: 700;
	src: url(../../font/genshingothic-mid.woff), url(../../font/genshingothic-mid.woff2)
}
@font-face {
	font-family: "Jost-500-Medium";
	font-weight: 500;
	src: url(../../font/Jost-500-Medium.woff), url(../../font/Jost-500-Medium.woff2)
}
@font-face {
	font-family: "Jost-400-Book";
	font-weight: 500;
	src: url(../../font/Jost-400-Book.woff), url(../../font/Jost-400-Book.woff2)
}
.ttlGothic {
	font-family: "GenShinWebBold"
}
.ttlGothicMid {
	font-family: "GenShinWebMid"
}
.alpha {
	font-family: "Jost-500-Medium"
}
.alpha400 {
	font-family: "Jost-400-Book"
}
body {
	/*min-width: 1120px;*/
	min-height: 100%;
	background-color: #000;
	font-family: var(--base-font-gothic);
	font-optical-sizing: auto;
	font-weight: var(--base-font-weight);
	color: var(--base-txt-black);
	letter-spacing: .06em
}
@media all and (max-width:750px) {
	body {
		min-width: 100%;
		padding-right: 0
	}
}
#container {
	position: relative;
	overflow: hidden
}
@media all and (max-width:750px) {
	#container {
		padding-top: 16.7vw
	}
}
#main {
	min-height: 78vh
}
@media all and (max-width:750px) {
	#main {
		min-height: auto
	}
}
@media all and (max-width:750px) {
	.boxContent {}
}
@media all and (max-width:750px) {
	.boxLayoutBaseIn {}
}
.boxHeader {
	position: relative;
	padding: 0 0 0 358px;
	z-index: 1
}
.boxHeader01R {
	width: calc(100% - 258px);
	display: flex;
	justify-content: center
}
@media all and (max-width:750px) {
	.boxHeader {
		position: fixed;
		z-index: 1002;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		margin-bottom: 0
	}
}
.boxHeader01 {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center
}
@media all and (max-width:750px) {
	.boxHeader01 {
		height: 18vw
	}
}
.boxHeader01L {
width: 358px;
    height: 167px;
    background-color: #78c20c;
    color: #fff;
    padding: 33px 0 0 37px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 6;
}
.ttlHeader a {
	display: flex;
	align-items: center
}
.ttlHeader div {
	padding-left: 20px;
	padding-top: 3px
}
.ttlHeader .h01 {
	letter-spacing: .6em;
	font-size: .875rem;
	display: block;
	font-weight: 700
}
.ttlHeader .h02 {
	display: block;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: .1em
}
.boxHeader01L .sub {
	font-size: .8125rem;
	margin-bottom: 1em
}
.logo01Header {
	width: 63px
}
@media all and (max-width:750px) {
	.boxHeader01L .logo01Header {
		position: absolute;
		top: 4.5vw;
		left: 4vw;
		width: 14vw
	}
}
@media all and (max-width:750px) {
	.boxHeader01R {
		display: none
	}
}
.boxHeader01R .ulHeaderMenu01 {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center
}
.boxHeader01R .ulHeaderMenu01>li {
	z-index: 2;
	font-size: 1.125rem;
	font-weight: 700;

}
.boxHeader01R .ulHeaderMenu01>li>a:hover {
	background-color: #78c20c;
}
.boxHeader01R .ulHeaderMenu01>li{
	height: 100%;
}
.boxHeader01R .ulHeaderMenu01>li .sub {
	font-size: .77em;
	display: block
}
.boxHeader01R .ulHeaderMenu01>li>a {
	position: relative;
	padding: 47px 1rem;
	transition: all 0.4s;
	display: block;
	height: 100%;
	opacity: 1 !important;
}
/*
.boxHeader01R .ulHeaderMenu01>li>a:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 9px solid transparent;
	border-left: 9px solid transparent;
	border-top: 10px solid #78c20d;
	border-bottom: 0;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -50px;
	opacity: 0;
	transition: all 0.3s
}
	*/
.boxHeader01R .ulHeaderMenu01>li:hover>a:before {
	opacity: 1
}
.boxHeader01R .ulHeaderMenu01>li:nth-child(n+4)>a:before {
	top: -60px
}
.boxHeader01R .ulHeaderMenu01In {
	position: absolute;
	z-index: -1;
	top: 0;
	left: -.5em;
	display: none;
	min-width: 130px;
	padding: 50px .5em .3em .8em;
	background-color: #fff;
	opacity: 0
}
.boxHeader01R .ulHeaderMenu01>li:hover .ulHeaderMenu01In {
	display: block;
	animation: baseAniFadein 0.3s linear normal forwards
}
.boxHeader01R .ulHeaderMenu01In>li {
	margin-bottom: .5em;
	font-size: .95rem
}
.btnHmbMenu {
	display: none;
	position: fixed;
	z-index: 1002;
	top: 0;
	right: 260px;
	cursor: pointer
}
@media all and (max-width:750px) {
	.btnHmbMenu {
		top: 4vw;
		right: 4vw;
		width: 10vw;
		display: block
	}
}
.btnHmbMenu.typeCss01 {
	position: relative;
	display: -webkit-flex;
	display: flex;
	display: none;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background-color: #ddd
}
@media all and (max-width:1350px) {
	.btnHmbMenu.typeCss01 {}
}
@media all and (max-width:750px) {
	.btnHmbMenu.typeCss01 {
		position: fixed;
		top: 4.5vw;
		right: 4vw;
		display: -webkit-flex;
		display: flex;
		width: 8.5vw;
		height: 6vw;
		background-color: transparent
	}
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn {
	position: relative;
	width: 30px;
	height: 24px;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer
}
@media all and (max-width:750px) {
	.btnHmbMenu.typeCss01 .btnHmbMenuIn {
		width: 100%;
		height: 100%
	}
	.btnHmbMenu.typeCss01 .btnHmbMenuIn:after {
		content: "MENU";
		font-family: "Jost-500-Medium";
		font-size: 2.37vw;
		color: #fff;
		width: 100%;
		position: absolute;
		left: 0;
		bottom: -2em;
		text-align: center
	}
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn>span {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 3px;
	background-color: #78c20c;
	border-radius: 3px;
	transition: all .4s
}
@media all and (max-width:750px) {
	.btnHmbMenu.typeCss01 .btnHmbMenuIn>span {
		height: 2px;
		border-radius: 0
	}
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn>span:nth-of-type(1) {
	top: 0
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn>span:nth-of-type(2) {
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn>span:nth-of-type(3) {
	bottom: 0
}
.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn>span:nth-of-type(1) {
	transform: translateY(11.1px) rotate(-45deg)
}
.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn>span:nth-of-type(2) {
	opacity: 0
}
.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn>span:nth-of-type(3) {
	transform: translateY(-11.1px) rotate(45deg)
}
@media all and (max-width:750px) {
	.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn>span:nth-of-type(1) {
		transform: translateY(2.6vw) rotate(-45deg);
		transform: translateY(calc(3.0vw - 0.8vw / 2)) rotate(-45deg)
	}
	.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn>span:nth-of-type(3) {
		transform: translateY(-2.6vw) rotate(45deg);
		transform: translateY(calc(-3.0vw + 0.8vw / 2)) rotate(45deg)
	}
}
.boxHmbMenu {
	display: none;
	overflow-y: auto;
	position: fixed;
	z-index: 1001;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 5% 0 5%;
	background-color: rgba(0, 0, 0, .7);
	text-align: center;
	color: #fff
}
@media all and (max-width:750px) {
	.boxHmbMenu {
		padding: 0 0 5vw 0;
		text-align: left
	}
}
.ulHmbMenu01>li {
	padding: 1em 0;
	font-size: 1.5rem
}
@media all and (max-width:750px) {
	.ulHmbMenu01>li {
		width: 100%;
		padding: 3vw 0 3vw 4vw;
		font-size: 1.1rem
	}
	.ulHmbMenu01>li:first-child {
		padding-top: 7vw
	}
}
.ulHmbMenu01>li:not(:last-child):after {
	content: '-';
	margin: 0 .8em
}
@media all and (max-width:750px) {
	.ulHmbMenu01>li:not(:last-child):after {
		content: none
	}
}
.boxHmbMenuFixedBottom {
	position: fixed;
	left: 0;
	bottom: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%
}
.boxHmbMenuFixedBottom a {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 50%;
	height: 17.5vw
}
@media all and (max-width:750px) {
	.boxHmbMenuSns {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		margin-top: 2em
	}
}
@media all and (max-width:750px) {
	.boxHmbMenuSns a {
		margin: 0 .5em
	}
}
@media all and (max-width:750px) {
	.boxHmbMenuSns a img {
		width: 9.5vw
	}
}
.boxMvWrap {
	position: relative;
	padding-top: 320px;
	background-color: #1f1f1f;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto auto
}
@media all and (max-width:750px) {
	.boxMvWrap {
		padding-top: 35%;
		background-size: auto 100%
	}
}
.boxMv {
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	height: 100%
}
.ttlMv {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	color: #fff;
	max-width: 100%;
	padding-left: 7%;
	padding-top: 3rem
}
@media all and (max-width:750px) {
	.ttlMv {
		padding: 0
	}
}
.ttlMv .ttlParent {
	margin-bottom: .5em;
	letter-spacing: .16em;
	font-family: "GenShinWebMid";
	font-size: 1.375rem
}
@media all and (max-width:750px) {
	.ttlMv .ttlParent {
		font-size: 1.1rem
	}
}
.ttlMv .ttlJa {
	letter-spacing: .16em;
	font-size: 2.5rem
}
@media all and (max-width:750px) {
	.ttlMv .ttlJa {
		font-size: 1.4rem
	}
}
.ttlMv .ttlEn {
	color: #78c20c;
	font-size: 1.25rem;
	margin-top: .7em
}
@media all and (max-width:750px) {
	.ttlMv .ttlEn {
		font-size: 1rem
	}
}
.boxMvImg {
	overflow: hidden;
	position: absolute;
	right: 0;
	bottom: -100px;
	width: 60.7%;
	height: 466px
}
.boxMvImg .imgMv {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center
}
.boxFooter {
	padding-top: 5em
}
@media all and (max-width:750px) {
	.boxFooter {
		padding-top: 2.5em
	}
}
.boxCopyright {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 70px;
	max-width: 1440px
}
@media all and (max-width:750px) {
	.boxCopyright {}
}
.boxCopyright>p {
	text-align: center;
	letter-spacing: .08em;
	font-size: .8rem
}
@media all and (max-width:750px) {
	.boxCopyright>p {
		letter-spacing: normal;
		font-size: .73rem
	}
}
@media all and (max-width:750px) {
	.boxCopyright>p .markCopy {
		font-family: Verdana, Roboto, "Droid Sans"
	}
}
.boxPageWrap {
	padding: 5em 0 0 0
}
@media all and (max-width:750px) {
	.boxPageWrap {
		padding: 4em 0 0 0
	}
}
.boxPage01 {
	padding-bottom: 4.8em
}
@media all and (max-width:750px) {
	.boxPage01 {
		padding-top: 2em;
		padding-bottom: 2.5em
	}
}
.ttlBasePageH1 {
	margin-bottom: .5em;
	letter-spacing: .03em;
	font-size: 2.57rem
}
@media all and (max-width:750px) {
	.ttlBasePageH1 {
		font-size: 2.133rem
	}
}
.boxHeader01R02 {
	width: 285px
}
.boxHeader01R02>a {
	width: 100%;
	height: 45px;
	border: 1px solid #a6a6a6;
	display: flex;
	align-items: center;
	background-color: #232323;
	font-weight: 700
}
.boxHeader01R02 a span:nth-of-type(1) {
	width: 44px;
	background-color: #78c20c;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%
}
.boxHeader01R02 a span:nth-of-type(2) {
	width: calc(100% - 44px);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.boxHeader01R02 a span img {
	width: 21px
}
.boxHeader01R02 .tel {
	display: flex;
	align-items: center;
	margin-top: .8rem
}
.boxHeader01R02 .tel div:nth-of-type(1) {
	font-size: 1.2rem;
	font-weight: 500
}
.boxHeader01R02 .tel div:nth-of-type(2) {
	margin-left: auto;
	font-size: .9rem;
	font-weight: 700
}
.boxHeader01R02 .tel div:nth-of-type(2) span {
	font-size: .85rem;
	margin-left: auto;
	padding-left: 3px;
	font-weight: 500
}
.btnBase01 {
	font-weight: 700;
	font-size: 1.125rem;
	padding: 0 0 0 1.3em;
	position: relative;
	border: 1px solid #b0b0b0;
	color: #000;
	background-color: #fff;
	width: 330px;
	height: 56px;
	display: flex;
	align-items: center
}
.btnBase01: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: 18px;
	top: 50%;
	transform: translateY(-50%)
}
.boxFooterWrap {
	padding: 110px 0 80px 0
}
.boxFooter01 {
	display: flex;
	max-width: 1440px
}
.boxFooter01 .f_wrap {
	width: calc(100% - 460px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-right: 6%
}
.boxFooter01 .f01 .ttl {
	margin-bottom: 1.6rem
}
.boxFooter01 .f01:nth-of-type(3)>div:nth-of-type(2) {
	margin-top: 50px
}
.boxFooter01 .f01 .ttl .ja {
	font-weight: 700;
	font-size: 1.125rem;
	display: block
}
.boxFooter01 .f01 .ttl .en {
	display: block;
	letter-spacing: .1em;
	color: #78c20c;
	font-size: .6875rem;
	margin-top: .5em
}
.boxFooter01 .f01 dl:nth-child(n+2) {
	margin-top: 25px
}
.boxFooter01 .f01 dl dt {
	font-size: .9375rem;
	font-weight: 700;
	margin-bottom: .5em;
	color: #78c20c
}
.boxFooter01 .f01 dl dd ul li {
	font-size: .9375rem;
	position: relative;
	padding-left: 1.2em
}
.boxFooter01 .f01 dl dd ul li:nth-child(n+2) {
	margin-top: .5em
}
.boxFooter01 .f01 dl dd ul li:before {
	content: "";
	width: 5px;
	height: 5px;
	border-top: solid 1px #78c20c;
	border-right: solid 1px #78c20c;
	position: absolute;
	left: 0;
	top: .5em;
	transform: rotate(45deg)
}
.boxFooter01 .f01 dl dd ul .mt {
	margin-top: 2em!important
}
.boxFooter01 .top a {
	font-size: .9375rem;
	padding-left: 2.1em;
	background: url(../../images/common/ico-arrow-top.svg) no-repeat left center;
	background-size: 20px
}
.boxFooter01 .btn_area {
	width: 460px
}
.boxFooter01 .btn_area a {
	width: 100%;
	height: 73px;
	border: 1px solid #a6a6a6;
	display: flex;
	align-items: center;
	background-color: #232323;
	font-weight: 700;
	font-size: 1.25rem
}
.boxFooter01 .btn_area a:nth-of-type(2) {
	font-size: 1.6rem
}
.boxFooter01 .btn_area a span:nth-of-type(1) {
	width: 72px;
	background-color: #78c20c;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%
}
.boxFooter01 .btn_area a span:nth-of-type(2) {
	width: calc(100% - 72px);
	padding-left: .8em;
	display: flex;
	align-items: center
}
.boxFooter01 .btn_area a span img {
	width: 30px
}
.boxFooter01 .btn_area a:nth-of-type(2) span img {
	width: 24px
}
.boxFooter01 .btn_area a .alpha>small {
	font-size: .8125rem;
	background-color: #4c4c4c;
	line-height: 1;
	padding: 8px 11px;
	margin-left: 14px
}
.boxFooter01 .btn_area a .alpha small>small {
	font-family: "Jost-500-Medium"
}
.boxFooter01 .btn_area a:nth-of-type(2) {
	margin-top: 29px
}
.boxFooter02 {
	margin-top: 100px;
	padding-top: 65px;
	border-top: 1px solid #707070;
	position: relative;
	max-width: 1440px
}
@media  only screen and (min-width:751px) {
	.boxFooter02 {
		padding-top: 65px !important;
	}
}
.boxFooter02 .p01 {
	letter-spacing: .1em;
	color: #78c20c;
	font-size: .9375rem;
	margin-bottom: .8em
}
.boxFooter02 .p02 {
	display: flex;
	align-items: center;
	margin-bottom: 40px
}
.boxFooter02 .p02 p:nth-of-type(1) {
	font-size: 1.5rem;
	font-weight: 700
}
.boxFooter02 .p02 p:nth-of-type(2) {
	margin-left: 30px
}
.boxFooter02 .p02 p a {
	color: #78c20c;
	font-size: .875rem;
	text-decoration: underline
}
.boxFooter02 .p03 {
	display: flex
}
.boxFooter02 .p03 dt {
	width: 180px;
	height: 30px;
	background-color: #c8c8c8;
	font-size: .9375rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000;
	font-weight: 700
}
.boxFooter02 .p03 dd {
	width: calc(100% - 180px);
	display: flex;
	align-items: center;
	padding-left: 35px
}
.boxFooter02 .p03 dd ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding-top: 0.25em;
}
.boxFooter02 .p03 dd ul li {
	position: relative;
	padding-left: 1.05em;
	margin: 0 1em 1em 0;
}

.boxFooter02 .p03 dd ul li:before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 10em;
	background-color: #78c20c;
	position: absolute;
	left: 0;
	top: .53em
}
.boxFooter02 .sns {
	display: flex;
	position: absolute;
	right: 0;
	top: 65px
}
.boxFooter02 .sns a {
	width: 34px;
	height: 34px;
	border-radius: 10em;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center
}
.boxFooter02 .sns a:nth-of-type(2) {
	margin-left: 11px
}
.boxFooter02 .sns a img {
	width: 17px
}
.boxFooter02 .sns a:nth-of-type(2) img {
	width: 10px
}
.boxFooterMenu01 {
	display: flex
}
.boxFooterMenu01 a {
	height: 11.458vw;
	width: 25%;
	display: flex;
	align-items: center;
	padding: 0 0 0 30px;
	background: url(../../images/common/img-footer-bottom01.jpg) no-repeat center top;
	background-size: cover;
	position: relative
}
.boxFooterMenu01 a:after {
	content: "";
	width: 3.385vw;
	height: 3.385vw;
	border-radius: 10em;
	border: 1px solid #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5%;
	background: url(../../images/common/ico-arrow-right-white.svg) no-repeat center center;
	background-size: .9vw
}
.boxFooterMenu01 .ja {
	font-size: 1.75rem;
	font-weight: 700;
	display: block;
	font-size: clamp(16px, 1.45833333vw, 28px)
}
.boxFooterMenu01 .en {
	letter-spacing: .12em;
	font-size: .875rem;
	margin-top: .6em;
	display: block;
	font-size: clamp(10px, .72916667vw, 14px)
}
.boxFooterMenu01 .menu02 {
	background-image: url(../../images/common/img-footer-bottom02.jpg)
}
.boxFooterMenu01 .menu03 {
	background-image: url(../../images/common/img-footer-bottom03.jpg)
}
.boxFooterMenu01 .menu04 {
	background-image: url(../../images/common/img-footer-bottom04.jpg)
}
.boxHeader01 {
	padding-right: 50px
}
@media only screen and (min-width:751px) and (max-width:1720px) {
	.boxHeader01R .ulHeaderMenu01>li:nth-child(n+2) > a {
		padding: 47px 1rem;
	}
}
@media only screen and (min-width:751px) and (max-width:1580px) {
	.boxHeader01L {
		width: 323px;
		height: 172px;
		padding: 37px 0 0 20px
	}
	.boxHeader01R .ulHeaderMenu01>li {
		font-size: 1rem
	}
	.boxHeader01R .ulHeaderMenu01>li:nth-child(n+2) {
		
	}
	.boxHeader01 {
		padding-right: 3%
	}
	.boxHeader01R02 {
		width: 184px
	}
	.boxHeader01R02 .tel {
		display: block;
		margin-top: .3em;
		text-align: center
	}
	.boxHeader01R {
		width: calc(100% - 184px)
	}
}
@media only screen and (min-width:751px) and (max-width:1400px) {
	.boxHeader01R .ulHeaderMenu01>li {
		font-size: .9rem
	}
	.boxHeader01L {
		width: 280px;
		height: 172px;
		padding: 37px 0 0 15px
	}
	.boxHeader {
		padding-left: 280px
	}
	.ttlHeader .h01 {
		letter-spacing: .2em
	}
	.boxHeader01L .sub {
		font-size: .75rem
	}
}
@media only screen and (min-width:751px) and (max-width:1279px) {
	.boxHeader01L {
		transform: scale(.8);
		transform-origin: left top
	}
	.boxHeader {
		padding-left: 250px
	}
	.boxHeader01R02 a span:nth-of-type(2) {
		display: none
	}
	.boxHeader01R02>a {
		width: 44px
	}
	.boxHeader01R02 a span:nth-of-type(2) {
		display: none !important;
	}
	.boxHeader01R02 .tel {
		margin: 0 0 0 5px
	}
	.boxHeader01R02 .tel div:nth-of-type(2) {
		display: none
	}
	.boxHeader01R02 .tel div:nth-of-type(1)>a {
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		width: 44px;
		height: 45px;
		background: url(../../images/common/tel.svg) no-repeat center center;
		background-size: 20px;
		background-color: #78c20c;
		justify-content: center;
		align-items: center;
		border: 1px solid #a6a6a6
	}
	.boxHeader01R02 {
		display: flex;
		width: 94px
	}
	.boxHeader01R {
		width: calc(100% - 94px)
	}
	.boxHeader01R .ulHeaderMenu01>li {
		font-size: .8rem
	}
}
.boxHeaderSpMenu01 {
	display: none
}
@media only screen and (max-width:750px) {
	.boxHeaderSpMenu01 {
		display: flex;
		position: absolute;
		right: 18vw;
		top: 4vw
	}
	.boxHeaderSpMenu01 a {
		width: 10vw;
		height: 10vw;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 2px solid #fff
	}
	.boxHeaderSpMenu01 a:nth-of-type(2) {
		margin-left: 10px
	}
	.boxHeaderSpMenu01 a img {
		width: 4.13vw
	}
	.boxHeader01L {
		width: auto;
		height: auto;
		padding: 4vw 3vw
	}
	.boxHeader01L .sub {
		font-size: 1.928vw;
		letter-spacing: .3em;
		margin-bottom: .5em
	}
	.boxHeader01L .logo01Header {
		position: static;
		width: 9.3vw
	}
	.ttlHeader .h01 {
		font-size: 2.5vw
	}
	.ttlHeader .h02 {
		font-size: 4.3vw
	}
	.boxHeader {
		padding: 0
	}
	.boxHeader01R02 {
		display: none
	}
	.btnHmbMenu.typeCss01 .btnHmbMenuIn>span {
		background-color: #78c20c
	}
	.boxFooter01 {
		flex-direction: column-reverse
	}
	.boxFooter01 .f_wrap {
		width: 100%
	}
	.boxFooter01 .btn_area {
		width: 100%;
		margin-bottom: 3rem
	}
	.boxFooter01Wrap {
		padding: 5rem 0
	}
	.boxFooter01 .btn_area a {
		font-size: 1.1rem;
		height: 64px
	}
	.boxFooter01 .btn_area a span:nth-of-type(1) {
		width: 64px
	}
	.boxFooter01 .btn_area a:nth-of-type(2) {
		font-size: 1.2rem
	}
	.boxFooter01 .btn_area a span:nth-of-type(2) {
		width: calc(100% - 64px)
	}
	.boxFooter01 .btn_area a .alpha>small {
		font-size: .65rem
	}
	.boxFooter01 .btn_area a .alpha small>small {
		font-size: 1em
	}
	.boxFooter01 .f_wrap {
		justify-content: flex-start;
		position: relative
	}
	.boxFooter01 .f_wrap .f01 {
		width: 49%
	}
	.boxFooter01 .f_wrap .f01:nth-of-type(2n) {
		margin-left: auto
	}
	.boxFooter01 .f_wrap .f01:nth-of-type(3) {
		margin-top: 50px
	}
	.boxFooter02 {
		margin-top: 3rem;
		padding-top: 6rem
	}
	.boxFooter02 .sns {
		top: 1.5rem
	}
	.boxFooter01 .f_wrap .top {
		position: absolute;
		left: 0;
		bottom: 0
	}
	.boxFooter01 .f01:nth-of-type(3) {
		display: flex;
		justify-content: space-between;
		width: 100%
	}
	.boxFooter01 .f01:nth-of-type(3)>div {
		width: 49%;
		margin: 0!important
	}
	.boxFooter01 .f_wrap {
		position: relative;
		padding-bottom: 3rem
	}
	.boxFooter02 .p02 {
		display: block
	}
	.boxFooter02 .p02 p:nth-of-type(2) {
		margin: 1rem 0 0 0
	}
	.boxFooter02 .p03 {
		display: block
	}
	.boxFooter02 .p03 dd {
		width: 100%;
		padding: 0;
		margin-top: 1rem
	}
	.boxFooter02 .p03 dd ul li {
		width: 50%;
		margin: 0 0 1em 0!important
	}
	.boxFooter02 .p03 dd ul li:before {
		top: .4em
	}
	.boxFooterMenu01 {
		display: block
	}
	.boxFooterMenu01 a {
		width: 100%;
		padding: 15vw 0 15vw 2rem
	}
	.boxFooter02 .p03 dt {
		width: 100%
	}
	.boxFooterMenu01 a:after {
		width: 2.5rem;
		height: 2.5rem;
		background-size: .8rem
	}
	.boxFooterMenu01 .ja {
		font-size: 1.4rem
	}
	.boxFooterMenu01 .en {
		font-size: .7rem
	}
}
.boxIndex05Item {
	display: flex;
	justify-content: space-between
}
.boxIndex05Item .box {
	width: 23.5%;
	background-color: #fff;
	color: #000;
	padding: 0 0 15px 0
}
.boxIndex05Item .box .img img {
	object-fit: cover;
	width: 100%;
	height: 100%
}
.boxIndex05Item .box .t01 {
	font-size: 1.375rem;
	font-weight: 700;
	padding: 20px 20px 0 20px
}
.boxIndex05Item .box .date {
	margin-top: .5em;
	margin-left: 20px
}
.boxIndex05Item .box .cat {
	margin-top: 15px;
	padding-right: 15px;
	text-align: right
}
.boxIndex05Item .box .cat span {
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	font-size: .875rem;
	padding: 0 1em;
	background-color: #bc2534;
	line-height: 1
}
.boxIndex05Item .box .img.no-image {
	background-image: url(../../images/base/base-no-image01.svg), url(../../images/base/base-no-image-bg.jpg);
	background-repeat: no-repeat, no-repeat;
	background-size: 154px, cover;
	background-position: center center, left top
}
.boxIndex05Item .box .img {
	aspect-ratio: 4 / 2.5
}
.boxIndex05Item .box .img.no-image img {
	display: none
}
@media only screen and (max-width:750px) {
	.boxIndex05Item {
		flex-wrap: wrap
	}
	.boxIndex05Item .box {
		width: 48%
	}
	.boxIndex05Item .box .t01 {
		padding: 1.5rem 5% 0 5%;
		font-size: 1.125rem
	}
	.boxIndex05Item .box .date {
		margin-left: 5%
	}
	.boxIndex05Item .box .cat {
		padding-right: 5%
	}
	.boxIndex05Item .box:nth-child(n+3) {
		margin-top: 1.5rem
	}
}
.boxMvWrap:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	background: url(../../images/common/bg-mv02.png) no-repeat right top;
	background-size: cover;
	mix-blend-mode: lighten;
	opacity: .2
}
body.has-gray-top .boxPageWrap {
	padding-top: 0
}
body.has-gray-top .boxBreadcrumb {
	color: #000;
	background-color: #efefef
}
.boxHeaderChildMenu01Wrap {
	display: none;
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 5;
}
.boxHeaderChildMenu01 {
	display: flex
}
.boxHeaderChildMenu01 .ttl_area {
	width: 29%;
	height: 29vw;
	background-color: #1b1a1a;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center
}
.boxHeaderChildMenu01 .ttl_area .en.alpha {
	color: #78c20c;
	font-size: 2.625rem;
	margin-bottom: .8em;
	line-height: 1
}
.boxHeaderChildMenu01 .ttl_area .ja {
	font-size: 1.125rem;
	color: #fff;
	font-weight: 400
}
.boxHeaderChildMenu01 .ttl_area .ja span {
	display: block;
	font-size: 1.5625rem;
	font-weight: 700;
	margin-bottom: .45em
}
.boxHeaderChildMenu01 .cont {
	width: 71%;
	background-color: #2a2a2a;
	position: relative
}
.boxHeaderChildMenu01 .cont dl {
	display: flex;
	color: #fff
}
.boxHeaderChildMenu01 .cont dl dt {
	font-size: 1.125rem;
	width: 33%
}
.boxHeaderChildMenu01 .cont dl dt a {
	padding: 1.5rem 0 1.5rem 2.3rem;
	display: block;
	background: url(../../images/common/ico-arrow-right-green.svg) no-repeat right 2em center;
	background-size: 1em;
	opacity: 1!important;
	transition: all 0.3s
}
.boxHeaderChildMenu01 .cont dl dt a:hover {
	background-image: url(../../images/common/ico-arrow-right-white.svg);
	background-color: #61a300
}
.boxHeaderChildMenu01 .cont dl dd {
	width: 67%;
	display: none;
	background-color: #61a300;
	padding-top: .5rem;
	position: absolute;
	left: 33%;
	top: 0;
	height: 100%;
	padding: .5rem 3% 0 3%
}
.boxHeaderChildMenu01 .cont dl dd ul {
	display: flex;
	flex-wrap: wrap
}
.boxHeaderChildMenu01 .cont dl dd ul li {
	min-width: 23%;
	margin: 0 1.5em 1em 0
}
.boxHeaderChildMenu01 .cont dl dd ul li a {
	padding: 1em 1em 1em 1.5em;
	border-bottom: 1px solid #fff;
	display: block;
	position: relative
}
.boxHeaderChildMenu01 .cont dl dd ul li a:before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 10em;
	background-color: #fff;
	position: absolute;
	left: 3px;
	top: 1.55em
}
.boxHeaderChildMenu01 .cont02 {
	width: 71%;
	background-color: #2a2a2a;
	position: relative;
	padding: 80px 5%;
	display: flex;
	flex-wrap: wrap
}
.boxHeaderChildMenu01 .cont02 .box {
	width: 31.5%;
	margin-left: 2.75%
}
.boxHeaderChildMenu01 .cont02 .box:nth-of-type(3n+1) {
	margin-left: 0
}
.boxHeaderChildMenu01 .cont02 .box:nth-child(n+4) {
	margin-top: 2.75%
}
.boxHeaderChildMenu01 .cont02 .box .cap {
	display: block;
	color: #fff;
	background: url(../../images/common/ico-arrow-right-white.svg) no-repeat right 1.5em center;
	background-color: #61a300;
	padding: .9em 0 .9em 1.5em;
	background-size: 13px
}
.boxHeaderChildMenu02 .ttl_area {
	height: inherit
}
.has_child_relative {
	position: relative
}
.boxHeaderChildMenu03 ul {
	background-color: #2a2a2a
}
.boxHeaderChildMenu03 ul li {
	min-width: 300px
}
.boxHeaderChildMenu03 ul li a {
	padding: 1.5rem 0 1.5rem 2.3rem;
	display: block;
	background: url(../../images/common/ico-arrow-right-green.svg) no-repeat right 2em center;
	background-size: 1em;
	opacity: 1!important;
	transition: all 0.3s
}
.boxHeaderChildMenu03 ul li a:hover {
	background-image: url(../../images/common/ico-arrow-right-white.svg);
	background-color: #61a300
}
.boxHeaderChildMenu03Wrap {
	transform: translateX(-65%)
}
body:before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .82);
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: 1
}
body.megaMenu:before {
	opacity: 1;
	overflow: hidden
}
.boxHmbMenu .boxFooterWrap {
	background-color: #000
}
br.sp {
	display: none
}
@media screen and (max-width:750px) {
	br.sp {
		display: block
	}
	br.pc {
		display: none
	}
	.pageForMessage .smf-button-control {
		margin-left: 0!important
	}
	.boxFooter01 .f01 .ttl .ja {
		font-size: 1.1rem
	}
	.boxFooter01 .f01 dl dd ul li {
		font-size: .9rem
	}
	.boxHeader {
		background-color: #000
	}
	.boxHeader01L {
		transition: all 0.5s
	}
	.modeScroll .boxHeader01L {
		height: 18vw;
		display: flex;
		align-items: center
	}
	.boxMv {
		top: .5em
	}
}
.slick-prev, .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	display: block;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent
}
.boxIndustrial01 .is-left .slick-track {
	transform: translate3d(0, 0, 0)!important;
	margin: 0
}
.grecaptcha-badge {
	visibility: hidden
}
.snow-monkey-form~.grecaptcha-badge, .snow-monkey-form .grecaptcha-badge, body:has(.snow-monkey-form) .grecaptcha-badge {
	visibility: visible
}
.btnBase01 {
  position: relative;
  display: inline-block;
  padding: 15px 32px 12px 32px;
  background: #fff;
  color: #000;
  text-decoration: none;
  overflow: hidden;
  transition: color 0.3s ease;
}

/* スライドする背景 */
.btnBaseAnimation01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #78c20c; /* 緑 */
  z-index: -1;
  transition: width 0.4s ease;
}
.btnBase01.no_animation::after {
	content: none !important;
}
/* 文字を前面に */
.btnBaseAnimation01 {
  z-index: 1;
	opacity: 1 !important;
}

.btnBaseAnimation01 span,
.btnBaseAnimation01 {
  position: relative;
}

/* hover時 */
.btnBaseAnimation01:hover,
.boxBaseSingleBackLink01 a:hover {
  color: #fff;
}
.boxBaseSingleBackLink01 a {
	position: relative;
	z-index: 1;
}
.btnBaseAnimation01:hover::after,
.boxBaseSingleBackLink01 a:hover::after {
  width: 100%;
}
.boxFooter01 .btn_area a,
.boxHeader01R02 a,
.boxBaseSingleBackLink01 a {
	opacity: 1 !important;
}
.boxFooter01 .btn_area a span:nth-of-type(2),
.boxHeader01R02 a span:nth-of-type(2) {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
	z-index: 1;
}
.boxFooter01 .btn_area a span:nth-of-type(2)::before,
.boxHeader01R02 a span:nth-of-type(2)::before,
.boxBaseSingleBackLink01 a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #78c20c; /* 緑 */
  z-index: -1;
  transition: width 0.4s ease;
}
.boxFooter01 .btn_area a:hover span:nth-of-type(2),
.boxHeader01R02 a:hover span:nth-of-type(2),
.boxBaseSingleBackLink01 a:hover {
  color: #fff;
}

.boxFooter01 .btn_area a:hover span:nth-of-type(2)::before,
.boxHeader01R02 a:hover span:nth-of-type(2)::before,
.boxBaseSingleBackLink01 a:hover:before {
  width: 100%;
}
.header_fixed {
	position: fixed;
	width: 100%;
	transform: translateY(-100%);
	z-index: 999;
	transition: all 0.4s;
}
body.is-scrolled .header_fixed {
	transform: translateY(0);
}
.header_fixed .boxHeader {
	background-color: #000;
}
.header_fixed .boxHeader01L {
    height: 138.59px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
		transform: scale(1) !important;
}

@media only screen and (max-width:750px) {
	.header_fixed {
		display: none;
	}
}
@media only screen and (max-width:1200px) and (min-width:751px) {
	html {
		font-size: 13px;
	}
}