@charset "UTF-8";
/**
 * 会社概要ページ用スタイル
 * 
 * スコープ: .mf-scope-company
 * BEM命名規則に従い、mf-接頭辞を使用
 */
/**
 * 変数定義
 * テーマ全体で使用する色、フォント、サイズなどの変数を定義
 */
/**
 * ミックスイン定義
 * 再利用可能なスタイルパターンを定義
 */
.partners {
  margin-top: 80px;
  margin-bottom: 130px;
}
@media (max-width: 768px) {
  .partners {
    margin-top: min(12vw, 90px);
    margin-bottom: min(25.3333333333vw, 190px);
  }
}
.partners__header {
  text-align: center;
}
.partners__heart {
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .partners__heart {
    margin-bottom: min(4vw, 30px);
  }
}
.partners__title {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 50px;
}
@media (max-width: 768px) {
  .partners__title {
    font-size: min(8vw, 60px);
    line-height: 1.6666666667;
  }
}
.partners__layout {
  width: 1040px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px;
  display: flex;
  justify-content: flex-start;
  column-gap: 100px;
  row-gap: 70px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .partners__layout {
    width: 100%;
    margin-top: min(6.6666666667vw, 50px);
    flex-direction: column;
    row-gap: min(16vw, 120px);
    align-content: center;
  }
}
.partners__card {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 470px;
}
@media (max-width: 768px) {
  .partners__card {
    width: min(88vw, 660px);
  }
}
.partners__card--deco1::before {
  content: "";
  width: 197px;
  height: 241px;
  background-image: url(/wp-content/themes/mori-farm/assets/img/top/partners_deco_01.png);
  position: absolute;
  top: -190px;
  left: -200px;
  z-index: 1;
}
@media (max-width: 768px) {
  .partners__card--deco1::before {
    width: min(16.6666666667vw, 125px);
    height: min(12vw, 90px);
    background-image: url(/wp-content/themes/mori-farm/assets/img/top/sp/partners_deco_01.png);
    background-size: 100% auto;
    position: absolute;
    top: -14vw;
    left: -7vw;
  }
}
.partners__card--deco1::after {
  content: "";
  width: 125px;
  height: 251px;
  background-image: url(/wp-content/themes/mori-farm/assets/img/top/partners_deco_02.png);
  position: absolute;
  top: 190px;
  left: -210px;
  z-index: 1;
}
.partners__card--deco2::before {
  content: "";
  width: 161px;
  height: 285px;
  background-image: url(/wp-content/themes/mori-farm/assets/img/top/partners_deco_03.png);
  position: absolute;
  top: -205px;
  right: -220px;
  z-index: 1;
}
.partners__card--deco2::after {
  content: "";
  width: 75px;
  height: 157px;
  background-image: url(/wp-content/themes/mori-farm/assets/img/top/partners_deco_04.png);
  position: absolute;
  top: 255px;
  right: -215px;
  z-index: 1;
}
.partners__card-image {
  order: 1;
  line-height: 1;
  text-align: center;
}
.partners__card-text {
  order: 3;
  margin-top: 20px;
  text-align: center;
  font-size: 21px;
  line-height: 2;
}
@media (max-width: 768px) {
  .partners__card-text {
    order: 2;
    font-size: 3.8vw;
    margin-top: min(5.3333333333vw, 40px);
  }
}
.partners__card-button {
  order: 2;
  width: 350px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .partners__card-button {
    order: 3;
    margin-top: min(5.3333333333vw, 40px);
    width: min(74.6666666667vw, 560px);
  }
}

