:root {
  --scrollbar: 0;
  --vw: 1vw;
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}
@media only screen and (max-width: 640px) {
  :root {
    scroll-padding-top: calc(var(--vw) * 2.6666666667);
  }
}

html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}

body {
  position: relative;
  background-color: #fff;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 640px) {
  body.is-menu--open {
    overflow: hidden;
  }
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.l-main {
  min-width: 1280px;
  overflow: clip;
}
@media only screen and (max-width: 640px) {
  .l-main {
    min-width: 0;
  }
}

/*--------------------------------------------
UA
--------------------------------------------*/
.u-1920 {
  display: none !important;
}

.u-pc_1920 {
  display: block !important;
}

.u-pc_1920__inline {
  display: inline !important;
}

.u-pc_1920__inline-block {
  display: inline-block !important;
}

.u-pc {
  display: block !important;
}

.u-pc_sp {
  display: block !important;
}

.u-pc__inline {
  display: inline !important;
}

.u-sp {
  display: none !important;
}

.u-sp__inline {
  display: none !important;
}

/********* sp *********/
@media only screen and (max-width: 640px) {
  .u-pc_1920 {
    display: none !important;
  }

  .u-pc_1920__inline {
    display: none !important;
  }

  .u-pc_1920__inline-block {
    display: none !important;
  }

  .u-pc {
    display: none !important;
  }

  .u-pc_sp {
    display: block !important;
  }

  .u-pc__inline {
    display: none !important;
  }

  .u-sp {
    display: block !important;
  }

  .u-sp__inline {
    display: inline !important;
  }
}

/********* w1920 *********/
@media only screen and (min-width:1920px) {
  .u-pc_1920 {
    display: block !important;
  }

  .u-pc_1920__inline {
    display: inline !important;
  }

  .u-pc_1920__inline-block {
    display: inline-block !important;
  }

  .u-1920 {
    display: block !important;
  }

  .u-pc {
    display: none !important;
  }

  .u-pc_sp {
    display: none !important;
  }

  .u-sp {
    display: none !important;
  }
}

.p-page-menu {
  display: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .p-page-menu {
    display: block;
  }
  
  .p-page-menu__btn {
    position: fixed;
    z-index: 99999;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 21.88vw;
    height: 21.88vw;
  }
  
  .p-page-menu__btn > button > img {
    width: 18.75vw;
  }
  
  .p-page-menu__menu {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(230, 0, 18, 0.95);
  }
  
  .is-menu--open .p-page-menu__menu {
    opacity: 1;
    pointer-events: all;
  }
  
  .p-page-menu__list {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(var(--vw) * 15.4666666667);
  }
  
  .p-page-menu__list > li:nth-child(1) img {
    width: 17.97vw;
  }
  .p-page-menu__list > li:nth-child(2) img {
    width: 62.5vw;
  }
  .p-page-menu__list > li:nth-child(3) img {
    width: 46.25vw;
  }
  .p-page-menu__list > li:nth-child(4) img {
    width: 26.56vw;
  }
  .p-page-menu__list > li:nth-child(5) img {
    width: 47.19vw;
  }
}

.p-kv {
  overflow: hidden;
  border-top: 1px solid #999;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .p-kv {
    border-top: none;
  }
}

.p-kv__inner {
  margin: 0 auto;
  max-width: 1920px;
  width: 100%;
}

.swiper {
  width: 100%;
  height: auto;
}

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
}

.progressbar {
  position: relative;
  width: 100%;
  height: 6px;
  background: #e50012;
  z-index: 1;
}
/********* sp *********/
@media screen and (max-width: 640px) {
  .progressbar {
    max-width: none;
    height: 0.8vw;
  }
}

.progressbar__inner {
  position: relative;
  width: 100%;
  max-width: 1920px;
  height: 6px;
  margin: 0 auto;
  overflow: hidden;
  background: #e50012;
}

 .progressbar__inner span {
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #00aeef;
  transform: scaleX(0);
  transform-origin: left center;
  transition-timing-function: linear;
 }

