@charset "UTF-8";
p {
  line-height: 1.75;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", yugothic, "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
}

img {
  width: 100%;
}

section {
  position: relative;
}

.u-link-box img {
  transition: all 0.5s ease-in-out;
}
.u-link-box:hover img {
  transform: scale(1.1);
}

.u-no-wrap {
  white-space: nowrap;
}

.c-text-note--shokuiku {
  padding-left: 20px;
  text-indent: -20px;
}
.c-text-note--shokuiku:before {
  content: "※";
  margin-right: 4px;
}

.l-content a:hover img {
  opacity: 1;
}

@media (768px <= width) {
  .pcOnly {
    display: block;
  }
  .spOnly {
    display: none;
  }
  .miniSpOnly {
    display: none;
  }
}
@media (426px <= width <= 767px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
  .miniSpOnly {
    display: none;
  }
}
@media (width <= 425px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: none;
  }
  .miniSpOnly {
    display: block;
  }
}
.c-btn-link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 2px 16px 0px 16px;
  border-radius: 30px;
  border: 8px solid #E60012;
  box-sizing: border-box;
  background-color: #E60012;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
}
.c-btn-link span {
  overflow: hidden;
  /* 1つ目の影を隠す */
  color: transparent;
  text-shadow: 0 4em 0 rgba(255, 255, 255, 0), 0 0 0 rgb(255, 255, 255);
  transition: text-shadow 0.3s ease;
}
.c-btn-link:hover span {
  text-shadow: 0 0 0 rgb(255, 255, 255), 0 -4em 0 rgba(255, 255, 255, 0);
}

.c-btn-link.c-btn-blank {
  background-image: none;
  padding-right: 16px;
}
.c-btn-link.c-btn-blank span {
  position: relative;
  padding-right: 24px;
}
.c-btn-link.c-btn-blank span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("/sustainability/shokuiku/imgs/icon/icon-blank-white.svg");
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
}

.c-btn-anchorlink {
  display: inline-block;
  background-color: transparent;
  background-image: linear-gradient(to right, #E60012 0%, #E60012 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  font-family: "Noto Sans JP";
  color: #000000;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 500;
  padding: 8px 24px 8px 24px;
  border-radius: 30px;
  border: none;
  text-decoration: none;
  position: relative;
  transition: background-size 0.3s ease 0.1s, color 0.3s ease 0.1s;
  cursor: pointer;
}
.c-btn-anchorlink::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  margin-right: 8px;
  background-color: #E60012;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.c-btn-anchorlink:hover {
  background-size: 100% 100%;
  color: #ffffff;
}
.c-btn-anchorlink:hover::before {
  width: 16px;
  height: 16px;
  left: 4px;
}

.c-btn-accordion {
  position: relative;
}
.c-btn-accordion .accordion-icon {
  width: 16px;
  height: 16px;
  margin-left: 8px;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

.c-btn-accordion.c-btn-link {
  min-width: 80px;
  justify-content: space-between;
  padding: 2px 16px 2px 16px;
}

.shokuiku.accordion_one {
  max-width: 1024px;
  width: 100%;
  margin: 0 auto;
}

.shokuiku.accordion_one .accordion_header {
  text-align: left;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: all 0.3s ease;
}

.shokuiku.accordion_one .accordion_inner {
  display: none;
  padding: 0;
  transition: all 0.3s ease;
}
.shokuiku.accordion_one .accordion_inner .txt_a_ac {
  margin: 0;
}
.shokuiku.accordion_one .accordion_inner .txt_a_ac img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .shokuiku.accordion_one .accordion_header {
    font-size: 16px;
    text-align: left;
    padding: 0;
  }
}
.accordion_inner {
  display: none;
  max-width: 480px;
  padding-top: 32px;
  box-sizing: border-box;
}
.accordion_inner .box_one img {
  width: 100%;
  height: auto;
  display: block;
}

.shokuiku.accordion_one .accordion_header.open + .accordion_inner {
  display: block;
}

