@charset "UTF-8";

/* Dots */
div.map {
	margin-left: -30%;
	margin-right: -20%;
}

.slick-dotted.slick-slider {
	/*margin-bottom: 30px;*/
}

.slick-slider img {
	width: 100%;
	height: auto;
}

#top-head .slick-dots {
	list-style: none;
	display: block;
	margin: 0;
	z-index: 100;
	position: absolute;
	bottom: 30px;
	right: 20px;
	width: 43px;
	height: 45px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media (min-width: 767px) {
	#top-head .slick-dots {
		bottom: 30px;
		right: 20px;
		width: 63px;
		height: 65px;
	}
}

@media (min-width: 992px) {
	#top-head .slick-dots {}
}

#top-head .slick-dots li {
	position: relative;
	/*display: inline-block;*/
	margin: 0 0 0px 0;
	padding: 0;
	cursor: pointer;

}

#top-head .slick-dots li button {
	margin: 0 auto;
	border: 0;
	background: transparent;
	display: block;
	height: 20px;
	width: 20px;
	outline: none;
	line-height: 0;
	color: transparent;
	padding: 0;
	position: relative;
	cursor: pointer;
}

@media (min-width: 767px) {
	#top-head .slick-dots li button {
		height: 30px;
		width: 30px;
	}
}

#top-head .slick-dots li button:hover,
#top-head .slick-dots li button:focus {
	outline: none;
}

#top-head .slick-dots li button:hover:before,
#top-head .slick-dots li button:focus:before {
	opacity: 1;
}

#top-head .slick-dots li button:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	content: "";
	opacity: 1;
	-webkit-font-smoothing: antialiased;
	background-color: rgba(255, 255, 255, 0.7);
	-moz-osx-font-smoothing: grayscale;
	display: block;
}

#top-head .slick-dots li:nth-child(2) button:before {
	border-top-right-radius: 10pt;
}

#top-head .slick-dots li:nth-child(3) button:before {
	border-bottom-left-radius: 10pt;
}

@media (min-width: 767px) {
	#top-head .slick-dots li:nth-child(2) button:before {
		border-top-right-radius: 15pt;
	}

	#top-head .slick-dots li:nth-child(3) button:before {
		border-bottom-left-radius: 15pt;
	}
}

#top-head .slick-dots li.slick-active button:before {
	color: black;
	opacity: 1;
	background-color: rgba(255, 255, 255, 1.00);
}

/* Arrows */
.slick-prev,
.slick-next {
	position: absolute;
	display: block;
	height: 70px;
	width: 10px;
	line-height: 0;
	font-size: 0;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 46%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none;
	z-index: 100;
}

@media (min-width: 576px) {

	.slick-prev,
	.slick-next {
		width: 20px;
	}
}

@media (min-width: 992px) {

	.slick-prev,
	.slick-next {
		width: 40px;
	}
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	outline: none;
	background: transparent;
	color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 1;
}

.slick-prev:before,
.slick-next:before {
	content: "";
	opacity: 0.75;
	height: 15px;
	width: 15px;
	filter: drop-shadow(0px 0px 1px #fff) drop-shadow(0px 0px 1px #fff) drop-shadow(0px 0px 1px #fff);
	display: block;
}

@media (min-width: 576px) {

	.slick-prev:before,
	.slick-next:before {
		height: 20px;
		width: 20px;
	}
}

@media (min-width: 992px) {

	.slick-prev:before,
	.slick-next:before {
		height: 40px;
		width: 40px;
	}
}

.slick-prev::before,
.slick-next::before {
	content: "";
	opacity: 1;
}

.slick-prev {
	left: 5%;
}

.slick-next {
	right: 5%;
}

@media (min-width: 767px) {
	.slick-prev {
		left: 15%;
	}

	.slick-next {
		right: 15%;
	}
}

@media (min-width: 992px) {
	.slick-prev {
		left: 23%;
	}

	.slick-next {
		right: 23%;
	}
}

.slick-prev:before {
	border-top: 2px solid #8EBA42;
	border-left: 2px solid #8EBA42;
	transform: rotate(-45deg) skew(10deg, 10deg);
	margin-left: 10px;
}

.mission .slick-prev,
.mission .slick-next {
	top: 55%;
}

.mission .slick-prev {
	left: -9%;
}

.mission .slick-next {
	right: -5%;
}

.facility .slick-prev,
.facility .slick-next {
	top: 45%;
}

.facility .slick-prev {
	left: -2%;
}

.facility .slick-next {
	right: -3%;
}

.slick-next:before {
	border-top: 2px solid #8EBA42;
	border-right: 2px solid #8EBA42;
	transform: rotate(45deg) skew(-10deg, -10deg);
	margin-left: -20px;
}




/* セクション個々設定 */
#top-head {
	position: relative;
	z-index: 0;
}



