@charset "utf-8";
/* CSS Document */

body {
	color: #222;
	font-size: 18px;
	line-height: 2.2;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	margin: 0 auto;
	height: 100%;
}
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}
img.top {
	vertical-align: top;
}
img.middle {
	vertical-align: middle;
}
video {max-width:100%;}
address, em {
	font-style: normal;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block;
}
ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
dl dd {
	margin-left: 0;
}
figure {
	margin: 0;
}
.pc_wrap::before {
	content: "\A";
	white-space: pre;
}
.pr {
	position: relative;
}
.pa {
	position: absolute;
}
section {
	position: relative;
}
mark {
    background: linear-gradient(transparent 75%, #ADC754 25%);
}
/*********** class ****************************************/

/*** ↓この記述がないとスマホで　表示　→　アニメーション　→表示 　となってしまう　***/
.animation-add {
	visibility: hidden;
}
/********** float ************/
.c-both {
	clear: both;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.left {
	float: left;
}
.right {
	float: right;
}
.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
/******* end float **********/

/******* flex box ***********/
.flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.height {
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
/****** end flex box ********/

.inner_l {
	width: 96%;
	max-width: 1725px;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.inner {
    width: 96%;
	max-width: 1440px;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.middle_inner {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.inner_s {
	width: 90%;
	max-width: 1040px;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.lower_inner {
	width: 96%;
	max-width: 600px;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.pc_inner {
	width: 950px;
	max-width: 96%;
	margin: 0 auto;
	z-index: 10;
	position: relative;
}
.heading {
    width: 100%;
}
.half {
	width: 50%;
}
img.banner {
	border: solid 1px #DDD;
}
span.hissu {
	color: #F03;
	font-size: 12px;
}
span.memo {
	color: #666;
	font-size: 12px;
}
span.error {
	display: block;
	color: #F03;
	font-size: 12px;
}
p.indent {
	font-weight: normal;
	margin: 5px 0 5px 1em;
	text-indent: -1em;
}
span.indent {
	font-weight: normal;
	margin: 5px 0 5px 1em;
	text-indent: -1em;
	display: inline-block;
}

.sp {
	display: none;
}
.table {display:table;}
.table dt, .table dt {display:table-cell;}

/****** フォント ********/

.noto {font-family: 'Noto Sans JP', sans-serif;}
.osw {font-family: 'Oswald', sans-serif;}

/****** カラー ********/
.green {color:#93AC39;}
.copper {color:#847032;}
.brown {color:#6D4333;}
.bg_lgreen {background-color:#ADC754;}
.bg_white {background-color:#FFF;}
/****** 見出し ********/
h2.ttl {
    font-size: 6.667em;
    line-height: 1.2em;
    margin-bottom: 0.125em;
    font-weight: 500;
}
h2.ttl span.sub_ttl, h3.ttl span.sub_ttl {
    display: block;
    font-size: 0.267em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin-top: 0.5em;
    font-weight: 600;
}
mark.sub_ttl {
    text-align: center;	
}
/****** キャッチ ********/
.catch {font-size:1.75em;}

/****** ボタン ********/
.more {
	width: 240px;
	height: 54px;
	display: block;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	font-size: 1.125em;
	font-weight: 700;
	position: relative;
	z-index: 2;
	background-color: #000;
	color: #FFF;
	overflow: hidden;
	margin-top: 2.5em;
}
.more::before, .more::after {
/*
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s ;
	transition: all .3s ;
*/
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.more:hover {
	color: #000;    
    outline: 2px solid #000;
}
.more:hover .fa-angle-right::before {
    color: #000;
}
.more::after {
	top: -100%;
	width: 100%;
	height: 100%;
}
.more:hover::after {
    top: 0;
    background-color: #ADC754;
    transform-origin: left top;
    transform: scale(1, 1);
}
/*
a.more_bluet {
	color: #FFF;
	background-color: #000;
    position: relative;
}
a.more_bluet:hover {
	color: #111;
    outline: 2px solid #000;
}
a.more_bluet:hover::after {
    background-color: #F3B701;
    transform-origin: left top;
  transform: scale(1, 1);
}
*/
.mark2 {background: linear-gradient(#ADC754 0%, #ADC754 100%);}
/*************** end class ***************************************************************/


/*************** header start ***********************************************************/
header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
    height: 80px;
	background-color: #FFF;
}
header h1 {
    line-height: 1.6em;
    margin-top: 0;
}
header .inner {
	width: 96%;
	max-width: 96%;
}
a.logo {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 390px;
}
.logo img {
	max-width: 100%;
}
.zdo_drawer_menu .zdo_drawer_nav li img {
    margin-right: 0.75em;
    vertical-align: middle;
}
header nav ul {
	margin: 0;
	padding: 0;
}
header div.trans {
	margin-right: 4.8em;
	margin-top: 1.2em;
}
/*************** header end *************************************************************/

/*************** mv start ***********************************************************/

img.line01 {
    left: 0;
    top: 0;
    max-width: 89px;
    width: 5em;
}
img.line02 {
    right: 0;
    top: 0;
    max-width: 89px;
    width: 5em;
}
.mv_txt {width:100%; top:20.5vw; z-index:3;}
.mv_txt .inner {max-width: 650px; width: 84%;}
.mv_txt p {
  text-align: center;
  color: #FFF;
}
.mv_txt p.s_ttl {
  line-height: 1.2em;
  font-size: 1.278em;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin: 0 auto;
}
.mv_txt p.l_ttl {
  line-height: 1.5;
  font-size: 4.444em;
  letter-spacing: 0.12em;
  font-weight: 700;
  margin: 0 auto;
}
.mv::after {
  content: "";
  position: absolute;
  background-image: url(../img/top/dotted.png);
  background-repeat: repeat;
  background-position: left top;
  background-size: auto;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.mv .triangle_bottom_left {z-index:2;}
/*************** mv end ***********************************************************/
/*************** slide content_top start ***********************************************************/
.swiper-slide, .contents_top {
	width: 100%;
	background-size: cover;
	background-position: center top;
    padding: 23% 0;
}
.swiper-slide p {
    text-align: center;
    color: #FFF;
}
.swiper-slide p span {
    display: block;
    color: #FFF;
}
/* slide */
.slide1 {
	background-image: url(../img/top/slide01.jpg);
}
.slide2 {
	background-image: url(../img/top/slide02.jpg);
}
.slide3 {
	background-image: url(../img/top/slide03.jpg);
}
.slide4 {
	background-image: url(../img/top/slide04.jpg);
}
#main_visual,
div#slide {
	position: relative;
	overflow: hidden;
    margin-top: 80px;
}
div#slide p.l_ttl {
    line-height: 1.5;
    font-size: 4.444em;
    letter-spacing: 0.12em;
    font-weight: 700;
    margin: 0 auto
}
div#slide p.s_ttl {
    line-height: 1.2em;
    font-size: 1.278em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto
}
div#slide div.pr {
    max-width: 650px;
    width: 84%;
}

/*************** slide content_top end ***********************************************************/
.fcw {
    color: #FFF;
}
/***************************************page_contact start***************************************/
section#page_contact {
    padding-bottom: 5em;
}
section#page_contact .pc_inner {}
section#page_contact .pc_inner div.tel,
section#page_contact .pc_inner div.mail {
    width:49%;
}
section#page_contact .pc_inner div.tel h4,
section#page_contact .pc_inner div.mail h4 {
    font-size: 1.333em;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 600;
}
section#page_contact .pc_inner div.tel h4 img,
section#page_contact .pc_inner div.mail h4 img {
    max-width: 64px;
    margin-right: 1em;
    vertical-align: middle;
    width: 14%;
}
section#page_contact .pc_inner div.tel a,
section#page_contact .pc_inner div.mail a {
    outline:8px solid #ADC754;
    width: 90%;
    max-width: 424px;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    text-align: center;
    color: #0066CA;
    font-weight: 600;
    padding: 0.5em 0;
    background-color: #FFF;
}
section#page_contact .pc_inner div.tel a::after,
section#page_contact .pc_inner div.mail a::after{
    content: '';
    position: absolute;
    right: -7%;
    background: #000;
    height: 8px;
    width: 52px;
    top:48%;
}
section#page_contact .pc_inner div.tel a:hover,
section#page_contact .pc_inner div.mail a:hover {
    outline:8px solid #000;
    width: 90%;
    max-width: 424px;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    text-align: center;
    color: #000;
    font-weight: 600;
    padding: 0.5em 0;
}
section#page_contact .pc_inner div.tel a::before,
section#page_contact .pc_inner div.mail a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #ADC754;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
section#page_contact .pc_inner div.tel a:hover::before,
section#page_contact .pc_inner div.mail a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
/****************************************page_contact end****************************************/
/*************** footer start ***********************************************************/
footer#footer {
	padding: 2.5em 0 1em 0;
	background-color: #F7FAED;
    border-top: 16px solid #000;
}

footer#footer a.logo {width: 402px;}
footer#footer a.logo img {
    margin-top: 4em;
    margin-bottom: 1.25em;
}
footer#footer ul li:not(:last-of-type) {
    margin-right: 5%;
}
footer#footer ul li a {
    letter-spacing: 0.1em;
    line-height: 2;
    font-weight: 600;
}
footer#footer p.address {
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 2em;
    font-weight: 600;
}
footer#footer .copy {
    letter-spacing: 0.1em;
    line-height: 1.2;
    font-size: 0.833em;
}

