/*
Theme Name: NEK
Version: 1.0.0
*/

/* :root {
	--color-yellow: #FFEF29;
	--color-black: #000;
	--color-gray: #D6D6D6;
	--color-blue: #0860A8;
	--noto-sans: 'Noto Sans JP', sans-serif;
} */
html {
	scroll-behavior: smooth;
}
body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: calc(30 / 16);
	/* letter-spacing: 0.08em; */
	color: #000;
}
body.noscroll {
	overflow: hidden;
	touch-action: pinch-zoom;
}
img {
	max-width: 100%;
	height: auto;
}
a:hover,
a {
	text-decoration: none;
}
button:hover,
a:hover {
	opacity: .7;
}
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/* @media(max-width: 767px) {
	body {
		font-size: 15px;
	}
} */

.container {
	max-width: 1400px;
	padding-left: 100px;
	padding-right: 100px;
}
.containerlarge {
	max-width: 1600px;
}
.containerslim {
	max-width: 1000px;
}
@media(max-width: 991px) {
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.font_zenmaru {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.font_zenold {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.font_oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.fw-400 {
	font-weight: 400;
}
.fw-500 {
	font-weight: 500;
}
.fw-700 {
	font-weight: 700;
}

/* header */
#header {
	width: 100%;
	top: 0;
	padding-right: 100px;
	z-index: 100;
}
#header .logo a {
	padding: 20px 23px;
	line-height: 1;
	display: block;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 0 0 20px 0;
	background-color: #fff;
}
.headernavi nav {
	background-color: #fff;
	padding: 20px 15px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
	border-radius: 0 0 0 15px;
	line-height: 1
}
.headernavi nav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.headernavi nav #menu-header {
	display: flex;
}
.headernavi nav #menu-header a {
	color: #000;
	line-height: 1;
	display: block;
}
.headernavi nav #menu-header > li > a {
	padding: 15px 20px;
}
#menu-header .menu-item-has-children {
	position: relative;
}
#menu-header .nolink > a,
#menu-spnavi .nolink > a,
#menu-footer02 .nolink > a {
	pointer-events: none
}
#menu-header .sub-menu {
	position: absolute;
	top: 100%;
	padding: 0 10px 10px;
	width: 100%;
	opacity: 0;
	z-index: -10;
}
#menu-header .sub-menu a {
	padding: 5px 15px;
	font-size: 15px;
	line-height: 1;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
#menu-header .menu-item-has-children:hover {
	background-color: #000000;
	border-radius: 5px 5px 0 0;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
#menu-header .menu-item-has-children:hover a {
	color: #fff;
}
#menu-header .menu-item-has-children:hover .sub-menu {
	background-color: #000000;
	border-radius: 0 0 5px 5px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	opacity: 1;
	z-index: 1;
}

.sptoggle {
	background-color: #005F2E;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
	padding: 10px;
	right: 10px;
}
.sptoggle span {
	display: block;
	height: 2px;
	width: 30px;
	background-color: #fff;
	position: absolute;
	left: 50%;
	top: calc(50% - 2px);
	transform: translate(-50%,-50%);
	transition: all .4s;
}
.sptoggle span:nth-of-type(1) {
	top: calc(50% - 11px);
}
.sptoggle span:nth-of-type(3) {
	top: calc(50% + 9px);
}
#spnavi {
	width: 100%;
	background-color: #fff;
	padding: 100px 20px 30px;
	height: 100%;
	top: 0;
	right: -120%;
	transition: all .8s;
}
#spnavi ul {
	list-style-type: none;
	padding: 0;
	font-size: 15px;
	margin: 0 auto;
	width: max-content;
	max-width: 100%;
}
#spnavi ul a {
	color: #005F2E;
}
#spnavi .followus {
	margin: 0 auto;
	width: max-content;
	max-width: 100%;
}
#spnavi.active {
	right: 0;
	z-index: 99;
}
.sptoggle.active span:nth-of-type(1) {
	top: 50%;
	transform: translate(-50%,-50%) rotate(-45deg);
}
.sptoggle.active span:nth-of-type(2) {
	opacity: 0;
}
.sptoggle.active span:nth-of-type(3) {
	top: 50%;
	transform: translate(-50%,-50%) rotate(45deg);
}
@media (max-width: 991px) {
	#header {
		padding-right: 0;
	}
	.site-header {
		align-items: center;
	}
	#header .logo a {
		padding: 15px 20px;
	}
	#header .logo a img {
		width: 50px;
	}
}
@media (max-width: 575px) {
	#header .logo a {
		padding: 10px 15px;
	}
	#header .logo a img {
		width: 45px;
	}
}

