@charset "UTF-8";
/* 秩父フードクリエイツ　スタイルシート */
@import url("https://fonts.googleapis.com/css2?family=Satisfy&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap");
/* コンポーネント */
a,
a:hover {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

a.under::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: rgb(225, 104, 104);
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}

a.under:hover::after {
  transform: scale(1, 1);
}

.box_corp a {
  color: rgb(250, 255, 180);
}

body {
  font-family: "Kosugi Maru", sans-serif;
}

section h2 {
  font-size: 28px;
  font-weight: normal;
  text-align: center;
}

h2 {
  font-family: "Kosugi Maru", sans-serif;
}
h2 span {
  display: block;
  font-size: 22px;
  font-family: "Satisfy", cursive;
  margin-top: 14px;
}

ul {
  padding-left: 0;
}

/* グリッド */
@media screen and (min-width: 769px) {
  .col2 li {
    width: 45%;
    padding: 0 2%;
    vertical-align: top;
  }
}

@media screen and (min-width: 769px) {
  .col4 li {
    display: inline-block;
    width: 21%;
    padding: 0 2%;
    margin-bottom: 0;
    vertical-align: top;
  }
}

/* ヘッダ */
#header {
  background-image: url("../images/bg_main2.jpg");
  background-position: center;
  background-size: cover;
}

div.panel {
  position: relative;
  /*height: 100px;*/
}

div#logo {
  position: absolute;
  left: 30px;
  top: 0;
  height: 100%;
  width: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}
div#logo a {
  display: inline;
}
div#logo img {
  height: 100%;
}

@media only screen and (min-width: 768px) {
  #mainnav.changeNav {
    background: none;
    border-bottom: none;
    transition: all 0.5s ease 0s;
  }
  #mainnav.changeNav:hover {
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.5s ease 0s;
  }
}
#mainnav ul {
  transition: all 0.5s ease 0s;
}
#mainnav p {
  transition: all 0.5s ease 0s;
  margin-bottom: 0;
}
#mainnav div {
  transition: all 0.5s ease 0s;
}

.changeNav p {
  margin-bottom: 0;
}
.changeNav ul {
  margin-bottom: 0;
}

#mainnav.changeNav ul.nav-pc {
  padding-right: 100px;
}

#mainnav.changeNav div#logo {
  padding-left: 100px;
}

#menuBtn,
#menuBtn::before,
#menuBtn::after {
  background-color: #666;
}

/* ヒーローエリア */
@media screen and (min-width: 769px) {
  #header #slogan img {
    height: 200px;
    max-width: 90%;
    top: calc(50% - 100px);
  }
}
@media screen and (max-width: 768px) {
  #header #slogan img {
    width: 90%;
  }
}

#header .inner {
  position: absolute;
  /*子要素をabusoluteに*/
  width: 30%;
  height: auto;
  text-align: center;
  color: #fff;
  top: 50%;
  /*親のtopから50%*/
  left: 50%;
  /*親のleftから50%*/
  transform: translateY(-50%) translateX(-50%);
  /*子要素自体の大きさを考慮*/
  margin: 0;
  /*margin:0を入れる*/
  padding: 10px 0;
  /*左右のpaddingを0にする*/
}
@media screen and (max-width: 768px) {
  #header .inner {
    width: 80%;
  }
}

/* END ヒーローエリア */
/* コンテンツ */
@media screen and (max-width: 768px) {
  #menuWrap {
    background-color: rgba(255, 255, 255, 0.7);
  }
  #menuWrap .sp-logo {
    height: 60px;
    position: absolute;
    left: 0;
    top: 0;
  }
  #menuWrap .sp-logo img {
    height: 100%;
  }
}

#mainnav {
  position: sticky;
}
@media screen and (min-width: 769px) {
  #mainnav li {
    padding-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  #mainnav {
    position: sticky;
  }
}

#slogan h1 {
  font-size: 48px;
  font-family: "Satisfy", cursive;
}
@media screen and (max-width: 768px) {
  #slogan h1 {
    font-size: 36px;
  }
}

#header img {
  position: absolute;
  left: 50%;
  width: 1470px;
  height: 600px;
  margin-left: -735px;
}

.vision {
  margin: 0 auto;
  padding-bottom: 80px;
}
@media screen and (min-width: 769px) {
  .vision {
    width: 60%;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .vision {
    width: 80%;
  }
}

#sec04 {
  background: url(../images/bg_02.jpg) no-repeat 100% 100% fixed;
}
#sec04 dt {
  border-bottom: 1px dotted #ffffff;
}
@media screen and (max-width: 768px) {
  #sec04 dt {
    border-bottom: 1px solid #ffffff;
  }
}

#footer {
  padding: 20px;
}
@media screen and (min-width: 769px) {
  #footer {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #footer {
    font-size: 12px;
  }
}
#footer a {
  text-decoration: none;
  color: darkgreen;
}
#footer a:hover {
  color: darkkhaki;
}

/* アニメーション */
.box_anime {
  transition: all 2s;
  opacity: 0;
}

.box_anime.rightside {
  transform: translateX(20%);
}

.box_anime.leftside {
  transform: translateX(-20%);
}

.box_anime.verti {
  transform: translateY(25%);
}

.box_anime.show {
  transform: translateX(0);
  opacity: 1;
}

.box_anime h2 {
  font-size: 40px;
}

.text-wavy {
  -webkit-text-decoration: underline wavy rgb(251, 162, 162);
          text-decoration: underline wavy rgb(251, 162, 162);
}/*# sourceMappingURL=custom.css.map */