/*************** footer end ***********************************************************/

/*************** main start *************************************************************/
.main_end {
	padding-bottom: 6vw;
}
/*************** 共通 *************************************************************/

.triangle_bottom_left {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom left, transparent 50%, #FFF 50.1%) top right/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_bottom_yellow_left_m {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 10.55vw;
	background: linear-gradient(to bottom left, transparent 50%, #C1D580 50.1%) top right/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_bottom_yellow_left_s {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom left, transparent 50%, #ADC754 50.1%) top right/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_top_yellow_left_s {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to top right, transparent 50%, #ADC754 50.1%) bottom left/ 100% 100% no-repeat;
	top: 0;
}
.triangle_bottom_right {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom right, transparent 50%, #FFF 50.1%) top left/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_top_yellow_right {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to top right, transparent 50%, #ADC754 50.1%) bottom left/ 100% 100% no-repeat;
	top: 0;
}
.triangle_bottom_yellow_right {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom right, transparent 50%, #ADC754 50.1%) top left/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_bottom_yellow_left {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom left, transparent 50%, #ADC754 50.1%) top right/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_bottom_white_right {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 6.25vw;
	background: linear-gradient(to bottom right, transparent 50%, #FFF 50.1%) top left/ 100% 100% no-repeat;
	bottom: 0;
}
.triangle_black_left {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 40vw;
    background: linear-gradient(to bottom left, transparent 50%, #000 50.1%) top left/ 23% 100% no-repeat;
    bottom: 0;
}
.triangle_white_left {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 28vw;
    background: linear-gradient(to top left, transparent 50%, #F7FAED 50.1%) bottom left/ 25% 100% no-repeat;
    top: 0;
}
.triangle_yellow_right {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 42vw;
    background: linear-gradient(to bottom right, transparent 50%, #ADC754 50.1%) top right/ 25% 100% no-repeat;
    bottom: 0;
}

.left_cow01 {
	width: 46%;
	max-width: 960px;
	height: auto;
	left: 0;
	bottom: 0%;
	z-index: 100;
}
.right_cow01 {
    width: 49%;
    max-width: 929px;
    height: auto;
    right: 0;
    bottom: 0%;
}
.left_cow02 {
	width: 26%;
	max-width: 510px;
	height: auto;
	left: 0;
	bottom: 100%;
	z-index: 100;
}
.right_cow02 {
	width: 26%;
	max-width: 510px;
	height: auto;
	right: 0;
	bottom: 40%;
	z-index: 100;
}
.left_cow04 {
	width: 29%;
	max-width: 570px;
	height: auto;
	bottom: 0%;
	z-index: 100;
}
/*************** top start *************************************************************/

/* top_title */
.top_title {
	z-index: 99;
	position: absolute;
	bottom: 0;
	left: 2%;
	font-size: 1.75em;
	font-weight: 600;
}
.top_title .open_sans {
	display: block;
	font-weight: 700;
}
.top_title .large {
	font-size: 5.0rem;
}
.top_title .small {
	font-size: 1.5rem;
}
/* aobut */
section#top_about {
    background-image: url(../img/top/bg01_green.jpg);
	background-position: left bottom;
	background-size: 35.4%;
	background-repeat: no-repeat;
	padding-top: 5em;
	background-color: #ADC754;
	padding-bottom: 8em;
}
section#top_about h2 {
    margin-top: -10%;
}
section#top_about h2 img.line03 {
    margin-left: 0.125em;
    max-width: 90px;
    width: 7%;
}
section#top_about .text_box {
	width: 30em;
	max-width: 49%;
    clear: both;
}
section#top_about .text_box p,
section#top_staff .text_box p,
section#top_recruit .img_box p {
    font-size: 1.111em;
    line-height: 2.2;
    letter-spacing: 0.1em;
    font-weight: 600;
}
section#top_about a.more {
    max-width: 370px;
    width: 84%;
    outline: 2px solid #000;
}
section#top_staff a.more {
    max-width: 370px;
    width: 84%;
}
section#top_about a.more i,
section#top_staff a.more i {
    margin-left: 2.5em;
    margin-right: -2.5em;
    font-size: 1.877em;
    vertical-align: middle;
}