/* footer */
.sitefooterine {
	left: 50%;
	transform: translateX(-50%);
	top: -40px;
	z-index: 1;
}
.bgfooter {
	padding-top: 130px;
	padding-bottom: 100px;
	margin-bottom: 35px;
}
.bgfooter::before {
	content: '';
	width: 100%;
	height: 100%;
	background: url('img/bg_footer.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.footerblockwrapper {
	gap: 30px;
	margin-bottom: 85px;
}
.footerblock {
	width: 100%;
	max-width: 500px;
}
.footerblock .detail {
	padding: 35px 20px 15px;
	background-color: #fff;
	border-radius: 0 0 5px 5px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.footerblock .img img {
	border-radius: 15px 15px 0 0;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.footerblock .title {
	margin-bottom: 25px;
	font-size: 25px;
	letter-spacing: 0.1em;
	line-height: 1;
}
.footerblock .title img {
	vertical-align: text-bottom;
	display: inline-block;
	margin-left: 20px;
}
.footerblock .text {
	max-width: 260px;
	margin: 0 auto 20px;
	line-height: calc(25/15);
	font-size: 15px;
	letter-spacing: 0.08em;
}
.footercontact > div {
	gap: 10px;
}
.footercontact .left {
	gap: 20px;
}
.footercontact .ine {
	width: 30px;
}
.footerinsta h2 {
	margin-bottom: 145px;
	letter-spacing: 0.1em;
	font-size: 35px;
}
.footerinsta h2 img {
	display: inline-block;
	margin-left: 15px;
}
.footercontact {
	margin: 0 auto;
	padding: 30px 100px 40px 30px;
	background-color: #fff;
	max-width: 1000px;
}
.footercontact h2 {
	font-size: 35px;
	letter-spacing: 0.1em;
	margin-bottom: 55px;
	line-height: 0;
}
.footercontact h2 .font_en {
	font-size: 16px;
	color: #005F2E;
	margin-bottom: 15px;
	letter-spacing: 0;
	line-height: 1;
	display: inline-block;
}
.footercontact h2 span {
	line-height: 1;
}
.footercontact .leftinner {
	max-width: 375px;
	width: calc(100% - 30px);
}
.footercontact .leftinner .text {
	font-size: 15px;
	line-height: calc(24/15);
}
.footercontact .right {
	padding-top: 50px;
}
.footercontact .right .tel {
	margin-bottom: 13px;
}
.footercontact .right a {
	display: inline-block;
}
.footercontact .right .text {
	text-align: center;
	margin-bottom: 15px;
	font-size: 14px;
	letter-spacing: 0.1em;
}
.footercontact .right .btnwrap a {
	width: 138px;
	display: inline-block;
	line-height: 1;
	border-radius: 10px 10px 0 0;
	padding: 15px 10px;
	text-align: center;
	letter-spacing: 0.1em;
	font-size: 15px;
	color: #fff;
}
.footercontact .right .btnwrap a.btn_contact {
	background-color: #D4B854;
}
.footercontact .right .btnwrap a.btn_line {
	background-color: #005F2E;
	margin-left: 13px;
}
.footernavi > .d-flex {
	gap: 40px;
}
.footernavi .left > .d-flex {
	gap: 40px;
}
.footernavi .left .logo a {
	display: inline-block;
	margin-bottom: 30px;
}
.footernavi .left .logo p {
	font-size: 14px;
}
.footernavi .left .address {
	font-size: 13px;
}
.footernavi .left .address > div + div {
	margin-top: 30px;
}
.footernavi .right {
	font-size: 14px;
}
.footernavflex {
	gap: 70px;
}
.footernavi .right ul {
	list-style-type: none;
}
.footernavi .right ul,
.footernavi .right li {
	padding: 0;
	margin: 0;
}
.footernavi .right a {
	color: #000;
}
.copyright {
	font-size: 13px;
	margin-top: 30px;
}
@media (max-width: 1199px) {
	.footercontact .left {
		width: 53%;
	}
}
@media (max-width: 991px) {
	.footerinsta h2 {
		margin-bottom: 60px;
	}
	.footercontact {
		padding: 30px 60px 40px 30px;
	}
	.footernavi > .d-flex {
		flex-wrap: wrap;
	}
	.footernavi .left,
	.footernavi .right {
		width: 100%;
	}
	.footernavi .left > .d-flex,
	.footernavi .right > .d-flex {
		justify-content: center;
	}
}
@media (max-width: 767px) {
	.sitefooterine {
		width: 35px;
		top: -28px;
	}
	.bgfooter {
		padding-top: 100px;
	}
	.footerblock .title {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.footerblock .title img {
		margin-left: 10px;
		width: 20px;
		vertical-align: baseline;
	}
	.footerblock .text {
		max-width: none;
	}
	.footercontact .left {
		width: 100%;
	}
	.footercontact .leftinner {
		max-width: none;
	}
	.footercontact h2 {
		margin-bottom: 25px;
	}
	.footercontact .right {
		width: max-content;
		margin: 0 auto;
		padding-top: 30px;
	}
}
@media (max-width: 575px) {
	.bgfooter {
		padding-top: 80px;
	}
	.footerblockwrapper {
		margin-bottom: 65px;
	}
	.footerblock {
		max-width: 400px;
		margin: 0 auto;
	}
	.footerblock + .footerblock {
		margin-top: 30px;
	}
	.footerblock .img img {
		object-fit: cover;
	    aspect-ratio: 9 / 4;
	}
	.footerblock .detail {
		padding: 25px 20px 15px;
	}
	.footercontact {
		padding: 30px 30px 40px 30px;
	}
	.footercontact h2 {
		font-size: 30px;
	}
	.footercontact h2 .font_en {
		margin-bottom: 10px;
	}
	.footernavi .left > .d-flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}
	.footernavi .left .logo,
	.footernavi .left .address {
		width: max-content;
	}
	.footernavi .left .address {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: center;
	}
	.footernavi .left .address > div {
		width: 50%;
	}
	.footernavi .left .address > div + div {
		margin-top: 0;
	}
}

/* sidelink */
#sidelink {
	width: 100px;
	top: 0;
	right: 0;
	z-index: 101;
}
#sidelink .contact,
#sidelink .faq {
	color: #fff;
	display: block;
	padding: 22px 10px 10px;
	height: 90px;
	font-size: 13px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
	border-radius: 0 0 0 15px;
	position: relative;
	text-align: center;
}
#sidelink .contact {
	background-color: #D4B854;
	z-index: 2;
}
#sidelink .faq {
	background-color: #6CC4C1;
	height: 100px;
	z-index: 1;
	margin-top: -15px;
	padding-top: 32px;
}
#sidelink .contact img,
#sidelink .faq img{
	display: inline-block;
	margin-bottom: 5px;
}
#sidelink .text {
	font-size: 14px;
	writing-mode: vertical-rl;
	margin-top: 40px;
	margin-bottom: 25px;
	padding-left: 38px;
}
#sidelink .snslink {
	display: block;
	margin: 0 auto;
	width: max-content;
}
#sidelink .snslink + .snslink {
	margin-top: 10px;
}

.icon_more {
	background-color: #005F2E;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	position: relative;
}
.icon_more span {
	position: absolute;
	display: inline-block;
	width: 13px;
	height: 1px;
	margin: 5.8px 0;
	border-radius: 9999px;
	background-color: #ffffff;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
}

.icon_more span::before,
.icon_more span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 10px;
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: calc(100% - 0.5px) 50%;
}
.icon_more span::before {
	transform: rotate(45deg);
}
.icon_more span::after {
	transform: rotate(-45deg);
}
.line_more {
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: #000;
}
.line_more span.border {
	width: 50px;
	display: inline-block;
	border-top: 1px solid #000 !important;
	margin: 0 15px;
	vertical-align: middle;
}
.line_more .icon_more {
	width: 60px;
	height: 60px;
	display: inline-block;
	vertical-align: middle;
}
.line_more .icon_more span {
	top: 23px;
}
@media(max-width: 575px) {
	.line_more .icon_more {
		width: 40px;
		height: 40px;
	}
	.line_more .icon_more span {
		top: 13px;
	}
}

/* top common */
.topsection h2 {
	line-height: 1;
	margin-bottom: 35px;
}
.topsection h2 .font_en {
	font-size: 16px;
	color: #005F2E;
	margin-bottom: 15px;
	display: inline-block;
}
.topsection h2 .font_zenold {
	font-size: 35px;
	letter-spacing: 0.1em;
}
@media(max-width: 767px) {
	.topsection h2 .font_zenold {
		font-size: 30px;
	}
}

