@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

a {
  color: #2e2109;
  text-decoration: none;
}
a:hover {
  outline: 0;
  text-decoration: underline;
}
a:hover, a:focus, a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong,
.strong {
  font-weight: bold;
}

dfn,
em,
.em {
  font-style: italic;
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

pre {
  margin: 0;
  white-space: pre-wrap;
}

dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

ol,
ul {
  padding: 0;
  list-style-type: none;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button,
input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

input[type="submit"] {
  border: none;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  position: relative;
  height: 100%;
  overflow: auto;
}

body {
  font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  font-size: 100%;
  font-weight: 500;
  line-height: 1.0;
  color: #2e2109;
  position: static;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  height: auto;
  vertical-align: bottom;
}

div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, a, form, input, object, dt, dd, dl, iframe, label {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

ol, ul, li, dl, dt, dd {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

figure {
  margin: 0;
}

* {
  box-sizing: border-box;
}

body {
  background: #ffffff;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

@media only screen and (max-width: 768px) {
  img {
    width: 100%;
  }
}

.pc_view {
  display: block;
}
@media only screen and (max-width: 768px) {
  .pc_view {
    display: none;
  }
}

.sp_view {
  display: none;
}
@media only screen and (max-width: 768px) {
  .sp_view {
    display: block;
  }
}

.wrapper {
  width: 100%;
  overflow: hidden;
}

.visual {
  background: url("../images/visual_img.png") no-repeat center center;
  background-size: cover;
  width: 100%;
  height: calc(720/1400*100vw);
  position: relative;
}
.visual h1 {
  width: calc(258/1400*100%);
  position: absolute;
  top: calc(134/720*100%);
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 4;
}
.visual h1 img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .visual {
    background: url("../images/visual_img_sp.png") no-repeat center center;
    background-size: cover;
    height: calc(989/750*100vw);
  }
  .visual h1 {
    width: calc(298/750*100%);
    top: calc(191/989*100%);
  }
}

.introduction {
  margin-top: min(calc(-201/1400*100vw), -201px);
  position: relative;
}
.introduction_column {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: max(calc(38/1400*100vw), 38px);
  width: max(calc(700/1400*100vw), 700px);
  height: max(calc(437/1400*100vw), 437px);
  margin: 0 auto;
}
.introduction_column img {
  width: max(calc(184/1400*100vw), 184px);
  max-width: 100%;
  height: auto;
}
.introduction_column p {
  flex: 1;
  font-size: max(calc(18/1400*100vw), 18px);
  line-height: calc(39/18);
}
@media only screen and (max-width: 768px) {
  .introduction {
    margin-top: calc(45/750*100vw);
  }
  .introduction_column {
    align-items: flex-start;
    gap: calc(31/750*100vw);
    width: calc(640/750*100vw);
    height: auto;
    padding-left: calc(3/750*100vw);
  }
  .introduction_column img {
    width: calc(219/750*100vw);
    padding-top: calc(16/750*100vw);
  }
  .introduction_column p {
    font-size: calc(30/750*100vw);
    line-height: calc(55/30);
    font-weight: 400;
  }
}

.nutritionists {
  background: #f7f4ef;
  margin-top: 158px;
  padding: 75px 0 50px;
  position: relative;
}
.nutritionists_inner {
  width: 700px;
  margin: 0 auto;
}
.nutritionists h2 {
  width: 695px;
  margin: 0 auto;
  position: absolute;
  top: -75px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.nutritionists_lead {
  font-size: 20px;
  font-weight: 700;
  line-height: calc(32/20);
  text-align: center;
}
.nutritionists_column {
  display: flex;
  justify-content: space-between;
  gap: 54px;
}
.nutritionists_list {
  background: #ffffff;
  width: 100%;
  margin-top: 60px;
  padding: 52px 0 44px;
  border: 1px solid #00aa00;
  border-radius: 17px;
  position: relative;
}
.nutritionists_list:before {
  content: '';
  background: url("../images/nutritionists_icon.png") no-repeat center center;
  background-size: contain;
  width: 45px;
  height: 45px;
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.nutritionists_list dt {
  color: #00aa01;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(32/20);
  text-align: center;
}
.nutritionists_list dd {
  margin-top: 34px;
  text-align: center;
}
.nutritionists_list ul {
  padding: 0 34px;
}
.nutritionists_list ul li {
  display: flex;
  align-items: center;
  gap: 36px;
  background: #ffff5f;
  margin-top: 22px;
  padding: 0 34px;
  border-radius: 17px;
}
.nutritionists_list ul li:first-of-type {
  margin-top: 0;
}
.nutritionists_list ul li p {
  padding: 12px 0;
  font-size: 16px;
  line-height: calc(31/16);
  text-align: left;
}
.nutritionists_notes {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: calc(23/14);
}
@media only screen and (max-width: 768px) {
  .nutritionists {
    margin-top: calc(205/750*100vw);
    padding: calc(75/750*100vw) 0 calc(70/750*100vw);
  }
  .nutritionists_inner {
    width: 100%;
  }
  .nutritionists h2 {
    width: calc(612/750*100vw);
    top: calc(-110/750*100vw);
  }
  .nutritionists_lead {
    font-size: calc(35/750*100vw);
    line-height: calc(60/35);
  }
  .nutritionists_column {
    display: block;
  }
  .nutritionists_list {
    width: calc(640/750*100vw);
    margin: calc(90/750*100vw) auto 0;
    padding: calc(60/750*100vw) 0 calc(50/750*100vw);
    border-radius: calc(10/750*100vw);
  }
  .nutritionists_list:before {
    width: calc(75/750*100vw);
    height: calc(75/750*100vw);
    top: calc(-39/750*100vw);
  }
  .nutritionists_list dt {
    font-size: calc(35/750*100vw);
    line-height: calc(50/35);
  }
  .nutritionists_list:nth-of-type(1) img, .nutritionists_list:nth-of-type(2) img {
    width: calc(483/750*100vw);
  }
  .nutritionists_list dd {
    margin-top: calc(60/750*100vw);
  }
  .nutritionists_list ul {
    padding: 0 calc(40/750*100vw);
  }
  .nutritionists_list ul li {
    gap: calc(35/750*100vw);
    margin-top: calc(50/750*100vw);
    padding: 0 calc(30/750*100vw);
    border-radius: calc(10/750*100vw);
  }
  .nutritionists_list ul li:first-of-type {
    margin-top: calc(28/750*100vw);
  }
  .nutritionists_list ul li img {
    width: calc(142/750*100vw) !important;
  }
  .nutritionists_list ul li p {
    padding: calc(26/750*100vw) 0;
    font-size: calc(28/750*100vw);
    font-weight: 400;
    line-height: calc(50/28);
  }
  .nutritionists_notes {
    width: calc(640/750*100vw);
    margin: calc(30/750*100vw) auto 0;
    font-size: calc(28/750*100vw);
    font-weight: 400;
    line-height: calc(50/28);
  }
}

.whats {
  margin-top: 88px;
}
.whats_column {
  display: flex;
  justify-content: space-between;
  width: 700px;
  margin: 0 auto;
}
.whats_img {
  flex: 1;
  padding-top: 195px;
  position: relative;
}
.whats_img span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.whats_img span img {
  position: relative;
  z-index: -1;
}
.whats_img img {
  display: block;
  margin: 0 auto;
}
.whats_detail {
  width: 424px;
}
.whats_detail h2 {
  margin-bottom: 40px;
}
.whats_detail_text {
  margin-bottom: 18px;
  font-size: 18px;
  line-height: calc(36/18);
}
.whats_detail dl dt,
.whats_detail dl dd {
  display: flex;
  gap: 5px;
}
.whats_detail dl dt p,
.whats_detail dl dd p {
  flex: 1;
  margin: 4px 0;
  padding: 3px 0 5px;
  text-align: center;
}
.whats_detail dl dt p {
  background: #9d9c9c;
  color: #ffffff;
  font-size: 20px;
}
.whats_detail dl dd p {
  font-size: 16px;
}
.whats_detail dl dd:nth-of-type(2n) p {
  background: #e6e6e6;
}
.whats_detail dl dd .highlight {
  background: #ffff6c;
}
.whats_detail dl dd .highlight span {
  color: #14c81e;
  font-weight: 700;
}
.whats_notes {
  margin-top: 20px;
  font-size: 14px;
  line-height: calc(24/14);
}
@media only screen and (max-width: 768px) {
  .whats {
    margin-top: calc(100/750*100vw);
  }
  .whats_column {
    display: block;
    width: calc(640/750*100vw);
    position: relative;
  }
  .whats_img {
    margin-bottom: calc(56/750*100vw);
    padding: 0 calc(389/750*100vw) 0 calc(12/750*100vw);
    position: static;
  }
  .whats_img span {
    width: calc(319/750*100vw);
    top: calc(26/750*100vw);
    left: auto;
    right: calc(45/750*100vw);
  }
  .whats_detail {
    width: 100%;
  }
  .whats_detail h2 {
    width: calc(369/750*100vw);
    margin-bottom: 0;
    position: absolute;
    top: calc(406/750*100vw);
    left: calc(266/750*100vw);
  }
  .whats_detail_text {
    margin-bottom: calc(60/750*100vw);
    padding: 0 calc(35/750*100vw);
    font-size: calc(28/750*100vw);
    font-weight: 400;
    line-height: calc(50/28);
  }
  .whats_detail dl {
    padding: 0 calc(35/750*100vw);
  }
  .whats_detail dl dt,
  .whats_detail dl dd {
    gap: calc(7/750*100vw);
  }
  .whats_detail dl dt p,
  .whats_detail dl dd p {
    margin: calc(8/750*100vw) 0;
    padding: calc(6/750*100vw) 0 calc(10/750*100vw);
  }
  .whats_detail dl dt p {
    font-size: calc(28/750*100vw);
  }
  .whats_detail dl dd p {
    font-size: calc(28/750*100vw);
  }
  .whats_notes {
    margin-top: calc(40/750*100vw);
    padding: 0 calc(35/750*100vw);
    font-size: calc(28/750*100vw);
    font-weight: 400;
    line-height: calc(50/28);
  }
}

.recipe {
  background: #14c81e;
  margin-top: 115px;
  padding: 120px 0;
  position: relative;
}
.recipe_title {
  width: 413px;
  position: absolute;
  top: -38px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.recipe_list_large {
  width: 654px;
  margin: 0 auto;
}
.recipe_list_large_item {
  display: flex;
  justify-content: space-between;
  gap: 55px;
  margin-top: 90px;
}
.recipe_list_large_item:first-of-type {
  margin-top: 0;
}
.recipe_list_large_item:nth-of-type(odd) .recipe_list_large_img {
  order: 1;
}
.recipe_list_large_item:nth-of-type(odd) .recipe_list_large_img > img {
  right: 0;
}
.recipe_list_large_item:nth-of-type(odd) .recipe_list_large_img > span {
  right: 30px;
}
.recipe_list_large_item:nth-of-type(odd) .recipe_list_large_detail {
  order: 2;
}
.recipe_list_large_item:nth-of-type(even) .recipe_list_large_img {
  order: 2;
}
.recipe_list_large_item:nth-of-type(even) .recipe_list_large_img > img {
  left: 0;
}
.recipe_list_large_item:nth-of-type(even) .recipe_list_large_img > span {
  left: 30px;
}
.recipe_list_large_item:nth-of-type(even) .recipe_list_large_detail {
  order: 1;
}
.recipe_list_large_img {
  flex: 1;
  height: 457px;
  position: relative;
}
.recipe_list_large_img > img {
  border-radius: 15px;
  position: absolute;
  top: 0;
}
.recipe_list_large_img > span {
  position: absolute;
  top: -18px;
}
.recipe_list_large_detail {
  width: 295px;
}
.recipe_list_large_detail ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  margin-top: -7px;
  margin-bottom: 22px;
}
.recipe_list_large_detail ul li:nth-of-type(1) {
  width: 84px;
}
.recipe_list_large_detail ul li:nth-of-type(2) {
  flex: 1;
}
.recipe_list_large_detail h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 106px;
  margin-bottom: 24px;
  text-align: center;
  border: 3px solid #ffffff;
  position: relative;
}
.recipe_list_large_detail h3:before {
  content: '';
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #00aa00 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.recipe_list_large_detail p {
  margin-bottom: 36px;
  color: #ffffff;
  font-size: 18px;
  line-height: calc(32/15);
}
.recipe_list_large_detail a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffff5f;
  width: 216px;
  height: 46px;
  border-radius: 23px;
  transition: background 0.3s ease;
}
.recipe_list_large_detail a:hover {
  background: #ffffff;
}
.recipe_list_small {
  display: flex;
  flex-wrap: wrap;
  gap: 70px 32px;
  width: 700px;
  margin: 100px auto 0;
}
.recipe_list_small_item {
  width: 212px;
  padding-bottom: 58px;
  position: relative;
}
.recipe_list_small ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  width: 100%;
  position: absolute;
  top: -28px;
  right: -10px;
}
.recipe_list_small ul li:nth-of-type(1) {
  width: 53px;
}
.recipe_list_small ul li:nth-of-type(2) {
  width: 69px;
}
.recipe_list_small_img {
  margin-bottom: 12px;
}
.recipe_list_small_img > img {
  border-radius: 10px;
}
.recipe_list_small h4 {
  margin-bottom: 12px;
}
.recipe_list_small h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 90px;
  margin-bottom: 10px;
  text-align: center;
  border: 3px solid #ffffff;
  position: relative;
}
.recipe_list_small h3:before {
  content: '';
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #00aa00 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.recipe_list_small p {
  color: #fff;
  font-size: 18px;
  line-height: calc(24/14);
}
.recipe_list_small a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffff5f;
  width: 194px;
  height: 40px;
  margin: 0 auto;
  border-radius: 20px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  transition: background 0.3s ease;
}
.recipe_list_small a:hover {
  background: #ffffff;
}
@media only screen and (max-width: 768px) {
  .recipe {
    margin-top: calc(110/750*100vw);
    padding: calc(105/750*100vw) 0 calc(175/750*100vw);
  }
  .recipe_title {
    width: calc(397/750*100vw);
    top: calc(-35/750*100vw);
  }
  .recipe_list_large {
    width: calc(640/750*100vw);
  }
  .recipe_list_large_item {
    display: block;
    margin-top: calc(110/750*100vw);
  }
  .recipe_list_large_item:nth-of-type(odd) .recipe_list_large_img > span, .recipe_list_large_item:nth-of-type(even) .recipe_list_large_img > span {
    width: calc(110/750*100vw);
    left: calc(42/750*100vw);
  }
  .recipe_list_large_img {
    height: auto;
  }
  .recipe_list_large_img > img {
    border-radius: calc(18/750*100vw);
    position: static;
  }
  .recipe_list_large_img > span {
    position: absolute;
    top: calc(-20/750*100vw);
  }
  .recipe_list_large_detail {
    width: 100%;
  }
  .recipe_list_large_detail ul {
    align-items: flex-start;
    gap: 0;
    margin: calc(28/750*100vw) 0 calc(56/750*100vw);
    position: relative;
  }
  .recipe_list_large_detail ul li:nth-of-type(1) {
    width: calc(119/750*100vw);
    position: absolute;
    top: calc((-100 - 28)/750*100vw);
    right: 0;
  }
  .recipe_list_large_detail ul li:nth-of-type(2) {
    flex: 1;
  }
  .recipe_01 .recipe_list_large_detail ul li:nth-of-type(2) {
    padding-right: calc(28/750*100vw);
  }

  .recipe_02 .recipe_list_large_detail ul li:nth-of-type(2) {
    padding-right: calc(172/750*100vw);
  }

  .recipe_03 .recipe_list_large_detail ul li:nth-of-type(2) {
    padding-right: calc(64/750*100vw);
  }

  .recipe_04 .recipe_list_large_detail ul li:nth-of-type(2) {
    padding-right: calc(100/750*100vw);
  }
  .recipe_list_large_detail h3 {
    height: calc(193/750*100vw);
    margin-bottom: calc(40/750*100vw);
    border: calc(4/750*100vw) solid #ffffff;
  }
  .recipe_list_large_detail h3:before {
    border-width: calc(38/750*100vw) calc(38/750*100vw) 0 0;
  }
  .recipe_list_large_detail p {
    margin-bottom: calc(56/750*100vw);
    padding: 0 calc(40/750*100vw);
    font-size: calc(36/750*100vw);
    font-weight: 400;
    line-height: calc(50/28);
  }
  .recipe_list_large_detail a {
    width: calc(560/750*100vw);
    height: calc(102/750*100vw);
    margin: 0 auto;
    border-radius: calc(51/750*100vw);
  }
  .recipe_list_large_detail a:hover {
    background: #ffff5f;
  }
  .recipe_list_large_detail a img {
    width: calc(170/750*100vw);
  }
  .recipe_list_small {
    gap: calc(100/750*100vw) calc(54/750*100vw);
    width: calc(640/750*100vw);
    margin: calc(138/750*100vw) auto 0;
  }
  .recipe_list_small_item {
    width: calc(293/750*100vw);
    padding-bottom: calc(120/750*100vw);
  }
  .recipe_list_small ul {
    display: block;
    top: 0;
    right: 0;
  }
  .recipe_list_small ul li {
    position: absolute;
  }
  .recipe_list_small ul li:nth-of-type(1) {
    width: calc(101/750*100vw);
    top: calc(155/750*100vw);
    right: calc(-12/750*100vw);
  }
  .recipe_list_small ul li:nth-of-type(2) {
    width: calc(92/750*100vw);
    top: calc(-20/750*100vw);
    left: calc(-10/750*100vw);
  }
  .recipe_list_small_img {
    margin-bottom: calc(22/750*100vw);
  }
  .recipe_list_small_img > img {
    border-radius: calc(7/750*100vw);
  }
  .recipe_list_small h4 {
    margin-bottom: calc(30/750*100vw);
    padding-right: calc(85/750*100vw);
  }
  .recipe_list_small h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(128/750*100vw);
    margin-bottom: calc(25/750*100vw);
    border: calc(4/750*100vw) solid #ffffff;
  }
  .recipe_list_small h3:before {
    border-width: calc(22/750*100vw) calc(22/750*100vw) 0 0;
  }
  .recipe_list_small p {
    color: #ffffff;
    font-size: calc(28/750*100vw);
    font-weight: 400;
    line-height: calc(44/28);
  }
  .recipe_list_small a {
    width: 100%;
    height: calc(84/750*100vw);
    border-radius: calc(42/750*100vw);
  }
  .recipe_list_small a:hover {
    background: #ffff5f;
  }
  .recipe_list_small a img {
    width: calc(170/750*100vw);
  }
  .recipe .recipe_01 h3 img {
    width: calc(433/750*100vw);
  }
  .recipe .recipe_02 h3 img {
    width: calc(431/750*100vw);
  }
  .recipe .recipe_03 h3 img {
    width: calc(560/750*100vw);
  }
  .recipe .recipe_04 h3 img {
    width: calc(364/750*100vw);
  }
  .recipe .recipe_05 h3 img {
    width: calc(219/750*100vw);
  }
  .recipe .recipe_06 h3 img {
    width: calc(240/750*100vw);
  }
  .recipe .recipe_07 h3 img {
    width: calc(163/750*100vw);
  }
  .recipe .recipe_08 h3 img {
    width: calc(222/750*100vw);
  }
  .recipe .recipe_09 h3 img {
    width: calc(171/750*100vw);
  }
  .recipe .recipe_10 h3 img {
    width: calc(165/750*100vw);
  }
}