.c-section-inner {
  width: 1280px;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  .c-section-inner {
    width: 100%;
  }
}

.p-nav {
  position: sticky;
  z-index: 9999;
  top: 0;
  background: #e50017;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .p-nav {
    display: none;
  }
}

.p-nav__inner {
  position: static;
  -webkit-transform: none;
          transform: none;
  width: 1920px;
  max-width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-nav__list > li {
  width: auto;
  height: auto;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 4px -8px 0;
}

.p-nav__list > li > a {
  width: 190px;
  height: 102px;
  display: block;
  transition: opacity 0.3s;
}

.p-nav__list > li > a:hover {
  opacity: 0.8;
}

.p-nav__list > li:nth-child(1) img,
.p-nav__list > li:nth-child(2) img,
.p-nav__list > li:nth-child(3) img,
.p-nav__list > li:nth-child(4) img,
.p-nav__list > li:nth-child(5) img {
  width: 190px;
  height: 102px;
  -o-object-fit: contain;
      object-fit: contain;
}

.tvcm {
  background-color: #e50017;
  color: #fff;
  padding: 40px 0 20px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm {
    padding: 12.5vw 0 6.25vw;
  }
}

.tvcm__inner {
  text-align: center;
  position: relative;
  z-index: 1;
}

.tvcm__ttl {
  width: 202px;
  margin: 0 auto 25px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm__ttl {
    width: 34.69vw;
    margin: 0 auto 3.91vw;
  }
}

.tvcm__lead {
  font-family: "RoundedMplus1c", "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.417;
  letter-spacing: 0.05em;
  font-weight: 900;
  margin: 0;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm__lead {
    font-size: 5vw;
    line-height: 1.5;
  }
}

.tvcm__container {
  margin: 36px auto 0;
  width: 700px;
  max-width: 100%;
  position: relative;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm__container {
    margin: 7.03vw auto 0;
    width: 90.67vw;
  }
}

.tvcm__container__mov {
  width: 700px;
  height: 393px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 25px rgba(255, 255, 255, 1);
          box-shadow: 0 0 25px rgba(255, 255, 255, 1);
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm__container__mov {
    width: 90.67vw;
    height: 50.93vw;
    -webkit-box-shadow: 0 0 4.69vw rgba(255, 255, 255, 1);
            box-shadow: 0 0 4.69vw rgba(255, 255, 255, 1);
  }
}

.tvcm__container__mov iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.tvcm__deco {
  position: absolute;
  z-index: 2;
}

.tvcm__deco--left {
  width: 188px;
  left: -222px;
  top: -139px;
}
.tvcm__deco--right {
  width: 282px;
  right: -326px;
  top: -8px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .tvcm__deco--left,
  .tvcm__deco--right {
    display: none;
  }
}

.yakiketchup {
  background-color: #e50017;
  padding: 0 0 90px;
  position: relative;
  z-index: 0;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .yakiketchup {
    padding: 0 0 8vw;
  }
}

.yakiketchup::before {
  content: "";
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 1800px;
  height: 1323px;
  background: url("../img/whats_bg.png") no-repeat top center;
  background-size: contain;
  z-index: 0;
  pointer-events: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .yakiketchup::before {
    content: none;
  }
}

.yakiketchup__inner {
  position: relative;
  z-index: 1;
}

.yakiketchup__container {
  margin: 0 auto;
  width: 1050px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .yakiketchup__container {
    padding-top: 2.67vw;
    width: 90.67vw;
  }
}

.whats__ttl {
  width: 1020px;
  margin: 0 auto 0 -30px;
  position: relative;
  z-index: 3;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__ttl {
    width: 89.07vw;
    margin: 0 auto 0 -3.33vw;
  }
}

.whats__card {
  margin: -157px auto 0;
  position: relative;
  background: #fff;
  border-radius: 50px;
  padding: 177px 60px 40px;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.35);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__card {
    margin: -30.93vw auto 0;
    border-radius: 4vw;
    padding: 36vw 6vw 6.67vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.35);
    flex-direction: column;
  }
}