/* staff */
section#top_staff {
    background-image: url(../img/top/bg02_green.jpg);
    background-position: right bottom;
    background-size: 35.4%;
    background-repeat: no-repeat;
    padding-top: 4em;
    padding-bottom: 10em;
    background-color: #fff;
}
section#top_staff h2 {
    margin-top: -11%;
}
section#top_staff h2 img.line03 {
    margin-left: 0.125em;
    max-width: 90px;
    width: 24%;
}
/* end staff */
/* recruit */
div.circle {
    width: 48%;
    background-color: #FFF;
    padding: 9.5% 0;
    border: 10px solid #000;
    border-radius: 50%;
    max-width: 280px;
    z-index: 100;
}
div.circle p {
    font-size: 1.778em;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
section#top_recruit div.lower_inner img.left_cow {
    top: 0;
    left: 0;
    max-width: 240px;
    width: 40%;
}
section#top_recruit div.lower_inner img.right_cow {
    top: 0;
    right: 0;
    max-width: 240px;
    width: 40%;
}
section#top_recruit {
    clear: both;
	background-color: #ADC754;
	padding-top: 1em;
	background-image: url(../img/top/bg03_green.jpg),url(../img/top/bg04_green.jpg);
	background-position: center top , center bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 2em;
}
section#top_recruit h2 {
    margin-top: 0;
}
section#top_recruit h2 img.line04 {
    margin-right: 0.125em;
    max-width: 90px;
    width: 5%;
}
section#top_recruit h2 img.line05 {
    margin-left: 0.125em;
    max-width: 90px;
    width: 5%;
}
section#top_recruit h2.ttl span.sub_ttl {
    margin-top: 0.25em;
}
section#top_recruit .inner_l {}
section#top_recruit .inner_l img.left_cow {
    top:-12%;
    left: 0;
    max-width: 600px;
    width: 35%;
}
section#top_recruit .inner_l img.right_cow {
    top: -12%;
    right: 0;
    max-width: 600px;
    width: 35%;
}
section#top_recruit .img_box {
    padding: 1.25em 0 3em 0;
    background-color: #fff;
    z-index: 100;
}
section#top_recruit .img_box::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -28px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #FFF transparent transparent transparent;
    border-width: 29px 54px 0 54px;
}
section#top_recruit .img_box img {
    max-width: 1160px;
    margin-bottom: 2.5em;
    width: 96%;
}

section#top_recruit .flex {
    margin-top: 5em;
    margin-bottom: 8em;
}
section#top_recruit .flex .item {
    max-width: 360px;
    outline: 10px solid #000;
    background-color: #FFF;
    width: 30%;
    padding: 1.25em 0 4em 0;
}
section#top_recruit .flex .item a:hover {
    opacity: 1;
}
section#top_recruit .flex .item h3 {
    font-size: 2.667em;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.2;
}
section#top_recruit .flex .item h3 span {
    font-size: 0.542em;
    line-height: 2.2;
    letter-spacing: 0.1em;
    margin-bottom: 0.75em;
}
section#top_recruit .flex .item img.icon {
    max-width: 120px;
    width: 33%;
    margin-bottom: 2em;
}
section#top_recruit .flex .item img.cow {
    bottom: -29%;
    right: 0%;
    max-width: 200px;
    width: 56%;
}
section#top_recruit img.arrow_l {
    margin-bottom: 2em;
    max-width: 291px;
    width: 25%;
}
section#top_staff {}
section#top_staff div.right {
    width: 31%;
    padding-left: 3%;
    padding-right: 8%;
}
section#top_staff .img_box {
    width: 58%;
}
section#top_staff .img_box img {
    max-width: 930px;
}
/*************** top end *************************************************************/