.topbggreen::before {
	content: '';
	width: 100%;
	height: calc(100% + 50px);
	background: url('img/bg_topsection01_green.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.topbgblue::before {
	content: '';
	width: 100%;
	height: calc(100% + 100px);
	background: url('img/bg_topsection03_blue.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.topbgbrown {
	padding-bottom: 180px;
}
.topbgbrown::before {
	content: '';
	width: 100%;
	height: calc(100% + 100px);
	background: url('img/bg_topsection06_brown.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: -100px;
	left: 0;
	z-index: 0;
}
@media(max-width: 991px) {
	.topbgbrown {
		padding-bottom: 0;
	}
}

/*firstview*/
#fastview {
	height: 100vh;
	max-height: 750px;
	min-height: 500px;
	padding: 0 100px 0 60px;
}
#fastview .movie {
	height: 100%;
}
#fastview .fastviewmovie {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 0 0 20px;
}
#fastview .fastviewmark {
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media(max-width: 991px) {
	#fastview {
		padding: 0;
	}
}
@media(max-width: 767px) {
	#fastview {
		max-height: 600px;
	}
	#fastview .fastviewmark {
		max-width: 200px;
	}
}
@media(max-width: 575px) {
	#fastview {
		height: calc(100vh - 100px);
		max-height: 600px;
		min-height: 450px;
	}
}


/* topnews */
#topnews .topnewslist {
	width: 500px;
	background-color: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
	border-radius: 20px 0 0 0;
	margin-right: 0;
	margin-left: auto;
	margin-top: -40px;
	padding: 0 7px 12px 15px;
}
#topnews .posttype {
	margin-left: 10px;
	line-height: 1;
	margin-bottom: 10px;
	font-size: 13px;
}
#topnews .posttype span {
	padding: 7px 10px;
	min-width: 80px;
	text-align: center;
	color: #fff;
	border-radius: 0 0 5px 5px;
	background-color: #005F2E;
	display: inline-block;
}
#topnews .posttype span.column {
	background-color: #000;
}
#topnews .left {
	width: calc(100% - 102px);
}
#topnews .left a {
	color: #000;
	gap: 10px;
	font-size: 15px;
	padding-right: 5px;
}
#topnews .left a .time {
	width: 80px;
	color: #005F2E;
}
#topnews .right {
	margin-top: 18px;
	padding: 7px 30px 0;
	border-left: 3px solid #D9D9D9;
}
#topnews .right a {
	font-size: 12px;
	color: #005F2E;
	line-height: 1;
}
#topnews .right a .text {
	line-height: 1;
	margin-top: 5px;
}
@media(max-width: 575px) {
	#topnews .topnewslist {
		width: 95%;
	}
	#topnews .right {
		padding: 7px 15px;
	}
	#topnews .left a .title {
		line-height: 1.3;
	}
}

/* topsection01 */
#topsection01 {
	padding-top: 80px;
	background-color: #F1FCFB;
}
#topsection01 .left {
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: calc(45 / 30);
}
#topsection01 .right {
	max-width: 390px;
	margin-right: 0;
	margin-left: auto;
	letter-spacing: 0.08em;
}
#topsection01 .right p {
	margin-bottom: 50px;
}
@media(max-width: 767px) {
	#topsection01 .right {
		max-width: 100%;
	}
	#topsection01 .left {
		font-size: 28px;
		margin-bottom: 25px;
	}
}
@media(max-width: 575px) {
	#topsection01 {
		padding-top: 60px;
	}
}

/* topsection02 */
#topsection02 {
	padding-top: 120px;
	padding-bottom: 60px;
	background-color: #F1FCFB;
}
#topsection02 .left {
	width: 37.5%;
}
#topsection02 .leftimg {
	margin-top: -255px;
}
#topsection02 .font_zenold {
	writing-mode: vertical-rl;
	font-size: 30px;
	letter-spacing: 0.1em;
	margin-top: 70px;
}
#topsection02 .right {
	width: 62.5%;
}
@media(min-width: 1200px) {
	#topsection02 .leftimg {
		margin-left: calc((100vw - 1200px) / -2);
	}
	#topsection02 .rightimg {
		margin-right: calc((100vw - 1200px) / -2);
	}
}
@media(min-width: 1701px) {
	#topsection02 .leftimg {
		margin-left: -250px;
	}
	#topsection02 .rightimg {
		margin-right: -250px;
	}
}
@media(max-width: 767px) {
	#topsection02 .left,
	#topsection02 .right {
		width: 50%;
	}
	#topsection02 .leftimg {
		margin-top: 0;
	}
	#topsection02 .left img,
	#topsection02 .right img {
		border-radius: 20px;
	}
	#topsection02 .font_zenold {
		writing-mode: initial;
		font-size: 28px;
		max-width: 100%;
		width: max-content;
		margin: 35px auto 0;
	}
}
@media(max-width: 575px) {
	#topsection02 .font_zenold {
		font-size: 25px;
		line-height: 1.6;
	}
}

/* topsection03 */
#topsection03 {
	padding-top: 60px;
	padding-bottom: 15px;
}
#topsection03 h2 + p {
	margin-bottom: 85px;
}