.whats__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.5);
  mix-blend-mode: multiply;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__card::before {
    border-radius: 4vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.5);
  }
}

.whats__txts {
  flex: 1;
}

.whats__desc {
  color: #333;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.583;
  letter-spacing: -0.05em;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__desc {
    margin-top: 3.33vw;
    font-size: 4.27vw;
    line-height: 1.625;
    text-align: center;
  }
}

.whats__desc-red {
  color: #e50017;
}

.whats__point-ttl {
  margin: 26px 0 0;
  display: inline-block;
  background: #e50017;
  color: #fff;
  border-radius: 20px;
  padding: 3px 20px;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 900;
  position: relative;
  z-index: 2;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__point-ttl {
    margin: -1.33vw 0 0 0;
    border-radius: 4.67vw;
    padding: 1.33vw 3.33vw;
    font-size: 4vw;
  }
}

.whats__point-txt {
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: -0.08em;
  font-weight: 500;
  display: inline-block;
  margin: -18px -48px 0 8px;
  background-image: url("/campaign/doraemon/img/whats_fukidashi.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 31px 20px 30px 27px;
  position: relative;
  z-index: 1;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__point-txt {
    font-size: 3.73vw;
    line-height: 1.571;
    margin: -10vw auto 0 auto;
    background-image: url("/campaign/doraemon/img/whats_fukidashi_sp.png");
    background-size: 100% 100%;
    padding: 12.27vw 4.67vw 4.27vw 4.67vw;
  }

  .whats__point-txt > span {
    margin-top: -3vw;
  }
}

.whats__img {
  width: 470px;
  height: 290px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .whats__img {
    margin-top: 3.33vw;
    width: 100%;
    height: auto;
  }
}

.asagohan__card {
  margin: 0 auto;
  position: relative;
  background: #fff;
  border-radius: 50px;
  padding: 157px 60px 40px;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.35);
  display: flex;
  flex-direction: column;
  align-items: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__card {
    border-radius: 4vw;
    padding: 29.07vw 6vw 6.67vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.35);
  }
}

.asagohan__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.5);
  mix-blend-mode: multiply;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__card::before {
    border-radius: 4vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.5);
  }
}

.asagohan__ttl {
  width: 875px;
  margin: 20px auto -150px;
  position: relative;
  z-index: 3;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__ttl {
    width: 84.8vw;
    margin: 5.33vw auto -32vw;
  }
}

.asagohan__lead {
  margin: 14px 0 0;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__lead {
    margin: 6vw 0 0;
    font-size: 4.27vw;
  }
}

.asagohan__list {
  width: 100%;
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__list {
    margin-top: 3.33vw;
    gap: 9.33vw;
  }
}

.asagohan__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__item {
    flex-direction: column;
    align-items: center;
  }
}

.asagohan__item--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__item--reverse {
    flex-direction: column;
    align-items: center;
  }
}

.asagohan__thumb {
  width: 408px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__thumb {
    width: 64vw;
  }
}

.asagohan__body {
  width: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__body {
    width: 76vw;
  }
}

.asagohan__item-ttl.--tamagohan {
  width: 280px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__item-ttl.--tamagohan {
    margin-top: 1.33vw;
    width: 43.75vw;
  }
}
.asagohan__item-ttl.--tamagopan {
  width: 280px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__item-ttl.--tamagopan {
    margin-top: 1.33vw;
    width: 43.75vw;
  }
}

.asagohan__txt {
  margin: 14px 0 0;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.611;
  font-weight: 500;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .asagohan__txt {
    margin: 3.33vw 0 0;
    font-size: 3.73vw;
    line-height: 1.571;
  }
}

.c-link-btn {
  margin-top: 16px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 20px;
  padding: 10px;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
  position: relative;
  color: #e50017;
  transition: background-color 0.3s ease, color 0.3s ease;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .c-link-btn {
    margin-top: 3.33vw;
    border-radius: 6vw;
    padding: 3.33vw;
    font-size: 4.27vw;
    color: #e50017 !important;
  }
}