.about {
  padding-top: 90px;
  position: relative;
}
.about_inner {
  width: 700px;
  margin: 0 auto;
}
.about_logo {
  width: 200px;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.about h3 {
  margin-bottom: 30px;
  text-align: center;
}
.about p {
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: 500;
  line-height: calc(30/15);
}
.about_link {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #bc000d;
  width: 325px;
  height: 56px;
  margin: 0 auto 60px;
  border-radius: 28px;
  transition: background 0.3s ease;
}
.about_link:hover {
  background: #000000;
}
.about ul {
  display: flex;
  justify-content: space-between;
}
.about ul li {
  width: 330px;
}
.about ul li a {
  display: block;
  transition: opacity 0.3s ease;
}
.about ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .about ul li a:hover {
    opacity: 1.0;
  }
}
@media only screen and (max-width: 768px) {
  .about {
    padding-top: calc(100/750*100vw);
  }
  .about_inner {
    width: calc(640/750*100vw);
  }
  .about_logo {
    width: calc(239/750*100vw);
    top: calc(-52/750*100vw);
  }
  .about h3 {
    margin: 0 auto calc(40/750*100vw);
  }
  .about p {
    margin-bottom: calc(80/750*100vw);
    font-size: calc(30/750*100vw);
    font-weight: 400;
    line-height: calc(50/30);
  }
  .about_link {
    width: calc(560/750*100vw);
    height: calc(94/750*100vw);
    margin: 0 auto calc(100/750*100vw);
    border-radius: calc(47/750*100vw);
  }
  .about_link:hover {
    background: #bc000d;
  }
  .about_link img {
    width: calc(326/750*100vw);
  }
  .about ul {
    display: block;
  }
  .about ul li {
    width: 100%;
    margin-top: calc(38/750*100vw);
  }
  .about ul li:first-of-type {
    margin-top: 0;
  }
}