#topsection03_bottom {
	padding-top: 35px;
}
#topsection03_bottom::before {
	content: '';
	width: calc(100% - 50px);
	height: calc(100% - 45px);
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	border-radius: 0 0 40px 0;
}
.topsection03_blockgrid {
	grid-template-columns: 1fr 1fr 1fr;
	gap: 100px;
	margin-bottom: 105px;
	z-index: 2;
}
.topsection03_block {
	width: 100%;
	max-width: 400px;
}
.topsection03_block:nth-of-type(1) {
	margin-top: 57px;
}
.topsection03_block:nth-of-type(3) {
	margin-top: 50px;
}
.topsection03_block .img {
	margin-bottom: 30px;
}
.topsection03_block .title {
	margin-bottom: 18px;
	font-size: 24px;
	letter-spacing: 0.1em;
	color: #005F2E;
}
.topsection03_block .text {
	line-height: calc(24/16);
	margin-bottom: 23px;
}
.topsection03_block a {
	color: #005F2E;
}
.topsection03_block .icon_more {
	width: 40px;
	height: 40px;
	margin-left: 7px;
}
.topsection03_block .icon_more span {
	top: 13px;
}
.topsection03_blockgrid + .position-relative {
	z-index: 2;
}
#topsection03_bottom .btn_link {
	color: #005F2E;
	font-size: 20px;
	letter-spacing: 0.1em;
	padding: 30px 30px 30px 90px;
	border: 1px solid #005F2E;
	border-radius: 10px;
	background-color: #fff;
	line-height: 1;
	display: inline-block;
}
#topsection03_bottom .btn_link .icon_more {
	width: 30px;
	height: 30px;
	margin-left: 30px;
}
#topsection03_bottom .btn_link .icon_more span {
	top: 9px;
	width: 10px;
}
#topsection03_bottom .btn_link .icon_more span {
	width: 10px;
}
#topsection03_bottom .btn_link .icon_more span::before,
#topsection03_bottom .btn_link .icon_more span::after {
	width: 7px;
}
@media(max-width: 991px) {
	#topsection03_bottom::before {
		width: 100%;
		border-radius: 0;
	}
	.topsection03_blockgrid {
		gap: 30px;
	}
}
@media(max-width: 767px) {
	#topsection03 h2 + p {
		margin-bottom: 40px;
	}
	.topsection03_blockgrid {
		grid-template-columns: 1fr;
		place-items: center;
	}
	.topsection03_block:nth-of-type(1),
	.topsection03_block:nth-of-type(3) {
		margin-top: 0;
	}
}
@media(max-width: 575px) {
	.topsection03_blockgrid {
		gap: 40px;
		margin-bottom: 60px;
	}
	.topsection03_block .img {
		margin-bottom: 15px;
	}
	.topsection03_block .title {
		font-size: 22px;
		margin-bottom: 5px;
		letter-spacing: 0.05em;
	}
	#topsection03_bottom .btn_link {
		padding: 20px 20px 20px 40px;
		font-size: 18px;
	}
}

/* topsection04 */
#topsection04 {
	padding-top: 160px;
	padding-bottom: 215px;
	z-index: 2;
}
#topsection04 .casestudylist {
	margin-bottom: 70px;
}

/* casestudy */
.casestudylist {
	gap: 60px;
	grid-template-columns: 1fr 1fr 1fr;
}
.casestudylist_box .img {
	aspect-ratio: 360 / 250;
	margin-bottom: 25px;
}
.casestudylist_box .img img {
	min-height: 100%;
	object-fit: cover;
	border-radius: 20px;
}
.casestudylist_box .casenum {
	font-size: 15px;
	letter-spacing: 0.08em;
	color: #01733B;
	margin-bottom: 10px;
}
.casestudylist_box .casenum span {
	font-size: 14px;
	display: inline-block;
	padding: 10px;
	line-height: 1;
	border: 1px solid #01733B;
	border-radius: 5px;
	margin-right: 15px;
	letter-spacing: 0;
}
.casestudylist_box .title {
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 20px;
}
.casestudylist_box .detail {
	letter-spacing: 0.08em;
}
.casestudylist_box .detail span {
	font-size: 15px;
	padding: 5px 10px;
	text-align: center;
	color: #fff;
	width: 65px;
	background-color: #6CC488;
	border-radius: 5px;
	line-height: 1;
	margin-right: 10px;
	display: inline-block;
	letter-spacing: 0;
}
.casestudylist_box .detail span:nth-of-type(2) {
	margin-left: 20px;
}
@media(max-width: 991px) {
	#topsection04 {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.casestudylist {
		gap: 60px 30px;
	}
}
@media(max-width: 767px) {
	#topsection04 {
		padding-top: 80px;
	}
	.casestudylist {
		grid-template-columns: 1fr 1fr;
	}
	.casestudylist_box .casenum span {
		padding: 7px 10px;
	}
	.casestudylist_box .detail span:nth-of-type(2) {
		margin-left: 0;
		margin-top: 5px;
	}
}
@media(max-width: 575px) {
	.casestudylist {
		gap: 60px 20px;
	}
	.casestudylist_box .title {
		margin-bottom: 15px;
	}
}
@media(max-width: 420px) {
	.casestudylist {
		grid-template-columns: 1fr;
	}
}

/* topsection05 */
#topsection05 {
	background: url('img/img_topsection05_bg.jpg') no-repeat center bottom;
	background-size: cover;
	padding-top: 470px;
	padding-bottom: 145px;
	z-index: 1;
}
#topsection05 .text {
	font-size: 20px;
	color: #fff;
	writing-mode: vertical-rl;
	width: max-content;
	margin-top: 35px;
	letter-spacing: 0.8em;
}
@media(max-width: 1199px) {
	#topsection05 {
		padding-top: 180px;
	}
}
@media(max-width: 575px) {
	#topsection05 {
		background: url('img/img_topsection05_bg.png') no-repeat left bottom;
		background-size: cover;
		padding-top: 200px;
		padding-bottom: 100px;
		margin-top: -100px;
	}
	#topsection05 .text {
		letter-spacing: 0.5em;
		writing-mode: horizontal-tb;
		margin-top: 15px;
	}
}

/* topsection06 */
#topsection06 {
	padding-top: 120px;
	padding-bottom: 105px;
}
#topsection06 h2 {
	writing-mode: vertical-lr;
	margin: 0;
	margin-bottom: -120px;
}
@media(max-width: 991px) {
	#topsection06 h2 {
		writing-mode: initial;
		margin-bottom: 35px;
	}
}

/* column */
.columnlist {
	gap: 60px;
	grid-template-columns: 1fr 1fr 1fr;
}
.columnlist.archivelist {
	padding-top: 35px;
}
.columnlist_box {
	display: block;
}
#topsection06 .columnlist_box {
	margin-bottom: 20px;
}
#topsection06 .columnlist_box:nth-of-type(2) {
	margin-top: 40px;
}
#topsection06 .columnlist_box:nth-of-type(3) {
	margin-top: 80px;
}
.columnlist_box .img {
	aspect-ratio: 360 / 250;
	border-radius: 20px;
	margin-bottom: 30px;
}
.columnlist_box .img img {
	min-height: 100%;
	object-fit: cover;
	border-radius: 20px;
}
.columncat {
	width: 100px;
	padding: 10px;
	line-height: 1;
	font-size: 14px;
	text-align: center;
	bottom: 0;
	left: 0;
	background-color: #fff;
	color: #000;
}
.singlepost .columncat {
	color: #005F2E;
}
.columnlist_box .time {
	font-size: 15px;
	color: #005F2E;
	line-height: 1;
	margin-bottom: 10px;
}
.columnlist_box .title {
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	color: #005F2E;
}
.columnlist_box .postcontent {
	color: #000;
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: calc(25/15);
}
@media(max-width: 991px) {
	.columnlist {
		gap: 60px 30px;
	}
}
@media(max-width: 767px) {
	.columnlist {
		grid-template-columns: 1fr 1fr;
	}
	#topsection06 .columnlist_box:nth-of-type(2),
	#topsection06 .columnlist_box:nth-of-type(3) {
		margin-top: 0;
	}
}
@media(max-width: 575px) {
	.columnlist {
		gap: 60px 20px;
	}
	.columnlist_box .img {
		margin-bottom: 20px;
	}
	.columnlist_box .title {
		margin-bottom: 10px;
	}
	.columnlist_box .title,
	.columnlist_box .postcontent {
		line-height: 1.5;
	}
}
@media(max-width: 420px) {
	.columnlist {
		grid-template-columns: 1fr;
	}
}