.scroll-wrap {
	position: absolute;
	right: 15px;
	bottom: 0;
	z-index: 100;
}

a.scroll {
	display: table;
	padding-bottom: 5em;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	color: rgba(255, 255, 255, 1.00);
	font-size: 0.8em;
}

a.scroll::before {
	content: '';
	height: 5em;
	width: 1px;
	position: absolute;
	left: 50%;
	bottom: 0;
	background-color: rgba(255, 255, 255, 1.00);
}

a.scroll::after {
	content: '';
	height: 2.5em;
	width: 4px;
	position: absolute;
	left: 50%;
	bottom: 0;
	background-color: rgba(255, 255, 255, 1.00);
	margin-left: -2px;
}

@media (min-width: 992px) {
	.scroll-wrap {
		right: 30px;
	}

	a.scroll {
		padding-bottom: 3em;
	}

	a.scroll::before {
		height: 3em;
	}

	a.scroll::after {
		height: 1.5em;
	}
}

/* スライド部分 */
#top-head .top-slider {
	/*width: 102%;*/
	/*margin: -1%;*/
	position: relative;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

#top-head .slick-slide {
	margin: 0;

}

#top-head .slick-slide div div {
	overflow: hidden;
	border-bottom-left-radius: 15vw;
	width: 100%;
	height: calc(100svh - 72px);

}

#top-head .slick-slide div div img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	object-fit: cover;
}

@media (min-width: 576px) {
	#top-head .slick-slide div div {
		height: calc(100svh - 80px);
	}
}

#top-head .top-slider img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
}

/*#top-head .slick-slide img {
      width: 100%;
    }*/


/* スライド読み込み時の対処 */
.top-slider {
	display: none;
}

.top-slider.slick-initialized {
	display: block;
}

#top-head .hed-container {
	position: absolute;
	bottom: 0%;
	left: 0%;

}

#top-head .hed-container h2 {
	font-size: 7vw;
	text-shadow: 0 0 5px rgba(0, 0, 0, 1.00);
	font-weight: 300;
	line-height: 120%;
	padding-left: 0%;
	padding-bottom: 20%;
}

@media (min-width: 576px) {
	#top-head .hed-container h2 {
		font-size: 4vw;
		padding-left: 5%;
		padding-bottom: 5%;
	}
}

@media (min-width: 1520px) {
	#top-head .hed-container h2 {
		font-size: 3em;
		padding-left: 10%;
	}
}

#top-head .hed-container h2 span {
	font-size: 0.7em;
	display: block;
}

#top-head .hed-container {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
	color: #FFFFFF;
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;

}


/* トップページ設定 */
.right-area,
.left-area {

	box-sizing: border-box;

}

#news {
	padding-top: var(--section-sp-padding);
	padding-bottom: var(--section-tl-padding);
}

@media (min-width: 576px) {
	#news {
		padding-top: var(--section-tl-padding);
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#news {
		padding-top: var(--section-pc-padding);
		padding-bottom: var(--section-pc-padding);
	}
}

.news-area {
	max-width: 1070px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	display: block;
	padding-top: 30px !important;
	padding-bottom: 10px;
}

.news-area>div:first-child {
	margin-bottom: 1em;

}

.news-area dl {
	display: table;
	width: 100%;
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	position: relative;
}

.news-area dl::after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: calc((100vw - 100%) + 100%);
	height: 1px;
	background-color: var(--accent-color);
}

.news-area dl dt,
.news-area dl dd {
	margin: 0;
	padding: 0;
}

.news-area dl dd {
	padding-top: 1em;
}

@media (min-width: 576px) {

	.news-area dl dt,
	.news-area dl dd {

		display: table-cell;
	}

	.news-area dl dd {
		padding-top: 0em;
	}
}