.footer {
  padding: 58px 0 72px;
  text-align: center;
}
.footer_inner {
  width: 700px;
  margin: 0 auto;
}
.footer_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.footer_sns li {
  width: 35px;
}
.footer_sns a {
  display: block;
  transition: opacity 0.3s ease;
}
.footer_sns a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .footer_sns a:hover {
    opacity: 1.0;
  }
}
.footer_copyright {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
}
.footer_copyright li {
  font-size: 10px;
  line-height: calc(26/10);
}
.footer_copyright li:nth-of-type(1) {
  font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}
@media only screen and (max-width: 768px) {
  .footer {
    padding: calc(80/750*100vw) 0 calc(60/750*100vw);
  }
  .footer_inner {
    width: 100%;
  }
  .footer_sns {
    gap: calc(80/750*100vw);
  }
  .footer_sns li {
    width: calc(90/750*100vw);
  }
  .footer_copyright {
    display: block;
    margin-top: calc(80/750*100vw);
  }
  .footer_copyright li {
    margin-top: calc(30/750*100vw);
    font-size: calc(24/750*100vw);
    font-weight: 300;
    line-height: calc(26/24);
  }
  .footer_copyright li:first-of-type {
    margin-top: 0;
  }
}

body.is-modal-open {
  overflow: hidden;
  width: 100%;
  position: fixed;
  left: 0;
}