li a {
  position: relative;
  display: inline-block;
}
li a:hover .c-btn-arrow--white {
  background-color: #E60012;
}
li a:hover .c-btn-arrow--white::after {
  background-image: url("/sustainability/shokuiku/imgs/icon/icon-whitearrow-down.svg");
  animation: arrowScrollDown 0.6s forwards;
}
li .c-btn-arrow--white {
  display: inline-block;
  width: 32px;
  height: 32px;
  background-color: #ffffff;
  border: 1px solid #E60012;
  border-radius: 50%;
  box-sizing: border-box;
  position: absolute;
  right: 0;
  top: 14px;
  vertical-align: middle;
  margin-left: 8px;
  transition: transform 0.6s ease;
  transition: color 0.6s ease-in 0.3s;
  overflow: hidden;
}
li .c-btn-arrow--white::after {
  content: "";
  background-image: url("/sustainability/shokuiku/imgs/icon/icon-redarrow-down.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.1s ease-out;
}

@keyframes arrowScrollDown {
  0% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, 1px);
    opacity: 0;
  }
  51% {
    transform: translate(-50%, -100%);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
.c-btn-arrow__container a {
  position: relative;
  display: inline-block;
}
.c-btn-arrow__container a:hover .c-btn-arrow--red {
  transform: scale(1.1);
}
.c-btn-arrow__container a:hover .c-btn-arrow--red::after {
  animation: arrowScrollRight 0.3s forwards;
}
.c-btn-arrow__container .c-btn-arrow--red {
  display: inline-block;
  width: 64px;
  height: 64px;
  background-color: #E60012;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: middle;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn-arrow__container .c-btn-arrow--red {
    width: 32px;
    height: 32px;
  }
}
.c-btn-arrow__container .c-btn-arrow--red::after {
  content: "";
  background-image: url("/sustainability/shokuiku/imgs/icon/icon-whitearrow-right.svg");
  background-size: 24px 24px;
  background-repeat: no-repeat;
  background-position: center;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn-arrow__container .c-btn-arrow--red::after {
    width: 18px;
    height: 18px;
  }
}

.page-shokuiku .c-btn-arrow--red {
  position: absolute;
  right: 24px;
}
@media screen and (max-width: 767px) {
  .page-shokuiku .c-btn-arrow--red {
    position: relative;
    right: 0px;
  }
}

.page-learn .c-btn-arrow--red,
.page-cook .c-btn-arrow--red {
  position: absolute;
  bottom: 22px;
  right: 22px;
}
@media screen and (max-width: 767px) {
  .page-learn .c-btn-arrow--red,
  .page-cook .c-btn-arrow--red {
    width: 45px;
    height: 45px;
    bottom: 15px;
    right: 18px;
  }
}

@keyframes arrowScrollRight {
  0% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  50% {
    transform: translate(3px, -50%);
    opacity: 0;
  }
  51% {
    transform: translate(-100%, -50%);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
.u-anchorlink-location {
  position: absolute;
  top: -150px;
}
@media (max-width: 767px) {
  .u-anchorlink-location {
    top: -68px;
  }
}

.p-linkcard--shokuiku {
  width: 100%;
  background-color: #ffffff;
  border-radius: 30px;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku {
    border-radius: 20px;
    flex-direction: column-reverse;
  }
}
.p-linkcard--shokuiku:hover .p-linkcard__img img {
  transform: scale(1.1);
}
.p-linkcard--shokuiku:hover .p-linkcard__text--bold {
  color: #E60012;
}
.p-linkcard--shokuiku .p-linkcard__wrapper {
  display: flex;
  flex-direction: row;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__wrapper {
    flex-direction: column-reverse;
  }
}
.p-linkcard--shokuiku .p-linkcard__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 52%;
  padding: 43px 40px 43px 48px;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__info {
    width: 100%;
    padding: 20px;
  }
}
.p-linkcard--shokuiku .p-linkcard__info h2 {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__info h2 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
.p-linkcard--shokuiku .p-linkcard__text--bold {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__text--bold {
    font-size: 20px;
  }
}
.p-linkcard--shokuiku .p-linkcard__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__text {
    font-size: 16px;
  }
}
.p-linkcard--shokuiku .p-linkcard__img {
  position: relative;
  width: 50%;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-linkcard--shokuiku .p-linkcard__img {
    width: 100%;
  }
}
.p-linkcard--shokuiku .p-linkcard__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: all 0.3s ease;
}