/*************** about start *************************************************************/
body#about_page .top_img {
    background-image: url(../img/about/top.jpg);
    width: 100%;
	background-size: cover;
	background-position: center top;
    padding: 15% 0 28% 0;
}
body#about_page .top_img p.l_ttl {
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 auto;
    font-size: 6.667em;
}
body#about_page .top_img p.s_ttl {
    line-height: 0em;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto;
}
body#about_page .top_img div.pr {
    max-width: 545px;
    width: 84%;
}
section#shibecha {
    background-image: url(../img/about/bg01.jpg);
    background-position: center bottom 10em;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 5em 0 29.5% 0;
    margin-bottom: 0;
}
section#shibecha div.video {
    max-width: 560px;
    margin-top: 5em;
    margin-bottom: 1em;
}
section#shibecha div.video iframe {
    height: 17.5em;
}
section#shibecha img.left_cow {
    left: 0;
    top: 13%;
    width: 32%;
    max-width: 600px;
}
section#shibecha img.right_cow {
    right: 0;
    top: 13%;
    width: 33%;
    max-width: 616px;
}
section#shibecha .middle_inner {}
section#shibecha h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.9em;
}
section#shibecha h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}
section#shibecha h3 .stripe {
    position: relative;
    display: block;
    width: 3.5em;
    margin-left: auto;
    margin-right: auto;
}
section#shibecha h3 .stripe::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/contact/stripe.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#shibecha p {
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2em;
}
section#about_us {
    background-color: #ADC754;
    padding: 6em 0 14em 0;
}
section#about_us img.meat {
    left: 0;
    top: 25%;
    max-width: 610px;
    width: 33%;
}
section#about_us img.milk {
    right: 0;
    top: 20.5%;
    max-width: 592px;
    width: 32%;
}
section#about_us .inner {
    max-width: 640px;
}
section#about_us h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.9em;
}
section#about_us h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}
section#about_us h3 .stripe {    
    position: relative;
    display: block;
    width: 3.65em;
    margin-left: auto;
    margin-right: auto;
}
section#about_us h3 .stripe:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/about/stripe01.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#about_us p {
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2em;
}
section#about_us p.p_01 {}
section#about_us p.p_02 {}
section#about_us p.p_03 {}
section#about_us p.p_04 {}
section#about_us p.p_05 {}
section#about_us .flex {
    margin-top: 6em;
}
section#about_us .flex .item1 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-bottom: 2em;
    background-image: url(../img/about/bra01.png), url(../img/about/bra02.png), url(../img/about/bra03.png), url(../img/about/bra04.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#about_us .flex .item2 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/about/bra05.png), url(../img/about/bra06.png), url(../img/about/bra07.png), url(../img/about/bra08.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#about_us .flex .item1 img {
    max-width: 520px;
    width: 93%;
}
section#about_us .flex .item2 img {
    max-width: 520px;
    width: 93%;
}
section#recycling {
    padding: 5.5em 0 5em 0;
}
section#recycling .inner {
    max-width: 730px;
}
section#recycling img.left_cow{
    left: 0;
    bottom: 0;
    max-width: 574px;
    width: 31%;
}
section#recycling img.right_cow{
    right: 0;
    bottom: 0;
    max-width: 577px;
    width: 31%;
}
section#recycling h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.9em;
}
section#recycling h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}
section#recycling h3 .stripe {
    position: relative;
    display: block;
    width: 9.125em;
    margin-left: auto;
    margin-right: auto;
}
section#recycling h3 .stripe:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/about/stripe02.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#recycling p {
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2em;
}
section#recycling .flex {
    margin: 7em auto 9em auto;
}
section#recycling .flex .item1 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-bottom: 2em;
    background-image: url(../img/about/bra01.png), url(../img/about/bra09.png), url(../img/about/bra10.png), url(../img/about/bra04.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#recycling .flex .item2 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/about/bra11.png), url(../img/about/bra06.png), url(../img/about/bra07.png), url(../img/about/bra12.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#recycling .flex .item1 img {
    max-width: 520px;
    width: 93%;
}
section#recycling .flex .item2 img {
    max-width: 520px;
    width: 93%;
}
section#recycling p.p_01 {}
section#recycling p.p_02 {}
section#recycling p.p_03 {}
section#recycling div.recycling_img {
    display: block;
    margin: 6em auto 4em auto;
    background-image: url(../img/about/recycling.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto;
    padding: 8.5em 0;
}
section#recycling div.recycling_img h4 {
    font-size: 2em;
    letter-spacing: 0.1em;
}
section#profile {
    background-image: url(../img/about/bg02.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 7em 0 10.5em 0;
}
section#profile h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.35em;
}
section#profile h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}
section#profile h3 .stripe {
    position: relative;
    display: block;
    width: 2.65em;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
section#profile h3 .stripe:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/about/stripe03.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#profile .middle_inner {}
section#profile .img_box {
    background-color: #FFF;
    padding: 2.5em 0 2em 0;
}
section#profile .img_box .dl_inner {
    max-width: 640px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 96%;
}
section#profile .img_box dl {
    border-bottom: 1px solid #E3E3E3;
    padding-bottom: 0.5em;
    margin: 0.5em auto;
}
section#profile .img_box dl:last-of-type {
    border: none;
}
section#profile .img_box dl dt {
    padding-left: 0.25em;
    width: 6em;
    padding-right: 0.5em;
}
section#profile .img_box dl dd {}
section#profile .img_box dl dt,
section#profile .img_box dl dd {
    display: table-cell;
    text-align: left;
    font-weight: 600;
    letter-spacing: 0.1em;
}
section#profile .map {
    margin-bottom: 4em;
}
section#profile .map iframe {}
section#profile .flex {}
section#profile .flex .item1 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-bottom: 2em;
    background-image: url(../img/about/bra01.png), url(../img/about/bra02.png), url(../img/about/bra03.png), url(../img/about/bra04.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#profile .flex .item2 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/about/bra05.png), url(../img/about/bra06.png), url(../img/about/bra07.png), url(../img/about/bra08.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
}
section#profile .flex .item1 img {
    max-width: 520px;
    width: 93%;
}
section#profile .flex .item2 img {
    max-width: 520px;
    width: 93%;
}
section#product {
    padding-top: 8em;
    padding-bottom: 2em;
    background-image: url(../img/about/about_bg.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom center;
}
section#product img.milk01 {
    left: 0;
    max-width: 415px;
    width: 23%;
}
section#product img.milk02 {
    right: 0;
    max-width: 420px;
    width: 23%;
}
section#product h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.9em;
}
section#product h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}
section#product h3 .stripe {
    position: relative;
    display: block;
    width: 3.25em;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
section#product h3 .stripe::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/about/stripe04.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#product h4 {
	font-size:1.7em;
	border-bottom: 4px solid #ADC754;
}
section#product p.p_001 {
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2em;
}
section#product p.p_002 {
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 2em;
}
section#product a.milk_net {
    font-size: 1em;
    background-color: #000;
    color: #FFF;
    display: block;
    letter-spacing: 0.1em;
    width: 23em;
    padding: 0.5em 0;
    margin: 4em auto 5em auto;
}
section#product a.milk_net i {
    margin-left: 2em;
    margin-right: -2em;
    font-size: 1.75em;
    vertical-align: middle;
}
section#product .flex {
    max-width: 893px;
    margin-bottom: 2em;
    width: 96%;
}
section#product .flex .flex_item01 {
    max-width: 400px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/about/bra13.png), url(../img/about/bra09.png), url(../img/about/bra10.png), url(../img/about/bra14.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
    margin-bottom: 3em;
}
section#product .flex .flex_item02 {
    max-width: 400px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/about/bra13.png), url(../img/about/bra09.png), url(../img/about/bra10.png), url(../img/about/bra14.png);
    background-size: auto;
    background-position: left top, right top,left bottom, right bottom;
    background-repeat: no-repeat;
    margin-top: 5em;
}
section#product .flex .flex_item01 img {
    max-width:360px;
    width: 90%;
}
section#product .flex .flex_item02 img {
    max-width:360px;
    width: 90%;
}
section#product .product_mvinner {
	width: min(893px,96%);
	margin: auto;
}
section#product .youtube {
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	margin: 2em auto 3em;
}
section#product .youtube iframe {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	height: 100%;
	width: 100%;
}
/*************** about end  *************************************************************/

/*************** recruit start *************************************************************/
body#recruit_page .top_img p.l_ttl {
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 auto;
    font-size: 6.667em;
}
body#recruit_page .top_img p.s_ttl {
    line-height: 0em;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto;
}
body#recruit_page .top_img div.pr {
    max-width: 625px;
    width: 84%;
}
body#recruit_page .top_img {
    background-image: url(../img/recruit/top.jpg);
    width: 100%;
	background-size: cover;
	background-position: center top;
    padding: 15% 0 28% 0;
}

