@charset "UTF-8";
.kv_area {
  background-color: #f9f3e4;
  padding: 0;
  margin: 0vw auto 0;
  width: 100%; }
  @media only screen and (min-width: 750px) {
    .kv_area {
      background-image: url("../img/bg_kv_wave_pc.png"), url("../img/bg_kv_pc.png");
      background-position: bottom center,top center;
      background-size: 100% auto,100% auto;
      background-repeat: no-repeat; } }
  @media only screen and (min-width: 960px) {
    .kv_area {
      background-image: url("../img/bg_kv_wave_pcl.png"), url("../img/bg_kv_pcl.png");
      background-size: auto 234px, 2500px auto; } }

.kv {
  background-image: url("../img/bg_kv_ti_sp.png");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  margin: 0vw auto 0;
  width: 100%;
  height: calc(1411/750 * 100vw); }
  @media only screen and (min-width: 750px) {
    .kv {
      height: calc(724/960 * 100vw);
      background-image: url("../img/bg_kv_ti_pc.png");
      background-position: top center;
      background-size: auto 100%; } }
  @media only screen and (min-width: 960px) {
    .kv {
      height: 724px;
      background-image: url("../img/bg_kv_ti_pc.png");
      background-size: auto 100%; } }
  .kv--inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: calc(8/750 * 100vw) 0 0 0; }
    @media only screen and (min-width: 750px) {
      .kv--inner {
        padding: calc(55/960 * 100vw) 0 0 calc(0/750 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .kv--inner {
        width: 960px;
        padding: 55px 0 0px 0; } }
    .kv--inner h1 {
      width: calc(578/750 * 100%);
      margin: 0 auto 0 calc(66/750 * 100%); }
      @media only screen and (min-width: 750px) {
        .kv--inner h1 {
          width: calc(722/960 * 100vw);
          margin: 0 auto 0 0; } }
      @media only screen and (min-width: 960px) {
        .kv--inner h1 {
          width: 722px; } }
    .kv--inner .kv_ill {
      position: absolute;
      width: calc(394/750 * 100%);
      top: calc(589/750 * 100vw);
      left: calc(12/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv--inner .kv_ill {
          width: calc(514/960 * 100vw);
          top: calc(191/960 * 100vw);
          left: calc(-272/960 * 100vw);
          margin: 0; } }
      @media only screen and (min-width: 960px) {
        .kv--inner .kv_ill {
          width: 514px;
          top: 191px;
          left: -272px; } }
    .kv--inner .kv--period {
      width: calc(558/750 * 100%);
      margin: calc(37/750 * 100vw) auto 0 calc(100/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv--inner .kv--period {
          width: calc(504/960 * 100%);
          margin: calc(28/960 * 100vw) auto 0 calc(199/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .kv--inner .kv--period {
          width: 504px;
          margin: 28px auto 0 199px; } }
    .kv--inner .kv--prize {
      width: calc(651/750 * 100%);
      margin: calc(20/750 * 100vw) auto 0 calc(65/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv--inner .kv--prize {
          position: absolute;
          width: calc(290/960 * 100vw);
          bottom: inherit;
          top: calc(5/960 * 100vw);
          left: inherit;
          right: calc(-26/960 * 100vw);
          margin: 0; } }
      @media only screen and (min-width: 960px) {
        .kv--inner .kv--prize {
          width: 290px;
          top: 5px;
          right: -26px; } }

.kv_lead {
  margin: 0 auto 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../img/bg_kv_sp.png");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 750px) {
    .kv_lead {
      margin: 0 auto;
      background: none; } }
  .kv_lead--inner {
    position: relative;
    width: 100%;
    height: calc(1724/750 * 100vw);
    margin: 0 auto;
    padding: 0 0 calc(168/750 * 100vw);
    transition-duration: 1s; }
    @media only screen and (min-width: 750px) {
      .kv_lead--inner {
        height: inherit;
        padding: 0 0 calc(225/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .kv_lead--inner {
        width: 960px;
        padding: 0 0 225px; } }
    .kv_lead--inner .lead_text {
      width: calc(455/750 * 100%);
      margin: calc(105/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .lead_text {
          width: calc(494/960 * 100%);
          margin: calc(0/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .lead_text {
          width: 494px;
          margin: 0px auto 0; } }
    .kv_lead--inner .ti_movie {
      width: calc(496/750 * 100%);
      margin: calc(388/750 * 100vw) auto 0;
      line-height: 0em; }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .ti_movie {
          width: calc(482/960 * 100%);
          margin: calc(170/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .ti_movie {
          width: 482px;
          margin: 170px auto 0; } }
    .kv_lead--inner .video_wrap {
      width: calc(592/750 * 100vw);
      margin: calc(25/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .video_wrap {
          width: calc(774/960 * 100vw);
          margin: calc(25/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .video_wrap {
          width: 774px;
          margin: 25px auto 0; } }
    .kv_lead--inner .video {
      width: 100%;
      position: relative;
      padding-top: 56.25%; }
    .kv_lead--inner .video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .kv_lead--inner .ph01 {
      position: absolute;
      width: calc(183/750 * 100vw);
      top: calc(-20/750 * 100vw);
      left: calc(33/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .ph01 {
          width: calc(372/960 * 100vw);
          top: calc(-13/960 * 100vw);
          left: calc(-166/750 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .ph01 {
          width: 372px;
          top: -13px;
          left: -166px; } }
    .kv_lead--inner .ph02 {
      position: absolute;
      width: calc(256/750 * 100vw);
      top: calc(769/750 * 100vw);
      right: calc(34/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .ph02 {
          width: calc(481/960 * 100vw);
          top: calc(226/960 * 100vw);
          right: calc(-223/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .ph02 {
          width: 481px;
          top: 226px;
          right: -223px; } }
    .kv_lead--inner .ill01 {
      position: absolute;
      width: calc(257/750 * 100vw);
      top: calc(890/750 * 100vw);
      left: calc(371/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .kv_lead--inner .ill01 {
          width: calc(319/960 * 100vw);
          top: calc(292/960 * 100vw);
          left: calc(-14/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .kv_lead--inner .ill01 {
          width: 319px;
          top: 292px;
          left: -14px; } }

.prod {
  background-color: #d7e39b;
  width: 100%;
  background-image: url("../img/bg_wave_w_sp.png"), url("../img/bg_prod_sp.svg");
  background-size: 100% auto ,100% auto;
  background-position: bottom center,top center;
  background-repeat: no-repeat, no-repeat;
  font-size: calc(18/750 * 100vw);
  line-height: 2em; }
  @media only screen and (min-width: 750px) {
    .prod {
      background-image: url("../img/bg_wave_w_pc.png"), url("../img/bg_prod_pc.svg");
      background-size: 100% auto ,100% auto;
      background-position: bottom center,top center;
      background-repeat: no-repeat, no-repeat;
      font-size: calc(16/750 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .prod {
      background-image: url("../img/bg_wave_w_pcl.png"), url("../img/bg_prod_pcl.svg");
      background-size: 100% auto,2500px auto;
      background-position: bottom center,top center;
      background-repeat: no-repeat;
      font-size: 1.6rem; } }
  .prod--inner {
    position: relative;
    width: 100%;
    margin: 0 auto; }
    @media only screen and (min-width: 960px) {
      .prod--inner {
        width: 960px; } }
    .prod--inner.fruits {
      padding: calc(44/750 * 100vw) 0 calc(158/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .prod--inner.fruits {
          padding: calc(63/960 * 100vw) 0 calc(230/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner.fruits {
          width: 960px;
          padding: 63px 0 230px; } }
    .prod--inner.vege {
      padding: calc(0/750 * 100vw) 0 calc(158/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .prod--inner.vege {
          padding: calc(0/960 * 100vw) 0 calc(230/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner.vege {
          width: 960px;
          padding: 0px 0 230px; } }
    .prod--inner.flower {
      padding: calc(0/750 * 100vw) 0 calc(261/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .prod--inner.flower {
          padding: calc(0/960 * 100vw) 0 calc(360/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner.flower {
          width: 960px;
          padding: 0px 0 360px; } }
    .prod--inner .fruits_ill {
      position: absolute;
      width: calc(258/750 * 100vw);
      top: calc(17/750 * 100vw);
      left: calc(10/750 * 100vw);
      z-index: 1; }
      @media only screen and (min-width: 750px) {
        .prod--inner .fruits_ill {
          width: calc(405/960 * 100vw);
          top: calc(11/960 * 100vw);
          left: calc(-88/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner .fruits_ill {
          width: 405px;
          top: 11px;
          left: -88px; } }
    .prod--inner .vege_ill {
      position: absolute;
      width: calc(244/750 * 100vw);
      top: calc(-128/750 * 100vw);
      right: calc(22/750 * 100vw);
      z-index: 2; }
      @media only screen and (min-width: 750px) {
        .prod--inner .vege_ill {
          width: calc(340/960 * 100vw);
          top: calc(-217/960 * 100vw);
          right: calc(-26/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner .vege_ill {
          width: 340px;
          top: -217px;
          right: -26px; } }
    .prod--inner .flower_ill {
      position: absolute;
      width: calc(267/750 * 100vw);
      top: calc(-135/750 * 100vw);
      left: calc(15/750 * 100vw);
      z-index: 3; }
      @media only screen and (min-width: 750px) {
        .prod--inner .flower_ill {
          width: calc(371/960 * 100vw);
          top: calc(-195/960 * 100vw);
          left: calc(-16/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .prod--inner .flower_ill {
          width: 371px;
          top: -195px;
          left: -16px; } }
    .prod--inner .cont {
      position: relative;
      z-index: 10; }
      .prod--inner .cont h2 {
        width: calc(245/750 * 100vw);
        margin: 0 auto calc(28/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont h2 {
            width: calc(330/960 * 100vw);
            margin: 0 auto calc(44/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont h2 {
            width: 330px; } }
      .prod--inner .cont h3 {
        width: calc(147/750 * 100vw);
        margin: 0 auto 0; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont h3 {
            width: calc(170/960 * 100vw);
            margin: 0 auto 0; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont h3 {
            width: 170px;
            margin: 0 auto 0; } }
      .prod--inner .cont .list_l {
        display: flex;
        justify-content: space-between;
        width: calc(576/750 * 100vw);
        margin: calc(47/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont .list_l {
            width: calc(800/960 * 100vw);
            margin: calc(69/960 * 100vw) auto 0; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont .list_l {
            width: 800px;
            margin: 69px auto 0; } }
        .prod--inner .cont .list_l li {
          width: calc(186/750 * 100vw);
          margin: 0; }
          @media only screen and (min-width: 750px) {
            .prod--inner .cont .list_l li {
              width: calc(258/960 * 100vw); } }
          @media only screen and (min-width: 960px) {
            .prod--inner .cont .list_l li {
              width: 258px; } }
          .prod--inner .cont .list_l li p {
            color: #3f3d3c;
            font-size: calc(18/750 * 100vw);
            font-weight: bold;
            line-height: 1.2em;
            margin: 0.7em 0 0 0;
            padding: 0 0.2em 0; }
            @media only screen and (min-width: 750px) {
              .prod--inner .cont .list_l li p {
                font-size: calc(14/960 * 100vw); } }
            @media only screen and (min-width: 960px) {
              .prod--inner .cont .list_l li p {
                font-size: 1.4rem; } }
            .prod--inner .cont .list_l li p span {
              font-size: 80%; }
      .prod--inner .cont .bt_fruits {
        position: relative;
        width: calc(576/750 * 100vw);
        height: calc(36/750 * 100vw);
        display: flex;
        justify-content: center;
        align-items: center;
        margin: calc(57/750 * 100vw) auto calc(48/750 * 100vw);
        background-color: #fff586;
        background-image: url("../img/bg_open_b.svg");
        background-repeat: no-repeat;
        background-size: calc(30/750 * 100vw) auto;
        background-position: center right calc(20/750 * 100vw);
        border-radius: calc(9/750 * 100vw);
        cursor: pointer; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont .bt_fruits {
            width: calc(800/960 * 100vw);
            height: calc(50/960 * 100vw);
            margin: calc(88/960 * 100vw) auto calc(68/960 * 100vw);
            border-radius: calc(13/960 * 100vw);
            background-size: calc(40/960 * 100vw) auto; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont .bt_fruits {
            width: 800px;
            height: 50px;
            margin: 88px auto 68px;
            border-radius: 13px;
            background-size: 40px auto; } }
        .prod--inner .cont .bt_fruits img {
          width: calc(250/750 * 100vw);
          margin: 0; }
          @media only screen and (min-width: 750px) {
            .prod--inner .cont .bt_fruits img {
              width: calc(331/960 * 100vw); } }
          @media only screen and (min-width: 960px) {
            .prod--inner .cont .bt_fruits img {
              width: 331px; } }
        .prod--inner .cont .bt_fruits.active {
          background-image: url("../img/bg_close_b.svg"); }
      .prod--inner .cont .bt_vege {
        position: relative;
        width: calc(576/750 * 100vw);
        height: calc(36/750 * 100vw);
        display: flex;
        justify-content: center;
        align-items: center;
        margin: calc(57/750 * 100vw) auto calc(48/750 * 100vw);
        background-color: #408279;
        background-image: url("../img/bg_open_w.svg");
        background-repeat: no-repeat;
        background-size: calc(30/750 * 100vw) auto;
        background-position: center right calc(20/750 * 100vw);
        border-radius: calc(9/750 * 100vw);
        cursor: pointer; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont .bt_vege {
            width: calc(800/960 * 100vw);
            height: calc(50/960 * 100vw);
            margin: calc(88/960 * 100vw) auto calc(68/960 * 100vw);
            border-radius: calc(13/960 * 100vw);
            background-size: calc(40/960 * 100vw) auto; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont .bt_vege {
            width: 800px;
            height: 50px;
            margin: 88px auto 68px;
            border-radius: 13px;
            background-size: 40px auto; } }
        .prod--inner .cont .bt_vege img {
          width: calc(248/750 * 100vw);
          margin: 0; }
          @media only screen and (min-width: 750px) {
            .prod--inner .cont .bt_vege img {
              width: calc(329/960 * 100vw); } }
          @media only screen and (min-width: 960px) {
            .prod--inner .cont .bt_vege img {
              width: 329px; } }
        .prod--inner .cont .bt_vege.active {
          background-image: url("../img/bg_close_w.svg"); }
      .prod--inner .cont .bt_flower {
        position: relative;
        width: calc(576/750 * 100vw);
        height: calc(36/750 * 100vw);
        display: flex;
        justify-content: center;
        align-items: center;
        margin: calc(57/750 * 100vw) auto calc(48/750 * 100vw);
        background-color: #e3a87d;
        background-image: url("../img/bg_open_b.svg");
        background-repeat: no-repeat;
        background-size: calc(30/750 * 100vw) auto;
        background-position: center right calc(20/750 * 100vw);
        border-radius: calc(9/750 * 100vw);
        cursor: pointer; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont .bt_flower {
            width: calc(800/960 * 100vw);
            height: calc(50/960 * 100vw);
            margin: calc(88/960 * 100vw) auto calc(68/960 * 100vw);
            border-radius: calc(13/960 * 100vw);
            background-size: calc(40/960 * 100vw) auto; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont .bt_flower {
            width: 800px;
            height: 50px;
            margin: 88px auto 68px;
            border-radius: 13px;
            background-size: 40px auto; } }
        .prod--inner .cont .bt_flower img {
          width: calc(257/750 * 100vw);
          margin: 0; }
          @media only screen and (min-width: 750px) {
            .prod--inner .cont .bt_flower img {
              width: calc(341/960 * 100vw); } }
          @media only screen and (min-width: 960px) {
            .prod--inner .cont .bt_flower img {
              width: 341px; } }
        .prod--inner .cont .bt_flower.active {
          background-image: url("../img/bg_close_b.svg"); }
      .prod--inner .cont .other_list {
        display: none;
        width: calc(576/750 * 100vw);
        margin: 0 auto;
        padding: 0 0;
        border-radius: 1.86vw 1.86vw 0 0; }
        @media only screen and (min-width: 750px) {
          .prod--inner .cont .other_list {
            width: calc(800/960 * 100vw);
            padding: 0 0; } }
        @media only screen and (min-width: 960px) {
          .prod--inner .cont .other_list {
            width: 800px;
            padding: 0 0; } }
        .prod--inner .cont .other_list .list_s {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          width: calc(576/750 * 100vw);
          margin: calc(0/750 * 100vw) auto 0; }
          @media only screen and (min-width: 750px) {
            .prod--inner .cont .other_list .list_s {
              width: calc(800/960 * 100vw);
              margin: calc(0/960 * 100vw) auto 0; } }
          @media only screen and (min-width: 960px) {
            .prod--inner .cont .other_list .list_s {
              width: 800px;
              margin: 0px auto 0; } }
          .prod--inner .cont .other_list .list_s li {
            width: calc(138/750 * 100vw);
            margin: 0; }
            @media only screen and (min-width: 750px) {
              .prod--inner .cont .other_list .list_s li {
                width: calc(192/960 * 100vw); } }
            @media only screen and (min-width: 960px) {
              .prod--inner .cont .other_list .list_s li {
                width: 192px; } }
            .prod--inner .cont .other_list .list_s li p {
              color: #3f3d3c;
              font-size: calc(18/750 * 100vw);
              font-weight: bold;
              line-height: 1.2em;
              margin: 0.7em 0 1.5em 0;
              padding: 0 0.2em 0; }
              @media only screen and (min-width: 750px) {
                .prod--inner .cont .other_list .list_s li p {
                  font-size: calc(14/960 * 100vw);
                  margin: 0.7em 0 2em 0; } }
              @media only screen and (min-width: 960px) {
                .prod--inner .cont .other_list .list_s li p {
                  font-size: 1.4rem; } }
              .prod--inner .cont .other_list .list_s li p span {
                font-size: 80%; }

.outline {
  width: 100%;
  background-image: url("../img/bg_wave_y_sp.png"), url("../img/bg_outline_sp.png");
  background-size: 100% auto ,100% auto;
  background-position: bottom center,top center;
  background-repeat: no-repeat, no-repeat;
  font-size: calc(18/750 * 100vw);
  line-height: 2em; }
  @media only screen and (min-width: 750px) {
    .outline {
      background-image: url("../img/bg_wave_y_pc.png");
      background-size: 100% auto;
      background-position: bottom center;
      background-repeat: no-repeat;
      font-size: calc(16/750 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .outline {
      background-image: url("../img/bg_wave_y_pcl.png"), url("../img/bg_outline_pcl.svg");
      background-size: auto 185px ,2500px auto;
      background-position: bottom center,top center;
      background-repeat: no-repeat;
      font-size: 1.6rem; } }
  .outline--inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: calc(232/750 * 100vw) 0 calc(292/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .outline--inner {
        padding: calc(128/960 * 100vw) 0 calc(261/750 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .outline--inner {
        width: 960px;
        padding: 128px 0 261px; } }
    .outline--inner h2 {
      width: calc(312/750 * 100vw);
      margin: 0 auto 0; }
      @media only screen and (min-width: 750px) {
        .outline--inner h2 {
          width: calc(293/960 * 100vw);
          margin: 0 auto; } }
      @media only screen and (min-width: 960px) {
        .outline--inner h2 {
          width: 293px; } }
    .outline--inner .outline_text {
      width: calc(448/750 * 100vw);
      margin: calc(106/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .outline--inner .outline_text {
          width: calc(404/960 * 100vw);
          margin: calc(82/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .outline--inner .outline_text {
          width: 404px;
          margin: 82px auto 0; } }
    .outline--inner .outline_ill {
      width: calc(550/750 * 100vw);
      margin: calc(62/750 * 100vw) auto 0 calc(83/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .outline--inner .outline_ill {
          width: calc(787/960 * 100vw);
          margin: calc(-83/960 * 100vw) auto 0 calc(112/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .outline--inner .outline_ill {
          width: 787px;
          margin: -80px auto 0 112px; } }
    .outline--inner .ph01 {
      position: absolute;
      width: calc(253/750 * 100vw);
      top: calc(7/750 * 100vw);
      left: calc(19/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .outline--inner .ph01 {
          width: calc(498/960 * 100vw);
          top: calc(-152/960 * 100vw);
          left: calc(-166/750 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .outline--inner .ph01 {
          width: 498px;
          top: -152px;
          left: -166px; } }
    .outline--inner .ph02 {
      position: absolute;
      width: calc(221/750 * 100vw);
      top: calc(0/750 * 100vw);
      right: calc(26/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .outline--inner .ph02 {
          width: calc(373/960 * 100vw);
          top: calc(-120/960 * 100vw);
          right: calc(-144/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .outline--inner .ph02 {
          width: 373px;
          top: -120px;
          right: -144px; } }

.yellow {
  width: 100%;
  background-color: #fff69b;
  padding: 0 0 calc(186/750 * 100vw);
  color: #3f3d3c;
  font-size: calc(18/750 * 100vw);
  line-height: 2em; }
  @media only screen and (min-width: 750px) {
    .yellow {
      padding: 0 0 calc(170/960 * 100vw);
      font-size: calc(16/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .yellow {
      background-image: url("../img/bg_yellow_pcl.png");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: auto auto;
      padding: 0 0 170px;
      font-size: 1.6rem; } }

.ti_s {
  width: calc(187/750 * 100vw);
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .ti_s {
      width: calc(170/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .ti_s {
      width: 170px; } }

.ti_l {
  width: calc(270/750 * 100vw);
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .ti_l {
      width: calc(246/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .ti_l {
      width: 246px; } }

.method {
  width: calc(590/750 * 100%);
  margin: 0 auto 0; }
  @media only screen and (min-width: 750px) {
    .method {
      width: calc(876/960 * 100vw);
      margin: calc(0/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .method {
      width: 876px;
      margin: 0px auto 0; } }
  .method_text {
    margin: calc(42/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .method_text {
        margin: calc(40/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .method_text {
        margin: 40px auto 0; } }

.step_wrap {
  position: relative;
  background: #FFF;
  border-radius: calc(16/750 * 100vw);
  width: calc(588/750 * 100%);
  margin: calc(85/750 * 100vw) auto 0;
  padding: calc(120/750 * 100vw) 0 calc(40/750 * 100vw); }
  @media only screen and (min-width: 750px) {
    .step_wrap {
      width: calc(880/960 * 100vw);
      margin: calc(122/960 * 100vw) auto 0;
      border-radius: calc(16/960 * 100vw);
      padding: calc(103/960 * 100vw) 0 calc(20/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .step_wrap {
      width: 880px;
      margin: 122px auto 0;
      border-radius: 16px;
      padding: 103px 0 20px; } }
  .step_wrap .md_step {
    position: absolute;
    width: calc(460/750 * 100vw);
    top: calc(-33/750 * 100vw);
    left: calc(60/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .step_wrap .md_step {
        width: calc(520/960 * 100vw);
        top: calc(-24/960 * 100vw);
        left: calc(145/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .step_wrap .md_step {
        width: 520px;
        top: -24px;
        left: 145px; } }
  .step_wrap .step {
    width: calc(517/750 * 100vw);
    margin: 0 auto 0; }
    @media only screen and (min-width: 750px) {
      .step_wrap .step {
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        width: calc(718/960 * 100vw);
        margin: 0 auto 0; } }
    @media only screen and (min-width: 960px) {
      .step_wrap .step {
        width: 718px;
        margin: 0 auto 0; } }
    @media only screen and (min-width: 750px) {
      .step_wrap .step .step01 {
        width: calc(213/960 * 100vw);
        margin: 0; } }
    @media only screen and (min-width: 960px) {
      .step_wrap .step .step01 {
        width: 213px;
        margin: 0; } }
    @media only screen and (min-width: 750px) {
      .step_wrap .step .step02 {
        width: calc(294/960 * 100vw);
        margin: 0; } }
    @media only screen and (min-width: 960px) {
      .step_wrap .step .step02 {
        width: 294px;
        margin: 0; } }
    @media only screen and (min-width: 750px) {
      .step_wrap .step .step03 {
        width: calc(211/960 * 100vw);
        margin: 0; } }
    @media only screen and (min-width: 960px) {
      .step_wrap .step .step03 {
        width: 211px;
        margin: 0; } }
  .step_wrap .line_add {
    width: calc(511/750 * 100vw);
    margin: calc(45/750 * 100vw) auto 0;
    line-height: 0; }
    @media only screen and (min-width: 750px) {
      .step_wrap .line_add {
        width: calc(489/960 * 100vw);
        margin: calc(30/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .step_wrap .line_add {
        width: 489px;
        margin: 30px auto 0; } }

.announce {
  width: calc(590/750 * 100%);
  margin: calc(76/750 * 100vw) auto 0; }
  @media only screen and (min-width: 750px) {
    .announce {
      width: calc(876/960 * 100vw);
      margin: calc(96/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .announce {
      width: 876px;
      margin: 96px auto 0; } }
  .announce_text {
    margin: calc(42/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .announce_text {
        margin: calc(40/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .announce_text {
        margin: 40px auto 0; } }

.period {
  width: calc(566/750 * 100%);
  margin: calc(76/750 * 100vw) auto 0; }
  @media only screen and (min-width: 750px) {
    .period {
      width: calc(638/960 * 100vw);
      margin: calc(96/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .period {
      width: 638px;
      margin: 96px auto 0; } }
  .period_text {
    margin: calc(42/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .period_text {
        margin: calc(40/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .period_text {
        margin: 40px auto 0; } }

.note {
  width: calc(590/750 * 100%);
  margin: calc(76/750 * 100vw) auto 0; }
  @media only screen and (min-width: 750px) {
    .note {
      width: calc(800/960 * 100vw);
      margin: calc(96/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .note {
      width: 800px;
      margin: 96px auto 0; } }
  .note_text {
    margin: calc(42/750 * 100vw) auto 0;
    padding-left: 1em; }
    @media only screen and (min-width: 750px) {
      .note_text {
        margin: calc(40/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .note_text {
        margin: 40px auto 0; } }
    .note_text li {
      list-style: disc; }
    .note_text li + li {
      margin-top: 0.8em; }

.rule {
  width: calc(590/750 * 100%);
  margin: calc(108/750 * 100vw) auto 0; }
  @media only screen and (min-width: 750px) {
    .rule {
      width: calc(912/960 * 100vw);
      margin: calc(98/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .rule {
      width: 912px;
      margin: 98px auto 0; } }
  .rule .ti_rule {
    width: calc(187/750 * 100vw);
    margin: calc(0/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .rule .ti_rule {
        width: calc(170/960 * 100vw);
        margin: calc(0/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .rule .ti_rule {
        width: 170px;
        margin: 0px auto 0; } }
  .rule .rule_box {
    width: 100%;
    background: #FFF;
    border: 1px solid #000;
    margin: calc(38/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .rule .rule_box {
        margin: calc(40/960 * 100vw) auto 0; } }
    @media only screen and (min-width: 960px) {
      .rule .rule_box {
        margin: 40px auto 0; } }
    .rule .rule_box--inner {
      width: 100%;
      height: calc(528/750 * 100vw);
      margin: 0 auto;
      padding: calc(30/750 * 100vw) calc(50/750 * 100vw) calc(30/750 * 100vw) calc(50/750 * 100vw);
      overflow-y: scroll; }
      @media only screen and (min-width: 750px) {
        .rule .rule_box--inner {
          height: calc(446/960 * 100vw);
          padding: calc(30/960 * 100vw) calc(50/960 * 100vw) calc(30/960 * 100vw) calc(50/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .rule .rule_box--inner {
          height: 446px;
          padding: 30px 50px 30px 50px; } }
      .rule .rule_box--inner p, .rule .rule_box--inner ul li {
        font-size: calc(16/750 * 100vw);
        line-height: 1.8em;
        padding: 0;
        margin: 0.5em auto 0; }
        @media only screen and (min-width: 750px) {
          .rule .rule_box--inner p, .rule .rule_box--inner ul li {
            font-size: calc(14/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .rule .rule_box--inner p, .rule .rule_box--inner ul li {
            font-size: 1.4rem; } }
      .rule .rule_box--inner .lead {
        margin-top: 1em; }
      .rule .rule_box--inner h3 {
        border-bottom: solid 1px #00362e;
        margin: 1.5em 0 1em;
        padding: 0 0 0.5em;
        line-height: 1.2em;
        font-size: calc(20/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .rule .rule_box--inner h3 {
            font-size: calc(18/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .rule .rule_box--inner h3 {
            font-size: 1.8rem; } }
      .rule .rule_box--inner p + p {
        margin-top: 1em; }
      .rule .rule_box--inner .kome {
        padding-left: 1em;
        text-indent: -1em; }
      .rule .rule_box--inner .number li {
        text-indent: -1em;
        padding: 0 0 0 1em; }
      .rule .rule_box--inner .number li + li {
        margin-top: 1em; }
      .rule .rule_box--inner .number .ciercle li {
        text-indent: -1em;
        padding: 0 0 0 1em; }
      .rule .rule_box--inner .number .ciercle li + li {
        margin-top: 0.3em; }
      .rule .rule_box--inner .border {
        border-top: solid 1px #00362e;
        margin-top: 1.5em;
        padding: 1.5em 0 0; }

.header {
  width: 100%; }
  .header--inner {
    width: 100%;
    height: calc(90/750 * 100vw);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 calc(206/750 * 100vw) 0 calc(192/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .header--inner {
        height: calc(90/960 * 100vw);
        padding: 0 calc(291/960 * 100vw) 0 calc(277/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .header--inner {
        width: 960px;
        height: 90px;
        padding: 0 291px 0 277px; } }
    .header--inner .logo-w {
      width: calc(213/750 * 100vw);
      margin: 0; }
      @media only screen and (min-width: 750px) {
        .header--inner .logo-w {
          width: calc(213/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .header--inner .logo-w {
          width: 213px; } }
    .header--inner .logo-c {
      width: calc(65/750 * 100vw);
      margin: 0; }
      @media only screen and (min-width: 750px) {
        .header--inner .logo-c {
          width: calc(65/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .header--inner .logo-c {
          width: 65px; } }

.footer {
  width: calc(716/750 * 100vw);
  margin: 0 auto 0;
  padding: calc(96/750 * 100vw) 0 calc(150/750 * 100vw); }
  @media only screen and (min-width: 750px) {
    .footer {
      width: calc(868/960 * 100vw);
      padding: calc(60/960 * 100vw) 0 calc(120/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .footer {
      width: 868px;
      padding: 60px 0 120px; } }
  .footer .ban_area {
    width: calc(390/750 * 100vw);
    margin: 0 auto; }
    @media only screen and (min-width: 750px) {
      .footer .ban_area {
        width: calc(390/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .footer .ban_area {
        width: 390px; } }
    .footer .ban_area .ban02 {
      width: calc(330/750 * 100vw);
      margin: calc(216/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .footer .ban_area .ban02 {
          width: calc(330/960 * 100vw);
          margin: calc(176/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .footer .ban_area .ban02 {
          width: 330px;
          margin: 176px auto 0; } }
  .footer .inquiry_area {
    margin-top: calc(105/750 * 100vw);
    border-top: #251e1c 1px solid; }
    @media only screen and (min-width: 750px) {
      .footer .inquiry_area {
        margin-top: calc(60/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .footer .inquiry_area {
        margin-top: 60px; } }
    .footer .inquiry_area .ti_inquiry {
      background: #FFF;
      text-align: center;
      margin: calc(-10/750 * 100vw) auto 0;
      width: calc(442/750 * 100vw);
      padding: 0 calc(18/750 * 100vw);
      line-height: 0; }
      @media only screen and (min-width: 750px) {
        .footer .inquiry_area .ti_inquiry {
          width: calc(378/960 * 100vw);
          margin: calc(-12/960 * 100vw) auto 0;
          padding: 0 calc(16/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .footer .inquiry_area .ti_inquiry {
          width: 378px;
          margin: -12px auto 0;
          padding: 0 16px; } }
    .footer .inquiry_area .inquiry {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      width: calc(593/750 * 100vw);
      margin: 0 auto 0;
      padding: calc(25/750 * 100vw) 0 calc(0/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .footer .inquiry_area .inquiry {
          justify-content: space-between;
          flex-wrap: nowrap;
          width: calc(686/960 * 100vw);
          padding: calc(30/960 * 100vw) 0 calc(0/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .footer .inquiry_area .inquiry {
          width: 686px;
          padding: 30px 0 0px; } }
      .footer .inquiry_area .inquiry .freecall {
        line-height: 0;
        width: calc(329/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .footer .inquiry_area .inquiry .freecall {
            width: calc(328/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .footer .inquiry_area .inquiry .freecall {
            width: 328px; } }
      .footer .inquiry_area .inquiry .inquiry_text {
        line-height: 0;
        width: calc(593/750 * 100vw);
        margin: calc(20/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .footer .inquiry_area .inquiry .inquiry_text {
            width: calc(333/960 * 100vw);
            margin: 0 auto 0; } }
        @media only screen and (min-width: 960px) {
          .footer .inquiry_area .inquiry .inquiry_text {
            width: 333px; } }

html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word; }

body {
  font-size: 1.4rem;
  margin: 0;
  padding: 0; }
  @media only screen and (min-width: 750px) {
    body {
      font-size: 1.6rem; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a {
  color: #009fe8; }

a:hover {
  opacity: 0.8; }

.only_pc {
  display: none; }
  @media only screen and (min-width: 750px) {
    .only_pc {
      display: inline; } }

.only_sp {
  display: inline; }
  @media only screen and (min-width: 750px) {
    .only_sp {
      display: none; } }

@media only screen and (min-width: 960px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
#wakayama {
  width: 100%;
  overflow-x: hidden; }

.fix_bt {
  position: fixed;
  bottom: calc(-300/750 * 100vw);
  right: calc(20/750 * 100vw);
  width: calc(98/750 * 100vw);
  height: calc(109/750 * 100vw);
  z-index: 100;
  transition: all 0.5s ease; }
  @media only screen and (min-width: 750px) {
    .fix_bt {
      width: calc(98/960 * 100vw);
      height: calc(109/960 * 100vw);
      bottom: calc(-350/960 * 100vw);
      right: calc(18/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .fix_bt {
      width: 98px;
      height: 109px;
      bottom: -350px;
      right: 18px; } }
  .fix_bt li {
    position: absolute;
    width: calc(98/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .fix_bt li {
        width: calc(98/960 * 100vw);
        cursor: pointer; } }
    @media only screen and (min-width: 960px) {
      .fix_bt li {
        width: 98px; } }
  .fix_bt.active {
    bottom: calc(20/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .fix_bt.active {
        bottom: calc(20/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .fix_bt.active {
        bottom: 20px; } }

.effect-fade-upin {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.75s ease-out; }

.effect-fade-upin02 {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.75s ease-out;
  transition-delay: 0.8s; }

.effect-fade-upin.active, .effect-fade-upin02.active {
  opacity: 1;
  transform: translate(0, 0); }