.news-area dl dd em {
	font-style: normal;
	color: #FF0000;
}

.news-area dl dt {
	width: 18em;
	color: var(--main-color);

}

.news-area dl dt span {
	width: 10em;
	color: #FFFFFF;
	padding: 0.2em 1em;
	background-color: #666666;
	margin-left: 1.5em;
	border-top-right-radius: 1em;
	border-bottom-left-radius: 1em;
	display: inline-block;
	text-align: center;
}

.news-area dl dd {}

#about {
	padding-bottom: var(--section-tl-padding);
}

@media (min-width: 576px) {
	#about {
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#about {
		padding-bottom: var(--section-pc-padding);
	}
}

#mission {
	padding-bottom: var(--section-tl-padding);
}

@media (min-width: 576px) {
	#mission {
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#mission {
		padding-bottom: var(--section-pc-padding);
	}
}

.img-up {
	position: relative;
	top: -20px;
	z-index: -1;
	margin-bottom: 70px;
	padding-top: 40px;
	background-image: url(../../img/top/re_bg01.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}

@media (min-width: 992px) {
	.img-up {
		top: -30px;
		margin-bottom: 30px;
		padding-top: 60px;
	}
}

@media (min-width: 1200px) {
	.img-up {
		top: -60px;
		margin-bottom: 60px;
		padding-top: 100px;
	}
}

.img-up .container-sm {
	position: relative;
	bottom: -260px;
	margin-top: -260px;
	margin-bottom: 340px;
	z-index: 1000;
}

@media (min-width: 992px) {
	.img-up .container-sm {
		bottom: -260px;
		margin-top: -260px;
		margin-bottom: 500px;
	}
}

@media (min-width: 1200px) {
	.img-up .container-sm {
		bottom: -260px;
		margin-top: -260px;
		margin-bottom: 340px;
	}
}

.mission-hed {
	background-image: url(../../img/top/mission01-sp.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	color: rgba(255, 255, 255, 1.00);
	padding-bottom: 45px;
}

.mission-hed .container-sm {
	padding-top: 100vw;
}

@media (min-width: 576px) {
	.mission-hed {
		background-image: url(../../img/top/mission01.jpg);
	}

	.mission-hed .container-sm {
		padding-top: 15vw;
	}
}

.mission-end {
	background-image: url(../../img/top/mission05-sp.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: rgba(255, 255, 255, 1.00);
	padding-bottom: 45px;
}

.mission-end .container-sm {
	padding-top: 100vw;
}

@media (min-width: 576px) {
	.mission-end {
		background-image: url(../../img/top/mission05.jpg);
	}

	.mission-end .container-sm {
		padding-top: 15vw;
	}
}

.group-list ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.group-list ul li {
	display: inline-block;
	margin-top: 0em;
	margin-bottom: 0.5em;
}

@media (min-width: 992px) {
	.group-list ul li {}

}

@media (min-width: 1200px) {
	.group-list ul li {
		margin-top: 0.6em;
		margin-bottom: 0.6em;
	}

	.group-list ul li:nth-child(2) {
		margin-right: 5em;
	}

	.group-list ul li:nth-child(4) {
		margin-right: 5em;
	}
}

.group-list a {
	display: inline-block;
	text-decoration: underline;
}

.group-list a:nth-child(odd) {
	margin-right: 1.5em;

}

.group-list {
	padding: 2em 1.5em;
	margin-bottom: 3em;
}

@media (min-width: 576px) {
	.group-list {
		padding: 2em 1.5em;
	}
}

@media (min-width: 992px) {
	.group-list {
		padding: 2em 1.5em;
		margin-bottom: 0em;
	}
}

.mission-list {
	margin-top: 20px;
	padding: 1.5em 1.5em 3.5em;
}

@media (min-width: 576px) {
	.mission-list {
		padding: 2em;
	}
}

@media (min-width: 992px) {
	.mission-list {
		padding: 2.5em;
	}
}

.view-more {
	display: table;
	margin-right: 0%;
	margin-left: auto;
	padding-right: 3em;
	position: relative;
	color: rgba(255, 255, 255, 1.00);
}

.view-more:hover {
	text-decoration: none;
	opacity: 0.9;
}

.view-more img {
	width: 1.5em;
	height: auto;
	position: absolute;
	right: 0em;
	top: 50%;
	margin-top: -0.1em;
}

.view-more-b {
	display: table;
	margin-right: 0%;
	margin-left: auto;
	padding-right: 3em;
	position: relative;
	color: rgba(82, 136, 98, 1.00);
}

.view-more-b:hover {
	text-decoration: none;
	opacity: 0.9;
}

.view-more-b img {
	width: 1.5em;
	height: auto;
	position: absolute;
	right: 0em;
	top: 50%;
	margin-top: -0.1em;
}

.mission-bottom {
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	overflow-x: hidden;
}

@media (min-width: 992px) {
	.mission-bottom {
		margin-left: -7%;
		margin-right: -7%;
		overflow-x: hidden;
	}
}

.mission-bottom-text {
	margin-top: 20px;
}

@media (min-width: 992px) {
	.mission-bottom-text {
		margin-top: 0px;
		position: absolute;
		bottom: 0%;
		left: 0%;
		width: 100%;
		color: rgba(255, 255, 255, 1.00);
	}
}

.news-link {
	padding: 1em;
	display: block;
}

.news-link:hover {
	background-color: rgba(238, 245, 227, 1.00);
}

.news-link figure {
	max-width: 100%;
	padding: 4px;
	/* 以下のFlexboxで文字を中央寄せ */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	position: relative;
	overflow: hidden;
	border-top-right-radius: 4em;
	border-bottom-left-radius: 4em;
	margin-bottom: 0.8em;
}

.news-link figure::before {
	display: block;
	content: '';
	padding-top: 100%;
}

.news-link figure img {
	position: absolute;
	top: 0px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	z-index: 1;
}

.news-link div {
	color: var(--main-color);
}

.news-link:hover div {
	color: var(--main-color);

}

.news-link h3 {
	font-size: 1em;
	line-height: 180%;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--accent-color);
	padding-bottom: 0.8em;
	color: rgba(51, 51, 51, 1.00);
	text-decoration: none;
}

.news-link .more {
	width: 100%;
	height: 100%;
	background-color: rgba(14, 73, 30, 0.5);
	display: flex;
	justify-content: center;
	align-items: center !important;
	position: absolute;
	top: 0px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	z-index: 2;
	opacity: 0;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

.news-link:hover .more {

	opacity: 1;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

.news-link:hover .more span {
	color: rgba(255, 255, 255, 1.00);
	border-bottom-width: 2px;
	border-bottom-style: dotted;
	border-bottom-color: rgba(255, 255, 255, 1.00);
}

.slider.regular .slick-slide {
	margin-right: 10px !important;
	margin-left: 10px !important;
	display: block;
}

.slider.regular .slick-slide a img {
	padding-bottom: 20px !important;

}

/* Dots */
.slider.regular .slick-dotted.slick-slider,
.slider.mission .slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slider.regular .slick-dots,
.slider.mission .slick-dots {
	position: absolute;
	bottom: -20px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
}

.slider.regular .slick-dots li,
.slider.mission .slick-dots li {
	position: relative;
	display: inline-block;
	height: 15px;
	width: 15px;
	margin: 0 10px;
	padding: 0;
	cursor: pointer;
}

@media (min-width: 576px) {

	.slider.regular .slick-dots li,
	.slider.mission .slick-dots li {
		margin: 0 1em;
	}
}

.slider.regular .slick-dots li button,
.slider.mission .slick-dots li button {
	border: 0;
	background: transparent;
	display: block;
	height: 15px;
	width: 15px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	color: transparent;
	padding: 5px;
	cursor: pointer;
}

.slider.regular .slick-dots li button:hover,
.slider.regular .slick-dots li button:focus,
.slider.regular .slick-dots li button:hover,
.slider.regular .slick-dots li button:focus {
	outline: none;
}

.slider.mission .slick-dots li button:hover:before,
.slider.mission .slick-dots li button:focus:before,
.slider.mission .slick-dots li button:hover:before,
.slider.mission .slick-dots li button:focus:before {
	opacity: 1;
}

.slider.regular .slick-dots li button:before,
.slider.mission .slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	height: 15px;
	width: 15px;
	font-size: 6px;
	line-height: 20px;
	text-align: center;
	background-color: #258039 !important;
	opacity: 0.5;
	-webkit-font-smoothing: antialiased;
	border-radius: 50%;
	-moz-osx-font-smoothing: grayscale;
}

.slider.regular .slick-dots li.slick-active button:before,
.slider.mission .slick-dots li.slick-active button:before {
	background-color: #258039 !important;
	opacity: 1;
}

#company {
	padding-bottom: var(--section-tl-padding);
}

@media (min-width: 576px) {
	#company {
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#company {
		padding-bottom: var(--section-pc-padding);
	}
}

#sustainability {
	padding-bottom: var(--section-tl-padding);

}

