@charset "UTF-8";
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: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; } }
#nestle_ndg {
  padding-bottom: 5vw; }
  @media only screen and (min-width: 750px) {
    #nestle_ndg {
      padding-bottom: calc(30/960 * 100%); } }
  @media only screen and (min-width: 960px) {
    #nestle_ndg {
      padding-bottom: 30px; } }

.mv_ti {
  width: 100%; }
  @media only screen and (min-width: 750px) {
    .mv_ti {
      background-image: url("../img/bg_mv02_pc.png");
      background-size: cover;
      background-position: top center;
      width: 100%;
      margin: 0; } }
  @media only screen and (min-width: 960px) {
    .mv_ti {
      background-image: url("../img/bg_mv_pcl.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: bottom center; } }
  .mv_ti h1 {
    width: 100%;
    padding: 0 0;
    margin: 0 auto; }
    @media only screen and (min-width: 750px) {
      .mv_ti h1 {
        width: calc(960/960 * 100%);
        margin: 0 auto; } }
    @media only screen and (min-width: 960px) {
      .mv_ti h1 {
        width: 960px;
        margin: 0 auto; } }

.lead {
  width: 100%;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .lead {
      width: calc(960/960 * 100%); } }
  @media only screen and (min-width: 960px) {
    .lead {
      width: 960px; } }

.about {
  width: 86.4vw;
  margin: 0 auto;
  padding: 0 0 5.333vw; }
  @media only screen and (min-width: 750px) {
    .about {
      display: flex;
      justify-content: space-between;
      width: calc(852/960 * 100%);
      padding: 0 0 calc(40/960 * 100%); } }
  @media only screen and (min-width: 960px) {
    .about {
      width: 852px;
      padding: 0 0 40px; } }
  .about li {
    width: 100%; }
    @media only screen and (min-width: 750px) {
      .about li {
        width: calc(412/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .about li {
        width: 412px; } }
    .about li .about_bt {
      width: 100%;
      border: #000 solid 1px;
      height: 9.6vw;
      display: flex;
      align-items: center;
      text-align: left;
      margin: 0 auto;
      color: #FFF;
      font-size: 3.4vw;
      font-weight: bold;
      line-height: 1em;
      background: url("../img/arrow_w.svg") no-repeat;
      background-color: #000;
      background-size: 4.5vw auto;
      background-position: right 1.5vw center;
      padding: 0 0 0 1vw; }
      @media only screen and (min-width: 750px) {
        .about li .about_bt {
          border: #000 solid calc(1/960 * 100vw);
          height: calc(47/960 * 100vw);
          font-size: calc(16/960 * 100vw);
          padding: 0 0 0 calc(7/960 * 100vw);
          background-size: calc(27/960 * 100vw) calc(14/960 * 100vw);
          background-position: right calc(10/960 * 100vw) center; } }
      @media only screen and (min-width: 960px) {
        .about li .about_bt {
          border: #000 solid 1px;
          height: 47px;
          font-size: 1.6rem;
          padding: 0 0 0 7px;
          background-size: 27px 14px;
          background-position: right 10px center; } }
      .about li .about_bt.active {
        background-image: url("../img/arrow_w_top.svg"); }
    .about li .about_wrap {
      display: none;
      width: 100%;
      margin: 0 auto;
      border: #000 solid 1px;
      border-top: none;
      padding: 0 0 5vw 0; }
      @media only screen and (min-width: 750px) {
        .about li .about_wrap {
          border: #000 solid calc(1/960 * 100vw);
          border-top: none;
          padding: calc(25/960 * 100vw);
          padding: 0 0 calc(29/960 * 100vw) 0; } }
      @media only screen and (min-width: 960px) {
        .about li .about_wrap {
          border: #000 solid 1px;
          border-top: none;
          padding: 0 0 29px 0; } }
      .about li .about_wrap a.detail {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 3.6vw;
        color: #FFF;
        text-decoration: none;
        width: 46.4vw;
        height: 8.133vw;
        margin: 2vw auto 0;
        background: #000;
        background-image: url("../img/arrow_w_right.svg");
        background-size: 4.4vw 2.4vw;
        background-position: right 4.4vw center;
        background-repeat: no-repeat; }
        @media only screen and (min-width: 750px) {
          .about li .about_wrap a.detail {
            width: calc(170/960 * 100vw);
            height: calc(30/960 * 100vw);
            font-size: calc(15/960 * 100vw);
            background-size: calc(16/960 * 100vw) calc(9/960 * 100vw);
            background-position: right calc(16/960 * 100vw) center;
            margin: 0 auto 0; } }
        @media only screen and (min-width: 960px) {
          .about li .about_wrap a.detail {
            width: 170px;
            height: 30px;
            font-size: 1.5rem;
            background-size: 16px 9px;
            background-position: right 16px center; } }
  .about li + li {
    margin-top: 4.266vw; }
    @media only screen and (min-width: 750px) {
      .about li + li {
        margin-top: 0; } }
    @media only screen and (min-width: 960px) {
      .about li + li {
        margin-top: 0; } }

.outline {
  background-image: url("../img/bg_outline_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center; }
  @media only screen and (min-width: 750px) {
    .outline {
      background-image: url("../img/bg_outline_pc.jpg");
      background-repeat: repeat-x;
      background-size: auto 100%; } }
  .outline--inner {
    width: 100%;
    margin: 0 auto;
    padding: 6.4vw 0 9.333vw; }
    @media only screen and (min-width: 750px) {
      .outline--inner {
        width: calc(960/960 * 100%);
        padding: calc(50/960 * 100%) 0 calc(78/960 * 100%); } }
    @media only screen and (min-width: 960px) {
      .outline--inner {
        width: 960px;
        padding: 50px 0 78px; } }
    .outline--inner .outline_ti {
      width: 49.6vw;
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .outline--inner .outline_ti {
          width: calc(268/960 * 100%); } }
      @media only screen and (min-width: 960px) {
        .outline--inner .outline_ti {
          width: 268px; } }
    .outline--inner ul.table {
      width: 93.6vw;
      margin: 4.4vw auto 0; }
      @media only screen and (min-width: 750px) {
        .outline--inner ul.table {
          width: calc(840/960 * 100%);
          margin: calc(37/960 * 100%) auto 0; } }
      @media only screen and (min-width: 960px) {
        .outline--inner ul.table {
          width: 840px;
          margin: 37px auto 0; } }
      .outline--inner ul.table li + li {
        margin-top: 5.066vw; }
        @media only screen and (min-width: 750px) {
          .outline--inner ul.table li + li {
            margin-top: calc(5/960 * 100%); } }
        @media only screen and (min-width: 960px) {
          .outline--inner ul.table li + li {
            margin-top: 5px; } }

.flow {
  width: 100%;
  background-color: #FFF; }
  .flow--inner {
    width: 100%;
    margin: 0 auto;
    padding: 5.2vw 0 8.933vw; }
    @media only screen and (min-width: 750px) {
      .flow--inner {
        width: calc(960/960 * 100%);
        padding: calc(46/960 * 100vw) 0 calc(62/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .flow--inner {
        width: 960px;
        padding: 46px 0 62px; } }
    .flow--inner h2 {
      text-align: center; }
      .flow--inner h2 img {
        width: 72.66vw; }
        @media only screen and (min-width: 750px) {
          .flow--inner h2 img {
            width: calc(610/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .flow--inner h2 img {
            width: 610px; } }
    .flow--inner .step {
      width: 94%;
      margin: 3.866vw auto 0; }
      @media only screen and (min-width: 750px) {
        .flow--inner .step {
          width: calc(840/960 * 100vw);
          margin: calc(40/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .flow--inner .step {
          width: 840px;
          margin: 40px auto 0; } }
      .flow--inner .step .box {
        border: #000 solid 1px;
        padding: 3.733vw 2vw 4vw; }
        @media only screen and (min-width: 750px) {
          .flow--inner .step .box {
            padding: calc(22/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .flow--inner .step .box {
            padding: 22px 22px 27px; } }
        .flow--inner .step .box .bt_step {
          display: block;
          width: 90vw;
          margin: 0vw auto 0; }
          @media only screen and (min-width: 750px) {
            .flow--inner .step .box .bt_step {
              width: calc(596/960 * 100vw); } }
          @media only screen and (min-width: 960px) {
            .flow--inner .step .box .bt_step {
              width: 596px; } }
      .flow--inner .step .arrow {
        width: 30.266vw;
        margin: 0vw auto 5.466vw; }
        @media only screen and (min-width: 750px) {
          .flow--inner .step .arrow {
            width: calc(154/960 * 100vw);
            margin: calc(0/960 * 100vw) auto calc(47/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .flow--inner .step .arrow {
            width: 154px;
            margin: 0px auto 47px; } }

.upload {
  background-image: url("../img/bg_upload_sp.jpg");
  background-repeat: repeat-y;
  background-position: top center; }
  @media only screen and (min-width: 750px) {
    .upload {
      background-image: url("../img/bg_upload_pc.jpg");
      background-repeat: repeat;
      background-size: auto auto; } }
  .upload--inner {
    width: 100%;
    margin: 0 auto;
    padding: 8.133vw 0 3.733vw; }
    @media only screen and (min-width: 750px) {
      .upload--inner {
        width: calc(960/960 * 100%);
        padding: calc(63/960 * 100vw) 0 calc(26/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .upload--inner {
        width: 960px;
        padding: 63px 0 26px; } }
    .upload--inner h2 {
      text-align: center; }
      .upload--inner h2 img {
        width: 76vw;
        height: auto; }
        @media only screen and (min-width: 750px) {
          .upload--inner h2 img {
            width: calc(663/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .upload--inner h2 img {
            width: 663px; } }
    .upload--inner .upload_base {
      width: 92.26vw;
      margin: 4.666vw auto 0;
      background: #FFF;
      padding: 3.333vw; }
      @media only screen and (min-width: 750px) {
        .upload--inner .upload_base {
          width: calc(840/960 * 100vw);
          padding: calc(32/960 * 100vw) calc(22/960 * 100vw) calc(32/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .upload--inner .upload_base {
          width: 840px;
          padding: 32px 22px 32px; } }
    .upload--inner .upload_lead {
      font-size: 2.5vw;
      text-align: center;
      line-height: 1.8em;
      color: #000; }
      @media only screen and (min-width: 750px) {
        .upload--inner .upload_lead {
          font-size: calc(18/960 * 100vw);
          text-align: center;
          line-height: 1.75em; } }
      @media only screen and (min-width: 960px) {
        .upload--inner .upload_lead {
          font-size: 1.8rem;
          text-align: center;
          line-height: 1.75em; } }
    .upload--inner .upload_information {
      width: 100%;
      margin: 3.733vw auto 0; }
      @media only screen and (min-width: 750px) {
        .upload--inner .upload_information {
          width: calc(793/960 * 100vw);
          margin: calc(22/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .upload--inner .upload_information {
          width: 793px;
          margin: 22px auto 0; } }
    .upload--inner .good {
      width: 100%;
      margin: 4.133vw auto 0; }
      @media only screen and (min-width: 750px) {
        .upload--inner .good {
          width: calc(793/960 * 100vw);
          margin: calc(41/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .upload--inner .good {
          width: 793px;
          margin: 41px auto 0; } }
    .upload--inner .bad {
      width: 100%;
      margin: 0vw auto 0; }
      @media only screen and (min-width: 750px) {
        .upload--inner .bad {
          width: calc(793/960 * 100vw);
          margin: calc(76/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .upload--inner .bad {
          width: 793px;
          margin: 76px auto 0; } }
    .upload--inner .caution_text {
      margin: 0vw auto 0; }
      @media only screen and (min-width: 750px) {
        .upload--inner .caution_text {
          width: calc(790/960 * 100vw);
          margin: calc(0/960 * 100vw) auto 0; } }
      @media only screen and (min-width: 960px) {
        .upload--inner .caution_text {
          margin: 0px auto 0;
          width: 790px; } }
      .upload--inner .caution_text li {
        font-size: 3vw;
        text-indent: -1em;
        margin-left: 1em; }
        @media only screen and (min-width: 750px) {
          .upload--inner .caution_text li {
            font-size: calc(16/960 * 100vw); } }
        @media only screen and (min-width: 960px) {
          .upload--inner .caution_text li {
            font-size: 1.6rem; } }
        .upload--inner .caution_text li .circle li {
          list-style-type: circle;
          margin-left: 1em;
          padding: 0 0 0 1em; }
        .upload--inner .caution_text li .circle li + li {
          margin-top: 0; }
        .upload--inner .caution_text li a {
          color: #25a7ff; }
          .upload--inner .caution_text li a:hover {
            text-decoration: none; }
      .upload--inner .caution_text li + li {
        margin-top: 1.5em; }
    .upload--inner .caution_ti + .upload_base {
      margin-top: 4.666vw; }
      @media only screen and (min-width: 750px) {
        .upload--inner .caution_ti + .upload_base {
          margin-top: calc(25/960 * 100vw); } }
      @media only screen and (min-width: 960px) {
        .upload--inner .caution_ti + .upload_base {
          margin-top: 25px; } }

h2.caution_ti {
  text-align: center; }
  h2.caution_ti img {
    width: 26.133vw;
    margin-top: 7.066vw; }
    @media only screen and (min-width: 750px) {
      h2.caution_ti img {
        width: calc(140/960 * 100vw);
        margin-top: calc(53/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      h2.caution_ti img {
        width: 140px;
        margin-top: 53px; } }

.inquiry {
  width: 92.26vw;
  margin: 0 auto 0;
  background-image: url("../img/bg_yellow_sp.jpg");
  background-size: cover;
  padding: 3vw; }
  @media only screen and (min-width: 750px) {
    .inquiry {
      background-image: url("../img/bg_yellow_pc.jpg");
      width: calc(840/960 * 100vw);
      padding: calc(22/960 * 100vw) calc(22/960 * 100vw) calc(20/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .inquiry {
      width: 840px;
      padding: 22px 22px 20px; } }
  .inquiry h2 {
    color: #000;
    font-size: 3vw;
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 750px) {
      .inquiry h2 {
        font-size: calc(16/960 * 100vw); } }
    @media only screen and (min-width: 960px) {
      .inquiry h2 {
        font-size: 1.6rem; } }
  @media only screen and (min-width: 750px) {
    .inquiry .inquiry_box {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: center;
      width: calc(620/960 * 100vw);
      margin: calc(15/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .inquiry .inquiry_box {
      width: 620px;
      margin: 15px auto 0; } }
  .inquiry .inquiry_box .cont01 {
    width: 100%;
    text-align: center;
    font-size: 2.6vw;
    color: #000;
    font-weight: bold;
    margin-top: 0.5em; }
    @media only screen and (min-width: 750px) {
      .inquiry .inquiry_box .cont01 {
        width: 20em;
        text-align: left;
        font-size: calc(15/960 * 100vw);
        margin-top: 0; } }
    @media only screen and (min-width: 960px) {
      .inquiry .inquiry_box .cont01 {
        font-size: 1.5rem; } }
  .inquiry .inquiry_box .cont02 {
    width: 50vw;
    text-align: center;
    font-size: 3.2vw;
    margin: 0.5em auto 0; }
    @media only screen and (min-width: 750px) {
      .inquiry .inquiry_box .cont02 {
        width: calc(283/960 * 100vw);
        text-align: left;
        font-size: calc(15/960 * 100vw);
        margin: 0; } }
    @media only screen and (min-width: 960px) {
      .inquiry .inquiry_box .cont02 {
        width: 283px;
        font-size: 1.5rem; } }
  .inquiry .inquiry_box .cont03 {
    font-size: 2.5vw;
    width: 31em;
    margin: 1em auto 0;
    text-align: center; }
    @media only screen and (min-width: 750px) {
      .inquiry .inquiry_box .cont03 {
        width: 100%;
        font-size: calc(12/960 * 100vw);
        margin-top: 1em; } }
    @media only screen and (min-width: 960px) {
      .inquiry .inquiry_box .cont03 {
        font-size: 1.2rem; } }

.inquiry_note {
  text-align: center;
  font-size: 2.7vw;
  margin: 9vw auto 0; }
  @media only screen and (min-width: 750px) {
    .inquiry_note {
      font-size: calc(16/960 * 100vw);
      margin: calc(48/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .inquiry_note {
      font-size: 1.6rem;
      margin: 48px auto 0; } }

.bt_rule {
  width: 72vw;
  margin: 7.2vw auto 0;
  display: block; }
  @media only screen and (min-width: 750px) {
    .bt_rule {
      width: calc(425/960 * 100vw);
      margin: calc(42/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .bt_rule {
      width: 425px;
      margin: 42px auto 0; } }

.bt_apply {
  width: 72vw;
  margin: 2.666vw auto 0;
  display: block;
  opacity: 0.2; }
  @media only screen and (min-width: 750px) {
    .bt_apply {
      width: calc(425/960 * 100vw);
      margin: calc(16/960 * 100vw) auto 0; } }
  @media only screen and (min-width: 960px) {
    .bt_apply {
      width: 425px;
      margin: 16px auto 0; } }
  .bt_apply:hover {
    opacity: 0.2; }

.footer {
  font-size: 2.8vw;
  text-align: center;
  color: #999999;
  margin: 6.666vw auto 0;
  padding: 6.666vw 0 7vw; }
  @media only screen and (min-width: 750px) {
    .footer {
      width: calc(960/960 * 100%);
      font-size: calc(12/960 * 100vw);
      margin: calc(0/960 * 100vw) auto 0;
      padding: calc(60/960 * 100vw) 0 calc(100/960 * 100vw); } }
  @media only screen and (min-width: 960px) {
    .footer {
      width: 960px;
      font-size: 1.2rem;
      margin: 0px auto 0;
      padding: 60px 0 100px; } }
