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

body {
	font-size:12px;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.left {
	float: none;
}
.right {
	float: none;
}
.flex {
	display: block;
}
.half {
    width: 100%;
}
#google_translate_element {
    top: 7em;
    right: 3vw;
    z-index: 10;
}
#spnav {
    position: absolute;
    right: 3vw;
    top: 1.25em;
    z-index: 1000;
}
#spnav a span {
    display: block;
}
#menu_button {
    font-size: 2.833em;
}
header#header h1 {
    margin-top: 1%;
    width: 92%;
}
header#header h1 a {
    font-size: 0.66em;
    text-align: left;
    float: left;
}
header#header h1 img {
    float: left;
    width: 14%;
}
header#header h1 .ttl2{
    font-size: 0.6em;
}
header#header {
    padding: 1.25em 0 2em 0;
    position: relative;
    z-index: 999;
}
#nav {
    display: none;
    width: 100%;
}
header#header ul li {
    display: block;
    margin-right: auto;
    width: 8em;
    margin-left: auto;
    text-align: center;
}
header#header .nav_box {
    width: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
    background-color: #FFF;
}
header#header ul {
    padding: 8em 0 1em 0;
    margin: 0;
}
header#header ul li img {
    margin-top: 1em;
}
footer#footer {
    padding: 5% 0 6% 0;
}
footer#footer div.left {
    width: 100%;
}
footer#footer h3 {
    width: 65%;
    margin: 0 auto;
}
footer#footer h3 img {
    margin-bottom: 7%;
    margin-top: 7%;
}
footer#footer p.address {
    text-align: center;
    font-size: 1.250em;
    line-height: 1.7;
}
footer#footer div.right {
    width: 23.5em;
    text-align: left;
    margin: 0 auto;
}
footer#footer ul li {
    margin-top: 3%;
}
footer#footer div.right ul li a {
    font-size: 1.167em;
}
footer#footer p.copy {
    margin-top: 8%;
}
footer h3 img {
    width: 15%;
}
/**********************************common**********************************/
div.bg_ol div.left h2 {
    font-size: 2.5em;
    line-height: 1.5;
    margin-bottom: 3%;
    text-align: left;
}
div.bg_ol div.left h2 img {
    float: left;
    width: 1.75em;
    margin-top: 0.25em;
}
/***********************************top***********************************/
section#slide .swiper-wrapper p.p01 {
    font-size: 1.25em;
}
section#slide .swiper-wrapper p.p02 {
    font-size: 1.5em;
}
section#slide .swiper-wrapper p.p01 img {
    width: 8%;
}
#slide {
    position: relative;
}
#slide p.p_1,
#slide p.p_2 {
    font-size: 3.2vw;
}
#slide p.p_1 {
    left: 0;
    bottom: 15vw;
}
#slide p.p_2 {
    left: 0;
    bottom: 3.5vw;
}
#slide img.hokkaido {
    right: 4%;
    bottom: 12vw;
    width: 26%;
}
section#top_about .flex a {
    padding: 15.5% 0;
    width: 96%;
    margin-bottom: 1em;
}
#slide img.line1 {
    top: -0.75em;
    left: 4%;
    z-index: 1;
    max-width: 324px;
    width: 50%;
}
#slide img.line2 {
    right: 0.5%;
    bottom: 7%;
    z-index: 12;
    max-width: 30px;
    width: 5%;
}
section#top_about p.fcgre {
    font-size: 1.25em;
    text-align: center;
}
section#top_about .inner {
    background-repeat: repeat;
    background-size: 150%;
    width: 100%;
}
section#middle .inner {
    background-position: top center;
    background-repeat: repeat;
    background-size: 150%;
    width: 100%;
}
section#middle h2 img, section#top_about h2 img {
    float: left;
    width: 1.75em;
}