.c-link-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid #e50017;
  z-index: 1;
  pointer-events: none;
  transition: border-color 0.3s ease;
}

.c-link-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid #ccc;
  transform: translateY(1px);
  z-index: 0;
  pointer-events: none;
  transition: border-color 0.3s ease;
}

.c-link-btn__arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url("../img/ico_arrow_r.svg") no-repeat center / contain;
  filter: drop-shadow(0 1px 0 #ccc);
  transition: filter 0.3s ease;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .c-link-btn__arrow {
    right: 2.67vw;
    width: 5.33vw;
    height: 5.33vw;
  }
}

.c-link-btn:hover {
  background-color: #e50017;
  color: #fff;
}

.c-link-btn:hover::before,
.c-link-btn:hover::after {
  border-color: #e50017;
}

.c-link-btn:hover .c-link-btn__arrow {
  filter: drop-shadow(0 1px 0 #e50017);
}

.hazusanai__card {
  margin: 0 auto;
  position: relative;
  background: #fff;
  border-radius: 50px;
  padding: 140px 0 0;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.35);
  display: flex;
  flex-direction: column;
  align-items: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__card {
    border-radius: 4vw;
    padding: 42.67vw 0 0;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.35);
    flex-wrap: wrap;
  }
}

.hazusanai__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.5);
  mix-blend-mode: multiply;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__card::before {
    border-radius: 4vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.5);
  }
}

.hazusanai__ttl {
  width: 949px;
  margin: 46px auto -198px -75px;
  position: relative;
  z-index: 3;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__ttl {
    width: 100vw;
    margin: 5.33vw 0 -60vw -4.67vw;
  }
}

.hazusanai__lead {
  margin: 10px 0 0;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 23px;
  line-height: 1.5;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__lead {
    margin: 3.33vw 0 0;
    font-size: 4.27vw;
    line-height: 1.625;
  }
}

.hazusanai__list {
  margin-top: 35px;
  width: 100%;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list {
    margin-top: 3.33vw;
    display: flex;
    flex-wrap: wrap;
  }
}

/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li {
    width: 50%;
    height: 74.67vw;
  }
}

.hazusanai__list > li > a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li > a {
    flex-direction: column;
    height: 100%;
  }
}

.hazusanai__list__img {
  width: 620px;
  text-align: right;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list__img {
    margin-top: 2vw;
    width: 45.33vw;
    text-align: center;
  }
}

.hazusanai__list__txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: -40px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list__txt {
    flex: none;
    margin: auto auto 4vw;
  }
}

.hazusanai__list > li.--curry {
  background: #ffcd00;
}
.hazusanai__list > li.--curry .hazusanai__list__img > img {
  width: 620px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--curry .hazusanai__list__img > img {
    width: 100%;
  }
}

.hazusanai__list > li.--china {
  background: #ff8200;
}
.hazusanai__list > li.--china .hazusanai__list__img > img {
  width: 620px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--china .hazusanai__list__img > img {
    width: 100%;
  }
}

.hazusanai__list > li.--korea {
  background: #bd352d;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--korea {
    border-radius: 0 0 0 4vw;
  }
}
.hazusanai__list > li.--korea .hazusanai__list__img > img {
  width: 620px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--korea .hazusanai__list__img > img {
    width: 100%;
  }
}

.hazusanai__list > li.--soup {
  background: #ff6d81;
  border-radius: 0 0 50px 50px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--soup {
    border-radius: 0 0 4vw 0;
  }
}
.hazusanai__list > li.--soup .hazusanai__list__img > img {
  width: 620px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list > li.--soup .hazusanai__list__img > img {
    width: 100%;
  }
}

.hazusanai__list__ttl {
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 28px;
  line-height: 1.5;
  font-weight: 900;
  color: #fff;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list__ttl {
    font-size: 4.27vw;
    line-height: 1.406;
    text-align: center;
  }
}