.shokuiku-card-group--3col {
  margin-top: 48px;
}
.shokuiku-card-group--3col .shokuiku-card-group__list {
  display: flex;
  flex-wrap: wrap;
  gap: 64px 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item {
  flex: 0 1 calc((100% - 64px) / 3);
  min-width: 0;
  margin: 0;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item a {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item a:hover .shokuiku-card-group__img img {
  transform: scale(1.05);
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item a:hover .shokuiku-card-group__ttl {
  color: #E60012;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item a:hover .shokuiku-card-group__ttl.c-link-blank {
  opacity: 1;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__img {
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 18px;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 15px;
  transition: color 0.3s ease;
  position: relative;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__ttl.c-link-blank {
  padding-right: 20px;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__ttl.c-link-blank::after {
  width: 16px;
  height: 16px;
  display: inline-block;
  position: absolute;
  top: 6px;
  right: 0px;
}
.shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__txt {
  font-size: 14px;
  line-height: 1.75;
  color: #333;
}
@media screen and (max-width: 1440px) {
  .shokuiku-card-group--3col .shokuiku-card-group__list {
    gap: 64px calc(32px * (100vw - 1000px) / 440px);
  }
}
@media screen and (max-width: 1000px) {
  .shokuiku-card-group--3col .shokuiku-card-group__list {
    gap: 64px 24px;
  }
  .shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item {
    flex: 0 1 calc((100% - 24px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .shokuiku-card-group--3col {
    margin-top: 36px;
  }
  .shokuiku-card-group--3col .shokuiku-card-group__list {
    gap: 36px;
  }
  .shokuiku-card-group--3col .shokuiku-card-group__list .shokuiku-card-group__item {
    flex: 0 1 100%;
  }
  .shokuiku-card-group--3col .shokuiku-card-group__info .shokuiku-card-group__ttl {
    font-size: 20px;
  }
  .shokuiku-card-group--3col .shokuiku-card-group__info .shokuiku-card-group__txt {
    font-size: 13px;
  }
}

.shokuiku-card-group--2col {
  width: 100%;
  margin-top: -2px;
  margin-bottom: -2px;
}
@media screen and (max-width: 767px) {
  .shokuiku-card-group--2col {
    margin-top: -16px;
  }
}
.shokuiku-card-group--2col .shokuiku-card-group__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1240px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list {
    gap: calc(32px + 8 * (100vw - 1000px) / 240);
  }
}
@media screen and (max-width: 1000px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list {
    gap: 32px;
  }
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item {
  flex: 0 1 calc((100% - 40px) / 2);
  display: flex;
  flex-direction: row;
  gap: 32px;
}
@media screen and (max-width: 1240px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item {
    flex: 0 1 calc((100% - (32px + 8 * (100vw - 1000px) / 240)) / 2);
  }
}
@media screen and (max-width: 1000px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item {
    flex: 0 1 calc((100% - 32px) / 2);
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item {
    flex: 0 1 100%;
    gap: 16px;
  }
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__frame {
  flex-shrink: 0;
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__frame img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info {
  display: flex;
  flex-direction: column;
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__ttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
  flex: 1;
  text-align: left;
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info .shokuiku-card-group__text {
  margin-bottom: 16px;
  flex: 1;
  text-align: left;
}
.shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info a.c-btn-link {
  flex: 0 0 auto;
  align-self: flex-end;
  width: auto;
  text-align: right;
}
@media screen and (max-width: 1000px) {
  .shokuiku-card-group--2col .shokuiku-card-group__list .shokuiku-card-group__item .shokuiku-card-group__info a.c-btn-link {
    align-self: center;
    text-align: center;
  }
}

.shokuiku-cardlink-group--3col {
  max-width: 840px;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 32px;
  margin-bottom: 64px;
}
@media (max-width: 767px) {
  .shokuiku-cardlink-group--3col {
    padding: 0px;
    gap: 30px 16px;
    margin-bottom: 48px;
  }
}
.shokuiku-cardlink-group--3col a {
  max-width: 240px;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 767px) {
  .shokuiku-cardlink-group--3col a {
    width: calc((100% - 16px) / 2);
  }
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item .shokuiku-cardlink-group__frame {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item .shokuiku-cardlink-group__frame {
    margin-bottom: 10px;
  }
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item .shokuiku-cardlink-group__frame .shokuiku-cardlink-group__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item p {
  background-color: #FFE5BD;
  border-radius: 20px;
  padding: 6px 16px 6px 16px;
  font-size: 14px;
  text-align: center;
  line-height: 1.75;
  width: 100%;
  position: relative;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item p {
    padding: 6px 3px 6px 16px;
    font-size: 12px;
    text-align: left;
    line-height: 1.3;
    justify-content: flex-start;
  }
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item p::after {
  content: "";
  width: 24px;
  height: 24px;
  background-color: white;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3E%3Cpath fill='%23E60033' d='M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
@media (max-width: 767px) {
  .shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item p::after {
    width: 20px;
    height: 20px;
    right: 4px;
  }
}
.shokuiku-cardlink-group--3col .shokuiku-cardlink-group__item:hover p::after {
  background-color: #E60033;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3E%3Cpath fill='white' d='M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10z'/%3E%3C/svg%3E");
}

.shokuiku__bg {
  background-color: #fff6e8;
  background-image: url("/sustainability/shokuiku/imgs/bg-nav.svg");
  background-repeat: no-repeat;
  background-position: center -250px;
  background-size: 100% auto;
  padding-bottom: 120px;
}

.shokuiku__bg--opacity {
  width: 100%;
  height: 310px;
  margin-top: -50px;
  background: linear-gradient(to bottom, rgba(255, 246, 232, 0) 0%, rgb(255, 246, 232) 50%);
}
@media screen and (max-width: 767px) {
  .shokuiku__bg--opacity {
    height: 270px;
    margin-top: -180px;
  }
}