section#message {
    padding-top: 5em;
    padding-bottom: 5em;
}
section#message img.center.heading {
    margin-top: 4em;
    margin-bottom: 5em;
}
section#message h3 span.stripe,
section#voice h3 span.stripe,
section#interview h3 span.stripe,
section#gallery h3 span.stripe {
    position: relative;
    display: block;
    width: 3.5em;
    margin-left: auto;
    margin-right: auto;
}
section#interview h3 span.stripe  {width:4.25em;}
section#message h3 span.stripe::after,
section#voice h3 span.stripe::after,
section#interview h3 span.stripe::after,
section#gallery h3 span.stripe::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 23px;
    background-image: url(../img/contact/stripe.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#message p {
    font-weight: 600;
    line-height: 2.2;
    letter-spacing: 0.1em;
    margin-bottom: 2em;
}
section#message p.p_08 {
    font-size: 1.167em;
}
section#message img.left_cow {
    left: 0;
    top: 6.5%;
    max-width: 600px;
    width: 32%;
}
section#message img.right_cow {
    right: 0;
    top: 6.5%;
    max-width: 616px;
    width: 32%;
}
section#message img.left_cow2 {
    left: 0;
    top: 11.5%;
    max-width: 600px;
    width: 32%;
}
section#message img.right_cow2 {
    right: 0;
    top: 11.5%;
    max-width: 616px;
    width: 32%;
}
section#message h3,
section#voice h3,
section#interview h3,
section#gallery h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 0.9em;
}
section#message h3 span.noto,
section#voice h3 span.noto,
section#interview h3  span.noto,
section#gallery h3  span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
    margin-top: 0.65em;
}

.bottom_m img.left_cow {
    left: 0;
}
.bottom_m img.right_cow {
    right: 0;
}
section#voice {
    padding-top: 6em;
    padding-bottom: 10em;
}
section#voice p {
    font-weight: 600;
}
section#voice .flex {
    margin-top: 4em;
}
section#voice .flex .item1 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-bottom: 2em;
    background-image: url(../img/recruit/bra01.png),url(../img/recruit/bra02.png);
    background-size: auto;
    background-position: left top, right bottom;
    background-repeat: no-repeat;
}
section#voice .flex .item1 img {
    max-width: 520px;
    width: 93%;
}
section#voice .flex .item2 {
    max-width: 560px;
    width: 48%;
    padding: 1em 0;
    margin-top: 2em;
    background-image: url(../img/recruit/bra03.png),url(../img/recruit/bra04.png);
    background-size: auto;
    background-position: left bottom, right top ;
    background-repeat: no-repeat;
}
section#voice .flex .item2 img {
    max-width: 520px;
    width: 93%;
}
section#requirement .dl_inner {
    max-width: 640px;
    width: 96%;
}
section#requirement .img_box h3 {
    font-size: 1.333em;
    margin-bottom: 2em;
    line-height: 1.8em;
    letter-spacing: 0.1em;
}
section#requirement .img_box dl {
    border-bottom: 1px solid #E3E3E3;
    padding-bottom: 0.5em;
    margin: 0.5em auto;
}
section#requirement .img_box dl:last-of-type {
    border: none;
}
section#requirement .img_box dl dt {
    width: 8em;
    padding-right: 0;
    padding-left: 0.25em;
}
section#requirement .img_box dl dd {
    width: 78%;
    word-break: break-all;
}
section#requirement .img_box dl dt,
section#requirement .img_box dl dd {
    display: table-cell;
    letter-spacing: 0.1em;
    text-align: left;    
    font-weight: 600;
}
section#requirement div.lower_inner {}
section#requirement div.lower_inner img.left_cow {
    top: 0;
    left: 0;
    max-width: 240px;
    width: 40%;
}
section#requirement div.lower_inner img.right_cow {
    top: 0;
    right: 0;
    max-width: 240px;
    width: 40%;
}
section#requirement {
    clear: both;
    background-color: #ADC754;
    background-image: url(../img/top/bg03_green.jpg),url(../img/recruit/bg.jpg);
    background-position: center top, center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    padding-top: 2em;
}
section#requirement h2 {
    margin-top: 0;
    font-size: 4.444em;
    margin-bottom: 0.5em;
}
section#requirement h2 img.line04 {
    margin-right: 0.5em;
    max-width: 90px;
    width: 5%;
}
section#requirement h2 img.line05 {
    margin-left: 0.5em;
    max-width: 90px;
    width: 5%;
}
section#requirement h2.ttl span.sub_ttl {
    margin-top: 0.25em;
    font-size: 0.4em;
}
section#requirement .inner_l {}
section#requirement .inner_l img.left_cow {
    top:-12%;
    left: 0;
    max-width: 600px;
    width: 35%;
}
section#requirement .inner_l img.right_cow {
    top: -12%;
    right: 0;
    max-width: 600px;
    width: 35%;
}
section#requirement .img_box {
    padding: 1.25em 0 3em 0;
    background-color: #fff;
    z-index: 100;
    margin-bottom: 3em;
}
section#requirement img.arrow_l {
    margin-bottom: 3em;
    max-width: 291px;
    width: 25%;
}
.housing {margin-top:2em; padding:2em 0; background-image: url(../img/recruit/c-bgi.png); background-repeat: no-repeat; background-position: center; background-size:contain;}
.housing_img {margin-top:2em;}