.hazusanai__list__txt .c-link-btn {
  width: 347px;
  background-color: #fff;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list__txt .c-link-btn {
    width: 37.07vw;
    margin-top: 2.67vw;
    font-size: 3.47vw;
    border-radius: 4.67vw;
    padding: 2.67vw 4.67vw 2.67vw 2.67vw;
  }
}
.hazusanai__list__txt .c-link-btn::before,
.hazusanai__list__txt .c-link-btn::after {
  border: none;
}
.hazusanai__list__txt .c-link-btn__arrow {
  filter: none;
  right: 20px;
  width: 20px;
  height: 20px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .hazusanai__list__txt .c-link-btn__arrow {
    filter: none;
    right: 2vw;
    width: 4vw;
    height: 4vw;
  }
}

.hazusanai__list > li > a:hover .c-link-btn {
  background-color: #e50017;
  color: #fff;
}

.hazusanai__note {
  margin: 15px 0 0;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.583;
  color: #fff;
  font-weight: 500;
}

.timetravel {
  background-color: #f4cfb0;
  padding: 0 0 72px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel {
    padding: 0;
  }
}

.timetravel__ttl {
  position: relative;
  height: 720px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__ttl {
    position: relative;
    height: auto;
  }
}

.timetravel__ttl img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 1920px;
  max-width: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__ttl img {
    position: relative;
    width: 100%;
  }
}

.timetravel__content {
  text-align: center;
  margin-top: 14px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__content {
    margin-top: 5.33vw;
  }
}

.timetravel__lead {
  margin: 14px 0 0;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.583;
  color: #5e2c0e;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__lead {
    margin: 5.33vw 0 0;
    font-size: 4.27vw;
    line-height: 1.625;
  }
}

.timetravel__list {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list {
    flex-direction: column;
    margin-top: 0;
    gap: 0;
  }
}

.timetravel__list > li a.--napoli {
  width: 328px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--napoli {
    width: 90.67vw;
  }
}
.timetravel__list > li a.--omelet {
  width: 325px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--omelet {
    width: 90.67vw;
  }
}
.timetravel__list > li a.--hamburg {
  width: 326px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--hamburg {
    width: 90.67vw;
  }
}

.timetravel__list > li > a {
  display: block;
  margin: 0 auto;
  position: relative;
}

.timetravel__list > li > a > .c-link-btn {
  width: 186px;
  padding: 10px 22px 10px 10px;
  color: #fff;
  background-color: #e50017;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li > a > .c-link-btn {
    margin-top: 2vw;
    width: 37.07vw;
    padding: 3.33vw 6.67vw 3.33vw 3.33vw;
    color: #e50017;
    font-size: 3.47vw;
    border-radius: 4.67vw;
    background-color: #fff;
    position: absolute;
    bottom: 13.33vw;
  }
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--napoli > .c-link-btn {
    right: 2.13vw;
  }
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--omelet > .c-link-btn {
    left: 3.2vw;
  }
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li a.--hamburg > .c-link-btn {
    right: 3.2vw;
  }
}
.timetravel__list > li > a > .c-link-btn::before,
.timetravel__list > li > a > .c-link-btn::after {
  content: none;
}

.timetravel__list > li > a > .c-link-btn > .c-link-btn__arrow {
  background: url(../img/ico_arrow_r_w.svg) no-repeat center / contain;
  filter: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .timetravel__list > li > a > .c-link-btn > .c-link-btn__arrow {
    background: url(../img/ico_arrow_r.svg) no-repeat center / contain;
    right: 2vw;
    width: 4vw;
    height: 4vw;
  }
}

.timetravel__list > li > a:hover > .c-link-btn {
  color: #e50017;
  background-color: #fff;
}

.ekakiuta__inner {
  background: #e50012;
}

.ekakiuta__ttl {
  background: #fff;
  width: 100%;
  text-align: center;
  position: relative;
}

.ekakiuta__ttl__inner {
  position: relative;
  height: 612px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__ttl__inner {
    position: relative;
    height: auto;
  }
}

.ekakiuta__ttl__inner img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 1920px;
  max-width: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__ttl__inner img {
    position: relative;
    width: 100%;
  }
}