/* topsection07 */
#topsection07 {
	padding-top: 95px;
	padding-bottom: 105px;
}
#topsection07::before {
	content: '';
	width: calc(100% - 50px);
	height: 100%;
	background-color: #fff;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	border-radius: 40px 0 0 40px;
}
#topsection07 h2 {
	writing-mode: vertical-lr;
	margin: 0;
	margin-bottom: -155px;
}
#topsection07 .newslist {
	margin-bottom: 100px;
}
@media(max-width: 991px) {
	#topsection07 {
		padding-top: 60px;
		padding-bottom: 50px;
	}
	#topsection07::before {
		width: 100%;
		border-radius: 0;
	}
	#topsection07 h2 {
		writing-mode: initial;
		margin-bottom: 20px;
	}
	#topsection07 h2 + .container {
		padding: 0;
	}
	#topsection07 .newslist {
		margin-bottom: 80px;
	}
}
@media(max-width: 991px) {
	#topsection07 .newslist {
		margin-bottom: 60px;
	}
}

/* News */
.newscatlist {
	gap: 5px 25px;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
	padding-top: 35px;
}
.newscatlist a {
	color: #000;
}
.newscatlist a.all {
	color: #FFA700;
}
.newslist.archivelist {
	border-top: 1px dashed #707070;
}
.newslist_box {
	display: block;
	padding: 32px 0;
	border-bottom: 1px dashed #707070;
}
.newslist.archivelist .newslist_box {
	padding: 45px 0;
}
.newslist.archivelist .newslist_box > .d-flex {
	gap: 10px 15px;
}
.singlepost .postmeta {
	margin-bottom: 28px;
}
.newslist_box .time,
.singlepost .time {
	font-size: 15px;
	letter-spacing: 0.1em;
	display: inline-block;
	margin-right: 10px;
	line-height: 1;
	color: #005F2E;
}
.newslist.archivelist .time {
	margin: 3px 0 0;
}
.newslist_box .newscat,
.singlepost .newscat {
	padding: 5px 15px;
	color: #fff;
	background-color: #005F2E;
	font-size: 13px;
	line-height: 1;
	display: inline-block;
	border-radius: 5px;
	min-width: max-content;
	height: 100%;
}
.newslist_box .newscat.event,
.singlepost .newscat.event {
	background-color: #D4B854;
}
.newslist_box .newscat.pressrelease,
.singlepost .newscat.pressrelease {
	background-color: #000;
}
.newslist_box .newscat.shizai,
.singlepost .newscat.shizai {
	background-color: #6CC488;
}
.newslist_box .newscat.fashion,
.singlepost .newscat.fashion {
	background-color: #6CC4C1;
}
.newslist_box .newscat.others,
.singlepost .newscat.others {
	background-color: #FFA700;
}
.newslist_box .title {
	line-height: 1;
	margin-top: 10px;
	letter-spacing: 0.1em;
	color: #000;
}
.newslist.archivelist .newslist_box .title {
	margin-top: 2px;
}
.singlepost h2 {
	font-size: 24px;
	line-height: 1.7;
	margin-bottom: 40px;
}
.singlepost .postcontent {
	border-top: 1px dashed #707070;
	padding-top: 40px;
	margin-bottom: 90px;
}
.single-post .postwrapper,
.single-column .postwrapper {
	padding-top: 35px;
}
@media(max-width: 767px) {
	.newslist.archivelist .newslist_box > .d-flex {
		flex-wrap: wrap;
	}
	.newslist.archivelist .newslist_box .title {
		width: 100%;
	}
}
@media(max-width: 575px) {
	.singlepost h2 {
		line-height: 1.5;
	}
}

/* pagenavi */
.pagenavi {
	gap: 20px;
}
.pagenavi .page-numbers {
	color: #000;
	font-size: 18px;
}
.pagenavi .page-numbers.prev,
.pagenavi .page-numbers.next {
	color: #fff;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	text-align: center;
	padding: 7px 10px;
	background-color: #005F2E;
	line-height: 1;
}

/* topsection08 */
#topsection08 {
	padding-top: 35px;
	padding-bottom: 155px;
}

/* voice */
.voicelist.archivelist {
	padding-top: 35px;
}
.voicelist.d-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 120px 0;
}
.voicelist_box {
	padding: 0 50px 0 60px;
}
.voicelist_box > .d-flex {
	gap: 0 30px;
}
.voicelist_box .img {
	width: 110px;
}
.voicelist_box .detail {
	width: calc(100% - 140px);
	padding-top: 50px;
	letter-spacing: 0.08em;
	line-height: calc(25/16);
}
.voicelist_box .detail .voice_list_label,
.voicelist_box .detail .voice_list_post {
	background-color: #6CC4C1;
	color: #fff;
	width: 80px;
	padding: 5px;
	width: 80px;
	height: 100%;
	text-align: center;
	font-size: 13px;
	border-radius: 5px;
	letter-spacing: 0;
	line-height: 1;
	margin-right: 15px;
}
.voicelist_box .detail .voice_list_label.green {
	background-color: #6CC488;
}
.voicelist_box .detail .voice_list_label.orange {
	background-color: #FFA700;
}
.voicelist_box .detail .voice_list_label + div,
.voicelist_box .detail .voice_list_post + div {
	width: calc(100% - 95px);
}
@media(max-width: 991px) {
	.voicelist_box {
		padding: 0;
		max-width: 650px;
	}
	.voicelist.d-grid {
		grid-template-columns: 1fr;
		gap: 80px 0;
        place-items: center;
    }
}
@media (max-width: 767px) {
	.voicelist_box .detail .voice_list_post + div {
		width: 100%;
		margin-top: 10px;
	}
}
@media (max-width: 575px) {
	.voicelist.d-grid {
		gap: 60px 0;
	}
	.voicelist_box > .d-flex {
		gap: 0 20px;
	}
	.voicelist_box .img {
		width: 100px;
	}
	.voicelist_box .detail {
		width: calc(100% - 120px);
		padding-top: 20px;
	}
}