/* interview */
section#interview {padding:3em 0 6.5em 0;}
section#interview .interview_box {padding-bottom:3em; background: linear-gradient(#F7FAED 65%, transparent 65%, transparent 100%);}
section#interview .interview_box .data {width:47%;}
section#interview .name {font-size:1.5em; font-weight:700; padding-top:1.35em; padding-left:2.5em; line-height: 2.75em;}
section#interview .name .osw {display:block; font-size:2.5em;font-weight:500; }
section#interview .name::before {content:""; display:block; position:absolute; top:1.35em;; left:0; width: 2em;height: 3em;background-image: url(../img/recruit/line04.png); background-repeat: no-repeat; background-position: center; background-size:contain;}
section#interview .joining {font-weight:700;}
section#interview .joining .mark2 {padding: 0.15em 0.35em;}
section#interview .p_info {margin:0;}
section#interview .p_info dt {padding-right:1em;font-weight:700;}
section#interview .p_info dt .slash {transform: scale(2,1); display: inline-block; margin-left: 0.5em; font-weight: 400;color: #847032;}
section#interview .data {padding-bottom: 5.25em;z-index:2;}
section#interview .interview_img1 {top:0; right:0; z-index:1;}
section#interview .interview_img2 {top:0; left:0; z-index:1;}
section#interview .interview_img1 img,section#interview .interview_img2 img {object-fit: cover; height: 29em;object-position: 25% center;}
section#interview .qa_box {padding:1.25em 0 3em 0;background-image: url(../img/recruit/bra05.png),url(../img/recruit/bra06.png),url(../img/recruit/bra03.png),url(../img/recruit/bra02.png);background-size: auto;background-position: left top, right top,left bottom, right bottom;background-repeat: no-repeat;}
section#interview .qa_box .inner {width:92%;}
section#interview .qa {margin:0}
section#interview .qa dt {font-size:1.3125em; font-weight:500;}
section#interview .qa dt .large {font-size:2.857em; margin-right:0.5em; font-weight:400;}
section#interview .qa dd {margin-top:-0.5em; margin-left:4em;}
/*************** recruit end *************************************************************/

/*************** gallery start *************************************************************/
body#gallery_page .top_img p.l_ttl {
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 auto;
    font-size: 6.667em;
}
body#gallery_page .top_img p.s_ttl {
    line-height: 0em;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto;
}
body#gallery_page .top_img div.pr {
    max-width: 525px;
    width: 84%;
}
body#gallery_page .top_img {
  background-image: url(../img/gallery/top.jpg);
  width: 100%;
  background-size: cover;
  background-position: center top;
  padding: 15% 0 28% 0;
}
body#gallery_page img.line01 {left:-1.5em;}
body#gallery_page img.line02 {right:-1.5em;}
section#gallery {padding:5em 0 10em 0;}
section#gallery .middle_inner {
  background-image: url(../img/staff/bra01.png),url(../img/staff/bra02.png),url(../img/staff/bra03.png),url(../img/staff/bra04.png);
  background-size: auto;
  background-position: left top,right top, left bottom, right bottom;
  background-repeat: no-repeat;
  padding-top: 2em;
  padding-bottom: 2em;
}
section#gallery .inner_s {width: 94%; max-width: 1120px;}
section#gallery h3 {margin-bottom:0.25em;}
section#gallery .img_box {width:calc(94% / 3); margin:0 1%;}
section#gallery .group {padding:2.5em 0;}
section#gallery .group:first-of-type {padding-top:0;}
@media (min-width: 768px) { 
section#gallery .group .img_box:nth-of-type(3n-1) {margin-top:1.5em;}
section#gallery .group .img_box:nth-of-type(3n) {margin-top:3em;}
section#gallery .group .img_box:nth-of-type(3n+1) {clear:both;}
}
/*************** staff start *************************************************************/
body#staff_page .top_img p.l_ttl {
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 auto;
    font-size: 6.667em;
}
body#staff_page .top_img p.s_ttl {
    line-height: 0em;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto;
}
body#staff_page .top_img div.pr {
    max-width: 525px;
    width: 84%;
}
body#staff_page .top_img {
    background-image: url(../img/staff/top.jpg);
    width: 100%;
	background-size: cover;
	background-position: center top;
    padding: 15% 0 28% 0;
}
section#staff {
    padding-top: 4.5em;
    padding-bottom: 6em;
}
section#staff .middle_inner {
    background-image: url(../img/staff/bra01.png),url(../img/staff/bra02.png),url(../img/staff/bra03.png),url(../img/staff/bra04.png);
    background-size: auto;
    background-position: left top,right top, left bottom, right bottom;
    background-repeat: no-repeat;
    padding-top: 2em;
    padding-bottom: 2em;
}
section#staff .inner_s {}
section#staff .staff {
    width: 45%;
    max-width: 460px;
    margin-bottom: 5em;
}
section#staff .staff.left {}
section#staff .staff.right {
    margin-right: 27px;
}
section#staff #staff01 .img_bg {background-image:url(../img/staff/staff01_on.jpg);}
section#staff #staff02 .img_bg {background-image:url(../img/staff/staff02_on.jpg);}
section#staff #staff03 .img_bg {background-image:url(../img/staff/staff03_on.jpg);}
section#staff #staff04 .img_bg {background-image:url(../img/staff/staff04_on.jpg);}
section#staff #staff05 .img_bg {background-image:url(../img/staff/staff05_on.jpg);}
section#staff #staff06 .img_bg {background-image:url(../img/staff/staff06_on.jpg);}
section#staff #staff07 .img_bg {background-image:url(../img/staff/staff07_on.jpg);}
section#staff #staff08 .img_bg {background-image:url(../img/staff/staff08_on.jpg);}
section#staff #staff09 .img_bg {background-image:url(../img/staff/staff09_on.jpg);}
section#staff #staff10 .img_bg {background-image:url(../img/staff/staff10_on.jpg);}
section#staff #staff11 .img_bg {background-image:url(../img/staff/staff11_on.jpg);}
section#staff #staff12 .img_bg {background-image:url(../img/staff/staff12_on.jpg);}
section#staff #staff13 .img_bg {background-image:url(../img/staff/staff13_on.jpg);}
section#staff #staff14 .img_bg {background-image:url(../img/staff/staff14_on.jpg);}
section#staff #staff15 .img_bg {background-image:url(../img/staff/staff15_on.jpg);}
section#staff #staff16 .img_bg {background-image:url(../img/staff/staff16_on.jpg);}
section#staff #staff22 .img_bg {background-image:url(../img/staff/staff22_on.jpg);}