.ekakiuta__ttl__inner::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(calc(-50% + 460px));
  bottom: -185px;
  width: 325px;
  height: 440px;
  background: url("../img/ekakiuta_ttl_img.png") no-repeat center / contain;
  z-index: 3;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__ttl__inner::after {
    background: url("../img/ekakiuta_ttl_img_sp.png") no-repeat center / contain;
    left: -2vw;
    transform: none;
    bottom: -18vw;
    width: 100vw;
    height: 38.53vw;
  }
}

.ekakiuta__content {
  margin-top: 0;
  background-color: #e50012;
  color: #fff;
  text-align: center;
  padding: 35px 20px 0;
  position: relative;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__content {
    padding: 20vw 4.67vw 5.33vw;
    position: relative;
  }
}

.ekakiuta__catch {
  margin: 0;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.583;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__catch {
    font-size: 4.27vw;
    line-height: 1.625;
  }
}

.ekakiuta__note {
  margin-top: 10px;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 2;
  font-weight: 400;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__note {
    margin-top: 4vw;
    font-size: 2.67vw;
    line-height: 1.5;
  }
}

.ekakiuta__lead {
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 36px;
  line-height: 1.4;
  font-weight: 900;
  display: inline-block;
  position: relative;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__lead {
    font-size: 6.13vw;
    line-height: 1.652;
    letter-spacing: -0.05em;
  }
}

.ekakiuta__lead > span {
  display: block;
  margin-top: 30px;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.667;
  font-weight: 900;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__lead > span {
    margin-top: 0;
    font-size: 4.27vw;
    line-height: 1.563;
  }
}

.ekakiuta__lead::before,
.ekakiuta__lead::after {
  content: "";
  position: absolute;
  top: 40px;
  width: 28px;
  height: 86px;
  background: url("../img/ekakiuta_lead_bg.png") no-repeat;
  background-size: contain;
}
.ekakiuta__lead::before {
  left: -40px;
}
.ekakiuta__lead::after {
  right: -40px;
  transform: scaleX(-1);
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__lead::before,
  .ekakiuta__lead::after {
    content: none;
  }
}

.ekakiuta__movie-wrap {
  margin: 30px auto 0;
  padding-bottom: 30px;
  width: 276px;
  position: relative;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__movie-wrap {
    margin: 4vw auto 0;
    padding-bottom: 0;
    width: 90.67vw;
  }
}

.ekakiuta__deco {
  position: absolute;
  z-index: 1;
}

.ekakiuta__deco--1 {
  width: 492px;
  left: -430px;
  top: 24px;
}

.ekakiuta__deco--2 {
  width: 486px;
  right: -430px;
  top: -26px;
}

.ekakiuta__deco__sp {
  width: 98vw;
  margin: 0 auto 0 -3.67vw;
}

.ekakiuta__movie {
  position: relative;
  z-index: 0;
  width: 276px;
  aspect-ratio: 9 / 16;
  overflow: visible;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__movie {
    width: 90.67vw;
  }
}

.ekakiuta__movie::before {
  content: "";
  position: absolute;
  inset: -80px;
  background: radial-gradient(
    circle,
    rgba(255,255,255,0.6) 0%,
    rgba(255,255,255,0.3) 40%,
    rgba(255,255,255,0) 70%
  );
  filter: blur(40px);
  z-index: -1;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .ekakiuta__movie::before {
    content: none;
  }
}

.ekakiuta__movie iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.recipe {
  background: #ec473c;
  padding: 40px 0 62px;
  color: #fff;
  text-align: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe {
    padding: 8.67vw 0 11.33vw;
  }
}

.recipe__ttl {
  margin: 0 auto;
  width: 74.11%;
  max-width: 1423px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__ttl {
    width: 86.13%;
    max-width: none;
  }
}

.recipe__lead {
  font-size: 24px;
  line-height: 1.583;
  font-weight: 700;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__lead {
    font-size: 4.27vw;
    line-height: 1.625;
  }
}

.recipe__marquee {
  margin-top: 35px;
  overflow: hidden;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__marquee {
    margin-top: 4vw;
  }
}

.recipe__marquee-track {
  display: flex;
  gap: 10px;
  width: max-content;
}