.modal {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.85);
  width: 100%;
  height: 100vh;
  padding: 100px 40px 50px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal.is-active {
  opacity: 1;
  visibility: visible;
}
.modal.center {
  align-items: center;
}
.modal_contents {
  background: #ffffff;
  width: 100%;
  max-width: 710px;
  height: auto;
  padding: 55px 58px;
  border: 5px solid #13c71e;
  border-radius: 25px;
  margin: 0 auto;
  position: relative;
  flex-shrink: 0;
}
.modal_close_icon {
  width: 95px;
  height: 96px;
  position: absolute;
  top: -36px;
  right: -36px;
  cursor: pointer;
}
.modal_close_text {
  width: fit-content;
  margin: 50px auto 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.modal_close_text:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .modal_close_text:hover {
    opacity: 1.0;
  }
}
.modal_contents > [class^="modal_"]:not(.modal_close_icon):not(.modal_close_text) {
  display: none;
}
.modal_contents > [class^="modal_"]:not(.modal_close_icon):not(.modal_close_text).is-active {
  display: block;
}
.modal_item_img {
  margin-bottom: 40px;
  position: relative;
}
.modal_item_img > img {
  border-radius: 10px;
}
.modal_item h3 {
  margin-bottom: 54px;
  text-align: center;
}
.modal_item_circle {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
}
.modal_item_circle li {
  width: 173px;
}
.modal_item h4 {
  padding: 10px 0;
  text-align: center;
  border-top: 1px solid #13c71e;
  border-bottom: 1px solid #13c71e;
}
.modal_item_material {
  margin-bottom: 30px;
  padding-top: 24px;
}
.modal_item_material li {
  color: #4d4d4d;
  font-size: 15px;
  line-height: calc(24/15);
}
.modal_item_process li {
  padding: 24px 0 24px 28px;
  color: #4d4d4d;
  font-size: 15px;
  line-height: calc(24/15);
  border-top: 1px solid #13c71e;
  position: relative;
}
.modal_item_process li:before {
  content: '';
  width: 23px;
  height: 23px;
  position: absolute;
  top: 25px;
  left: 0;
}
.modal_item_process li:nth-of-type(1):before {
  background: url(../images/recipe/num_01.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(2):before {
  background: url(../images/recipe/num_02.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(3):before {
  background: url(../images/recipe/num_03.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(4):before {
  background: url(../images/recipe/num_04.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(5):before {
  background: url(../images/recipe/num_05.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(6):before {
  background: url(../images/recipe/num_06.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(7):before {
  background: url(../images/recipe/num_07.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(8):before {
  background: url(../images/recipe/num_08.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li:nth-of-type(9):before {
  background: url(../images/recipe/num_09.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 2px;
  position: relative;
  top: 2px;
}
.modal_item_process li i.num_01 {
  background: url(../images/recipe/num_01.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_02 {
  background: url(../images/recipe/num_02.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_03 {
  background: url(../images/recipe/num_03.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_04 {
  background: url(../images/recipe/num_04.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_05 {
  background: url(../images/recipe/num_05.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_06 {
  background: url(../images/recipe/num_06.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_07 {
  background: url(../images/recipe/num_07.png) no-repeat center center;
  background-size: contain;
}
.modal_item_process li i.num_08 {
  background: url(../images/recipe/num_08.png) no-repeat center center;
  background-size: contain;
}
.modal_item_notes li {
  padding-left: 1em;
  margin-block: 24px;
  color: #4d4d4d;
  font-size: 15px;
  line-height: calc(24/15);
  position: relative;
}
.modal_item_notes li:before {
  content: '※';
  display: inline-block;
  position: absolute;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .modal {
    height: 100dvh;
    padding: calc(110/750*100vw) calc(55/750*100vw) calc(100/750*100vw);
  }
  .modal_contents {
    width: 100%;
    max-width: 100%;
    padding: calc(59/750*100vw) calc(41/750*100vw) calc(70/750*100vw);
    border: calc(6/750*100vw) solid #13c71e;
    border-radius: calc(13/750*100vw);
  }
  .modal_close_icon {
    width: calc(79/750*100vw);
    height: calc(79/750*100vw);
    top: calc(-34/750*100vw);
    right: calc(-16/750*100vw);
  }
  .modal_close_text {
    margin: calc(50/750*100vw) auto 0;
  }
  .modal_item_img {
    margin-bottom: calc(50/750*100vw);
  }
  .modal_item_img > img {
    border-radius: calc(10/750*100vw);
  }
  .modal_item h3 {
    margin-bottom: calc(50/750*100vw);
  }
  .modal_item_circle {
    gap: calc(21/750*100vw);
    margin-bottom: calc(46/750*100vw);
  }
  .modal_item_circle li {
    width: calc(173/750*100vw);
  }
  .modal_item h4 {
    padding: calc(8/750*100vw) 0 calc(14/750*100vw);
    border-top: calc(2/750*100vw) solid #13c71e;
    border-bottom: calc(2/750*100vw) solid #13c71e;
  }
  .modal_item h4 img {
    width: calc(143/750*100vw);
  }
  .modal_item_material {
    margin-bottom: calc(35/750*100vw);
    padding-top: calc(30/750*100vw);
  }
  .modal_item_material li {
    font-size: calc(24/750*100vw);
    line-height: calc(48/24);
  }
  .modal_item_process li {
    padding: calc(40/750*100vw) 0 calc(40/750*100vw) calc(56/750*100vw);
    font-size: calc(24/750*100vw);
    line-height: calc(36/24);
    border-top: calc(2/750*100vw) solid #13c71e;
  }
  .modal_item_process li:before {
    width: calc(41/750*100vw);
    height: calc(41/750*100vw);
    top: calc(38/750*100vw);
  }
  .modal_item_process li i {
    width: calc(24/750*100vw);
    height: calc(24/750*100vw);
    margin: 0 calc(4/750*100vw);
    top: calc(4/750*100vw);
  }
  .modal_item_notes li {
    margin-block: calc(24/750*100vw);
    font-size: calc(24/750*100vw);
    line-height: calc(36/24);
  }
  .modal .modal_01 h3 img {
    width: calc(513/750*100vw);
  }
  .modal .modal_02 h3 img {
    width: calc(316/750*100vw);
  }
  .modal .modal_03 h3 img {
    width: calc(471/750*100vw);
  }
  .modal .modal_04 h3 img {
    width: calc(276/750*100vw);
  }
  .modal .modal_05 h3 img {
    width: calc(317/750*100vw);
  }
  .modal .modal_06 h3 img {
    width: calc(316/750*100vw);
  }
  .modal .modal_07 h3 img {
    width: calc(358/750*100vw);
  }
  .modal .modal_08 h3 img {
    width: calc(437/750*100vw);
  }
  .modal .modal_09 h3 img {
    width: calc(392/750*100vw);
  }
  .modal .modal_10 h3 img {
    width: calc(318/750*100vw);
  }
}

.visual {
  transition: opacity 0.6s 0.3s ease;
  opacity: 0;
}
.visual h1 {
  transition: opacity 0.6s 0.6s ease;
  opacity: 0;
}
.visual.anim {
  opacity: 1;
}
.visual.anim h1 {
  opacity: 1;
}

.introduction {
  transition: opacity 0.6s 0.6s ease, transform 0.6s 0.6s ease;
  transform: translateY(30px);
  opacity: 0;
}
.introduction.anim {
  transform: translateY(0);
  opacity: 1;
}

.nutritionists {
  transition: opacity 0.6s ease;
  opacity: 0;
}
.nutritionists.anim {
  opacity: 1;
}

.nutritionists_list {
  opacity: 0;
  transform: translateY(30px);
}
.nutritionists_list:nth-of-type(1) {
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.nutritionists_list:nth-of-type(2) {
  transition: opacity 0.6s 0.2s ease, transform 0.6s 0.2s ease;
}
.nutritionists_list.anim:nth-of-type(1), .nutritionists_list.anim:nth-of-type(2) {
  opacity: 1;
  transform: translateY(0);
}
@media only screen and (max-width: 768px) {
  .nutritionists_list:nth-of-type(2) {
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
}

.nutritionists_notes {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.nutritionists_notes.anim {
  opacity: 1;
}

.whats {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.whats .whats_img > img {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s 0.2s ease, transform 0.6s 0.2s ease;
}
.whats.anim {
  opacity: 1;
}
.whats.anim .whats_img > img {
  opacity: 1;
  transform: translateY(0);
}

.recipe {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.recipe.anim {
  opacity: 1;
}

.recipe_list_large_item:nth-of-type(even) > div {
  opacity: 0;
}
.recipe_list_large_item:nth-of-type(even) > div:first-of-type {
  transition: opacity 0.6s ease, transform 0.6s ease;
  transform: translateX(60px);
}
.recipe_list_large_item:nth-of-type(even) > div:last-of-type {
  transition: opacity 0.6s 0.1s ease, transform 0.6s 0.1s ease;
  transform: translateX(80px);
}
.recipe_list_large_item:nth-of-type(odd) > div {
  opacity: 0;
}
.recipe_list_large_item:nth-of-type(odd) > div:first-of-type {
  transition: opacity 0.6s ease, transform 0.6s ease;
  transform: translateX(-60px);
}
.recipe_list_large_item:nth-of-type(odd) > div:last-of-type {
  transition: opacity 0.6s 0.1s ease, transform 0.6s 0.1s ease;
  transform: translateX(-80px);
}
.recipe_list_large_item.anim:nth-of-type(even) > div, .recipe_list_large_item.anim:nth-of-type(odd) > div {
  opacity: 1;
}
.recipe_list_large_item.anim:nth-of-type(even) > div:first-of-type, .recipe_list_large_item.anim:nth-of-type(even) > div:last-of-type, .recipe_list_large_item.anim:nth-of-type(odd) > div:first-of-type, .recipe_list_large_item.anim:nth-of-type(odd) > div:last-of-type {
  transform: translateX(0);
}

.recipe_list_small > li {
  transition: opacity 0.6s ease, transform 0.6s ease;
  transform: translateY(30px);
  opacity: 0;
}
.recipe_list_small > li.anim {
  transform: translateY(0);
  opacity: 1;
}

.about {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.about.anim {
  opacity: 1;
}

.frame {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  pointer-events: none;
}
.frame_top {
  display: flex;
  justify-content: space-between;
  gap: 0 190px;
  width: max(calc(100% - (160/1440*100%)), calc(100% - 160px));
  margin: min(calc(20/1440*100%), 20px) min(calc(80/1440*100%), 80px) 0;
  position: relative;
}
.frame_top:before, .frame_top:after {
  content: '';
  display: block;
  width: min(calc(60/1440*100vw), 60px);
  height: min(calc(60/1440*100vw), 60px);
  position: absolute;
  top: 0;
}
.frame_top:before {
  background: url(../images/frame/left_top.webp) no-repeat center center;
  background-size: 100% 100%;
  left: max(calc(-60/1440*100vw), -60px);
}
.frame_top:after {
  background: url(../images/frame/right_top.webp) no-repeat center center;
  background-size: 100% 100%;
  right: max(calc(-60/1440*100vw), -60px);
}
.frame_top .logo {
  display: block;
  width: 166px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  pointer-events: auto;
}
.frame_left, .frame_right {
  flex: 1;
  display: block;
  width: 100%;
  padding-top: min(calc(60/1440*100vw), 60px);
}
.frame_left {
  background: url(../images/frame/horizontal-left_top.webp) no-repeat center top;
  background-size: 100% min(calc(12/1440*100vw), 12px);
}
.frame_right {
  background: url(../images/frame/horizontal_right_top.webp) no-repeat center top;
  background-size: 100% min(calc(12/1440*100vw), 12px);
}
.frame_center {
  width: max(calc(100% - (40/1440*100%)), calc(100% - 40px));
  height: 100%;
  margin: 0 min(calc(20/1440*100%), 20px);
  position: relative;
}
.frame_center:before, .frame_center:after {
  content: '';
  display: block;
  width: min(calc(12/1440*100vw), 12px);
  height: 100%;
  position: absolute;
  top: 0;
}
.frame_center:before {
  background: url(../images/frame/vertical_left.webp) no-repeat center center;
  background-size: 100% 100%;
  left: 0;
}
.frame_center:after {
  background: url(../images/frame/vertical_right.webp) no-repeat center center;
  background-size: 100% 100%;
  right: 0;
}
.frame_bottom {
  display: block;
  background: url(../images/frame/horizontal_bottom.webp) no-repeat center bottom;
  background-size: 100% min(calc(12/1440*100vw), 12px);
  width: max(calc(100% - (160/1440*100%)), calc(100% - 160px));
  margin: 0 min(calc(80/1440*100%), 80px) min(calc(20/1440*100%), 20px);
  padding-bottom: min(calc(60/1440*100vw), 60px);
  position: relative;
}
.frame_bottom:before, .frame_bottom:after {
  content: '';
  display: block;
  width: min(calc(60/1440*100vw), 60px);
  height: min(calc(60/1440*100vw), 60px);
  position: absolute;
  bottom: 0;
}
.frame_bottom:before {
  background: url(../images/frame/left_bottom.webp) no-repeat center center;
  background-size: 100% 100%;
  left: max(calc(-60/1440*100vw), -60px);
}
.frame_bottom:after {
  background: url(../images/frame/right_bottom.webp) no-repeat center center;
  background-size: 100% 100%;
  right: max(calc(-60/1440*100vw), -60px);
}
@media only screen and (max-width: 768px) {
  .frame_top {
    gap: 0 min(calc(204/750*100vw), 204px);
    width: max(calc(100% - (152/750*100%)), calc(100% - 152px));
    margin: min(calc(16/750*100%), 16px) min(calc(76/750*100%), 76px) 0;
  }
  .frame_top:before, .frame_top:after {
    width: min(calc(60/750*100vw), 60px);
    height: min(calc(60/750*100vw), 60px);
  }
  .frame_top:before {
    left: max(calc(-60/750*100vw), -60px);
  }
  .frame_top:after {
    right: max(calc(-60/750*100vw), -60px);
  }
  .frame_top .logo {
    width: min(calc(180/750*100vw), 180px);
  }
  .frame_left, .frame_right {
    padding-top: min(calc(60/750*100vw), 60px);
  }
  .frame_left {
    background: url(../images/frame/horizontal-left_top.webp) no-repeat center top;
    background-size: 100% min(calc(12/750*100vw), 12px);
  }
  .frame_right {
    background: url(../images/frame/horizontal_right_top.webp) no-repeat center top;
    background-size: 100% min(calc(12/750*100vw), 12px);
  }
  .frame_center {
    width: max(calc(100% - (32/750*100%)), calc(100% - 32px));
    margin: 0 min(calc(16/750*100%), 16px);
  }
  .frame_center:before, .frame_center:after {
    width: min(calc(12/750*100vw), 12px);
  }
  .frame_bottom {
    background: url(../images/frame/horizontal_bottom.webp) no-repeat center bottom;
    background-size: 100% min(calc(12/750*100vw), 12px);
    width: max(calc(100% - (152/750*100%)), calc(100% - 152px));
    margin: 0 min(calc(76/750*100%), 76px) min(calc(16/750*100%), 16px);
    padding-bottom: min(calc(60/750*100vw), 60px);
  }
  .frame_bottom:before, .frame_bottom:after {
    width: min(calc(60/750*100vw), 60px);
    height: min(calc(60/750*100vw), 60px);
  }
  .frame_bottom:before {
    left: max(calc(-60/750*100vw), -60px);
  }
  .frame_bottom:after {
    right: max(calc(-60/750*100vw), -60px);
  }
}