/* pageheader */
body.page #pageheader {
	padding: 0 100px 95px 60px;
	background: url('img/bg_pageheader_brown.png') no-repeat center bottom;
	background-size: cover;
}
body.page .pageheadebg {
	background: url('img/bg_pageheadermark_brown.jpg') no-repeat center center;
	background-size: cover;
	border-radius: 0 0 20px 20px;
	padding: 120px 0 125px;
}
#pageheader,
body.page #pageheader.bg_blue {
	padding: 0 100px 95px 60px;
	background: url('img/bg_pageheader.png') no-repeat center bottom;
	background-size: cover;
	margin-bottom: 65px;
}
.pageheadebg,
body.page #pageheader.bg_blue .pageheadebg {
	background: url('img/bg_pageheadermark.jpg') no-repeat center center;
	background-size: cover;
	border-radius: 0 0 20px 20px;
	padding: 120px 0 125px;
}
body.page #pageheader.bg_blue {
	margin-bottom: 0;
}
#pageheader .pagetitle {
	padding-top: 90px;
	margin: 0 0 30px;
	line-height: 1;
}
#pageheader .pagetitle .title_en {
	font-size: 16px;
	color: #005F2E;
	margin-bottom: 20px;
}
#pageheader .pagetitle .title_ja {
	font-size: 35px;
	letter-spacing: 0.1em;
}
@media(max-width: 991px) {
	#pageheader,
	body.page #pageheader,
	body.page #pageheader.bg_blue {
		padding: 0 15px 60px;
	}
}
@media(max-width: 575px) {
	#pageheader,
	body.page #pageheader.bg_blue {
		margin-bottom: 50px;
	}
	#pageheader .pagetitle {
		padding-top: 80px;
		margin: 0 0 20px;
	}
	#pageheader .pagetitle .title_en {
		font-size: 15px;
		margin-bottom: 8px;
	}
	#pageheader .pagetitle .title_ja {
		font-size: 32px;
	}
	#pageheader .pagetitle + div img {
		width: 25px;
	}
}

/* staff */
.stafflist {
	gap: 100px 75px;
	flex-wrap: wrap;
	padding-top: 35px;
}
.stafflist .stafflist_box {
	width: calc((100% - 150px) / 3);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 20px 20px 0 0;
}
.stafflist .stafflist_box .img {
	aspect-ratio: 350 / 250;
}
.stafflist .stafflist_box .img img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
}
.stafflist .stafflist_box .detail {
	padding: 20px 25px;
}
.stafflist .stafflist_box .label {
	line-height: 1;
	color: #fff;
	font-size: 13px;
	background-color: #6CC488;
	border-radius: 5px;
	padding: 3px 14px;
	margin-bottom: 8px;
	width: max-content;
}
.stafflist .stafflist_box .text {
	font-size: 14px;
	line-height: calc(25/14);
	margin-bottom: 35px;
	letter-spacing: 0.08em;
}
.stafflist .stafflist_box .namewrapper .post {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1;
}
.stafflist .stafflist_box .namewrapper .name {
	font-size: 20px;
	letter-spacing: 0.08em;
}
.stafflist .stafflist_box .namewrapper .en {
	color: #6CC488;
}
@media (max-width: 991px) {
	.stafflist {
		gap: 80px 40px;
	}
	.stafflist .stafflist_box {
		width: calc((100% - 40px) / 2);
	}
}
@media (max-width: 767px) {
	.stafflist {
		gap: 60px 20px;
	}
	.stafflist .stafflist_box {
		width: calc((100% - 20px) / 2);
	}
}
@media (max-width: 575px) {
	.stafflist {
		gap: 60px 0;
	}
	.stafflist .stafflist_box {
		width: 100%;
	}
}

/* common */
body:not(.home) main {
	margin-bottom: 160px;
}

/* Page */
body.page .main > .container .containerslim {
	max-width: 800px;
	margin: 0 auto;
}
body.page:not(.page-id-2) main {
	padding-top: 65px;
}

.pagewrapper h2 {
	font-size: 20px;
	padding-bottom: 23px;
	font-weight: 400;
	border-bottom: 1px dashed #707070;
}
.pagewrapper h2::before {
	content: url('img/icon_ine03.png');
	display: inline-block;
	margin-right: 18px;
	vertical-align: middle;
	width: 29px;
	height: 43px;
}
.pagewrapper h2.noicon {
	margin-bottom: 25px;
	padding-bottom: 0;
	border: none;
}
.pagewrapper h2.noicon::before {
	content: none;
}

.pagewrapper h2.textonly {
	border-bottom: none;
	font-size: 35px;
	line-height: calc(60/35);
}
.pagewrapper h2.textonly::before {
	content: none;
}
@media(max-width: 767px) {
	.pagewrapper h2.textonly {
		font-size: 30px;
	}
}


.company_message h3 {
	font-size: 35px;
	letter-spacing: 0.1em;
	margin-bottom: 35px;
	line-height: 1;
}
.company_message h3 .font_en {
	font-size: 16px;
	color: #005F2E;
	margin-bottom: 15px;
	letter-spacing: 0;
	line-height: 1;
	display: inline-block;
}
.companyimg_sp {
	display: none;
}
.company_detail {
	margin-bottom: 35px;
}
.company_detail > .d-sm-flex {
	gap: 20px;
	padding: 27px 0 ;
	border-bottom: 1px dashed #707070;
}
.company_detail .left {
	width: 115px;
}
.company_detail .right {
	width: calc(100% - 135px);
}
@media(max-width: 781px) {
	.companyimg {
		display: none;
	}
	.companyimg_sp {
		display: block;
	}
}
@media(max-width: 767px) {
	.company_message h3 {
		font-size: 30px;
	}
}
@media(max-width: 575px) {
	.company_detail > .d-sm-flex {
		padding: 20px 0;
	}
	.company_detail .left,
	.company_detail .right {
		width: 100%;
	}
}