.recipe__marquee-track > li {
  display: block;
  width: 220px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__marquee-track > li {
    width: 53.33vw;
    margin: 0 -3.33vw;
  }
}

.recipe__container .c-link-btn {
  margin-top: 35px;
  width: 403px;
  height: 70px;
  padding: 0 22px 0 10px;
  color: #fff;
  font-size: 24px;
  border-radius: 35px;
  position: relative;
  background-color: transparent;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__container .c-link-btn {
    margin-top: 4.67vw;
    width: 71.73vw;
    height: 12vw;
    padding: 0 4.67vw 0 3.33vw;
    color: #fff !important;
    font-size: 4.27vw;
    border-radius: 6vw;
  }
}
.recipe__container .c-link-btn::before,
.recipe__container .c-link-btn::after {
  content: none;
}

.recipe__container .c-link-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url(../img/btn_bg_dashed.png) no-repeat center / 100% 100%;
  pointer-events: none;
  border: none;
}

.recipe__container .c-link-btn__arrow {
  background: url(../img/ico_arrow_r_w.svg) no-repeat center / contain;
  right: 20px;
  width: 30px;
  height: 30px;
  filter: none;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .recipe__container .c-link-btn__arrow {
    background: url(../img/ico_arrow_r_w.svg) no-repeat center / contain;
    right: 4vw;
    width: 5.33vw;
    height: 5.33vw;
  }
}

.recipe__container .c-link-btn:hover {
  color: #e50017;
  background-color: #fff;
}

.recipe__container .c-link-btn:hover .c-link-btn__arrow {
  filter: none;
}
.recipe__container .c-link-btn:hover .c-link-btn::before,
.recipe__container .c-link-btn:hover .c-link-btn::after {
  content: none;
}

.package {
  background: #e50012;
  padding: 80px 0;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package {
    padding: 5.33vw 0 8vw;
  }
}

.package__container {
  width: 860px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__container {
    margin: 2.67vw auto 0;
    width: 90.67vw;
  }
}

.package__card {
  margin: 0 auto;
  position: relative;
  background: #fff;
  border-radius: 50px;
  padding: 32px 32px 25px;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__card {
    border-radius: 4vw;
    padding: 8vw 4vw 9.33vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.35);
    flex-direction: column;
    gap: 0;
  }
}

.package__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(117, 65, 52, 0.5);
  mix-blend-mode: multiply;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__card::before {
    border-radius: 4vw;
    box-shadow: 0 0 1.6vw rgba(117, 65, 52, 0.5);
  }
}

.package__badge {
  position: absolute;
  left: -56px;
  top: -56px;
  width: 160px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__badge {
    display: none;
  }
}

.package__image {
  position: relative;
  width: 190px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__image {
    margin: 6.4vw 24.67vw 0 0;
    width: 57.33vw;
  }
}

.package__ttl {
  width: 375px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__ttl {
    width: 67.33vw;
  }
}

.package__body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.package__body > p {
  margin-top: 30px;
  color: #333;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.556;
  font-weight: 700;
  text-align: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__body > p {
    margin-top: 4.67vw;
    font-size: 4vw;
    line-height: 1.625;
  }
}

.package__note {
  margin-top: 15px;
  color: #333;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.625;
  font-weight: 500;
  text-align: center;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .package__note {
    margin-top: 3.13vw;
    font-size: 2.81vw;
  }
}

.copyright__logo {
  margin: 40px auto 0;
  width: 200px;
}
/********* sp *********/
@media only screen and (max-width: 640px) {
  .copyright__logo {
    margin: 8vw auto 0;
    width: 44.67vw;
  }
}

.p-pagetop {
  position: fixed;
  z-index: 9999;
  right: 26px;
  bottom: 30px;
  width: 90px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease,
    visibility 0s linear 0.4s;
}

.p-pagetop.is-visible {
  opacity: 0.96;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease,
    visibility 0s;
}

@-webkit-keyframes recipeScroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes recipeScroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.p-footer {
  margin-top: 0;
}