@charset "UTF-8";
body {
  background: #ffffff;
  margin: 0 !important;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: Arial, Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Osaka, 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic'; }

html {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 750px) {
    html {
      font-size: 1.3333333333vw; } }
  @media (min-width: 750px) {
    html {
      font-size: 1.3333333333vw; } }
  @media only screen and (min-width: 1025px) {
    html {
      font-size: 0.5vw; } }
  @media (min-width: 2000px) {
    html {
      font-size: 10px; } }

.oishii *,
.oishii *::before,
.oishii *::after {
  box-sizing: border-box; }
.oishii h1,
.oishii h2,
.oishii h3,
.oishii h4,
.oishii h5,
.oishii div,
.oishii p,
.oishii ul,
.oishii li {
  margin: 0;
  padding: 0; }
.oishii li {
  list-style: none; }
.oishii img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }
.oishii a:hover img {
  filter: saturate(200%);
  opacity: 0.9; }
.oishii .pcOnly {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .oishii .pcOnly {
      display: inline; } }
.oishii .spOnly {
  display: inline; }
  @media only screen and (min-width: 1025px) {
    .oishii .spOnly {
      display: none; } }
@media only screen and (min-width: 420px) {
  .oishii a[href*='tel:'] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

/******* キービジュアル*******/
.keyvisual {
  position: relative;
  width: 100%;
  height: 105rem;
  background-image: url(../img/bg_kv_sp.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  .keyvisual .logo {
    position: absolute;
    width: 10.5rem;
    top: 2.9rem;
    left: 3.5rem; }
  .keyvisual .kv-title {
    position: absolute;
    width: 100%;
    top: 0rem;
    left: 0; }
  .keyvisual .kv-catch {
    position: absolute;
    width: 24.9rem;
    bottom: 20.5rem;
    left: 2.3rem; }
  .keyvisual .kv-period {
    position: absolute;
    width: 65.7rem;
    bottom: 2.5rem;
    right: 0;
    left: 0;
    margin: auto; }
  .keyvisual .kv-close {
    position: absolute;
    width: 100%;
    bottom: 0;
    right: 0; }

/******* リード *******/
.lead {
  position: relative;
  background-color: #fff;
  background-image: url("../img/wave_yellow.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 3.6rem 0 7.2rem !important; }
  .lead .lead-ti {
    width: 100%;
    margin: 0 auto 0; }
  .lead .lead-text {
    width: 54rem;
    margin: 1.4rem auto 0; }
  .lead .lead-ph {
    width: 100%;
    margin: 4.2rem auto 0; }

.detail {
  position: relative;
  background-color: #ffff00;
  background-image: url("../img/wave_orange.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  padding: 9rem 0 10.5rem !important;
  margin: -0.1rem auto 0 !important; }
  .detail .detail-ti {
    width: 59.1rem;
    margin: 0rem auto 0; }
  .detail .detail-lead {
    width: 59.1rem;
    margin: 4.2rem auto 0; }
  .detail .course {
    width: 100%;
    margin: 5.8rem auto 0; }
  .detail .course + .course {
    margin-top: 4.6rem; }
  .detail .detail-note {
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.3em;
    margin: 5rem auto 0; }

/******* 対象商品 *******/
.prod {
  position: relative;
  background-color: #f9be00;
  background-image: url("../img/wave_green.png");
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding: 9rem 0 10.5rem !important;
  margin: -0.1rem auto 0 !important; }
  .prod .prod-title {
    width: 60rem;
    margin: 0 auto; }
  .prod .prod-cont-wrap {
    width: 60rem;
    margin: 5.7rem auto 0;
    border-radius: 3.4rem;
    background-color: #FFF;
    padding: 2.8rem 0; }
    .prod .prod-cont-wrap .prod-cont {
      width: 55.2rem;
      margin: 0 auto;
      background: #fffac6;
      padding: 4rem 0;
      border-radius: 2.1rem; }
      .prod .prod-cont-wrap .prod-cont .prod-ph {
        width: 49.4rem;
        margin: 0 auto; }
      .prod .prod-cont-wrap .prod-cont .prod-ph + .prod-ph {
        margin-top: 6rem; }
      .prod .prod-cont-wrap .prod-cont .prod-cont-note01 {
        font-size: 2.9rem;
        line-height: 1.3em;
        font-weight: bold;
        text-align: center;
        color: #FF0000;
        margin: 2em auto 0; }
      .prod .prod-cont-wrap .prod-cont .prod-cont-note02 {
        font-size: 2.2rem;
        line-height: 1.3em;
        font-weight: bold;
        text-align: center;
        color: #FF0000;
        margin: 1em auto 0; }
      .prod .prod-cont-wrap .prod-cont .prod-cont-note03 {
        font-size: 2.2rem;
        line-height: 1.3em;
        text-align: center;
        color: #000;
        margin: 1em auto 0; }
  .prod .ex-title {
    width: 60rem;
    margin: 10rem auto 0; }
  .prod .ex-cont-wrap {
    width: 60rem;
    margin: 5.7rem auto 0;
    border-radius: 3.4rem;
    background-color: #FFF;
    padding: 5.8rem 0 3rem; }
    .prod .ex-cont-wrap .ex-cont-note01 {
      width: 44rem;
      margin: 0em auto 0; }
    .prod .ex-cont-wrap .ex-cont-note02 {
      font-size: 2.2rem;
      line-height: 1.3em;
      text-align: center;
      color: #000;
      margin: 2em auto 0; }
    .prod .ex-cont-wrap .ex-ph {
      width: 55.4rem;
      margin: 5.3rem auto 0; }
    .prod .ex-cont-wrap .ex-cont {
      width: 55.2rem;
      margin: 0 auto;
      background: #fffac6;
      padding: 4rem 0;
      border-radius: 2.1rem; }
      .prod .ex-cont-wrap .ex-cont .prod-ph {
        width: 49.4rem;
        margin: 0 auto; }
      .prod .ex-cont-wrap .ex-cont .prod-ph + .prod-ph {
        margin-top: 6rem; }
      .prod .ex-cont-wrap .ex-cont .prod-cont-note01 {
        font-size: 2.9rem;
        line-height: 1.3em;
        font-weight: bold;
        text-align: center;
        color: #FF0000;
        margin: 2em auto 0; }
      .prod .ex-cont-wrap .ex-cont .prod-cont-note02 {
        font-size: 2.2rem;
        line-height: 1.3em;
        font-weight: bold;
        text-align: center;
        color: #FF0000;
        margin: 1em auto 0; }
      .prod .ex-cont-wrap .ex-cont .prod-cont-note03 {
        font-size: 2.2rem;
        line-height: 1.3em;
        text-align: center;
        color: #000;
        margin: 1em auto 0; }

/******* 応募方法 *******/
.method {
  position: relative;
  background-color: #85c9b5;
  padding: 8.9rem 0 12rem !important;
  margin: -0.1rem auto 0 !important; }
  .method .method-title {
    width: 60rem;
    margin: 0 auto; }
  .method .method-note {
    color: #ff0000;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3em;
    text-align: center;
    margin: 4.2rem auto 3.8rem; }
  .method .cont-wrap {
    width: 60rem;
    margin: 0 auto;
    background: #FFF;
    border-radius: 3.4rem;
    padding: 4rem; }
    .method .cont-wrap .note-md {
      font-size: 2.4rem;
      margin-top: 1.5em;
      text-align: center; }
    .method .cont-wrap .note-list {
      width: 47rem;
      margin: 1em auto 0;
      font-size: 2.2rem;
      padding-left: 1em; }
      .method .cont-wrap .note-list li {
        list-style: disc;
        margin-bottom: 0.3em; }
    .method .cont-wrap .line-detail {
      display: none;
      margin-top: 4.6rem; }
      .method .cont-wrap .line-detail .step {
        width: 100%; }
        .method .cont-wrap .line-detail .step .bt-friend {
          width: 51.6rem;
          filter: drop-shadow(0.7rem 0.7rem 0.5rem rgba(0, 0, 0, 0.25));
          margin: 4rem auto 0; }
      .method .cont-wrap .line-detail .arrow {
        width: 6.4rem;
        margin: 4rem auto 3.6rem; }
      .method .cont-wrap .line-detail .receipt-warp {
        position: relative;
        width: 52rem;
        border: solid #06c755 0.3rem;
        border-radius: 1.4rem;
        margin: 8.8rem auto 0;
        padding: 7rem 0 5rem; }
        .method .cont-wrap .line-detail .receipt-warp .receipt-md {
          position: absolute;
          width: 36.6rem;
          top: -2.8rem;
          left: 50%;
          transform: translateX(-50%); }
        .method .cont-wrap .line-detail .receipt-warp .receipt01 {
          width: 46.7rem;
          margin: 0 auto; }
        .method .cont-wrap .line-detail .receipt-warp .receipt02 {
          width: 46.7rem;
          margin: 3rem auto 0; }
        .method .cont-wrap .line-detail .receipt-warp .receipt-kome {
          width: 46.7rem;
          margin: 3.6rem auto 0; }
          .method .cont-wrap .line-detail .receipt-warp .receipt-kome li {
            position: relative;
            padding-left: 1em;
            font-size: 1.8rem;
            line-height: 1.3em;
            margin: 0.5em 0 0 0; }
            .method .cont-wrap .line-detail .receipt-warp .receipt-kome li:before {
              content: '※';
              position: absolute;
              left: 0; }
      .method .cont-wrap .line-detail .receipt-list {
        width: 46.7rem;
        margin: 3.6rem auto 0; }
        .method .cont-wrap .line-detail .receipt-list li {
          position: relative;
          padding-left: 1em;
          font-size: 1.8rem;
          line-height: 1.3em;
          margin: 0.5em 0 0 0; }
          .method .cont-wrap .line-detail .receipt-list li:before {
            content: '※';
            position: absolute;
            left: 0; }
    .method .cont-wrap .card-detail {
      display: none;
      margin-top: 5rem; }
      .method .cont-wrap .card-detail .card-text {
        width: 51.5rem;
        margin: 0rem auto 0; }
      .method .cont-wrap .card-detail .card-add {
        width: 50.7rem;
        margin: 4.4rem auto 0; }
      .method .cont-wrap .card-detail .card-catch {
        width: 50.7rem;
        margin: 4.5rem auto 0; }
      .method .cont-wrap .card-detail .bt-download {
        width: 52rem;
        margin: 2.6rem auto 0; }
  .method .cont-wrap + .cont-wrap {
    margin-top: 6.2rem; }
  .method .line-detail-btn, .method .card-detail-btn {
    cursor: pointer; }
  .method .result-title {
    width: 60rem;
    margin: 9.8rem auto 5.5rem; }
  .method .result-text {
    width: 51.1rem;
    margin: 0.5rem auto; }
  .method .qa-title {
    width: 60rem;
    margin: 9.8rem auto 5.5rem; }
  .method .qa-wrap {
    position: relative;
    width: 52rem;
    margin: 0 auto;
    border: solid 1px #000;
    border-radius: 0.3rem;
    padding: 1.5rem; }
    .method .qa-wrap .q-text {
      background-image: url("../img/qa_q.svg");
      background-size: 3.4rem;
      background-position: top left;
      background-repeat: no-repeat;
      width: 44.5rem;
      margin: 0 auto 0 0;
      font-size: 2.5rem;
      line-height: 1.3em;
      padding: 0.2rem 0 0 4.2rem; }
    .method .qa-wrap .a-text {
      display: none;
      background-image: url("../img/qa_a.svg");
      background-size: 3.4rem;
      background-position: top left;
      background-repeat: no-repeat;
      width: 44.5rem;
      margin: 1rem auto 0 0;
      font-size: 2.5rem;
      line-height: 1.3em;
      padding: 0.2rem 0 0 4.2rem; }
      .method .qa-wrap .a-text.active {
        display: block; }
    .method .qa-wrap .qa_btn01, .method .qa-wrap .qa_btn02, .method .qa-wrap .qa_btn03, .method .qa-wrap .qa_btn04, .method .qa-wrap .qa_btn05 {
      position: absolute;
      bottom: 1.2rem;
      right: 1.2rem;
      width: 3.4rem;
      height: 3.4rem;
      background-image: url("../img/qa_open.svg");
      background-position: center center;
      background-size: cover;
      background-repeat: no-repeat; }
      .method .qa-wrap .qa_btn01.active, .method .qa-wrap .qa_btn02.active, .method .qa-wrap .qa_btn03.active, .method .qa-wrap .qa_btn04.active, .method .qa-wrap .qa_btn05.active {
        background-image: url("../img/qa_close.svg"); }
  .method dl + dl {
    margin-top: 2rem !important; }

/******* 応募要項・規約 *******/
.requirements {
  width: 60rem;
  margin: 10rem auto 0; }
  .requirements .requirements-btn {
    background-color: #003778;
    background-image: url("../img/requirements_open.svg");
    background-size: 5.5rem auto;
    background-position: center right 2.3rem;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 10rem; }
    .requirements .requirements-btn img {
      width: 17.5rem; }
    .requirements .requirements-btn.active {
      background-image: url("../img/requirements_close.svg"); }
  .requirements .requirements-cont-wrap {
    display: none;
    padding: 3.5rem 0.5rem 3.5rem 3.5rem;
    margin: 0 auto;
    background: #FFF; }
    .requirements .requirements-cont-wrap.active {
      display: block; }
  .requirements .requirements-cont {
    height: 51rem;
    overflow-y: scroll;
    overflow-x: hidden;
    font-size: 2rem;
    color: #000;
    padding-right: 3rem; }
    .requirements .requirements-cont::-webkit-scrollbar {
      width: 0;
      /* Chrome, Safari, Opera */ }
    .requirements .requirements-cont p {
      margin-top: 0.5em; }
      .requirements .requirements-cont p.note {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont h2 {
      font-size: 2.8rem;
      margin-top: 1.5em;
      text-align: center; }
    .requirements .requirements-cont h3 {
      font-size: 2.8rem;
      margin-top: 1.5em;
      border-bottom: 1px solid #000; }
    .requirements .requirements-cont h4,
    .requirements .requirements-cont .subtitle {
      font-size: 2.4rem;
      font-weight: bold;
      margin-top: 1em; }
    .requirements .requirements-cont h5 {
      font-size: 2.3rem;
      margin-top: 0.75em; }
    .requirements .requirements-cont .prizelist li {
      padding-left: 1em;
      text-indent: -1em; }
    .requirements .requirements-cont ul.sub {
      margin: 0.5em auto 0 1em; }
      .requirements .requirements-cont ul.sub li {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont ul.note {
      margin: 0.5em auto 0; }
      .requirements .requirements-cont ul.note li {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont h5 + ul, .requirements .requirements-cont h4 + ul, .requirements .requirements-cont h3 + ul {
      margin-top: 0.5em; }
    .requirements .requirements-cont ul.disc li {
      list-style: disc;
      margin-left: 1.25em;
      margin-bottom: 0.25em; }
    .requirements .requirements-cont .list-no, .requirements .requirements-cont .list-no-B {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
      font-size: 2rem; }
    .requirements .requirements-cont .list-no {
      margin: 1em auto 0; }
      .requirements .requirements-cont .list-no dt {
        width: 2em; }
      .requirements .requirements-cont .list-no dd {
        width: calc(100% - 2em);
        margin-left: 0; }
    .requirements .requirements-cont .list-no-B {
      margin: 0.5em auto 0; }
      .requirements .requirements-cont .list-no-B dt {
        width: 1em; }
      .requirements .requirements-cont .list-no-B dd {
        width: calc(100% - 1em);
        margin-left: 0; }
    .requirements .requirements-cont .list-kome {
      margin: 0.5rem auto 0; }
      .requirements .requirements-cont .list-kome li {
        position: relative;
        padding-left: 1em;
        font-size: 2rem;
        line-height: 1.3em;
        margin: 0.5em 0 0 0; }
        .requirements .requirements-cont .list-kome li:before {
          content: '※';
          position: absolute;
          left: 0; }

/******* リード *******/
.recipe {
  position: relative;
  background-color: #fff;
  padding: 0rem 0 11.2rem !important; }
  .recipe .recipe-ti-wrap {
    background: url("../img/wave_green_b.png"), url("../img/bg_recipe_ti.png");
    background-size: 100% auto, cover;
    background-position: top center, top 1px center;
    background-repeat: no-repeat, no-repeat;
    width: 100%;
    height: 47rem;
    padding: 9.4rem 0 0; }
    .recipe .recipe-ti-wrap .recipe-ti {
      width: 59.2rem;
      margin: 0 auto 0; }
  .recipe .recipe-lead01 {
    width: 100%;
    margin: 6.8rem auto 0; }
  .recipe .recipe-lead02 {
    width: 100%;
    margin: 4.8rem auto 6.6rem; }
  .recipe .recipe-md-wrap {
    background: url("../img/wave_white_b.png"), url("../img/bg_recipe_md.png");
    background-size: 100% auto, cover;
    background-position: top center, top center;
    background-repeat: no-repeat, no-repeat;
    width: 100%;
    height: 31.8rem;
    padding: 7.8rem 0 0; }
    .recipe .recipe-md-wrap .recipe-md {
      width: auto;
      height: 16.3rem;
      text-align: center; }
      .recipe .recipe-md-wrap .recipe-md img {
        height: 100%;
        width: auto; }
  .recipe .recipe-ph {
    position: relative;
    width: 100%; }
    .recipe .recipe-ph .recipe-catch {
      width: 39rem;
      position: absolute;
      top: -6.5rem;
      right: 0; }
  .recipe .recipe-material {
    width: 65.8rem;
    margin: 5.5rem auto 0; }
  .recipe .recipe-method {
    width: 65.8rem;
    margin: 7rem auto 9.5rem; }
  .recipe .recipe-bt {
    position: relative;
    width: 60rem;
    margin: 11.5rem auto 0; }

/******* お問い合わせ先 *******/
.contact {
  position: relative;
  background-image: url("../img/wave_white_b.png"), url("../img/bg_info.png");
  background-position: top center, top center;
  background-size: 100% auto, cover;
  background-repeat: no-repeat,no-repeat;
  padding: 13.5rem 0 40rem !important; }
  @media only screen and (min-width: 1025px) {
    .contact {
      padding: 13.5rem 0 10.2rem !important; } }
  .contact .contact-note {
    color: #FFF;
    font-size: 2.2rem;
    text-align: center;
    margin: 0 auto 0; }
  .contact .contact-ti {
    width: 53.2rem;
    margin: 6.8rem auto 0; }
  .contact .contact-telno {
    width: 59.6rem;
    margin: 4.6rem auto 0; }
  .contact .contact-period {
    width: 60.1rem;
    margin: 2rem auto 0; }

.oishii {
  /******* PC表示用 *******/ }
  .oishii .pc-left,
  .oishii .pc-right {
    display: none; }
  @media only screen and (min-width: 1025px) {
    .oishii .contents-wrap {
      width: 100%;
      background-image: url(../img/bg_body_firework.png), url(../img/bg_body.jpg);
      background-size: 100% auto, cover;
      background-position: top center, top center;
      background-repeat: repeat-y, no-repeat;
      background-attachment: fixed, fixed; }
    .oishii .lp-contents {
      margin: 0 auto;
      width: 75rem; }
    .oishii .pc-left {
      position: fixed;
      display: block;
      top: 0;
      left: 0;
      width: 62.5rem;
      height: 100%; }
      .oishii .pc-left .pc-left-cont {
        position: absolute;
        top: 50vh;
        transform: translateY(-22rem);
        width: 62.5rem; }
        .oishii .pc-left .pc-left-cont .pc-left-baloon {
          position: absolute;
          left: 15.45rem;
          width: 31.6rem; }
        .oishii .pc-left .pc-left-cont .pc-left-ph01,
        .oishii .pc-left .pc-left-cont .pc-left-ph02,
        .oishii .pc-left .pc-left-cont .pc-left-ph03,
        .oishii .pc-left .pc-left-cont .pc-left-ph04 {
          position: absolute;
          top: 16rem;
          right: 9.75rem;
          width: 43rem;
          transition: 0.3s ease all;
          opacity: 0; }
        .oishii .pc-left .pc-left-cont .pc-left-ph01.active,
        .oishii .pc-left .pc-left-cont .pc-left-ph02.active,
        .oishii .pc-left .pc-left-cont .pc-left-ph03.active,
        .oishii .pc-left .pc-left-cont .pc-left-ph04.active {
          opacity: 1; }
    .oishii .pc-right {
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 0;
      right: 0;
      width: 62.5rem;
      height: 100%; }
      .oishii .pc-right .pc-right-cont {
        margin: auto; }
        .oishii .pc-right .pc-right-cont .pc-right-nav {
          width: 42.3rem;
          margin: auto auto; }
          .oishii .pc-right .pc-right-cont .pc-right-nav li {
            height: 4.9rem; }
            .oishii .pc-right .pc-right-cont .pc-right-nav li img {
              height: 100%;
              width: auto; }
          .oishii .pc-right .pc-right-cont .pc-right-nav li + li {
            margin-top: 3.4rem; }
        .oishii .pc-right .pc-right-cont .pc_bt_catch {
          width: 30.9rem;
          margin: 13.2rem auto 0 !important; }
        .oishii .pc-right .pc-right-cont .pc_bt {
          width: 36rem;
          margin: 1.7rem auto 0 !important; } }

/******* 固定ボタン *******/
.contact {
  position: relative;
  background-color: #fff; }
  .contact .contact-title {
    width: calc(306 / 750 * 100vw);
    margin: calc(87 / 750 * 100vw) auto 0; }
    @media only screen and (min-width: 1025px) {
      .contact .contact-title {
        width: calc(306 / 2000 * 100vw);
        margin: calc(87 / 2000 * 100vw) auto 0; } }

.fixbtn {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8rem;
  z-index: 2000;
  background: #003778; }
  @media only screen and (min-width: 1025px) {
    .fixbtn {
      display: none; } }
  .fixbtn .ptop {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
    .fixbtn .ptop img {
      width: 11.5rem; }

.fixbtn02 {
  position: fixed;
  display: flex;
  justify-content: flex-end;
  right: 1rem;
  bottom: 9rem;
  width: 100%;
  z-index: 3000; }
  @media only screen and (min-width: 1025px) {
    .fixbtn02 {
      display: none; } }
  .fixbtn02 ul {
    width: 14.5rem; }
    .fixbtn02 ul li {
      width: 14.5rem;
      filter: drop-shadow(0.5rem 0.5rem 0 rgba(0, 0, 0, 0.25)); }
    .fixbtn02 ul li + li {
      margin-top: 0.8rem; }