section#top_about h2 img {
    margin-top: 0.5em;
    margin-right: 0.5em;
    width: 1.75em;
}
section#middle h2, section#top_about h2 {
    font-size: 2.5em;
    line-height: 1.5;
    margin-bottom: 8%;
    text-align: left;
}
section#top_about h2 {
    width: 7em;
    margin: 0 auto 1em auto;
}
section#middle .left.fo h2 {
    width: 5.6em;
    margin: 0 auto 1em auto;
    line-height: 1.5;
}
section#middle .left.fo h2 img {
    margin-top: 0.6em;
    margin-right: 0.45em;
}
section#middle .right.fo h2 {
    width: 6em;
    margin: 0 auto 1em auto;
    line-height: 1.5;
}
section#middle .right.fo h2 img {
    margin-top: 0.6em;
    margin-right: 0.45em;
    width: 1em;
}
section#top_about img.cow1,
section#top_about img.cow2 {
    top: 6em;
    width: 6.5em;
}
section#middle {
    padding: 7% 0 5% 0;
}
section#middle .middle_inner {
    margin-top: 2%;
    padding-top: 1.5%;
    width: 96%;
}
section#middle img.cow3 {
    top: 1em;
    width: 6.5em;
    left: 2%;
}
section#middle img.cow4 {
    top: 1em;
    width: 6.5em;
    right: 2%;
    bottom: unset;
}
section#middle div.left.fo, 
section#middle div.right.so,
section#middle div.right.fo, 
section#middle div.left.so{
    width: 100%;
}
section#middle a {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
}
section#middle p {
    width: 100%;
}
div.bg_ol .left h2 {
    width: 7em;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    display: block;
}
div.bg_ol div.left {
    width: 100%;
    text-align: center;
}
div.bg_ol .right {
    width: 100%;
}
div.bg_ol .right .flex a {
    width: 17em;
    padding: 3% 0;
    font-size: 1.25em;
    display: block;
    margin: 1em auto;
}
div.bg_ol .left h2 img {
    width: 1.5em;
    margin-top: 0.25em;
}
section#middle a {
    width: 10em;
}
section#top_about .flex p {
    width: 10em;
    padding: 0.5em 0;
    font-size: 1.25em;
}
div.bg_ol {
    padding: 4.5% 5% 2.5% 5%;
}
section#top_other .sum {
    width: 100%;
    margin: 6vw auto;
}
section#top_other a.gallery_bnr img {
    height: 350px;
}
section#top_other .cow3 {
	top: -8em;
    width: 6.5em;
    left: 2%;
}
/*********************************about********************************/
#town {
    background-image: url(../img/about/bg1.jpg);
    background-position: top 2% center;
    background-repeat: repeat;
    background-size: 140%;
    padding: 5% 0 0 0;
}
#town img.cow1 {
    top: 1em;
    left: 2%;
}
#town img.cow2 {
    top: 1em;
    right: 2%;
}
section#town h3 span,
section#concept h3 span,
section#company h3 span {
    font-size: 1.25em;
}
#town h4.fcgre,
#concept h4.fcgre {
    font-size: 1.125em;
}
#company div.c_img img,
#town img.half {
    margin-top: 1em;
}
#concept {
    background-size: 300%;
}
#concept .flex1 div {
    width: 70%;
    margin: 2em auto 4em auto;
}
#concept .flex2 div {
    background-color: rgba(240, 240, 240, 0.8);
    width: 80%;
    margin: 2em auto;
}
#company img.cow1 {
    top: 2em;
    left: 12%;
    width: 19%;
}
#company img.cow2 {
    top: 2em;
    right: 12%;
    width: 19%;
}
#company .line4,
#concept .line4 {
    margin-bottom: 9%;
}
#company dl dt {
    width: 5em;
    padding-left: 1em;
    padding-right: 0;
}
#company dl dd {
    padding-left: 1.5em;
    padding-right: 0.5em;
}
#company div.map iframe {
    height: 250px;
}
#company {
    background-repeat: no-repeat ,repeat;
    background-size: 100% ,150%;
}
p.ceo_name {
    font-size: 1.167em;
    margin-bottom: 3em;
}
/*********************************staff********************************/
#top_img.staff_top {
    background-image: url(../img/staff/top_sp.jpg);
}
section#staff div.bg_be {
    max-width: 322px;
    width: 100%;
    padding: 9% 0;
    margin-top: 13%;
    margin-right: auto;
    margin-left: auto;
}
section#staff div.bg_be .name_box {
    bottom: 4em;
}
section#staff div.bg_be:nth-of-type(4n) {
    margin-right: auto;
}