#accordionfaq {
	border-top: 1px dashed #707070;
}
#accordionfaq .accordion-item {
	border-bottom: 1px dashed #707070;
}
#accordionfaq .accordion-button {
	padding: 35px 0 25px;
	position: relative;
	padding-right: 35px;
}
#accordionfaq .icon {
	width: 50px;
}
#accordionfaq .text {
	width: calc(100% - 50px);
}
#accordionfaq .accordion-body {
	padding: 0 35px 30px 0;
}
#accordionfaq .accordion-button:not(.collapsed) {
	color: #000;
	background-color: #fff;
	box-shadow: none;
}
#accordionfaq .accordion-button::before{
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	width: 15px;
	height: 2px;
	background-color: #000;
	transform: translateY(-50%) rotate(90deg);
	transition: all .3s ease-in-out;
}
#accordionfaq .accordion-button::after{
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	width: 15px;
	height: 2px;
	background-color: #000;
	transform: translateY(-50%) rotate(0);
	transition: all .3s ease-in-out;
	background-image: none;
}
#accordionfaq .accordion-button:not(.collapsed)::before {
	transform: translateY(-50%) rotate(0);
}

.formwrapper {
	border-top: 1px dashed #707070;
}
.formitem {
	padding: 30px 0;
	gap: 20px;
	border-bottom: 1px dashed #707070;
}
.formitem input,
.formitem select,
.formitem textarea {
	background-color: #F1FCFB;
}
.formitem textarea {
	width: 100%;
}
.formwrapper .formlabel {
	width: 215px;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}
.formwrapper .formlabel .right {
	font-size: 12px;
	width: 40px;
	line-height: 1;
	padding: 4px 5px;
	background-color: #FF6200;
	color: #fff;
	text-align: center;
	border-radius: 10px;
}
.formwrapper .formlabel .right.nini {
	background-color: #005F2E;
}
.formwrapper .forminput {
	width: calc(100% - 235px);
}
.formwrapper .check {
	margin: 35px 0;
}
.submitarea input{
	width: 100%;
	max-width: 330px;
	padding: 20px 50px;
	background-color: #005F2E;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	position: relative;
	display: inline-block;
	line-height: 1;
	border-radius: 10px;
	border: none;
}
.submitarea input::before {
	content: '→';
	position: absolute;
	color: #fff;
	font-size: 20px;
	top: 30px;
	right: 15px;
}
@media(max-width: 767px) {
	.formwrapper .forminput {
		width: 100%;
		margin-top: 10px;
	}
}

body.page-id-19 main,
.page-id-19 .pagewrapper {
	padding-top: 0 !important;
}
.page-id-19 .farmworkagencywrapper {
	margin-bottom: 50px;
	position: relative;
	padding-top: 50px;
}
.page-id-19 .farmworkagencywrapper::before {
	content: '';
	width: 100%;
	height: calc(100% + 50px);
	background: url('img/bg_pagecontents_blue.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: -50px;
	left: 0;
	z-index: -1;
}
.page-id-19 .servicewrapper {
	gap: 30px;
}
.page-id-19 .servicewrapper .left {
	width: 53%;
}
.page-id-19 .servicewrapper .left h2.textonly {
	margin-bottom: 60px;
	padding-bottom: 0;
}
.page-id-19 .servicewrapper .right {
	width: calc(47% - 30px);
}
.page-id-19 .servicewrapper .service_box {
	max-width: 525px;
	background-color: #fff;
	padding: 20px 20px 25px;
	border: 2px solid #6CC4C1;
	border-radius: 20px;
}
.page-id-19 .servicewrapper .service_box h3 {
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: calc(40/24);
	color: #005F2E;
}

.page-id-19 .servicewrapper .service_box .bg {
	background-color: #F7FAF3;
	padding: 15px 20px 20px;
	margin-bottom: 0;
	border-radius: 15px;
}
.page-id-19 .servicewrapper .service_box + .service_box {
	margin-top: 35px;
}
.page-id-19 .servicewrapper .service_box .nayamilist span {
	display: block;
	position: relative;
	width: max-content;
	max-width: 100%;
	z-index: 0;
}
.page-id-19 .servicewrapper .service_box .nayamilist span::before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 8px;
	background-color: #FAFF72;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.page-id-19 .servicewrapper .service_box .nayamilist img {
	margin-right: 13px;
	display: inline-block;
}
.page-id-19 .pagewrapper .tokutyo {
	padding-top: 80px;
	padding-bottom: 120px;
}