.mf-scope-company {
  padding-top: 30px;
  padding-bottom: 160px;
  background-color: #f2eee9;
  overflow: hidden;
}
@media (max-width: 768px) {
  .mf-scope-company {
    padding-bottom: min(21.3333333333vw, 160px);
  }
}
.mf-scope-company .mf-company-hero {
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-hero {
    width: min(93.3333333333vw, 700px);
  }
}
.mf-scope-company .mf-company-info {
  margin: 60px 0;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info {
    margin: min(12vw, 90px) 0;
    position: relative;
  }
  .mf-scope-company .mf-company-info::after {
    content: "";
    width: min(17.3333333333vw, 130px);
    height: min(33.8666666667vw, 254px);
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/sp/deco_img_01.png);
    background-size: 100% auto;
    position: absolute;
    right: -7vw;
    top: 48vw;
    z-index: 1;
  }
}
.mf-scope-company .mf-company-info__title {
  font-size: 50px;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info__title {
    font-size: min(8vw, 60px);
  }
}
@media (min-width: 769px) {
  .mf-scope-company .mf-company-info__title::before {
    content: "";
    width: 222px;
    height: 247px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_01.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    left: -282px;
    top: 35px;
  }
  .mf-scope-company .mf-company-info__title::after {
    content: "";
    width: 202px;
    height: 199px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_02.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    right: -280px;
    top: -40px;
  }
}
.mf-scope-company .mf-company-info__content {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 80px;
  background-color: #fff;
  border-radius: 20px;
  position: relative;
  z-index: 10;
}
@media (min-width: 769px) {
  .mf-scope-company .mf-company-info__content::before {
    content: "";
    width: 140px;
    height: 254px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_03.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    left: -282px;
    bottom: 160px;
  }
  .mf-scope-company .mf-company-info__content::after {
    content: "";
    width: 100px;
    height: 136px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_04.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    right: -280px;
    bottom: 360px;
  }
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info__content {
    margin-top: min(9.3333333333vw, 70px);
    padding: min(6.6666666667vw, 50px) min(5.3333333333vw, 40px);
  }
}
.mf-scope-company .mf-company-info__item {
  display: flex;
  align-items: center;
  padding: 30px 15px;
}
.mf-scope-company .mf-company-info__item + .mf-company-info__item {
  border-top: 1px solid #A5947E;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info__item {
    flex-direction: column;
    align-items: flex-start;
    padding: min(6.6666666667vw, 50px) min(2.6666666667vw, 20px);
    gap: 10px;
  }
}
.mf-scope-company .mf-company-info__term {
  width: 250px;
  font-size: 18px;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info__term {
    width: 100%;
    font-size: min(4.2666666667vw, 32px);
    font-weight: bold;
  }
}
.mf-scope-company .mf-company-info__desc {
  flex: 1;
  font-size: 18px;
  line-height: 1.7777777778;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-info__desc {
    font-size: min(4vw, 30px);
  }
}
.mf-scope-company .mf-company-info__basic {
  position: relative;
  z-index: 10;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map {
    margin: min(29.3333333333vw, 220px) 0;
  }
}
.mf-scope-company .mf-company-map .mf-container {
  position: relative;
}
.mf-scope-company .mf-company-map__title {
  font-size: 50px;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map__title {
    font-size: min(8vw, 60px);
  }
}
@media (min-width: 769px) {
  .mf-scope-company .mf-company-map__title::before {
    content: "";
    width: 268px;
    height: 246px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_05.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    left: -288px;
    top: 100px;
  }
  .mf-scope-company .mf-company-map__title::after {
    content: "";
    width: 262px;
    height: 247px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_06.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    right: -280px;
    top: -300px;
  }
}
.mf-scope-company .mf-company-map__content {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) {
  .mf-scope-company .mf-company-map__content::before {
    content: "";
    width: 73px;
    height: 135px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_07.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    left: -282px;
    bottom: -40px;
  }
  .mf-scope-company .mf-company-map__content::after {
    content: "";
    width: 142px;
    height: 229px;
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/deco_img_08.png);
    background-size: 100% auto;
    z-index: 1;
    position: absolute;
    right: -280px;
    bottom: 20px;
  }
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map__content::before {
    content: "";
    width: min(9.7333333333vw, 73px);
    height: min(18vw, 135px);
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/sp/deco_img_02.png);
    background-size: 100% auto;
    position: absolute;
    left: -3.4vw;
    top: -29vw;
    z-index: 1;
  }
  .mf-scope-company .mf-company-map__content::after {
    content: "";
    width: min(18.8vw, 141px);
    height: min(33.8666666667vw, 254px);
    background-image: url(/wp-content/themes/mori-farm/assets/img/company/sp/deco_img_03.png);
    background-size: 100% auto;
    position: absolute;
    left: -6vw;
    bottom: -58vw;
    z-index: 1;
  }
}
.mf-scope-company .mf-company-map__link {
  position: absolute;
  right: 0;
  top: -40px;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map__link {
    width: 25vw;
    top: -10vw;
  }
}
.mf-scope-company .mf-company-map__link:hover {
  opacity: 0.7;
}
.mf-scope-company .mf-company-map__embed {
  width: 100%;
  margin-top: 30px;
  padding: 10px;
  background: #fff;
  overflow: hidden;
  border-radius: 8px;
  position: relative;
  line-height: 0;
}
.mf-scope-company .mf-company-map__embed iframe {
  width: 100%;
  border-radius: 10px;
  border: none;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map__embed {
    margin-top: min(14.6666666667vw, 110px);
  }
}
.mf-scope-company .mf-company-map__btn {
  width: 350px;
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-company-map__btn {
    margin-top: min(13.3333333333vw, 100px);
  }
}
.mf-scope-company .mf-container {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .mf-scope-company .mf-container {
    width: min(93.3333333333vw, 700px);
  }
}
.mf-scope-company a:focus-visible,
.mf-scope-company button:focus-visible {
  outline: 2px solid #3a5f47;
  outline-offset: 2px;
}

/* ==========================================================================
 * アニメーション用スタイル
 * ========================================================================== */

/* ぴこぴこアニメーション用キーフレーム */
@keyframes mf-company-bounce {
  0% {
    transform: scale(1) rotate(0deg);
    filter: brightness(1) drop-shadow(0 0 0 rgba(244, 208, 63, 0));
  }
  15% {
    transform: scale(1.1) rotate(2deg);
    filter: brightness(1.05) drop-shadow(0 0 3px rgba(244, 208, 63, 0.1));
  }
  30% {
    transform: scale(0.95) rotate(-1deg);
    filter: brightness(1.08) drop-shadow(0 0 4px rgba(244, 208, 63, 0.15));
  }
  45% {
    transform: scale(1.05) rotate(1deg);
    filter: brightness(1.12) drop-shadow(0 0 6px rgba(244, 208, 63, 0.25));
  }
  60% {
    transform: scale(0.98) rotate(-0.5deg);
    filter: brightness(1.06) drop-shadow(0 0 3px rgba(244, 208, 63, 0.1));
  }
  75% {
    transform: scale(1.02) rotate(0.5deg);
    filter: brightness(1.03) drop-shadow(0 0 2px rgba(244, 208, 63, 0.05));
  }
  100% {
    transform: scale(1) rotate(0deg);
    filter: brightness(1) drop-shadow(0 0 0 rgba(244, 208, 63, 0));
  }
}

/* アニメーション実行時のクラス */
.mf-scope-company .mf-company-map__link--animate.mf-company-map__link--bounce {
  animation: mf-company-bounce 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  animation-iteration-count: 2;
  animation-fill-mode: both;
}

.mf-scope-company .mf-company-map__link--animate.mf-company-map__link--bounce img {
  animation: mf-company-bounce 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  animation-iteration-count: 2;
}

/*# sourceMappingURL=company.css.map */
