@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: 767px) {
  img {
    width: 100%;
  }
}

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

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

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

.visual {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .visual {
    aspect-ratio: 1440 / 820;
  }
}
@media only screen and (max-width: 767px) {
  .visual {
    aspect-ratio: 750 / 1126;
  }
}
.visual_bg {
  position: absolute;
}
.visual_bg img {
  width: 100%;
}
.visual h1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .visual h1 {
    top: calc(95/1440*100vw);
    left: calc(83/1440*100vw);
    width: calc(655/1440*100vw);
  }
}
@media only screen and (max-width: 767px) {
  .visual h1 {
    top: calc(127/750*100vw);
    left: 50%;
    translate: -50% 0;
    width: calc(549/750*100vw);
  }
}
.visual h1 img {
  width: 100%;
}
.visual_items {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
@media only screen and (min-width: 768px) {
  .visual_items {
    bottom: calc(45/1440*100vw);
    column-gap: calc(34/1440*100vw);
  }
}
@media only screen and (max-width: 767px) {
  .visual_items {
    bottom: calc(43/750*100vw);
    column-gap: calc(29/750*100vw);
  }
}
.visual_items_torigara {
  margin-top: auto;
}
@media only screen and (min-width: 768px) {
  .visual_items_torigara {
    width: calc(165/1440*100vw);
  }
}
@media only screen and (max-width: 767px) {
  .visual_items_torigara {
    width: calc(142/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .visual_items_oyster-source {
    width: calc(76/1440*100vw);
  }
}
@media only screen and (max-width: 767px) {
  .visual_items_oyster-source {
    width: calc(66/750*100vw);
  }
}
.visual_items img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .visual_items img {
    filter: drop-shadow(0 0 calc(38/1440*100vw) black);
  }
}
@media only screen and (max-width: 767px) {
  .visual_items img {
    filter: drop-shadow(0 0 calc(32/750*100vw) black);
  }
}

.recipe_title-wrap {
  position: relative;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_title-wrap {
    width: min(calc(1239/1440*100vw), 1239px);
    margin-block: min(calc(60/1440*100vw), 60px) min(calc(100/1440*100vw), 100px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title-wrap {
    width: calc(655/750*100vw);
    margin-block: calc(89/750*100vw) calc(100/750*100vw);
  }
}
.recipe_title img {
  display: block;
  margin-inline: auto;
}
.recipe_title_before {
  display: block;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_title_before {
    margin-bottom: min(calc(73/1440*100vw), 73px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title_before {
    margin-bottom: calc(69/750*100vw);
  }
}
.recipe_title_before img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .recipe_title_after {
    width: min(calc(560/1440*100vw), 560px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title_after {
    width: calc(560/750*100vw);
  }
}
.recipe_title-cloud {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .recipe_title-cloud {
    width: min(calc(179/1440*100vw), 179px);
    height: min(calc(94/1440*100vw), 94px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title-cloud {
    width: calc(179/750*100vw);
    height: calc(94/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_title-cloud-01 {
    top: max(calc(-39/1440*100vw), -39px);
    left: max(calc(-93/1440*100vw), -93px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title-cloud-01 {
    top: calc(-60/750*100vw);
    left: calc(-56/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_title-cloud-02 {
    top: min(calc(227/1440*100vw), 227px);
    right: max(calc(-122/1440*100vw), -122px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title-cloud-02 {
    top: calc(463/1440*100vw);
    right: calc(-88/1440*100vw);
  }
}
.recipe_title-cloud img {
  width: 100%;
}
.recipe_contents {
  position: relative;
}
.recipe_contents::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .recipe_contents::before {
    top: 0;
    left: 50%;
    height: min(calc(547/1440*100vw), 547px);
    background: white url(../images/bg_recipe_top.png) no-repeat center bottom/cover;
    translate: -50% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_contents::before {
    top: calc(98/750*100vw);
    height: calc(250/750*100vw);
    background: url(../images/bg_recipe_top_sp01.png) no-repeat center bottom/cover;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_contents::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(348/750*100vw);
    width: 100%;
    height: calc(1984/750*100vw);
    background: #ffea76;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_contents_inner {
    background: #ffc18c;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_contents_inner::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(2140/750*100vw);
    left: 0;
    z-index: 1;
    width: 100%;
    height: calc(193/750*100vw);
    background: url(../images/bg_recipe_top_sp02.png) no-repeat center bottom/cover;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_contents_inner::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(2333/750*100vw);
    left: 0;
    bottom: 0;
    width: 100%;
    background: #ffc18c;
  }
}
.recipe_list {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_list {
    row-gap: min(calc(150/1440*100vw), 150px);
    width: min(calc(1150/1440*100vw), 1150px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list {
    row-gap: calc(101/750*100vw);
    width: calc(690/750*100vw);
  }
}
.recipe_list_item {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item {
    display: flex;
    justify-content: space-between;
    padding: min(calc(36/1440*100vw), 36px) min(calc(61/1440*100vw), 61px) min(calc(50/1440*100vw), 50px) min(calc(20/1440*100vw), 20px);
    filter: drop-shadow(0 0 min(calc(62/1440*100vw), 62px) rgba(0, 0, 0, 0.14));
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item {
    padding: calc(76/750*100vw) 0 calc(81/750*100vw);
    filter: drop-shadow(0 0 min(calc(62/750*100vw), 62px) rgba(0, 0, 0, 0.14));
  }
}
.recipe_list_item::before {
  content: "";
  display: block;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item::before {
    top: 50%;
    right: 0;
    width: min(calc(40/1440*100vw), 40px);
    height: min(calc(387/1440*100vw), 387px);
    background: url(../images/bg_recipe_hole.png) no-repeat 0 0/contain;
    translate: 0 -50%;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item::before {
    top: 0;
    left: 50%;
    width: calc(230/750*100vw);
    height: calc(41/750*100vw);
    background: url(../images/bg_recipe_hole_sp.png) no-repeat 0 0/contain;
    translate: -50% 0;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_list_item.recipe_list_item-01 {
    background: url(../images/bg_recipe01.jpg) no-repeat 0 0/cover;
    translate: max(calc(-40/1440*100vw), -40px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item.recipe_list_item-01 {
    background: url(../images/bg_recipe01_sp.jpg) no-repeat center 0/cover;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_list_item.recipe_list_item-02 {
    background: url(../images/bg_recipe02.jpg) no-repeat 0 0/cover;
    translate: min(calc(60/1440*100vw), 60px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item.recipe_list_item-02 {
    background: url(../images/bg_recipe02_sp.jpg) no-repeat center 0/cover;
  }
}
.recipe_list_item .recipe_ballon01 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_ballon01 {
    top: max(calc(-97/1440*100vw), -97px);
    left: max(calc(-121/1440*100vw), -121px);
    width: min(calc(239/1440*100vw), 239px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_ballon01 {
    top: calc(-97/750*100vw);
    left: calc(2/750*100vw);
    width: calc(239/750*100vw);
  }
}
.recipe_list_item .recipe_intro {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_intro {
    width: min(calc(640/1440*100vw), 640px);
    margin-top: min(calc(20/1440*100vw), 20px);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_movie {
    width: min(calc(377/1440*100vw), 377px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_movie {
    margin-top: calc(118/750*100vw);
  }
}
.recipe_list_item .recipe_ballon02 {
  display: block;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_ballon02 {
    height: min(calc(48.5/1440*100vw), 48.5px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_ballon02 {
    width: auto;
    height: calc(50/750*100vw);
    margin-bottom: calc(5/750*100vw);
  }
}
.recipe_list_item .recipe_time {
  position: absolute;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_time {
    top: min(calc(207/1440*100vw), 207px);
    left: min(calc(9/1440*100vw), 9px);
    width: min(calc(139/1440*100vw), 139px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_time {
    top: calc(216/750*100vw);
    left: calc(34/750*100vw);
    width: calc(139/750*100vw);
  }
}
.recipe_list_item .recipe_cook {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_cook_img {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_cook_img {
    display: block;
    width: calc(640/750*100vw);
    margin-inline: auto;
  }
}
.recipe_list_item .recipe_cook_modal {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transition: transform 0.2s ease, filter 0.2s ease;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_cook_modal {
    width: min(calc(468/1440*100vw), 468px);
    translate: -50% 50%;
    filter: drop-shadow(0 min(calc(9/1440*100vw), 9px) 0 rgba(0, 0, 0, 0.08));
  }
  .recipe_list_item .recipe_cook_modal:hover {
    transform: translateY(min(calc(9/1440*100vw), 9px));
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.08));
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_cook_modal {
    width: calc(560/750*100vw);
    translate: -50% 50%;
    filter: drop-shadow(0 calc(9/750*100vw) 0 rgba(0, 0, 0, 0.08));
  }
}
.recipe_list_item .recipe_cook_modal img {
  width: 100%;
}
.recipe_list_item .recipe_delish-kitchen {
  display: block;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_delish-kitchen {
    width: min(calc(320/1440*100vw), 320px);
    margin: 0 auto min(calc(17/1440*100vw), 17px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_delish-kitchen {
    width: calc(355/750*100vw);
    margin: 0 auto calc(31/750*100vw);
  }
}
.recipe_list_item .recipe_to-movie {
  display: block;
  padding: 0;
  border: none;
  background: none;
  aspect-ratio: 377 / 669;
  appearance: none;
}
.recipe_list_item .recipe_to-movie.is-hidden {
  display: none;
}
.recipe_list_item .recipe_to-movie:not(.is-playing) {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.recipe_list_item .recipe_to-movie:not(.is-playing):hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_to-movie:not(.is-playing):hover {
    opacity: 1.0;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_list_item .recipe_to-movie {
    width: min(calc(377/1440*100vw), 377px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item .recipe_to-movie {
    width: calc(500/750*100vw);
    margin-inline: auto;
  }
}
.recipe_list_item .recipe_to-movie img {
  display: block;
  width: 100%;
}
.recipe_list_item .recipe_to-movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
.recipe_tips {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_tips {
    width: min(calc(1247/1440*100vw), 1247px);
    padding-block: min(calc(89/1440*100vw), 89px) min(calc(89/1440*100vw), 89px);
    background: url(../images/bg_tips_top.png) no-repeat 0 top/contain, url(../images/bg_tips_bottom.png) no-repeat 0 bottom/contain;
    margin: min(calc(179/1440*100vw), 179px) auto min(calc(104/1440*100vw), 104px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips {
    width: calc(690/750*100vw);
    padding-block: calc(89/750*100vw) calc(95/750*100vw);
    background: url(../images/bg_tips_top_sp.png) no-repeat 0 top/contain, url(../images/bg_tips_bottom_sp.png) no-repeat 0 bottom/contain;
    margin: calc(116/750*100vw) auto calc(51/750*100vw);
  }
}
.recipe_tips_title {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}
@media only screen and (min-width: 768px) {
  .recipe_tips_title {
    width: min(calc(458/1440*100vw), 458px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_title {
    width: calc(517/750*100vw);
  }
}
.recipe_tips_title img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .recipe_tips_contents {
    display: flex;
    justify-content: space-between;
    padding-inline: min(calc(112/1440*100vw), 112px) min(calc(106/1440*100vw), 106px);
    background: url(../images/bg_tips_middle.png) repeat-y 0 0/contain;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_contents {
    padding-inline: calc(74/750*100vw);
    background: url(../images/bg_tips_middle_sp.png) repeat-y 0 0/contain;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_tips_contents div:nth-of-type(n + 2) {
    margin-top: min(calc(17/1440*100vw), 17px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_contents div:nth-of-type(n + 2) {
    margin-top: calc(40/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_tips_points {
    width: min(calc(558/1440*100vw), 558px);
  }
}
.recipe_tips_points_num {
  display: block;
}
@media only screen and (min-width: 768px) {
  .recipe_tips_points_num {
    width: min(calc(117/1440*100vw), 117px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_points_num {
    width: calc(147/750*100vw);
  }
}
.recipe_tips_points_num img {
  width: 100%;
}
.recipe_tips_points_text {
  display: block;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_tips_points_text {
    height: min(calc(32/1440*100vw), 32px);
    margin: min(calc(14/1440*100vw), 14px) 0 0 min(calc(14/1440*100vw), 14px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_points_text {
    height: calc(42/750*100vw);
    margin-top: calc(30/750*100vw);
  }
}
.recipe_tips_points_text img {
  width: 100%;
}
.recipe_tips_points dd {
  color: #353535;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .recipe_tips_points dd {
    font-size: min(calc(18/1440*100vw), 18px);
    line-height: 1.66667;
    margin: min(calc(15/1440*100vw), 15px) 0 0 min(calc(14/1440*100vw), 14px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_points dd {
    font-size: calc(30/750*100vw);
    line-height: 1.6;
    margin-top: calc(22/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_tips_movie {
    width: min(calc(376/1440*100vw), 376px);
    margin-top: min(calc(16/1440*100vw), 16px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips_movie {
    width: calc(500/750*100vw);
    margin: calc(52/750*100vw) auto 0;
  }
}
.recipe_tips_movie img {
  width: 100%;
}
.recipe_tips_movie_player {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  aspect-ratio: 376 / 669;
  appearance: none;
}
.recipe_tips_movie_player.is-hidden {
  display: none;
}
.recipe_tips_movie_player:not(.is-playing) {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.recipe_tips_movie_player:not(.is-playing):hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .recipe_tips_movie_player:not(.is-playing):hover {
    opacity: 1.0;
  }
}
.recipe_tips_movie_player img {
  display: block;
  width: 100%;
}
.recipe_tips_movie_player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
.recipe_cloud {
  position: absolute;
  left: 50%;
  mix-blend-mode: color-dodge;
}
@media only screen and (min-width: 768px) {
  .recipe_cloud {
    width: min(calc(266/1440*100vw), 266px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud {
    width: calc(266/750*100vw);
    z-index: 1;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-01 {
    top: min(calc(470/1440*100vw), 470px);
    translate: 130% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-01 {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-02 {
    top: min(calc(960/1440*100vw), 960px);
    translate: -310% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-02 {
    top: calc(1780/750*100vw);
    translate: calc(-490/750*100vw) 0;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-03 {
    top: min(calc(1280/1440*100vw), 1280px);
    translate: -72% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-03 {
    top: calc(2180/750*100vw);
    translate: calc(150/750*100vw) 0;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-04 {
    top: min(calc(1382/1440*100vw), 1382px);
    translate: 180% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-04 {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-05 {
    top: min(calc(1752/1440*100vw), 1752px);
    translate: -318% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-05 {
    top: calc(2570/750*100vw);
    translate: calc(-505/750*100vw) 0;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_cloud.recipe_cloud-06 {
    top: min(calc(2282/1440*100vw), 2282px);
    translate: 192% 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud.recipe_cloud-06 {
    display: none;
  }
}
.recipe_cloud img {
  width: 100%;
}
.recipe_factor {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_factor {
    padding-bottom: min(calc(150/1440*100vw), 150px);
    background: url(../images/bg_factor.png) no-repeat center 0/cover;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor {
    padding-bottom: calc(206/750*100vw);
    background: url(../images/bg_factor_sp.png) no-repeat 0 calc(38/750*100vw)/100% auto;
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_title {
    width: min(calc(445/1440*100vw), 445px);
    margin: 0 auto min(calc(45/1440*100vw), 45px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_title {
    width: calc(445/750*100vw);
    margin: 0 auto calc(45/750*100vw);
  }
}
.recipe_factor_title img {
  width: 100%;
}
.recipe_factor_items {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_items {
    justify-content: center;
    column-gap: min(calc(80/1440*100vw), 80px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_items {
    flex-direction: column;
    row-gap: calc(60/750*100vw);
  }
}
.recipe_factor_items div {
  position: relative;
  background-color: rgba(255, 255, 255, 0.9);
  background-image: url(../images/bg_factor_item01.png), url(../images/bg_factor_item02.png);
  background-repeat: no-repeat;
  background-position: 0 0, right bottom;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_items div {
    width: min(calc(442/1440*100vw), 442px);
    background-size: min(calc(185.5/1440*100vw), 185.5px) min(calc(82/1440*100vw), 82px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_items div {
    width: calc(630/750*100vw);
    padding: calc(60/750*100vw) calc(45/750*100vw);
    background-size: calc(185.5/750*100vw) calc(82/750*100vw);
    margin-inline: auto;
  }
}
.recipe_factor_items div:nth-of-type(n + 2)::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  background: url(../images/img_factor_multiple.png) no-repeat 0 0/cover;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_items div:nth-of-type(n + 2)::before {
    width: min(calc(119/1440*100vw), 119px);
    height: min(calc(119/1440*100vw), 119px);
    left: max(calc(-100/1440*100vw), -100px);
    translate: 0 -50%;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_items div:nth-of-type(n + 2)::before {
    width: calc(119/750*100vw);
    height: calc(119/750*100vw);
    top: calc(-90/750*100vw);
    left: 50%;
    translate: -50% 0;
  }
}
.recipe_factor_package {
  display: block;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_package.recipe_factor_package-01 {
    width: min(calc(209/1440*100vw), 209px);
    margin-top: min(calc(47/1440*100vw), 47px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_package.recipe_factor_package-01 {
    width: calc(209/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_package.recipe_factor_package-02 {
    width: min(calc(174/1440*100vw), 174px);
    margin-top: min(calc(43/1440*100vw), 43px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_package.recipe_factor_package-02 {
    width: calc(174/750*100vw);
  }
}
.recipe_factor_package img {
  width: 100%;
}
.recipe_factor_name {
  display: block;
  width: auto;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_name {
    height: min(calc(36/1440*100vw), 36px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_name {
    height: calc(44/750*100vw);
    margin-top: calc(43/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_name.recipe_factor_name-01 {
    margin-top: min(calc(27/1440*100vw), 27px);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_name.recipe_factor_name-02 {
    margin-top: min(calc(37/1440*100vw), 37px);
  }
}
.recipe_factor_text {
  color: #2a2a2a;
}
@media only screen and (min-width: 768px) {
  .recipe_factor_text {
    font-size: min(calc(20/1440*100vw), 20px);
    line-height: 1.7;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor_text {
    font-size: calc(30/750*100vw);
    line-height: 1.6;
    margin-top: calc(33/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_text.recipe_factor_text-01 {
    padding: min(calc(34/1440*100vw), 34px) min(calc(36/1440*100vw), 36px) min(calc(39/1440*100vw), 39px) min(calc(44/1440*100vw), 44px);
  }
}
@media only screen and (min-width: 768px) {
  .recipe_factor_text.recipe_factor_text-02 {
    padding: min(calc(35/1440*100vw), 35px) min(calc(37/1440*100vw), 37px) min(calc(39/1440*100vw), 39px) min(calc(50/1440*100vw), 50px);
  }
}

.items {
  position: relative;
  z-index: 1;
}
.items_inner {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .items_inner {
    width: min(calc(1150/1440*100vw), 1150px);
  }
}
@media only screen and (max-width: 767px) {
  .items_inner {
    width: calc(690/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .items h2 {
    margin-block: max(calc(-71/1440*100vw), -71px) min(calc(92/1440*100vw), 92px);
  }
}
@media only screen and (max-width: 767px) {
  .items h2 {
    margin-block: calc(-86/750*100vw) calc(106/750*100vw);
  }
}
.items h2 button {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  border: none;
  background: #efd56c;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .items h2 button {
    column-gap: min(calc(35/1440*100vw), 35px);
    padding: min(calc(25/1440*100vw), 25px) min(calc(98/1440*100vw), 98px) min(calc(28/1440*100vw), 28px) min(calc(28/1440*100vw), 28px);
    filter: drop-shadow(0 0 min(calc(9/1440*100vw), 9px) rgba(0, 0, 0, 0.08));
  }
}
@media only screen and (max-width: 767px) {
  .items h2 button {
    column-gap: calc(36/750*100vw);
    padding: calc(27/750*100vw) calc(90/750*100vw) calc(23/750*100vw) calc(27/750*100vw);
    filter: drop-shadow(0 0 calc(9/750*100vw) rgba(0, 0, 0, 0.08));
  }
}
@media only screen and (min-width: 768px) {
  .items h2 button .items_title_thumb {
    width: min(calc(152/1440*100vw), 152px);
  }
}
@media only screen and (max-width: 767px) {
  .items h2 button .items_title_thumb {
    width: calc(152/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .items h2 button .items_title_text {
    width: min(calc(765/1440*100vw), 765px);
  }
}
@media only screen and (max-width: 767px) {
  .items h2 button .items_title_text {
    width: calc(328/750*100vw);
  }
}
.items h2 button .items_title_arrow {
  transition: rotate 0.3s ease;
  rotate: 180deg;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .items h2 button .items_title_arrow {
    right: min(calc(40/1440*100vw), 40px);
    width: min(calc(58/1440*100vw), 58px);
  }
}
@media only screen and (max-width: 767px) {
  .items h2 button .items_title_arrow {
    right: calc(32/750*100vw);
    width: calc(58/750*100vw);
  }
}
.items h2 button.is-open .items_title_arrow {
  rotate: 0deg;
}
.items_contents {
  display: none;
}
@media only screen and (min-width: 768px) {
  .items_contents_section:nth-of-type(n + 2) {
    margin-top: min(calc(75/1440*100vw), 75px);
  }
}
@media only screen and (max-width: 767px) {
  .items_contents_section:nth-of-type(n + 2) {
    margin-top: calc(92/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .items_contents_section h3 {
    height: min(calc(44/1440*100vw), 44px);
    margin-bottom: min(calc(50/1440*100vw), 50px);
  }
}
@media only screen and (max-width: 767px) {
  .items_contents_section h3 {
    height: calc(44/750*100vw);
    margin-bottom: calc(60/750*100vw);
  }
}
.items_contents_section h3 img {
  display: block;
  width: auto;
  height: 100%;
  margin-inline: auto;
}
.items_contents_section .items_list {
  display: grid;
  width: fit-content;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .items_contents_section .items_list {
    grid-template-columns: repeat(4, 1fr);
    gap: min(calc(20/1440*100vw), 20px);
    padding-inline: min(calc(33/1440*100vw), 33px);
  }
}
@media only screen and (max-width: 767px) {
  .items_contents_section .items_list {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20/1440*100vw);
  }
}
.items_contents_section .items_list_item a {
  display: block;
  height: 100%;
  transition: scale 0.3s;
}
.items_contents_section .items_list_item_img {
  border: solid 2px #efefef;
}
@media only screen and (min-width: 768px) {
  .items_contents_section .items_list_item_img {
    height: min(calc(256/1440*100vw), 256px);
    padding-block: min(calc(20/1440*100vw), 20px);
    border-radius: min(calc(12/1440*100vw), 12px);
    margin-bottom: min(calc(10/1440*100vw), 10px);
  }
}
@media only screen and (max-width: 767px) {
  .items_contents_section .items_list_item_img {
    height: calc(300/750*100vw);
    padding-block: calc(12/750*100vw);
    border-radius: calc(14/750*100vw);
    margin-bottom: calc(12/750*100vw);
  }
}
.items_contents_section .items_list_item_img img {
  display: block;
  width: auto;
  height: 100%;
  margin-inline: auto;
  transition: scale .3s;
}
@media only screen and (min-width: 768px) {
  .items_contents_section .items_list_item a:hover img {
    scale: 1.15;
  }
}
.items_contents_section .items_list_item_name {
  display: block;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .items_contents_section .items_list_item_name {
    font-size: min(calc(18/1440*100vw), 18px);
    line-height: 1.6;
  }
}
@media only screen and (max-width: 767px) {
  .items_contents_section .items_list_item_name {
    font-size: calc(24/750*100vw);
    line-height: 1.6;
  }
}

@media only screen and (min-width: 768px) {
  .chef {
    background: url(../images/bg_chef.jpg) no-repeat center center/cover;
    margin-block: min(calc(84/1440*100vw), 84px) min(calc(60/1440*100vw), 60px);
  }
}
@media only screen and (max-width: 767px) {
  .chef {
    background: url(../images/bg_chef_sp.jpg) no-repeat center center/cover;
    margin-block: calc(76/750*100vw) calc(15/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .chef_contents {
    width: min(calc(1150/1440*100vw), 1150px);
    padding: min(calc(60/1440*100vw), 60px) min(calc(50/1440*100vw), 50px);
    margin-inline: auto;
  }
}
@media only screen and (min-width: 768px) {
  .chef_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: min(calc(80/1440*100vw), 80px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_inner {
    padding-block: calc(100/750*100vw) calc(45/750*100vw);
  }
}
.chef_texts {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .chef_texts {
    row-gap: min(calc(56/1440*100vw), 56px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts {
    row-gap: calc(80/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .chef_texts h2 {
    width: min(calc(495/1440*100vw), 495px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts h2 {
    width: calc(495/750*100vw);
  }
}
.chef_texts h2 img {
  width: 100%;
}
.chef_texts_wording {
  position: relative;
  color: white;
  letter-spacing: .075em;
}
@media only screen and (min-width: 768px) {
  .chef_texts_wording {
    font-size: min(calc(32/1440*100vw), 32px);
    line-height: 1.5625;
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts_wording {
    font-size: calc(32/750*100vw);
    line-height: 1.5625;
  }
}
.chef_texts_wording::before, .chef_texts_wording::after {
  content: "";
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .chef_texts_wording::before, .chef_texts_wording::after {
    width: min(calc(36/1440*100vw), 36px);
    height: min(calc(28/1440*100vw), 28px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts_wording::before, .chef_texts_wording::after {
    width: calc(36/750*100vw);
    height: calc(28/750*100vw);
  }
}
.chef_texts_wording::before {
  position: absolute;
  background: url(../images/text_chef_word_start.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .chef_texts_wording::before {
    top: min(calc(14/1440*100vw), 14px);
    left: max(calc(-54/1440*100vw), -54px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts_wording::before {
    top: calc(14/750*100vw);
    left: calc(-54/750*100vw);
  }
}
.chef_texts_wording::after {
  background: url(../images/text_chef_word_end.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .chef_texts_wording::after {
    translate: 0 min(calc(2/1440*100vw), 2px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts_wording::after {
    translate: 0 calc(2/750*100vw);
  }
}
.chef_texts_note {
  color: white;
}
.chef_imgs {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .chef_imgs {
    margin-top: calc(62/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .chef_imgs_logo {
    width: min(calc(311/1440*100vw), 311px);
    margin-bottom: min(calc(21/1440*100vw), 21px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_imgs_logo {
    width: calc(386/750*100vw);
    margin-bottom: calc(42/750*100vw);
  }
}
.chef_imgs_logo img {
  width: 100%;
}
.chef_imgs_photo {
  color: white;
}
@media only screen and (min-width: 768px) {
  .chef_imgs_photo {
    font-size: min(calc(24/1440*100vw), 24px);
    width: min(calc(437/1440*100vw), 437px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_imgs_photo {
    font-size: calc(30/750*100vw);
    width: calc(542/750*100vw);
  }
}
.chef_imgs_photo img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .chef_imgs_photo img {
    margin-bottom: min(calc(20/1440*100vw), 20px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_imgs_photo img {
    margin-bottom: calc(36/750*100vw);
  }
}
.chef_note {
  color: white;
}
@media only screen and (min-width: 768px) {
  .chef_note {
    font-size: min(calc(15/1440*100vw), 15px);
    margin: min(calc(15/1440*100vw), 15px) 0 0 min(calc(26/1440*100vw), 26px);
  }
}
@media only screen and (max-width: 767px) {
  .chef_note {
    font-size: calc(18/750*100vw);
    text-align: center;
    padding-bottom: calc(55/750*100vw);
    margin-top: calc(15/750*100vw);
  }
}

.about {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .about {
    width: min(calc(1150/1440*100vw), 1150px);
    padding-block: min(calc(49/1440*100vw), 49px);
  }
}
@media only screen and (max-width: 767px) {
  .about {
    width: calc(720/750*100vw);
    padding-block: calc(56/750*100vw);
  }
}
.about_inner {
  position: relative;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .about_inner {
    column-gap: min(calc(40/1440*100vw), 40px);
    padding: min(calc(13/1440*100vw), 13px) min(calc(10/1440*100vw), 10px);
  }
}
@media only screen and (max-width: 767px) {
  .about_inner {
    flex-direction: column;
    padding: calc(53/750*100vw) calc(11/750*100vw) 0;
  }
}
@media only screen and (min-width: 768px) {
  .about h2 {
    width: min(calc(254/1440*100vw), 254px);
  }
}
@media only screen and (max-width: 767px) {
  .about h2 {
    width: calc(401/750*100vw);
    margin: 0 auto calc(60/750*100vw);
  }
}
.about h2 img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .about dl {
    width: min(calc(643/1440*100vw), 643px);
  }
}
@media only screen and (max-width: 767px) {
  .about dl {
    width: calc(542/750*100vw);
    margin-inline: auto;
  }
}
@media only screen and (min-width: 768px) {
  .about dl dt {
    width: min(calc(336/1440*100vw), 336px);
    margin-bottom: min(calc(25/1440*100vw), 25px);
  }
}
@media only screen and (max-width: 767px) {
  .about dl dt {
    width: calc(433/750*100vw);
    margin: 0 auto calc(59/750*100vw);
  }
}
.about dl dt img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .about dl dd {
    font-size: min(calc(20/1440*100vw), 20px);
    line-height: 1.6;
  }
}
@media only screen and (max-width: 767px) {
  .about dl dd {
    font-size: calc(30/750*100vw);
    line-height: 1.6;
  }
}

.bnrs {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .bnrs {
    justify-content: center;
    column-gap: min(calc(50/1440*100vw), 50px);
    margin-top: min(calc(100/1440*100vw), 100px);
  }
}
@media only screen and (max-width: 767px) {
  .bnrs {
    flex-direction: column;
    row-gap: calc(61/750*100vw);
    width: calc(542/750*100vw);
    margin: calc(81/750*100vw) auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .bnrs li {
    width: min(calc(412.5/1440*100vw), 412.5px);
  }
}
.bnrs li img {
  width: 100%;
}

.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: 50px;
}
.footer_sns li {
  width: 80px;
}
.footer_sns li img {
  width: 100%;
}
.footer_sns a {
  display: block;
  transition: opacity 0.3s ease;
}
.footer_sns a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .footer_sns a:hover {
    opacity: 1.0;
  }
}
.footer_copyright {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 48px;
}
.footer_copyright li {
  font-size: 16px;
  line-height: calc(26/10);
  letter-spacing: 0.075em;
}
.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: 767px) {
  .footer {
    padding: calc(80/750*100vw) 0 calc(60/750*100vw);
  }
  .footer_inner {
    width: 100%;
  }
  .footer_sns {
    gap: calc(50/750*100vw);
  }
  .footer_sns li {
    width: calc(100/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);
    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 {
  background: rgba(242, 145, 70, 0.9);
  width: 100%;
  height: 100vh;
  position: fixed;
  flex-direction: column;
  top: 0;
  left: 0;
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .modal {
    display: flex;
    align-items: flex-start;
    padding: min(calc(141/1440*100vw), 141px) min(calc(40/1440*100vw), 40px) min(calc(60/1440*100vw), 60px);
  }
}
@media only screen and (max-width: 767px) {
  .modal {
    padding: calc(137/750*100vw) calc(30/750*100vw) calc(33/750*100vw);
  }
}
.modal.is-active {
  opacity: 1;
  visibility: visible;
}
.modal.center {
  align-items: center;
}
.modal_contents {
  position: relative;
  height: auto;
  background: #ffffff;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .modal_contents {
    width: min(calc(900/1440*100vw), 900px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_contents {
    width: calc(690/750*100vw);
  }
}
.modal_contents::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  background: url(../images/modal/bg_modal_top.png) no-repeat 0 center/cover;
  translate: -50% 0;
}
@media only screen and (min-width: 768px) {
  .modal_contents::before {
    top: max(calc(-45/1440*100vw), -45px);
    width: min(calc(176/1440*100vw), 176px);
    height: min(calc(108/1440*100vw), 108px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_contents::before {
    top: calc(-45/750*100vw);
    width: calc(176/750*100vw);
    height: calc(108/750*100vw);
  }
}
.modal_close-btn {
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease;
}
@media only screen and (min-width: 768px) {
  .modal_close-btn {
    width: min(calc(400/1440*100vw), 400px);
    margin: min(calc(42/1440*100vw), 42px) auto 0;
    filter: drop-shadow(0 min(calc(9/1440*100vw), 9px) 0 rgba(0, 0, 0, 0.08));
  }
  .modal_close-btn:hover {
    transform: translateY(min(calc(9/1440*100vw), 9px));
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.08));
  }
}
@media only screen and (max-width: 767px) {
  .modal_close-btn {
    width: calc(560/750*100vw);
    margin: calc(42/750*100vw) auto 0;
    filter: drop-shadow(0 calc(9/750*100vw) 0 rgba(0, 0, 0, 0.08));
  }
}
.modal_close-btn img {
  width: 100%;
}
.modal_close_text {
  width: fit-content;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.modal_close_text:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .modal_close_text:hover {
    opacity: 1.0;
  }
}
@media only screen and (min-width: 768px) {
  .modal_close_text {
    margin: pxToMinMin(42px, 1440) auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .modal_close_text {
    margin: pxToMin(42px, 750) auto 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 {
  position: relative;
}
.modal_item_ballon {
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
@media only screen and (min-width: 768px) {
  .modal_item_ballon {
    top: max(calc(-96/1440*100vw), -96px);
    height: min(calc(47/1440*100vw), 47px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_ballon {
    top: calc(-96/750*100vw);
    height: calc(47/750*100vw);
  }
}
.modal_item_ballon img {
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .modal_item_ballon img {
    width: auto;
  }
}
@media only screen and (min-width: 768px) {
  .modal_item_inner {
    padding: min(calc(5/1440*100vw), 5px) min(calc(60/1440*100vw), 60px) min(calc(50/1440*100vw), 50px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_inner {
    padding: calc(6/750*100vw) calc(40/750*100vw) calc(60/750*100vw);
  }
}
@media only screen and (min-width: 768px) {
  .modal_item h3 {
    height: min(calc(101/1440*100vw), 101px);
    margin-bottom: min(calc(50/1440*100vw), 50px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item h3 {
    height: calc(101/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}
.modal_item h3 img {
  display: block;
  width: auto;
  height: 100%;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .modal_item_upper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
.modal_item_product {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .modal_item_product {
    width: min(calc(344/1440*100vw), 344px);
    margin-top: min(calc(36/1440*100vw), 36px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_product {
    width: calc(344/750*100vw);
    margin: calc(36/750*100vw) auto calc(25/750*100vw);
  }
}
.modal_item_product_img {
  width: 100%;
}
.modal_item_product_time {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .modal_item_product_time {
    width: min(calc(96/1440*100vw), 96px);
    top: 0;
    right: 0;
    translate: 0 -50%;
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_product_time {
    width: calc(115.52/750*100vw);
    top: calc(-15/750*100vw);
    right: calc(-67/750*100vw);
  }
}
.modal_item_product img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .modal_item_materials {
    width: min(calc(414/1400*100vw), 414px);
  }
}
.modal_item_materials dt {
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .modal_item_materials dt {
    font-size: min(calc(20/1440*100vw), 20px);
    margin-bottom: min(calc(10/1440*100vw), 10px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_materials dt {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(10/750*100vw);
  }
}
.modal_item_materials dd {
  display: flex;
  justify-content: space-between;
  border-bottom: solid 2px #f7cdba;
}
.modal_item_materials dd:first-of-type {
  border-top: solid 2px #f7cdba;
}
@media only screen and (min-width: 768px) {
  .modal_item_materials dd {
    font-size: min(calc(18/1440*100vw), 18px);
    padding: min(calc(12/1440*100vw), 12px) min(calc(10/1440*100vw), 10px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_materials dd {
    font-size: min(calc(24/750*100vw), 24px);
    padding: min(calc(10/750*100vw), 10px) 0 min(calc(10/750*100vw), 10px) min(calc(14/750*100vw), 14px);
  }
}
.modal_item_materials_name {
  flex: 1;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .modal_item_process {
    margin-top: min(calc(55/1440*100vw), 55px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process {
    margin-top: calc(50/750*100vw);
  }
}
.modal_item_process h4 {
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .modal_item_process h4 {
    font-size: min(calc(30/1440*100vw), 30px);
    margin-bottom: min(calc(20/1440*100vw), 20px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process h4 {
    font-size: calc(34/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}
.modal_item_process ol {
  display: flex;
  flex-direction: column;
  row-gap: 1lh;
}
@media only screen and (min-width: 768px) {
  .modal_item_process ol {
    font-size: min(calc(18/1440*100vw), 18px);
    line-height: 30 / 18;
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process ol {
    font-size: calc(24/750*100vw);
    line-height: 40 / 24;
  }
}
.modal_item_process ol li {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .modal_item_process ol li {
    column-gap: min(calc(32/1440*100vw), 32px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process ol li {
    column-gap: calc(20/750*100vw);
  }
}
.modal_item_process ol li::before {
  content: "";
  display: block;
}
@media only screen and (min-width: 768px) {
  .modal_item_process ol li::before {
    width: min(calc(24/1440*100vw), 24px);
    height: min(calc(24/1440*100vw), 24px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process ol li::before {
    width: calc(34/750*100vw);
    height: calc(40/750*100vw);
  }
}
.modal_item_process ol li:nth-of-type(1)::before {
  background: url(../images/modal/text_modal_num_1.png) no-repeat 0 0/contain;
}
.modal_item_process ol li:nth-of-type(2)::before {
  background: url(../images/modal/text_modal_num_2.png) no-repeat 0 0/contain;
}
.modal_item_process ol li:nth-of-type(3)::before {
  background: url(../images/modal/text_modal_num_3.png) no-repeat 0 0/contain;
}
.modal_item_process ol li:nth-of-type(4)::before {
  background: url(../images/modal/text_modal_num_4.png) no-repeat 0 0/contain;
}
.modal_item_process ol li:nth-of-type(5)::before {
  background: url(../images/modal/text_modal_num_5.png) no-repeat 0 0/contain;
}
.modal_item_process ol li span {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .modal_item_process ol li span {
    font-size: min(calc(18/1440*100vw), 18px);
    line-height: 1.66667;
    translate: 0 max(calc(-7/1440*100vw), -7px);
  }
}
@media only screen and (max-width: 767px) {
  .modal_item_process ol li span {
    font-size: calc(24/750*100vw);
    line-height: 1.66667;
    translate: 0 calc(-7/750*100vw);
  }
}

.visual_bg {
  transition: opacity 0.6s 0.3s ease;
  opacity: 0;
}
.visual_bg.anim {
  opacity: 1;
}
.visual h1 {
  transition: opacity 0.6s 0.6s ease, translate 0.6s 0.6s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .visual h1 {
    translate: calc(-100/1440*100vw) 0;
  }
}
@media only screen and (max-width: 767px) {
  .visual h1 {
    translate: -200% 0;
  }
}
.visual h1.anim {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .visual h1.anim {
    translate: 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .visual h1.anim {
    translate: -50% 0;
  }
}
.visual_items_torigara {
  transition: opacity 0.6s 0.6s ease, translate 0.6s 0.6s ease;
  opacity: 0;
  translate: 0 calc(100/1440*100vw);
}
.visual_items_oyster-source {
  transition: opacity 0.6s 0.8s ease, translate 0.6s 0.8s ease;
  opacity: 0;
  translate: 0 calc(100/1440*100vw);
}
.visual_items.anim .visual_items_torigara {
  opacity: 1;
  translate: 0 0;
}
.visual_items.anim .visual_items_oyster-source {
  opacity: 1;
  translate: 0 0;
}

.recipe_title_before {
  transition: opacity 0.6s 0.6s ease, translate 0.6s 0.6s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_title_before {
    translate: calc(-100/1440*100vw) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title_before {
    translate: -200% 0;
  }
}
.recipe_title_before.anim {
  translate: 0 0;
  opacity: 1;
}
.recipe_title_after {
  transition: opacity 0.6s 0.3s ease;
  opacity: 0;
}
.recipe_title_after.anim {
  opacity: 1;
}
.recipe_title-cloud {
  transition: opacity 0.6s 0.6s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_title-cloud {
    animation: cloudSwayPc 4s ease-in-out infinite alternate;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_title-cloud {
    animation: cloudSwaySp 4s ease-in-out infinite alternate;
  }
}
.recipe_title-cloud.anim {
  opacity: 1;
}
@keyframes cloudSwayPc {
  from {
    transform: translateX(max(calc(-20/1440*100vw), -20px));
  }
  to {
    transform: translateX(min(calc(20/1440*100vw), 20px));
  }
}
@keyframes cloudSwaySp {
  from {
    transform: translateX(calc(-40/750*100vw));
  }
  to {
    transform: translateX(calc(40/750*100vw));
  }
}
.recipe_title-cloud-01 {
  animation-duration: 4.3s;
  animation-delay: -1.2s;
}
.recipe_title-cloud-02 {
  animation-duration: 3.9s;
  animation-delay: -3.4s;
}
.recipe_list_item:nth-of-type(odd) {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item:nth-of-type(odd) {
    translate: max(calc(-100/1440*100vw), -100px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item:nth-of-type(odd) {
    translate: 0 10%;
  }
}
.recipe_list_item:nth-of-type(odd).anim {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item:nth-of-type(odd).anim {
    translate: max(calc(-40/1440*100vw), -40px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item:nth-of-type(odd).anim {
    translate: 0 0;
  }
}
.recipe_list_item:nth-of-type(even) {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item:nth-of-type(even) {
    translate: min(calc(160/1440*100vw), 160px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item:nth-of-type(even) {
    translate: 0 10%;
  }
}
.recipe_list_item:nth-of-type(even).anim {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .recipe_list_item:nth-of-type(even).anim {
    translate: max(calc(60/1440*100vw), 60px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_list_item:nth-of-type(even).anim {
    translate: 0 0;
  }
}
.recipe_tips {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_tips {
    translate: 0 max(calc(100/1440*100vw), 100px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_tips {
    translate: 0 calc(100/750*100vw);
  }
}
.recipe_tips.anim {
  opacity: 1;
  translate: 0 0;
}
@media only screen and (min-width: 768px) {
  .recipe_cloud {
    animation: cloudSwayPc 4s ease-in-out infinite alternate;
  }
}
@media only screen and (max-width: 767px) {
  .recipe_cloud {
    animation: cloudSwaySp 4s ease-in-out infinite alternate;
  }
}
@keyframes cloudSwayPc {
  from {
    transform: translateX(max(calc(-20/1440*100vw), -20px));
  }
  to {
    transform: translateX(min(calc(20/1440*100vw), 20px));
  }
}
@keyframes cloudSwaySp {
  from {
    transform: translateX(calc(-40/750*100vw));
  }
  to {
    transform: translateX(calc(40/750*100vw));
  }
}
.recipe_cloud.recipe_cloud-01 {
  animation-duration: 4.3s;
  animation-delay: -1.2s;
}
.recipe_cloud.recipe_cloud-02 {
  animation-duration: 3.9s;
  animation-delay: -3.4s;
}
.recipe_cloud.recipe_cloud-03 {
  animation-duration: 4.8s;
  animation-delay: -0.6s;
}
.recipe_cloud.recipe_cloud-04 {
  animation-duration: 4.1s;
  animation-delay: -4.1s;
}
.recipe_cloud.recipe_cloud-05 {
  animation-duration: 4.5s;
  animation-delay: -2.3s;
}
.recipe_cloud.recipe_cloud-06 {
  animation-duration: 3.7s;
  animation-delay: -5.0s;
}
.recipe_factor {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .recipe_factor {
    translate: 0 max(calc(100/1440*100vw), 100px);
  }
}
@media only screen and (max-width: 767px) {
  .recipe_factor {
    translate: 0 calc(100/750*100vw);
  }
}
.recipe_factor.anim {
  opacity: 1;
  translate: 0 0;
}

.chef_texts {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .chef_texts {
    translate: max(calc(-40/1440*100vw), -40px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .chef_texts {
    translate: calc(-40/750*100vw) 0;
  }
}
.chef_texts.anim {
  opacity: 1;
  translate: 0 0;
}
.chef_imgs {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .chef_imgs {
    translate: min(calc(40/1440*100vw), 40px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .chef_imgs {
    translate: calc(40/750*100vw) 0;
  }
}
.chef_imgs.anim {
  opacity: 1;
  translate: 0 0;
}

.about {
  transition: opacity 0.6s 0.3s ease, translate 0.6s 0.3s ease;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .about {
    translate: 0 max(calc(40/1440*100vw), 40px);
  }
}
@media only screen and (max-width: 767px) {
  .about {
    translate: 0 calc(40/750*100vw);
  }
}
.about.anim {
  opacity: 1;
  translate: 0 0;
}

.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: 767px) {
  .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);
  }
}