.page-id-19 .pagewrapper .planlist .title {
	background-color: #6CC488;
	color: #fff;
	font-size: 30px;
	padding: 25px 20px;
	border-radius: 10px;
	line-height: 1;
	text-align: center;
	margin-bottom: 15px;
}
.page-id-19 .pagewrapper .plantable {
	margin-bottom: 225px;
}
.page-id-19 .pagewrapper .planlist table {
	width: 100%;
	max-width: 100%;
	min-width: 800px;
}
.page-id-19 .pagewrapper .planlist th {
	background-color: #CCEDD6;
	padding: 10px 15px;
	text-align: center;
	font-weight: 500;
}
.page-id-19 .pagewrapper .planlist th:nth-of-type(1) {
	border-radius: 10px 0 0 10px;
}
.page-id-19 .pagewrapper .planlist th:nth-of-type(3) {
	border-radius: 0 10px 10px 0;
}
.page-id-19 .pagewrapper .planlist td {
	padding: 10px 20px;
	vertical-align: top;
}
.page-id-19 .pagewrapper .scrolltext {
	display: none;
}
.page-id-19 .pagewrapper .planlist .planborder {
	border-bottom: 1px solid #CCEDD6;
}
.page-id-19 .pagewrapper .farmflow {
	border: 3px solid #CCEDD6;
	border-radius: 20px;
	padding: 0 20px 65px;
	margin: 0 auto 70px;
	max-width: 1250px;
}
.page-id-19 .pagewrapper .farmflow h2 {
	border-bottom: none;
	padding: 0 35px;
	text-align: center;
	width: max-content;
	color: #005F2E;
	font-size: 30px;
	margin: -85px auto 75px;
	background-color: #fff;
}
.page-id-19 .pagewrapper .farmflow h2::before {
	margin: 0 auto 20px;
	display: block;
}
.page-id-19 .pagewrapper .farmflow .d-grid {
	gap: 40px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.page-id-19 .pagewrapper .farmflow .flowbox {
	border: 3px solid #CCEDD6;
	border-radius: 15px;
	padding: 0 12px 15px;
}
.page-id-19 .pagewrapper .flowbox h3 {
	font-size: 18px;
	font-weight: 700;
	padding: 0 15px;
	background-color: #fff;
	margin: -13px auto 10px;
	width: max-content;
}
.page-id-19 .pagewrapper .flowbox .img {
	margin-bottom: 10px;
	text-align: center;
}
.page-id-19 .pagewrapper .flowbox .text {
	font-size: 15px;
	line-height: calc(25/15);
}
.page-id-19 .pagewrapper .farmflow_btn {
	padding: 34px 90px;
	background-color: #CCEDD6;
	width: 360px;
	display: inline-block;
	border-radius: 10px;
	border: 1px solid #005F2E;
	color: #005F2E;
	font-size: 20px;
	text-align: center;
	position: relative;
	line-height: 1;
	letter-spacing: 0.1em;
}
.page-id-19 .pagewrapper .farmflow_btn::before {
	content: '';
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #005F2E;
	top: calc(50% - 15px);
	right: 30px;
	position: absolute;
}
.page-id-19 .pagewrapper .farmflow_btn::after {
	content: '→';
	top: calc(50% - 11px);
	right: 32px;
	position: absolute;
	color: #fff;
	font-size: 20px;
}
.page-id-19 .pagewrapper .farmflow_btn:hover {
	background-color: #005F2E;
	color: #fff;
	opacity: 1;
}
.page-id-19 .pagewrapper .farmflow_btn:hover::before {
	background-color: #fff;
}
.page-id-19 .pagewrapper .farmflow_btn:hover::after {
	color: #005F2E;
}
@media(max-width: 1199px) {
	.page-id-19 .pagewrapper .farmflow .d-grid {
		gap: 40px 20px;
	}
}
@media(max-width: 991px) {
	.page-id-19 .servicewrapper .left {
		width: 100%;
	}
	.page-id-19 .servicewrapper .service_box {
		max-width: none;
	}
	.page-id-19 .pagewrapper .farmflow .d-grid {
		grid-template-columns: 1fr 1fr;
	}
	.page-id-19 .pagewrapper .plantable {
		overflow-x: scroll;
	}
}
@media(max-width: 829px) {
	.page-id-19 .pagewrapper .scrolltext {
		display: block;
	}
}
@media(max-width: 767px) {
	.page-id-19 .servicewrapper .left h2.textonly {
		margin-bottom: 40px;
	}
	.page-id-19 .pagewrapper .planlist .title {
		font-size: 20px;
		padding: 20px;
	}
	.page-id-19 .pagewrapper .plantable {
		margin-bottom: 150px;
	}
}
@media(max-width: 575px) {
	body.page-id-19 #pageheader.bg_blue {
		margin-bottom: 0;
	}
	.page-id-19 .pagewrapper .farmflow .d-grid {
		grid-template-columns: 1fr;
	}
}

body.page-id-21 main,
.page-id-21 .pagewrapper {
	padding-top: 0 !important;
}
.page-id-21 .contadinowrapper {
	color: #005F2E;
	padding-top: 130px;
	padding-bottom: 80px;
	position: relative;
}
.page-id-21 .contadinowrapper::before {
	content: '';
	width: 100%;
	height: calc(100% + 50px);
	background: url('img/bg_pagecontents_brown.png') no-repeat center top;
	background-size: cover;
	position: absolute;
	top: -50px;
	left: 0;
	z-index: -1;
}
.page-id-21 .contadinowrapper h2 {
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.page-id-21 .contadinowrapper h2 span {
	font-size: 20px;
	font-weight: 400;
}
.page-id-21 .contadinowrapper h2::before {
	content: none;
}
.page-id-21 .contadinowrapper .contadinoflex {
	gap: 20px;
}
.page-id-21 .contadinowrapper .left {
	padding-top: 80px;
	line-height: calc(40/16);
	width: 60%;
	max-width: 736px;
	margin-left: auto;
}
.page-id-21 .contadinowrapper .left .img {
	padding-top: 45px;
}
.page-id-21 .contadinowrapper .right {
	margin-top: -30px;
	width: calc(40% - 20px);
}
.page-id-21 .contadinowrapper .coverimg {
	margin: -75px -100px 0;
}
@media(max-width: 1760px) {
	.page-id-21 .contadinowrapper .coverimg {
		margin: -75px 0 0;
	}
}
.page-id-21 .itemswrapper h2 {
	border-bottom: none;
	padding: 0 35px;
	text-align: center;
	width: max-content;
	color: #005F2E;
	font-size: 30px;
	margin: 10px auto 75px;
	background-color: #fff;
}
.page-id-21 .itemswrapper h2::before {
	margin: 0 auto 20px;
	display: block;
}
.page-id-21 .accesswrapper {
	padding-top: 90px;
}
.page-id-21 .accesswrapper h2 {
	border-bottom: none;
	padding: 0 35px;
	text-align: center;
	width: max-content;
	color: #005F2E;
	font-size: 30px;
	margin: 0 auto 75px;
	background-color: #fff;
}
.page-id-21 .accesswrapper h2::before {
	margin: 0 auto 20px;
	display: block;
}
@media(max-width: 991px) {
	.page-id-21 .contadinowrapper .left {
		padding-top: 40px;
	}
	.page-id-21 .contadinowrapper .right {
		margin-top: 0;
	}
}
@media(max-width: 767px) {
	.page-id-21 .contadinowrapper .left {
		width: 100%;
		max-width: none;
	}
	.page-id-21 .contadinowrapper .left .img {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
		padding-top: 20px;
	}
	.page-id-21 .contadinowrapper .coverimg {
		margin-top: 20px;
	}
	.page-id-21 .itemswrapper h2,
	.page-id-21 .accesswrapper h2 {
		margin-bottom: 40px;
	}
	.page-id-21 .accesswrapper iframe {
		height: 350px;
	}
}
@media(max-width: 575px) {
	body.page-id-21 #pageheader.bg_blue {
		margin-bottom: 0;
	}
	.page-id-21 .contadinowrapper {
		padding-top: 100px;
	}
}

.productslist {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 50px 35px;
	margin-bottom: 45px;
}
.productslist .img {
	aspect-ratio: 1 / 1;
}
.productslist .title {
	padding: 15px 30px 0;
	font-size: 18px;
	line-height: calc(30/18);
}
@media(max-width: 991px) {
	.productslist {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.productslist .title {
		padding: 10px 20px 0;
		font-size: 16px;
		line-height: 1.5;
	}
}
@media(max-width: 767px) {
	.productslist {
		gap: 50px 20px;
	}
	.productslist .title {
		padding: 10px 10px 0;
		font-size: 15px;
	}
}
@media(max-width: 575px) {
	.productslist {
		grid-template-columns: 1fr 1fr;
		gap: 40px 20px;
	}
}