section#staff #staff02,
section#staff #staff04,
section#staff #staff06,
section#staff #staff07,
section#staff #staff08,
section#staff #staff10,
section#staff #staff12,
section#staff #staff14,
section#staff #staff16,
section#staff #staff18,
section#staff #staff20 {
    margin-top: 2em;
}
section#staff #staff10,
section#staff #staff12,
section#staff #staff14,
section#staff #staff16,
section#staff #staff18,
section#staff #staff20 {
    margin-top: 0;
}
section#staff #staff21 {
    margin-bottom: 3em;
}
section#staff #staff06 {
	margin-top:0;
}
section#staff .img_bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left top;
    max-width: 460px;
    box-shadow: 27px 27px 0px 0px #ADC754;
    margin-bottom: 2.5em;
}
section#staff .img_bg img {
    max-width: 460px;
    opacity: 1;	
}
section#staff .img_bg img:hover {
    opacity: 0;
	transition-property: opacity;
    transition: 1s;
}
section#staff .img_bg img.opaque:hover {
    opacity: 1;
}
section#staff .staff .name {}
section#staff .staff .name img {
    max-width: 38px;
}
section#staff .staff .name img.left {}
section#staff .staff .name img.right {}
section#staff #staff01 .name img.right {
    margin-top: -1em;
}
section#staff .staff .name h3 {
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    width: 98%;
    padding-left: 1.25em;
}
section#staff .staff .name h3 span.small {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    width: 6em;
}
section#bottom_staff {
    background-image: url(../img/staff/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    padding: 4.5em 0 9.5em 0;
}
section#bottom_staff .middle_inner img {
    max-width: 1160px;
}
section#bottom_staff img.left_cow {
    max-width: 600px;
    top: 14%;
    left: 0;
    z-index: 100;
    width: 32%;
}
section#bottom_staff img.right_cow {
    max-width: 616px;
    top: 14%;
    right: 0;
    z-index: 100;
    width: 32%;
}
/*************** staff end ***************************************************************/
/*************** contact start *************************************************************/
body#contact_page .top_img p.l_ttl {
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 auto;
    font-size: 6.667em;
}
body#contact_page .top_img p.s_ttl {
    line-height: 0em;
    font-size: 1.556em;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto;
}
body#contact_page .top_img div.pr {
    max-width: 645px;
    width: 84%;
}
body#contact_page .top_img {
    background-image: url(../img/contact/top.jpg);
    width: 100%;
	background-size: cover;
	background-position: center top;
    padding:15% 0 28% 0;
}
section#contact {
    padding-top: 5em;
}
section#contact h3 {
    font-size: 4.444em;
    margin-top: 0;
    line-height: 1.2;
    font-weight: 500;
}
section#contact h3 span.noto {
    font-size: 0.3em;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 600;
}
h3 span.stripe {
    position: relative;
}
h3 span.stripe:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    width: 80%;
    height: 20px;
    background-image: url(../img/contact/stripe.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    z-index: -1;
}
section#contact p {
    letter-spacing: 0.1em;
    font-weight: 600;
}
section#contact .middle_inner {
    z-index: 1;
    max-width: 940px;
    padding-bottom: 8%;
}

