@charset "UTF-8";
/* ページャー */
/*=====================================================
	home
=====================================================*/
:where(body.home) {
  text-align: left;
  /* ヒーロービジュアル
* -------------------------------------------------- */
  /* ニュース
* -------------------------------------------------- */
  /* ピックアップ
* -------------------------------------------------- */
  /* バナー
* -------------------------------------------------- */
  /* ページ下部コラム
	* -------------------------------------------------- */
}

:where(body.home) main * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where(body.home) main p, :where(body.home) main ul {
  margin: 0;
}

:where(body.home) main li {
  list-style: none;
}

:where(body.home) main a:visited {
  color: #000;
}

:where(body.home) .hero {
  position: relative;
}

:where(body.home) .hero_inner {
  position: absolute;
  inset: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  height: 100%;
}

:where(body.home) .heroCatch {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 590px;
  min-height: 300px;
  margin-bottom: 20px;
  z-index: 1;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

:where(body.home) .heroCatch_title {
  font-weight: 700;
  font-size: 32px;
}

:where(body.home) .heroCatch_title span {
  font-size: 0.875em;
}

:where(body.home) .heroCatch_text {
  margin-top: 20px;
  line-height: 2;
  font-weight: 700;
  font-size: 16px;
}

:where(body.home) .hero_img img {
  width: 100%;
}

@media only screen and (max-width: 568px) {
  :where(body.home) .hero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  :where(body.home) .hero_inner {
    position: static;
    background-color: #F4EFE4;
  }
  :where(body.home) .hero_img picture {
    display: block;
    height: 100%;
  }
  :where(body.home) .hero_img img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  :where(body.home) .heroCatch {
    position: static;
    min-height: auto;
    max-width: 100%;
    -webkit-transform: none;
            transform: none;
  }
  :where(body.home) .heroCatch_title {
    font-size: 20px;
  }
  :where(body.home) .heroCatch_text {
    font-size: 14px;
  }
}

:where(body.home) .news {
  max-width: 1000px;
  margin: 60px auto 0;
  padding: 0 10px;
}

:where(body.home) .news_hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

:where(body.home) .news_title {
  line-height: 1;
  font-family: "Noto Serif JP";
  font-size: 40px;
  font-weight: 700;
}

:where(body.home) .newsList {
  display: -ms-grid;
  display: grid;
  gap: 20px;
  margin-top: 20px;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}

:where(body.home) .newsList_item a {
  height: 100%;
  row-gap: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 20px;
  border-radius: 10px;
  border: 1px solid #DFDFDF;
  color: #000;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

:where(body.home) .newsList_item a:hover {
  background-color: #F2F2F2;
}

:where(body.home) .newsList_date {
  margin-top: 8px;
}

:where(body.home) .newsList_title {
  margin-top: 8px;
  line-height: 1.8;
}

:where(body.home) .newsList_body {
  width: 100%;
}

:where(body.home) .newsList_img {
  width: 100%;
}

:where(body.home) .newsList_img img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 176px;
  width: 100%;
}

:where(body.home) .newsList_category {
  display: inline-block;
  padding: 8px 20px;
  border-radius: 4px;
  font-weight: 500;
  color: #fff;
  background-color: #e94729;
}

:where(body.home) .newsList_btn {
  text-align: center;
  margin-top: 20px;
}

:where(body.home) .newsList_btn a {
  display: block;
  max-width: 320px;
  border-radius: 8px;
  border: 1px solid #555;
  margin: 0 auto;
  color: #555;
  padding: 20px 40px;
  -webkit-transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

:where(body.home) .newsList_btn a:hover {
  background-color: #e94729;
  color: #fff;
  border-color: #e94729;
}

@media only screen and (max-width: 568px) {
  :where(body.home) .news_hgroup {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  :where(body.home) .news_title {
    font-size: 32px;
  }
  :where(body.home) .news_subtitle {
    font-size: 14px;
  }
  :where(body.home) .newsList {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  :where(body.home) .newsList_item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
  }
  :where(body.home) .newsList_img {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  :where(body.home) .newsList_img img {
    height: auto;
  }
  :where(body.home) .newsList_category {
    font-size: 14px;
  }
  :where(body.home) .newsList_date, :where(body.home) .newsList_title {
    font-size: 16px;
  }
  :where(body.home) .newsList_btn a {
    font-size: 16px;
    padding: 20px;
  }
}

:where(body.home) .pickup {
  max-width: 1000px;
  margin: 144px auto 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

:where(body.home) .pickup_section {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  row-gap: 10px;
      grid-template-areas: "img" "body";
}

:where(body.home) .pickup_section a {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: body;
  row-gap: 20px;
  color: #000;
}

:where(body.home) .pickup_section a:hover .pickupItem {
  border-color: #e94729;
}

:where(body.home) .pickup_section a:hover .pickupItem_btn {
  background-color: #e94729;
  color: #fff;
  border-color: #e94729;
}

:where(body.home) .pickup_img {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: img;
  text-align: center;
}

:where(body.home) .pickupItem {
  height: 100%;
  border-radius: 24px;
  padding: 32px;
  border: 1px solid #C9C9C9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

:where(body.home) .pickupItem_hgroup {
  border-left: 2px solid #e94729;
  font-weight: 700;
  padding-left: 20px;
  color: #444;
}

:where(body.home) .pickupItem_heading {
  font-size: 22px;
}

:where(body.home) .pickupItem_text {
  margin-top: 20px;
  line-height: 2;
}

:where(body.home) .pickupItem_btnwrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: right;
  margin-top: 20px;
}

:where(body.home) .pickupItem_btn {
  border: 1px solid #555;
  border-radius: 8px;
  font-size: 16px;
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  -webkit-transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

@media only screen and (max-width: 568px) {
  :where(body.home) .pickup {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding-inline: 10px;
  }
  :where(body.home) .pickupItem_catch {
    font-size: 14px;
  }
  :where(body.home) .pickupItem_heading {
    font-size: 20px;
  }
  :where(body.home) .pickupItem_text {
    font-size: 16px;
  }
}

:where(body.home) .bnr {
  background: #F7F7F7;
  margin-top: 60px;
  padding: 40px 0;
}

:where(body.home) .bnr_inner {
  max-width: 1320px;
  margin: 0 auto;
}

:where(body.home) .bnrList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 60px;
  margin: 0 auto;
}

@media only screen and (max-width: 568px) {
  :where(body.home) .bnrList {
    row-gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  :where(body.home) .bnrList_item {
    max-width: 240px;
    margin-inline: auto;
  }
}

:where(body.home) .column_bnr {
  text-align: center;
  margin-top: 60px;
}

:where(body.home) .columnItem {
  margin: 20px auto 0;
  max-width: 700px;
  padding: 0 10px;
}

:where(body.home) .columnItem a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  color: #000;
  border-top: 1px solid #C9C9C9;
  border-bottom: 1px solid #C9C9C9;
  padding: 20px 8px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

:where(body.home) .columnItem a:hover {
  background-color: #F2F2F2;
}

:where(body.home) .columnItem_new {
  background-color: #FF9000;
  border-radius: 50%;
  width: 60px;
  color: #fff;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
  font-size: 16px;
  font-family: "Noto Serif JP";
  font-weight: 700;
}

:where(body.home) .columnItem_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  font-size: 16px;
}

:where(body.home) .columnItem_category {
  font-size: 16px;
  display: inline-block;
  padding: 8px 20px;
  border-radius: 4px;
  color: #fff;
}

:where(body.home) .columnItem_category.is-recipe {
  background-color: #00b0f0;
}

:where(body.home) .columnItem_category.is-speciality {
  background-color: #00b050;
}

:where(body.home) .columnItem_category.is-educe-shokuiku {
  background-color: #ed2f0c;
}

:where(body.home) .columnItem_category.is-child-care {
  background-color: #ff0066;
}

:where(body.home) .columnItem_category.is-shokuiku {
  background-color: #ff6633;
}

:where(body.home) .columnItem_category.is-food {
  background-color: #ff9924;
}

:where(body.home) .columnItem_category.is-allergy {
  background-color: #ff66ff;
}

:where(body.home) .columnItem_category.is-health {
  background-color: #ff6699;
}

:where(body.home) .columnItem_category.is-sports-nutrition {
  background-color: #4061ac;
}

:where(body.home) .columnItem_category.is-environment {
  background-color: #69b82d;
}

:where(body.home) .columnItem_category.is-sdgs {
  background-color: #69b82d;
}

:where(body.home) .columnItem_category.is-health-beauty {
  background-color: #5e43d3;
}

:where(body.home) .columnItem_category.is-ingredient {
  background-color: #d4af1c;
}

:where(body.home) .columnItem_title {
  line-height: 1.8;
  font-size: 16px;
  margin-top: 10px;
}

@media only screen and (max-width: 568px) {
  :where(body.home) .column_bnr {
    margin-top: 20px;
  }
}
