@charset 'utf-8';

/*PC用CSS(ipad mini 7.9インチ対応)*/
@media only screen and (min-width: 768px) {
	.pc_none{
		display: none!important;
	}
}
/*SP用CSS(ipad mini 7.9インチ未対応)*/
@media only screen and (max-width: 767px) {
	.sp_none{
		display: none!important;
	}
}


/*リキッドの場合に使用*/
@media only screen and (min-width: 768px){
/*	≥768px 画面幅1366pxで1px=0.1rem(0.73207vw=1366基準)、画面幅に忠実に可変(device-width)*/
	html{
			font-size: 0.73207vw;
		}
}
@media only screen and (max-width: 767px){
/*	-767px 画面幅375px閲覧で1px=0.1rem可変*/
	html{
			font-size: 2.67vw;
		}
}
@media only screen and (max-width: 374px){
/*	-374px 画面幅374pxで1px=0.1rem固定*/
	html{
/*			font-size: 62.5%;*/
		}
}
@media only screen and (min-width: 1280px){
/*	1280px- 以前は固定化用。現在は固定せず画面幅に忠実(device-width)のまま可変*/
	html{
/*		font-size: 62.5%;*/
	}
}

/*Googleフォントここから*/
body{
	-webkit-text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #000000;
	letter-spacing: calc((0/1000)*1em);
	/*text-decoration-thickness: 1px;
	text-decoration-line: underline;
	text-decoration-color: #000000;
	text-decoration-style: solid;
	text-underline-offset: .3rem;
	text-decoration-skip-ink: none;*/
}
html.active,
body.active{
	overflow: hidden!important;
}