section#staff div.bg_ol {
    padding: 4.5% 5% 2.5% 5%;
}
/*********************************gallery*********************************/
#top_img.gallery_top {
    background-image: url(../img/gallery/top_sp.jpg);
    background-position: left 11% top;
}
section#gallery {
    background-repeat: no-repeat, repeat;
}
section#gallery .inner img.gallery_cow1 {
    top: 4em;
    left: 3%;
    width: 23vw;
}
section#gallery .inner img.gallery_cow2 {
    top: 4em;
    right: 3%;
    width: 23vw;
}
section#gallery .middle_inner div.photo a {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 3.5%;
}
section#gallery .middle_inner div.photo a:nth-of-type(2n) {
    margin-right: 0;
}
section#gallery div.movie {
  width: 80%;
  margin: 2.2em auto 0 auto;
  float: none;
}
/*********************************recruit*********************************/
section#message h3 span, section#voice h3 span, section#requirements h3 span {
    font-size: 1.25em;
}
#message h4.fcgre {
    font-size: 1em;
}
#message img.cow1,
#message img.cow2 {
    top: 2em;
    width: 26%;
}
#message .inner {
    background-image: none;
}
#message {
    background-image: url(../img/recruit/bg1.jpg);
    background-position: top center;
    background-repeat: repeat;
    background-size: 146%;
}
#voice .staff1 div.left,
#voice .staff1 div.right,
#voice .staff2 div.left,
#voice .staff2 div.right {
    width: 100%;
}
#voice .staff2 .right {
    padding-left: 0;
}
#voice .staff1 dl dd, #voice .staff2 dl dd {
    padding-right: 0;
}
#voice .staff1 h4,
#voice .staff2 h4 {
    text-align: center;
    margin-top: 9%;
}
#voice img.staff_img {
    margin-top: 2em;
}
#voice .staff1 dl dt, #voice .staff2 dl dt {
    width: 2.5em;
}
#voice .staff1 dl.question dd, #voice .staff2 dl.question dd {
    font-size: 1.25em;
}
#voice .staff1 dl.question.q_2 {
    margin-top: 1.5em;
}
#requirements dl dt {
    width: 4em;
    padding-left: 1em;
    padding-right: 0;
}
#requirements dl dd {
    padding-left: 1.5em;
    padding-right: 0.5em;
}
#requirements div.heading.pr img.left {
    width: 100%;
    display: block;
    margin: 0 auto 1em auto;
}
#requirements img.cow3,
#requirements img.cow4 {
    top: 1em;
}
#requirements {
    background-position: bottom center, top center;
    background-repeat: no-repeat, repeat;
    background-size: 100%, 150%;
    padding-bottom: 17%;
    padding-top: 6%;
    margin-top: -6px;
}
#requirements .s_inner {
    margin-top: 7.5%;
}
#requirements .line4 {
    margin: 1% auto 9% auto;
}
#message .line4 {
    margin: 2% auto 8% auto;
}
#voice {
    background-position: top 7% right;
    background-repeat: repeat;
    background-size: 123%;
}
#message p.name {
    font-size: 1.167em;
    margin-top: 2em;
}
section#recruit_schedule {
	padding: 5em 0 3em 0; margin-top: 3em;
}
section#recruit_schedule h5.schedule_ttl {
    font-size: 1.3em;
    padding: 0.5em 0.5em;
    position: relative;
    top: -2.6em;
	width:96%;
}
section#recruit_schedule dl.recruit_movie_box {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 4em;
}
section#recruit_schedule dl.recruit_movie_box:nth-of-type(3) {
    margin: 0 auto;
    padding-bottom: 0em;
}
section#recruit_schedule img.schedule_line_img {
	padding: 3em 0 4em 0;
}
/*********************************contact*********************************/
img.line1 {
    top: -0.5em;
    width: 27vw;
}
img.line2 {
    width: 2vw;
}
#top_img img.center {
    width: 12%;
}
#top_img h2 {
    font-size: 1.125em;
    margin-top: 0.5em;
}
#top_img h2 span {
    font-size: 1.8em;
}
.line4 {
    margin: 3% auto 5% auto;
    max-width: 167px;
    width: 29%;
}
section#contact {
    padding-bottom: 16%;
    padding-top: 9%;
}
.contact_top {
    padding: 11% 0 5% 0;
}
section#contact h3 span {
    font-size: 1.125em;
}
section#contact h4 {
    text-align: left;
}
/*********************************footer*********************************/
footer div.left {
    width: 100%;
    float: none;
    position: relative;
}
footer .logo2_box{
    width: 100%;
    margin-top: 2em;
}
footer .logo_2{
    margin: auto;
    display: block;
}
footer div.left h3,
footer div.left p {
    text-align: center;
}
footer div.right {
    width: 96%;
    padding-left: 1em;
    box-sizing: border-box;
}
footer ul li.f_menu1,
footer ul li.f_menu2,
footer ul li.f_menu3,
footer ul li.f_menu4,
footer ul li.f_menu5,
footer ul li.f_menu6 {
    width: 100%;
    margin-bottom: 0.5em;
}
footer ul li.f_menu7{
    position: absolute;
    bottom: 0em;
    right: 0em;
}
footer ul li a {
    font-size: 1.25em;
}
footer ul li ul li {
    width: 100%;
    padding-left: 0.5em;
    font-size: 0.875em;
}
footer ul li ul {
    margin: 0.5em 0 0.5em 0;
}
/*************************************************************************/
@media (min-width: 376px) and (max-width: 499px) {}
/*************************************************************************/
@media (min-width: 500px) and (max-width: 650px) {}
/*************************************************************************/
@media (min-width: 651px) and (max-width: 767px) {}
/*********************************IE*************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}