section#contact .triangle_top_right_yellow {
    z-index: 2;
}
section#contact .triangle_bottom_right_yellow {
    z-index: 0;
}
section#contact p.center span.caution {
	display: block;
	margin-top: 0.5em;
	font-size: 0.875em;
	font-weight: 500;
	color: #FD8B00;
}
div.comp_p {
    width: 96%;
}
/*************** contact end *************************************************************/
@media (min-width: 768px) and (max-width: 1023px) {
    section#top_recruit .img_box,
    section#requirement .img_box {width: 80%;}
    div#slide p.s_ttl, div#main_visual .top_img p.s_ttl {font-size: 1em;}
    div#slide p.l_ttl, div#main_visual .top_img p.l_ttl{font-size: 3.5em;}
    div#slide div.pr {width: 64%;}
    div#slide div.pr, .top_img div.pr {width: 64%;}
    h2.ttl, h3.ttl {font-size: 4em;}
    img.line01, img.line02 {width: 4em;}
    div#main_visual img.line01, div#main_visual img.line02 {width: 3em;}
    section#top_about .text_box p,
    section#top_staff .text_box p,
    section#top_recruit .img_box p {font-size: 0.875em;line-height: 1.8;}
    section#top_about .text_box p br.pc {display: none;}
    section#top_about {padding-top: 2em;padding-bottom: 3em;}
    h2.ttl span.sub_ttl, h3.ttl span.sub_ttl {line-height: 1.5;}
    section#top_about a.more,section#top_staff a.more {font-size: 1em;}
    .right_cow01 {width: 52%;bottom: 5%;}
    section#top_staff .img_box {width: 50%;margin-top: 2em;}
    section#top_staff div.right {width: 47%;padding-left: 2%;padding-right: 1%;}
    section#top_staff a.more {width: 97%;}
    section#top_staff {padding-bottom: 5em;}
    section#top_recruit .flex .item h3 {font-size: 2em;}
    section#top_recruit .flex .item {padding: 1.25em 0 2em 0;}
    section#top_recruit .flex .item img.cow {bottom: -25%;width: 66%;}
    section#page_contact .pc_inner div.tel a, 
    section#page_contact .pc_inner div.mail a,
    section#page_contact .pc_inner div.tel a:hover, 
    section#page_contact .pc_inner div.mail a:hover {font-size: 1.2em;padding: 0.25em 0;}
    section#page_contact .pc_inner div.tel h4,
    section#page_contact .pc_inner div.mail h4 {font-size: 1.125em;}
    section#top_staff h2 img.line03 {width: 19%;}
    section#top_recruit h2 img.line04,
    section#top_recruit h2 img.line05,
    section#requirement h2 img.line04,
    section#requirement h2 img.line05 {width: 6%;}
    section#top_recruit .img_box {padding: 1.25em 0 2em 0;}
    body#staff_page .top_img div.pr {width: 35%;}
    section#bottom_staff img.left_cow, section#bottom_staff img.right_cow {top: 30%;}
    section#bottom_staff {padding: 4.5em 0 4.5em 0;}
    section#staff .staff {margin-bottom: 2em;}
    section#staff .staff.right {margin-right: 17px;}
    section#staff {padding-top: 3.5em;padding-bottom: 4em;}
    body#recruit_page .top_img div.pr {width: 44%;}
    section#message {padding-top: 2em;padding-bottom: 1em;}
    section#message p {line-height: 2;margin-bottom: 1.5em;font-size: 0.975em;}
    section#message img.center.heading {margin-top: 2em;margin-bottom: 3em;}
    section#message p.p_08 {font-size: 1.05em;}
    section#voice {padding-top: 2em;padding-bottom: 5em;}
    section#voice .flex .item1,section#voice .flex .item2 {width: 49%;padding: 0.75em 0;}
    section#message h3, section#voice h3 {font-size: 3.5em;margin-bottom: 0.5em;}
    section#voice p {font-size: 0.975em;}
    section#requirement h2 {font-size: 3.5em;}
    section#requirement .inner_l img.left_cow,
    section#requirement .inner_l img.right_cow {top: -6%;}
    section#requirement h2.ttl span.sub_ttl {font-size: 0.302em;}
    section#requirement .img_box dl dd {width: 74%;}
    section#requirement .img_box dl dd br {display: none;}
    section#requirement .img_box dl dt, section#requirement .img_box dl dd {font-size: 0.875em;}
    section#message img.left_cow,
    section#message img.right_cow {top: 17.5%;width: 23%;}
    section#message img.left_cow2,
    section#message img.right_cow2 {top: 23.5%;width: 23.5%;}
    body#about_page .top_img div.pr {width: 36%;}
    section#shibecha h3 {font-size: 3.5em;margin-bottom: 0.5em;}
    section#shibecha {background-position: center bottom 4em;padding: 2em 0 22.5% 0;}
    section#about_us {padding: 2em 0 5em 0;}
    section#about_us h3 {font-size: 3.5em;margin-bottom: 0.5em;}
    section#recycling h3 {font-size: 3em;margin-bottom: 0.5em;}
    section#recycling {padding: 2em 0 2em 0;}
    section#recycling div.recycling_img {margin: 2em auto 2em auto;background-size: 43%;padding: 2.25em 0 2.75em 0;}
    section#recycling div.recycling_img h4 {font-size: 1.5em;}
    section#shibecha p, section#about_us p,section#recycling p {margin-bottom: 1.5em;font-size: 0.875em;}
    section#about_us .flex {margin-top: 2em;}
    section#shibecha img.right_cow,
    section#shibecha img.left_cow {top: 35%;width: 26%;}
    section#about_us img.meat ,section#about_us img.milk {top: 36.5%;width: 24%;}
    section#profile h3 {font-size: 3.5em;margin-bottom: 0.5em;}
    section#profile {padding: 2em 0 3.5em 0;}
    section#profile .img_box dl dt, section#profile .img_box dl dd {font-size: 0.875em;}
    section#product h3 {font-size: 3.5em;margin-bottom: 0.5em;}
    section#product {padding-top: 5em;padding-bottom: 2em;}
    section#product p.p_001,section#product p.p_002 {font-size: 0.875em;}
    body#contact_page .top_img div.pr {width: 45%;}
    #contact_page .top_img {padding: 23% 0 18% 0;}
    section#contact {padding-top: 3em;}
    section#contact h3 {font-size: 3em;margin-bottom: 0.5em;}
    section#contact h3 span.noto {font-size: 0.35em;}
    section#contact p,section#contact form table th,section#contact form table td {font-size: 0.875em;}
    footer#footer ul li:not(:last-of-type) {margin-right: 3.5%; font-size:0.875em;}
    footer#footer a.logo img {margin-top: 3em;}
    footer#footer p.address {font-size: 0.875em;}
	section#about_us img.meat {top: 38%;width: 28%;}
	section#interview .interview_box .data,section#interview .qa {font-size: 0.888em;}
	section#interview .name {line-height: 2.5em;}
	section#interview .name .osw {font-size: 2em;}
	section#interview .p_info {line-height: 1.75em;}
	section#interview .interview_img1 img {object-position: 25% center;}
	section#interview .qa dt {font-size:1.25em;}
	section#interview .qa dt .large {font-size: 2.857em; margin-right: 0.25em;}
	section#interview .qa dd {margin-left: 2.75em;}
	
}
@media (min-width: 1024px) and (max-width: 1222px) {
    section#top_recruit .img_box,
    section#requirement .img_box {width: 80%;}
    h2.ttl, h3.ttl {font-size: 4em;}
    section#top_about .text_box p,
    section#top_staff .text_box p,
    section#top_recruit .img_box p {font-size: 0.975em;line-height: 1.6;}
    section#top_about{padding-bottom: 3em;}
    section#top_about h2 {margin-top: -13%;}
    section#top_about h2 img.line03 {width: 4.5%;margin-bottom: 0.1em;}
    section#top_staff h2 img.line03 {width: 17%;}
    section#top_staff {padding-bottom: 5em;}
    section#top_staff div.right {width: 37%;padding-right: 2%;}
    section#top_staff a.more {width: 119%;}
    section#top_recruit .flex .item {padding: 1.25em 0 2em 0;}
    section#message img.right_cow,
    section#message img.left_cow {top: 14.5%;}
    section#message img.right_cow2,
    section#message img.left_cow2 {top: 19.5%;}
    section#shibecha img.left_cow, section#shibecha img.right_cow {width: 25%;}
    section#about_us img.milk {top: 35.5%;width: 26%;}
	section#about_us img.meat {top: 37.5%;width: 28%;} 
    section#recycling img.left_cow, section#recycling img.right_cow{width: 25%;}
	section#message img.right_cow, section#message img.left_cow,
    section#message img.right_cow2, section#message img.left_cow2 {
		width: 28%;
	}	
}
@media (min-width: 1223px) and (max-width: 1480px) {
    section#top_recruit .img_box,
    section#requirement .img_box {width: 85%;}
    section#top_about h2 {margin-top: -12%;}
    h2.ttl, h3.ttl {font-size: 5.7em;}
    section#top_about .text_box p,
    section#top_staff .text_box p,
    section#top_recruit .img_box p {font-size: 1em;line-height: 1.8;}
    section#top_about {padding-bottom: 4em;}
    section#top_about h2 img.line03 {width: 5.5%;margin-bottom: 0.1em;}
    section#top_staff h2 img.line03 {width: 19%;}
    section#top_recruit h2 img.line04,
    section#top_recruit h2 img.line05 {margin-bottom: 0.125em;}
    section#requirement h2 img.line04,
    section#requirement h2 img.line05 {margin-bottom: 0.125em;}
    section#top_staff a.more {width: 100%;}
    section#message img.right_cow,
    section#message img.left_cow {top: 9%;}
    section#shibecha img.left_cow, section#shibecha img.right_cow {width: 25%;}		
	section#message img.right_cow, section#message img.left_cow,
    section#message img.right_cow2, section#message img.left_cow2 {
		width: 28%;
	}
    section#about_us img.milk {top: 35.5%;width: 26%;}
	section#about_us img.meat {top: 37%;width: 30%;} 
}
@media (min-width: 1481px) and (max-width: 1780px) {
    section#top_recruit .img_box,
    section#requirement .img_box {width: 90%;}
    section#shibecha img.left_cow,section#shibecha img.right_cow {top: 21%;}
	section#message img.right_cow, section#message img.left_cow,
    section#message img.right_cow2, section#message img.left_cow2 {
		width: 30%;
	}
section#about_us img.meat {
    top: 28%;
    width: 30%;
}	
}
/*************** IE *********************************************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
footer#footer ul li:nth-of-type(5n) {
    margin-right: 0;	
}
}