.light {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 300;
	font-style: normal;
}
.regular {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.mid {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-style: normal;
}
.bold {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-style: normal;
}
.black {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 900;
	font-style: normal;
}

.r_thin{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 100;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_elight{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 200;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_light{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_regular{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_mid{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_sbold{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_bold{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_ebold{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}
.r_black{
	font-family: 'Roboto Serif', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 900;
	font-variation-settings:
		'wdth' 100,
		'GRAD' 0;
}

.i_thin{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 100;
}
.i_elight{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 200;
}
.i_light{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
}
.i_regular{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
}
.i_mid{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
}
.i_sbold{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
}
.i_bold{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
}
.i_ebold{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
}
.i_black{
	font-family: 'Inter', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 900;
}
/*Googleフォントここまで*/
*{
	box-sizing: border-box;
}

svg{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
.iframe > iframe{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
::-webkit-scrollbar{
	display: none;
}
::scrollbar{
	display: none;
}
::before,
::after{
	box-sizing: border-box;
}

body{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}

main{
	width: 100%;
	height: auto;
	padding-top: 7.4rem;
	margin: 0 auto;
	display: block;
	position: relative;
}
@media only screen and (max-width: 767px) {
	main{
		padding-top: 6.0rem;
	}
}

/*headerここから*/
header{
	width: 100%;
	height: 7.4rem;
	display: block;
	position: fixed;
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	z-index: 101;/* footer(position:relative;z-index:100)がDOM後方で固定headerを覆う対策：headerを上位に */
}
@media only screen and (max-width: 767px){
	header{
		height: 6.0rem;
		background-color: #ffffff;
	}
}
header .header01{
	width: 100%;
	height: 100%;
	padding: 0 5.0rem 0 0;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
@media only screen and (max-width: 767px){
	header .header01{
		padding: 0 2.0rem 0 0;
		align-items: center;
	}
}
header .header01 h1{
	width: 12.9rem;
	height: 3.0rem;
	display: block;
	position: absolute;
	top: 2.5rem;
	bottom: auto;
	left: 5.0rem;
	right: auto;
	margin: 0;
	z-index: 0;
	transition: all 0s;
}
@media only screen and (max-width: 767px){
	header .header01 h1{
		width: 10.7rem;
		height: 2.5rem;
		top: 1.8rem;
		left: 2.0rem;
	}
	header .header01 h1.active{
		z-index: 100;
		transition: all 0s .5s;
	}
}
header .header01 h1 a{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
header .header01 h1 a img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
header .header01 .else a img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
header .header01 .else a img:nth-of-type(1){
	opacity: 0;
}
header .header01 .else a img:nth-of-type(2){
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
	opacity: 1;
}
@media only screen and (max-width: 767px){
/*メニューオープンボタン*/
	header .header01 .slide-menu-btn{
		width: 2.0rem;
		height: 1.6rem;
		margin: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		flex-shrink: 0;
		cursor: pointer;
		position: relative;
		z-index: 10;
	}
	header .header01 .slide-menu-btn .line-bar_area{
		width: 100%;
		height: 100%;
		margin: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		position: relative;
	}
	header .header01 .slide-menu-btn .line-bar_area::before{
		content: '';
		width: 100%;
		height: .2rem;
		background-color: #000000;
		display: block;
		position: absolute;
		top: 0;
		bottom: auto;
		left: 0;
		right: 0;
		margin: auto;
		transition: all 0.6s ease;
	}
	header .header01 .slide-menu-btn.active .line-bar_area::before{
		transform: rotate(calc(180deg + 45deg));
		bottom: 0;
	}
	header .header01 .slide-menu-btn .line-bar_area::after{
		content: '';
		width: 100%;
		height: .2rem;
		background-color: #000000;
		display: block;
		position: absolute;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: all 0.6s ease;
	}
	header .header01 .slide-menu-btn.active .line-bar_area::after{
		transform: rotate(calc(180deg + 45deg + 90deg));
		top: 0;
	}
	header .header01 .slide-menu-btn .line-bar_area .line-bar{
		width: 100%;
		height: .2rem;
		margin: 0;
		background-color: #000000;
		display: block;
		transition: all 1.0s ease;
	}
	header .header01 .slide-menu-btn.active .line-bar_area .line-bar{
		background-color: transparent;
		transition: all 1.0s ease;
	}
/*メニューオープンボタン*/
}
header .header01 .header01_01{
	width: auto;
	height: auto;
	margin: 0 0 1.5rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
header .header01 .header01_01 > .link01{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.5rem;
	color: #72CCB0;/* 非アクティブ言語：グレー(#D9D9D9)は見えづらいため、アクティブ緑(#00A06E)とページ背景(#E4F7F1)の中間の緑に */
	display: block;
}
header .header01 .header01_01 > .link01.active{
	margin: 0;
	color: #00A06E;
}
header .header01 .header01_01 > .text01{
	width: auto;
	height: auto;
	margin: 0 1.3rem;
	font-size: 1.5rem;
	line-height: 1.5rem;
	color: #00A06E;
	display: block;
}
header .header01 nav{
	width: auto;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: fixed;
	top: 13.3rem;
	bottom: 8.0rem;
	left: 3.7rem;
	right: auto;
	margin: auto;
	z-index: 1;
	transition: all .5s;
}
@media only screen and (max-width: 767px){
	header .header01 nav{
		width: 100%;
		min-width: 32.0rem;
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		padding: 6.0rem 0 3.0rem;
		background-color: rgba( 255, 255, 255, 1.0);
		top: calc(var(--vh, 1vh) * -100);
		bottom: auto;
		left: auto;
		right: 0;
	}
	header .header01 .panelactive{
		top: 0;
		right: 0;
		transition: all .5s;
	}
	body.active header{
		z-index: 1000;/* メニュー展開時はフッター(z-index:100)より前面に */
	}
}
/* PC: 画面高が足りずナビ下部(NEWS/RECRUIT/問い合わせ)が見切れる場合、nav内スクロールで到達可能に（通常高では発生しない） */
@media only screen and (min-width: 768px) {
	header .header01 nav{
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: none;/* Firefox: スクロールバー非表示 */
	}
	header .header01 nav::-webkit-scrollbar{
		display: none;/* WebKit/Chrome: スクロールバー非表示 */
	}
}
header .header01 nav .nav_01{
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01{
		margin: 0 auto;
		overflow-y: scroll;
		overflow-x: hidden;
	}
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 .nav_01_01{
		width: 32.4rem;
		height: auto;
		margin: 0 auto 2.2rem;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	header .header01 nav .nav_01 .nav_01_01 > .link01{
		width: auto;
		height: auto;
		margin: 0;
		font-size: 1.8rem;
		line-height: 1.8rem;
		color: #D9D9D9;
		display: block;
	}
	header .header01 nav .nav_01 .nav_01_01 > .link01.active{
		margin: 0;
		color: #00A06E;
	}
	header .header01 nav .nav_01 .nav_01_01 > .text01{
		width: auto;
		height: auto;
		margin: 0 1.9rem;
		font-size: 1.8rem;
		line-height: 1.8rem;
		color: #00A06E;
		display: block;
	}
}
header .header01 nav .nav_01 > ul{
	width: 100%;
	height: auto;
	padding: 0 0 0 1.3rem;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	flex-grow: 1;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul{
		width: 24.9rem;
		padding: 0;
		margin: 0 auto;
		border-top: 1px solid #000000;
		flex-grow: 0;
	}
}
header .header01 nav .nav_01 > ul > li{
	width: auto;
	height: auto;
	padding: 1.1rem 0 0;
	margin: .8rem 0 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li{
		width: 100%;
		padding: 2.2rem 0;
		margin: 0;
		justify-content: center;
	}
}
header .header01 nav .nav_01 > ul > li:nth-of-type(1){
	padding-top: 0;
	margin-top: 0;
	border-top: 0;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li:nth-of-type(1){
		padding-top: 2.2rem;
	}
}
header .header01 nav .nav_01 > ul > li:nth-last-child(2){
	margin-bottom: 1.0rem;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li:nth-last-child(2){
		margin-bottom: 0;
	}
}
header .header01 nav .nav_01 > ul > li::before{
	content: '';
	width: 1.5rem;
	height: 1px;
	background-color: #000000;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li::before{
		width: 100%;
	}
}
header .header01 nav .nav_01 > ul > li:nth-of-type(1)::before{
	display: none;
}
header .header01 nav .nav_01 > ul > li > a{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.6rem;
	display: block;
	position: relative;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li > a{
		font-size: 1.6rem;
		line-height: 2.0rem;
	}
}
header .header01 nav .nav_01 > ul > li > a:hover{
	opacity: 1;
	color: #00A06E;
}
header .header01 nav .nav_01 > ul > .active > a{
	color: #00A06E;
}
header .header01 nav .nav_01 > ul > li > a::before{
	content: '';
	width: .8rem;
	height: .8rem;
	background-color: transparent;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: .4rem;
	bottom: auto;
	left: -1.3rem;
	right: auto;
	margin: auto;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 > ul > li > a::before{
		display: none;
	}
}
header .header01 nav .nav_01 > ul > .active > a::before{
	background-color: #00A06E;
}
/* ナビが全幅セクション上を通過中：文字色・下線色を白に（activeの緑は維持） */
header .header01 nav.nav-white .nav_01 > ul > li:not(.active) > a{
	color: #ffffff;
}
header .header01 nav.nav-white .nav_01 > ul > li:not(.nav01_01)::before{
	background-color: #ffffff;
}
header .header01 nav .nav_01 .nav01_01{
	width: 15.4rem;
	padding: 0;
	margin: auto 0 0;
	border-top: 0;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 .nav01_01{
		width: 100%;
		padding: 3.0rem 0 0;
		margin: 0;
		border-top: 1px solid #000000;
		justify-content: flex-start;
	}
}
header .header01 nav .nav_01 .nav01_01::before{
	display: none;
}
header .header01 nav .nav_01 .nav01_01 ul{
	width: 100%;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
header .header01 nav .nav_01 .nav01_01 ul li{
	width: auto;
	height: auto;
	margin: 3.3rem 0 0;
	border: 0;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
header .header01 nav .nav_01 .nav01_01 ul li:nth-of-type(1){
	width: 100%;
	margin-top: 0;
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1){
	width: 100%;
	height: 4.2rem;
	margin: 0;
	font-size: 1.8rem;
	line-height: 2.8rem;
	color: #ffffff;
	background-color: #2DC195;
	border:  1px solid #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1){
		height: 5.0rem;
		border:  1px solid #2DC195;
	}
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1):hover{
	color: #00A06E;
	background-color: #ffffff;
	border:  1px solid #ffffff;
	opacity: 1;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1):hover{
		border:  1px solid #000000;
	}
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1) > span{
	width: 1.3rem;
	height: 1.3rem;
	margin: 0 0 0 .8rem;
	display: block;
	flex-shrink: 0;
	position: relative;
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1) > span > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	transition: all .5s;
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1) > span > img:nth-of-type(2){
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
	opacity: 0;
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1):hover > span > img:nth-of-type(1){
	opacity: 0;
	transition: all .5s;
}
header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(1):hover > span > img:nth-of-type(2){
	opacity: 1;
	transition: all .5s;
}
@media only screen and (max-width: 767px){
	header .header01 nav .nav_01 .nav01_01 ul li a:nth-of-type(2){
		width: auto;
		height: auto;
		margin: 0;
		font-size: 1.2rem;
		line-height: 2.2rem;
		display: block;
	}
}
/*headerここまで*/

/*footerここから*/
footer{
	width: 100%;
	height: auto;
	margin: 0 auto;
	background-color: #2DC195;
	display: block;
	position: relative;
	z-index: 100;
}
footer .footer01{
	width: 100%;
	height: auto;
	padding: 6.5rem 14.3rem 3.5rem 5.0rem;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media only screen and (max-width: 767px) {
	footer .footer01{
		padding: 4.3rem 2.0rem 3.6rem 3.7rem;
	}
}
footer .footer01 .footer01_01{
	width: 100%;
	height: auto;
	margin: 0 0 5.5rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01{
		margin: 0 0 -5.8rem;
		align-items: flex-start;
		flex-direction: column;
	}
}
footer .footer01 .footer01_01 > .logo{
	width: 17.0rem;
	height: auto;
	margin: 0 4.2rem 0 0;
	display: block;
	flex-shrink: 0;
	position: relative;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 > .logo{
		margin: 0 0 4.0rem;
	}
}
footer .footer01 .footer01_01 > .logo:hover{
	opacity: 1;
}
footer .footer01 .footer01_01 > .logo img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	transition: all .5s;
}
footer .footer01 .footer01_01 > .logo img:nth-of-type(2){
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
	opacity: 0;
}
footer .footer01 .footer01_01 > .logo:hover > img:nth-of-type(1){
	opacity: 0;
	transition: all .5s;
}
footer .footer01 .footer01_01 > .logo:hover > img:nth-of-type(2){
	opacity: 1;
	transition: all .5s;
}
footer .footer01 .footer01_01 .footer01_01_02{
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-grow: 1;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 .footer01_01_02{
		flex-grow: 0;
	}
}
footer .footer01 .footer01_01 .footer01_01_02 > ul{
	width: 100%;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 .footer01_01_02 > ul{
		width: auto;
		flex-direction: column;
	}
}
footer .footer01 .footer01_01 .footer01_01_02 > ul li{
	width: auto;
	height: 1.8rem;
	margin: 0;
	border-right: 1px solid #000000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-grow: 1;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 .footer01_01_02 > ul li{
		height: auto;
		margin: 1.9rem 0 0;
		padding: 1.9rem 0 0;
		border-right: 0;
		justify-content: flex-start;
		position: relative;
	}
}
footer .footer01 .footer01_01 .footer01_01_02 > ul li:nth-of-type(1){
	border-left: 1px solid #000000;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 .footer01_01_02 > ul li:nth-of-type(1){
		padding-top: 0;
		margin-top: 0;
		border-left: 0;
	}
	footer .footer01 .footer01_01 .footer01_01_02 > ul li::before{
		content: '';
		width: 1.9rem;
		height: 1px;
		background-color: #000000;
		display: block;
		position: absolute;
		top: 0;
		bottom: auto;
		left: 0;
		right: auto;
		margin: auto;
	}
	footer .footer01 .footer01_01 .footer01_01_02 > ul li:nth-of-type(1)::before{
		display: none;
	}
}
footer .footer01 .footer01_01 .footer01_01_02 > ul li > a{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.2rem;
	color: #ffffff;
	display: block;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_01 .footer01_01_02 > ul li > a{
		font-size: 1.4rem;
		line-height: 1.4rem;
	}
}
footer .footer01 .footer01_01 .footer01_01_02 > ul li > a:hover{
	opacity: 1;
	color: #000000;
}
footer .footer01 .footer01_02{
	width: 100%;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02{
		align-items: flex-end;
	}
}
footer .footer01 .footer01_02 .footer01_02_01{
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 .footer01_02_01{
		padding: 0 0 5.5rem;
		align-items: flex-start;
		flex-direction: column;
		position: relative;
	}
}
footer .footer01 .footer01_02 .footer01_02_01 > .link01{
	width: auto;
	height: auto;
	margin: 0 2.9rem 0 0;
	font-size: 1.1rem;
	line-height: 1.1rem;
	color: #ffffff;
	text-decoration-thickness: 1px;
	text-decoration-line: underline;
	text-decoration-color: #000000;
	text-decoration-style: solid;
	text-underline-offset: .3rem;
	text-decoration-skip-ink: none;
	display: block;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 .footer01_02_01 > .link01{
		margin: 0;
	}
}
footer .footer01 .footer01_02 .footer01_02_01 > .link01:hover{
	opacity: 1;
	color: #000000;
	text-decoration-color: #ffffff;
}
footer .footer01 .footer01_02 .footer01_02_01 > .text01{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.2rem;
	color: #ffffff;
	display: block;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 .footer01_02_01 > .text01{
		width: 20.0rem;
		position: absolute;
		top: auto;
		bottom: 0;
		left: 0;
		right: auto;
		margin: auto;
	}
}
footer .footer01 .footer01_02 > ul{
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 > ul{
		width: 16rem;
		margin: 0 0 5.4rem;
		align-items: flex-start;
		flex-direction: column;
		flex-shrink: 0;
	}
}
/* EN(英語版)専用: フッター システムリンク列の幅＋アイコン間隔（英語ラベルが長いため。SP=767px以下 / base=JPは据え置き。DevToolsインライン値をCSSへ集約） */
@media only screen and (max-width: 767px) {
	body.en footer .footer01 .footer01_02 > ul{
		width: 20.5rem;
	}
	body.en footer .footer01 .footer01_02 > ul li a > span{
		margin-left: 0.6rem;
	}
}
footer .footer01 .footer01_02 > ul li{
	width: auto;
	height: auto;
	margin: 0 0 0 1.0rem;
	display: block;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 > ul li{
		width: 100%;
		margin: 1.0rem 0 0;
	}
}
footer .footer01 .footer01_02 > ul li:nth-of-type(1){
	margin-left: 0;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 > ul li:nth-of-type(1){
		margin-top: 0;
	}
}
footer .footer01 .footer01_02 > ul li a{
	width: auto;
	height: 4.2rem;
	padding: 0 1.1rem;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.3rem;
	background-color: #ffffff;
	border: 1px solid #000000;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 > ul li a{
		width: 100%;
		justify-content: space-between;
	}
}
footer .footer01 .footer01_02 > ul li:nth-of-type(3) a{
	font-size: 1.8rem;
	line-height: 1.8rem;
}
/* 公開時：リンク先の外部サイトが未完成のため、1・2番目（公園管理システム／オーダーシステム）を非活性化（透過＋リンク無効）。PC/SP共通。外部サイト完成後にこのブロックを削除し、footer.php の href を設定して活性化する */
footer .footer01 .footer01_02 > ul li:nth-of-type(1) a,
footer .footer01 .footer01_02 > ul li:nth-of-type(2) a{
	opacity: .4;
	pointer-events: none;
	cursor: default;
}
footer .footer01 .footer01_02 > ul li a > span{
	width: 1.3rem;
	height: 1.3rem;
	margin: 0 0 0 .8rem;
	display: block;
	flex-shrink: 0;
	position: relative;
}
@media only screen and (max-width: 767px) {
	footer .footer01 .footer01_02 > ul li a > span{
		margin-left: 0;
	}
}
footer .footer01 .footer01_02 > ul li a > span > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	transition: all .5s;
}
/*footerここまで*/

/*btn-topここから*/
.btn-top{
	width: 5.0rem;
	height: 5.0rem;
	background-color: #ffffff;
	border: 1px solid #00A06E;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: fixed;
	top: auto;
	bottom: -5.1rem;
	left: auto;
	right: 6.6rem;
	margin: auto;
	z-index: 100;
	cursor: pointer;
}
@media only screen and (max-width: 767px) {
	.btn-top {
		right: 2.0rem;
	}
}
.btn-top:hover{
	opacity: 1;
	background-color: #2DC195;
	border: 1px solid #00A06E;
}
.btn-top::before{
	content: '';
	width: .9rem;
	height: .9rem;
	margin: 0;
	border-top: 1px solid #00A06E;
	border-right: 1px solid #00A06E;
	display: block;
	transform: rotate(-45deg);
	transition: all .5s;
}
.btn-top:hover::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transition: all .5s;
}
.btn-top > span{
	width: auto;
	height: auto;
	margin: .4rem 0 0;
	font-size: 1.0rem;
	line-height: 1.0rem;
	color: #00A06E;
	display: block;
	transition: all .5s;
}
.btn-top:hover > span{
	color: #ffffff;
	transition: all .5s;
}
/*btn-topここまで*/

/*includeここから*/

/*.eyecatch_incここから*/
.eyecatch_inc.top{
	width: 100%;
	height: auto;
	margin: 0 auto;
	background: linear-gradient(180deg, transparent 0%, transparent calc(100% - 11.1rem), #B8EADB calc(100% - 11.1rem), #B8EADB 100%);
	display: block;
}
.eyecatch_inc.top .eyecatch_inc01{
	width: 100%;
	height: auto;
	padding: 3.2rem 0 0;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.top .eyecatch_inc01{
		padding: 0;
	}
}
.eyecatch_inc.top .eyecatch_inc01 .item01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	position: relative;
}
.eyecatch_inc.top .eyecatch_inc01 .item01 .item01_01{
	width: 116.6rem;
	height: auto;
	margin: 0 auto;
	display: block;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.top .eyecatch_inc01 .item01 .item01_01{
		width: 100%;
	}
}
.eyecatch_inc.top .eyecatch_inc01 .item01 .item01_01 .item01_01_01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	overflow: hidden;
}
.eyecatch_inc.top .eyecatch_inc01 .item01 .item01_01_01 img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
.eyecatch_inc.top .eyecatch_inc01 .item01 .item01_01 .slick-slide img{
	transform: scale(1);
	transform-origin: center;
	transition: none !important;
	will-change: transform;
}
.eyecatch_inc.top .eyecatch_inc01 .item01 > .img{
	width: 116.6rem;
	height: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.top .eyecatch_inc01 .item01 > .img{
		width: 100%;
	}
}
.eyecatch_inc.top .eyecatch_inc01 .item01 > .img > span{
	width: 100%;
	height: 100%;
	margin: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: block;
}
.eyecatch_inc.short{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	position: relative;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short{
		background-color: #ffffff;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-direction: column-reverse;
	}
}
.eyecatch_inc.short .eyecatch_inc01{
	width: 121.8rem;
	height: auto;
	padding: 0 10.4rem 6.1rem 11.3rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc01{
		width: 32.0rem;
		padding: 3.7rem 0 2.9rem;
		margin: 0;
		position: static;
		flex-direction: column;
	}
}
.eyecatch_inc.short .eyecatch_inc01 .text01{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 4.0rem;
	line-height: 4.0rem;
	color: #ffffff;
	display: block;
	flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc01 .text01{
		color: #00A06E;
	}
}
.eyecatch_inc.short .eyecatch_inc01 .text02{
	width: auto;
	height: auto;
	margin: 0 0 0 10.0rem;
	display: block;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc01 .text02{
		width: 25.0rem;
		margin: 3.1rem 0 0;
	}
}
/* EN(英語版)専用: eyecatch(short)サブ見出しの幅(SP=767px以下・英語のみ / base=JPは25.0rem据え置き。英文が長いため自動幅) */
@media only screen and (max-width: 767px){
	body.en .eyecatch_inc.short .eyecatch_inc01 .text02{
		width: auto;
	}
}
.eyecatch_inc.short .eyecatch_inc01 .text02 > span{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.4rem;
	line-height: 2.0rem;
	color: #ffffff;
	display: inline;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc01 .text02 > span{
		font-size: 1.4rem;
		line-height: 2.5rem;
		color: #00A06E;
	}
}
.eyecatch_inc.short .eyecatch_inc02{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.eyecatch_inc.short .eyecatch_inc02 > .item01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	position: relative;
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 .item01_01{
	width: 121.8rem;
	height: auto;
	margin: 0 auto;
	display: block;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc02 > .item01 .item01_01{
		width: 100%;
	}
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 .item01_01 .item01_01_01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
	overflow: hidden;
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 .item01_01 .item01_01_01 > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 .item01_01 .slick-slide img{
	transform: scale(1);
	transform-origin: center;
	transition: none !important;
	will-change: transform;
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 > .img{
	width: 121.8rem;
	height: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short .eyecatch_inc02 > .item01 > .img{
		width: 100%;
	}
}
.eyecatch_inc.short .eyecatch_inc02 > .item01 > .img > span{
	width: 100%;
	height: 100%;
	margin: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: block;
}
.eyecatch_inc.journal{
	width: 11.3rem;
	height: auto;
	display: block;
	position: fixed;
	top: 12.2rem;
	bottom: auto;
	left: 5.0rem;
	right: auto;
	margin: auto;
	z-index: 1;/* 全幅画像(.contents01_01 > .img01 = position:relative)より前面に：z-index負け対策（navと同層） */
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.journal{
		width: 100%;
		margin: 0 auto;
		position: static;
	}
}
.eyecatch_inc.journal .eyecatch_inc01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.journal .eyecatch_inc01{
		height: 17.2rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
.eyecatch_inc.journal .eyecatch_inc01 > a{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.journal .eyecatch_inc01 > a{
		width: 13.9rem;
	}
}
.eyecatch_inc.journal .eyecatch_inc01 > a > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
/*.eyecatch_incここまで*/

/*.pan_incここから*/
.pankuzu_inc{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}
.pankuzu_inc .pankuzu_inc_inner{
	width: 92.6rem;
	height: auto;
	padding: 5.4rem 0 0;
	margin: 0 auto;
	font-size: 0;
	line-height: 0;
	display: block;
	text-align: right;
}
@media only screen and (max-width: 767px) {
	.pankuzu_inc .pankuzu_inc_inner{
		width: 33.5rem;
		padding: 2.4rem 0 0;
		text-align: left;
	}
}
.pankuzu_inc .pankuzu_inc_inner > a{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.7rem;
	display: inline;
}
.pankuzu_inc .pankuzu_inc_inner > span{
	width: auto;
	height: auto;
	margin: 0 .6rem;
	font-size: 1.2rem;
	line-height: 1.7rem;
	color: #00A06E;
	display: inline;
}
.pankuzu_inc .pankuzu_inc_inner > p{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.7rem;
	display: inline;
}
/*.pan_incここまで*/

/*.paginationここから*/
.wp-pagenavi {
	width: 118.0rem;
	height: auto;
	margin: calc(-3.0rem / 2) 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi {
		width: 100%;
		max-width: 32.0rem;
	}
}
.wp-pagenavi span{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3.0rem / 2);
	border: 1px solid #cccccc;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi span{
		margin: calc(3.0rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi a{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3.0rem / 2);
	border: 1px solid #DDDDDD;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi a{
		margin: calc(3.0rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi .current{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3.0rem / 2);
	border: 1px solid #E9EAEF;
	background-color: #E9EAEF;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi .current{
		margin: calc(3.0rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi .previouspostslink{
	border: 0;
	font-size: 0;
	line-height: 0;
}
.wp-pagenavi .previouspostslink::before{
	content: '';
	width: .6rem;
	height: .6rem;
	margin: 0 -.3rem 0 0;
	border-top: 1px solid #262626;
	border-left: 1px solid #262626;
	display: block;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	flex-shrink: 0;
}
.wp-pagenavi .nextpostslink{
	border: 0;
	font-size: 0;
	line-height: 0;
}
.wp-pagenavi .nextpostslink::before{
	content: '';
	width: .6rem;
	height: .6rem;
	margin: 0 0 0 -.3rem;
	border-bottom: 1px solid #262626;
	border-right: 1px solid #262626;
	display: block;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	flex-shrink: 0;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .extend{
	display: none;
}
/*.paginationここまで*/

/*includeここまで*/
/* ============ EN(英語版)固有: 文字の折り返しを英語仕様に ============ */
/* reset.css の word-break:break-all は日本語(CJK)向け。英語では単語途中で
   改行され不自然になるため、body.en 配下は単語境界で折り返す。 */
body.en, body.en *{
	word-break: normal;
	overflow-wrap: break-word;
}
