@charset "UTF-8";
/* Mixin */
/* フォント関係 */
/* カラー関係 */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;0,700;0,900;1,500;1,700&display=swap&text=0123456789");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,400;0,700;1,700&family=Noto+Sans+JP:wght@400;700&display=swap");
/*icon*/
@font-face {
  font-family: "oiwaiyasan";
  src: url("/fonts/oiwaiyasan.eot?pezfme");
  src: url("/fonts/oiwaiyasan.eot?pezfme#iefix") format("embedded-opentype"), url("/fonts/oiwaiyasan.ttf?pezfme") format("truetype"), url("/fonts/oiwaiyasan.woff?pezfme") format("woff"), url("/fonts/oiwaiyasan.svg?pezfme#oiwaiyasan") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=os-], [class*=" os-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "oiwaiyasan" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.os-arrowRight:before {
  content: "\e900";
}

.os-arrowLeft:before {
  content: "\e919";
}

.os-minus:before {
  content: "\e91a";
}

.os-plus:before {
  content: "\e91b";
}

.os-4_4:before {
  content: "\e91c";
}

.os-4_3:before {
  content: "\e91d";
}

.os-4_2:before {
  content: "\e91e";
}

.os-4_1:before {
  content: "\e91f";
}

.os-arrowTop:before {
  content: "\e920";
}

.os-arrowRightBG:before {
  content: "\e901";
}

.os-arrowLeftBG:before {
  content: "\e902";
}

.os-qa:before {
  content: "\e903";
}

.os-truck:before {
  content: "\e904";
}

.os-refrigerator:before {
  content: "\e905";
}

.os-takuhaiBox:before {
  content: "\e906";
}

.os-creditcard:before {
  content: "\e907";
}

.os-mail:before {
  content: "\e908";
}

.os-presentBox:before {
  content: "\e909";
}

.os-cake:before {
  content: "\e90a";
}

.os-cart:before {
  content: "\e921";
}

.os-phone-solid:before {
  content: "\e90b";
}

.os-minus-solid:before {
  content: "\e90c";
}

.os-eyeSlash:before {
  content: "\e90d";
}

.os-eye:before {
  content: "\e90e";
}

.os-plus-solid:before {
  content: "\e90f";
}

.os-bars:before {
  content: "\e910";
}

.os-angleRight:before {
  content: "\e911";
}

.os-glass:before {
  content: "\e912";
}

.os-xmark:before {
  content: "\e913";
}

.os-user:before {
  content: "\e914";
}

.os-heart:before {
  content: "\e915";
}

.os-gift:before {
  content: "\e916";
}

.os-calendar:before {
  content: "\e917";
}

.os-cakeCandles:before {
  content: "\e918";
}

.os-phone:before {
  content: "\e942";
}

.os-bubble:before {
  content: "\e96b";
}

.os-facebook:before {
  content: "\ea90";
}

.os-facebookBG:before {
  content: "\ea91";
}

.os-instagram:before {
  content: "\ea92";
}

.os-twitter:before {
  content: "\ea96";
}

.os-youtube:before {
  content: "\ea9d";
}

.snoopyArea {
  background: #f1ebe3;
  color: #000;
}
.snoopyArea picture {
  display: block;
}
.snoopyArea figure {
  margin: 0;
  padding: 0;
}
@media (max-width: 1023px) {
  .snoopyArea img {
    width: 100%;
  }
  .snoopyArea img.snoopyFitImg {
    width: auto;
  }
}
.snoopyArea h2 {
  margin-left: 0;
  padding-left: 0;
  letter-spacing: 0;
  text-align: left;
  font-size: 2rem;
}