@media (min-width: 576px) {
	#sustainability {
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#sustainability {
		padding-bottom: var(--section-pc-padding);
	}
}

#recruit {
	padding-bottom: var(--section-tl-padding);
}

@media (min-width: 576px) {
	#recruit {
		padding-bottom: var(--section-tl-padding);
	}
}

@media (min-width: 992px) {
	#recruit {
		padding-bottom: var(--section-pc-padding);
	}
}

.recruit-link {
	display: block;
	color: rgba(255, 255, 255, 1.00);
	background-color: rgba(49, 169, 184, 1.00);
	padding: 40px 20px 0px;
	align-items: center;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}

/*.recruit-link:hover{
	background-color: rgba(49,169,184,0.7);
	text-decoration: none;
	color: rgba(255,255,255,1.00);	
}*/
.recruit-link .text {}

.recruit-link .text h3 {
	font-size: 8vw;

}

.recruit-link .text h3 span {
	font-family: 'Montserrat', sans-serif;
}

.recruit-link .text h3 img {
	height: 1em;
	width: auto;
	position: relative;
	bottom: -0.1em;
	margin-right: 0.3em;
}

.recruit-link .photo {}

.recruit-link .photo figure {
	margin-left: -20px;
	clip-path: polygon(0% 20%, 100% 0, 100% 100%, 0% 100%);
	margin-right: -20px;
	position: relative;
	right: -1px;
}