.snoopyW1000 {
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW1060 {
  max-width: 106rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW960 {
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW800 {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW740 {
  max-width: 74rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW680 {
  max-width: 68rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW500 {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.snoopyW600 {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1023px) {
  .snoopySpArea {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}

@media (min-width: 1024px) {
  .snoopyTxtCenter {
    text-align: center;
  }
}

.snoopyMTLarge {
  margin-top: 5rem;
}

.snoopyPTLarge {
  padding-top: 5rem;
}

.snoopyMTMidium {
  margin-top: 3.5rem;
}

.snoopyMTSmall {
  margin-top: 2rem;
}

.snoopyPTLarge {
  padding-top: 5rem;
}

.snoopyPTMidium {
  padding-top: 3.5rem;
}

.snoopyPTSmall {
  padding-top: 2rem;
}

.snoopyFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.snoopyPlink {
  position: relative;
}
.snoopyPlink a {
  position: absolute;
  width: 68vw;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 9vw;
}

.snoopyPcPlink {
  position: relative;
  display: inline-block;
}
.snoopyPcPlink picture,
.snoopyPcPlink picture img {
  display: block;
  width: 100%;
  height: auto;
}
.snoopyPcPlink a {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3rem;
  margin: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.snoopyPcPlink a:hover {
  opacity: 0.7;
}

#toggleTarget {
  margin-top: -0.2rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}

#toggleTarget.open {
  max-height: 2000px; /* 大きめに設定、内容の最大高さ以上に */
  opacity: 1;
}

.snoopyYellowBg {
  background: url("/images/snoopy/pc/yBg.png") no-repeat top center, -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(20%, rgba(255, 255, 255, 0)), color-stop(20%, rgb(255, 255, 255)), to(rgb(255, 255, 255)));
  background: url("/images/snoopy/pc/yBg.png") no-repeat top center, linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 20%, rgb(255, 255, 255) 20%, rgb(255, 255, 255) 100%);
  background-size: 100% auto, 100% 100%;
  background-color: #f1ebe3;
  position: relative;
}
.snoopyYellowBg .snoopyW500,
.snoopyYellowBg .snoopyW600 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 1023px) {
  .snoopyYellowBg {
    background: url("/images/snoopy/sp/yBg.png") no-repeat top center, -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(5%, rgba(255, 255, 255, 0)), color-stop(5%, rgb(255, 255, 255)), to(rgb(255, 255, 255)));
    background: url("/images/snoopy/sp/yBg.png") no-repeat top center, linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgb(255, 255, 255) 5%, rgb(255, 255, 255) 100%);
    background-size: 100% auto, 100% 100%;
    background-color: #f1ebe3;
  }
}
.snoopyYellowBg a {
  display: inline-block;
}
.snoopyYellowBg a img {
  max-width: 33.5rem;
  width: 100%;
}
.snoopyYellowBg a:hover {
  opacity: 0.7;
}

.snoopyMBg:before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: -20%;
  background: url("/images/snoopy/pc/yBg.png") no-repeat bottom center;
  background-size: 100% auto;
}
@media (max-width: 1023px) {
  .snoopyMBg:before {
    display: none;
  }
}

.snoopyDishSp {
  position: relative;
}
.snoopyDishSp:before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: -50vw;
  background: url("/images/snoopy/sp/yBg2.png") no-repeat bottom center;
  background-size: 100% auto;
}
@media (min-width: 1024px) {
  .snoopyDishSp:before {
    display: none;
  }
}
.snoopyDishSp > * {
  position: relative;
}

.snoopyPlateSp {
  position: relative;
}

.snoopyWhite {
  position: relative;
  background: #fff;
}
@media (min-width: 1024px) {
  .snoopyWhite {
    padding-bottom: 5rem;
  }
}

.snoopyIngredients {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.snoopyIngredients button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.snoopyIngredients button:hover {
  opacity: 0.7;
}
.snoopyIngredients img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 33.5rem;
}

.snoopyPcPlate {
  position: relative;
}

@media (min-width: 1024px) {
  .snoopySideBySide {
    margin-top: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6rem;
  }
}

.snoopyPink {
  background: #fac5d0;
}
@media (min-width: 1024px) {
  .snoopyPink {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.snoopyPink picture {
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
}
@media (min-width: 1024px) {
  .snoopyPink h2 {
    margin-top: 2rem;
  }
}

.snoopySweetie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}

.snoopySmaller {
  font-size: smaller;
}

.snoopyYellowBgLink {
  background: url("/images/snoopy/pc/yBg.png") no-repeat top center;
  background-size: 100% auto, 100% 100%;
  padding-bottom: 3rem;
  position: relative;
}
@media (max-width: 1023px) {
  .snoopyYellowBgLink {
    background: url("/images/snoopy/sp/yBg.png") no-repeat top center;
    background-size: 100% auto, 100% 100%;
  }
}
.snoopyYellowBgLink a {
  display: inline-block;
}
.snoopyYellowBgLink a img {
  max-width: 33.5rem;
  width: 100%;
}
.snoopyYellowBgLink a:hover {
  opacity: 0.7;
}
.snoopyYellowBgLink .snoopyW500,
.snoopyYellowBgLink .snoopyW600 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.snoopyApron {
  background: url(/images/snoopy/pc/bgTpAprn.png) no-repeat top center, url(/images/snoopy/pc/bgBtAprn.png) no-repeat bottom center;
  background-color: #fff;
  text-align: center;
  background-size: 100% auto, 100% auto;
  padding: 3rem 0;
}

.snoopySetOption {
  background-color: #ffe309;
  text-align: center;
  padding: 5rem 0;
}

.snoopyFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  margin-top: 5rem;
}
.snoopyFlex > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.snoopyGuide {
  background: url(/images/snoopy/pc/guideBg.png) no-repeat top center;
  background-size: 100% auto;
  padding: 5rem 0;
  text-align: center;
}
.snoopyGuide div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}

.snoopyBlack {
  background: #000;
  text-align: center;
}

.snoopyAnswer {
  background: url(/images/snoopy/pc/questionArrow.png) no-repeat top center;
  padding-top: 12rem;
  padding-bottom: 5rem;
  text-align: center;
  background-color: #fff;
}

.snoopyRequest {
  background: #bcac97;
  padding: 5rem 0;
  text-align: center;
}

.snoopyAllIn {
  background: url(/images/snoopy/pc/requestArrow.png) no-repeat top center;
  text-align: center;
  padding-top: 12rem;
}
.snoopyAllIn div {
  text-align: left;
}
.snoopyAllIn p {
  margin-top: 1rem;
}

.snoopyOtherItem {
  background-color: #ffe309;
  text-align: center;
  padding-bottom: 5rem;
}
@media (min-width: 1024px) {
  .snoopyOtherItem {
    padding-top: 5rem;
  }
  .snoopyOtherItem div {
    margin-top: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .snoopyOtherItem a {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.333% - 2rem);
            flex: 0 0 calc(33.333% - 2rem);
  }
  .snoopyOtherItem a:hover {
    opacity: 0.7;
  }
}