.recruit-link .photo figure img {
	vertical-align: top;
}

@media (min-width: 576px) {
	.recruit-link .text h3 {
		font-size: 2em;

	}

	.recruit-link {
		padding: 40px 20px 0px;
		margin-left: 0;
		margin-right: 0;
	}

	.recruit-link .text {
		width: 100%;
	}

	.recruit-link .view-more {
		display: table;
		margin-right: 0%;
		margin-left: 0;
		padding-right: 2.5em;
		position: relative;
		color: rgba(255, 255, 255, 1.00);
	}

	.recruit-link .view-more:hover {
		color: rgba(255, 255, 255, .7);
	}

	.st8.st9.st10 {
		opacity: 0;
	}

	.trigger:hover .st8.st9.st10 {
		opacity: 1;
	}

	.recruit-link .photo {
		width: 100%;
	}

	.recruit-link .photo figure {
		margin-left: -20px;
		margin-right: -20px;
		clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
		margin-top: 1em;
	}
}

@media (min-width: 991px) {
	.recruit-link .text h3 {
		font-size: 1.5em;

	}

	.recruit-link {
		display: flex;
		flex-wrap: wrap;
		padding: 0;
		padding-left: 5%;
		margin-left: 0;
		margin-right: 0;
		line-height: 180%;
	}

	.recruit-link .text {
		width: 28%;
	}

	.recruit-link .photo {
		width: 72%;
	}

	.recruit-link .photo figure {
		margin-left: -6%;
		margin-right: 0px;
		clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
		margin-top: 0em;
	}
}

@media (min-width: 1200px) {
	.recruit-link .text h3 {
		font-size: 2em;

	}

	.recruit-link {
		display: flex;
		flex-wrap: wrap;
		padding: 0;
		padding-left: 10%;
		margin-left: 0;
		margin-right: 0;
		line-height: 200%;
	}
}

.map-img img {
	width: 100%;
}

.map-img {
	margin-bottom: 2em;
}

.food .col-lg-6 {
	padding-right: 25px !important;
	padding-left: 25px !important;
}

@media (min-width: 576px) {
	.food .col-lg-6 {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}
}