@charset "UTF-8";
.page p, .page span, .page a, .page h2, .page h3 {
  line-height: 1.5;
  letter-spacing: normal;
}
.page a {
  display: block;
  -webkit-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}
.page a:hover {
  opacity: 0.6;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
.page {
  overflow: hidden;
  background: #fff;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "sans-serif";
  /*=============================
   kv
  =============================*/
  /*=============================
   explan
  =============================*/
  /*=============================
   scene
  =============================*/
  /*=============================
   variation
  =============================*/
  /*=============================
   item　scroll ver
  =============================*/
  /*=============================
   user_voice
  =============================*/
  /*=============================
   recommend
  =============================*/
}
.page__inner {
  margin: auto;
  max-width: 980px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .page__inner {
    width: 89.6vw;
  }
}
.page .title {
  font-weight: bold;
}
.page .kv h1 {
  min-width: 1920px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .kv h1 {
    min-width: 190vw;
  }
}
@media screen and (max-width: 768px) {
  .page .kv h1 {
    min-width: 100%;
  }
}
.page .kv h1 img {
  margin: auto;
}
.page .explan .title {
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .explan .title {
    font-size: 5.7vw;
  }
}
.page .explan__sec01 {
  margin-top: 74px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01 {
    margin: 11.5vw auto 0;
    width: 90%;
  }
}
.page .explan__sec01 .text {
  text-align: center;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01 .text {
    margin-top: 6.4vw;
    font-size: 3.6vw;
    text-align: left;
  }
}
.page .explan__sec01-img {
  display: block;
  width: 480px;
  margin: 36px auto 0;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01-img {
    width: 72.9vw;
    margin: 6.4vw auto 0;
  }
}
.page .explan__sec01 .survey {
  width: 820px;
  border: solid 2px #37BEF0;
  padding: 40px;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01 .survey {
    width: 100%;
    padding: 4.6vw;
    margin: 7.3vw auto 0;
  }
}
.page .explan__sec01 .survey-title {
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01 .survey-title {
    font-size: 3.4vw;
    margin-bottom: 4.4vw;
  }
}
.page .explan__sec01 .survey-text {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec01 .survey-text {
    font-size: 3.4vw;
  }
}
.page .explan__sec02 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 {
    margin-top: 12.5vw;
  }
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .title {
    font-size: 5.7vw;
  }
}
.page .explan__sec02 .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 820px;
  margin: 28px auto 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap {
    width: 90%;
    margin: 5.3vw auto 0;
    display: block;
  }
}
.page .explan__sec02 .wrap .image-area {
  width: 240px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .image-area {
    width: 62.5vw;
    margin: 0 auto;
  }
}
.page .explan__sec02 .wrap .image-area .text {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .image-area .text {
    margin-top: 3.1vw;
  }
}
.page .explan__sec02 .wrap .text-area {
  display: block;
  width: 540px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .text-area {
    width: 100%;
    margin-top: 6.5vw;
  }
}
.page .explan__sec02 .wrap .text-area .blocks {
  text-align: left;
}
.page .explan__sec02 .wrap .text-area .blocks:nth-child(2) {
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .text-area .blocks:nth-child(2) {
    margin-top: 6.4vw;
  }
}
.page .explan__sec02 .wrap .text-area .blocks .title {
  text-align: left;
  font-size: 24px;
  padding-bottom: 8px;
  border-bottom: solid #37BEF0 2px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .text-area .blocks .title {
    font-size: 5.2vw;
    padding-bottom: 1.4vw;
  }
}
.page .explan__sec02 .wrap .text-area .blocks .text {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .explan__sec02 .wrap .text-area .blocks .text {
    margin-top: 3.1vw;
    font-size: 3.6vw;
  }
}
.page .scene {
  width: 100%;
  max-width: 980px;
  margin: 74px auto 122px;
}
@media screen and (max-width: 768px) {
  .page .scene {
    width: 89.6vw;
    max-width: 100%;
    margin: 12.5vw auto 22.9vw;
  }
}
.page .scene-title {
  text-align: center;
  margin: 0 auto 35px;
}
@media screen and (max-width: 768px) {
  .page .scene-title {
    margin: 0 auto 5.3vw;
  }
}
.page .scene-title, .page .scene-title span {
  font-weight: bold;
  font-size: 32px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .scene-title, .page .scene-title span {
    font-size: 5.7vw;
  }
}
.page .scene-title span {
  color: #37BEF0;
  vertical-align: baseline;
}
.page .scene-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page .scene-list {
    display: block;
  }
}
.page .scene-item {
  position: relative;
  width: 30.6%;
  margin-right: 4.08%;
  margin-top: 70px;
}
@media screen and (min-width: 769px) {
  .page .scene-item:nth-child(3n), .page .scene-item:last-child {
    margin-right: 0;
  }
  .page .scene-item:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .scene-item {
    width: 100%;
    margin-right: 0;
    margin-top: 17.7vw;
  }
  .page .scene-item:first-child {
    margin-top: 0;
  }
}
.page .scene-item__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -48px;
  z-index: 2;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
  width: 96px;
  height: 96px;
  background-color: #37BEF0;
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .scene-item__title {
    bottom: -10.4vw;
    width: 20.8vw;
    height: 20.8vw;
    font-size: 3.6vw;
  }
}
.page .scene-item__img {
  position: relative;
  z-index: 1;
}
.page .variation {
  width: 100%;
  max-width: 820px;
  margin: 73px auto 0;
}
@media screen and (max-width: 768px) {
  .page .variation {
    width: 89.6vw;
    max-width: 100%;
    margin: 10.7vw auto 0;
  }
}
.page .variation-title {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  margin: 0 auto 36px;
}
@media screen and (max-width: 768px) {
  .page .variation-title {
    font-size: 5.2vw;
    margin: 0 auto 6.5vw;
  }
}
.page .variation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .variation-list {
    display: block;
  }
}
.page .variation-item {
  width: 47.5%;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .page .variation-item:nth-child(odd) {
    margin-right: 4.87%;
  }
  .page .variation-item:nth-child(-n+2) {
    margin-top: 0;
  }
  .page .variation-item:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .variation-item {
    width: 100%;
    margin-top: 6vw;
  }
  .page .variation-item:first-child {
    margin-top: 0;
  }
}
.page .variation-item__title {
  display: block;
  margin: 13px auto 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid #37BEF0;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 18px;
}
@media screen and (max-width: 768px) {
  .page .variation-item__title {
    margin: 3.1vw auto;
    padding: 0 0 1.8vw;
    border-bottom: 0.3vw solid #37BEF0;
    text-align: center;
    font-size: 3.9vw;
  }
}
.page .variation-item__text p {
  font-size: 16px;
  line-height: 1.68;
}
@media screen and (max-width: 768px) {
  .page .variation-item__text p {
    font-size: 3.6vw;
    line-height: 1.5;
  }
}
.page .variation-item__text p span {
  display: inline;
  font-weight: bold;
  vertical-align: baseline;
}
.page .item__scroll {
  width: 100%;
  max-width: 820px;
  text-align: center;
  margin: 80px auto 142px;
}
.page .item__scroll .title {
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .title {
    font-size: 5.7vw;
  }
}
@media screen and (max-width: 768px) {
  .page .item__scroll {
    width: 100%;
    max-width: 100%;
    margin: 10.4vw auto 10.4vw;
  }
}
.page .item__scroll .item__list {
  margin-top: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-y: hidden;
    display: -webkit-box;
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    scrollbar-width: none; /* Firefox */
  }
  .page .item__scroll .item__list::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
  }
}
.page .item__scroll .item__list li {
  width: 30.5%;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__list li {
    width: 100%;
    max-width: 52.1vw;
    margin: 0 3vw;
    position: relative;
    overflow: visible;
  }
  .page .item__scroll .item__list li:last-child::after {
    position: absolute;
    content: "";
    top: 0;
    left: 100%;
    height: 1px;
    width: 3vw;
    background-color: transparent;
  }
}
.page .item__scroll .item__list li .item__list__img {
  display: block;
  margin: 0 auto;
}
.page .item__scroll .item__list li .item__list__text {
  display: block;
  margin: 24px auto 0;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__list li .item__list__text {
    margin: 5.2vw auto 0;
  }
}
.page .item__scroll .item__list li .item__list__text .item--name {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__list li .item__list__text .item--name {
    font-size: 3.6vw;
    margin-bottom: 1.2vw;
  }
}
.page .item__scroll .item__list li .item__list__text .preset_price_area {
  color: #333;
}
.page .item__scroll .item__anchor {
  max-width: 980px;
  width: 100%;
  display: block;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor {
    margin: 5.2vw auto 0;
    width: 90%;
  }
}
.page .item__scroll .item__anchor .btn {
  position: relative;
  width: 47.5%;
  margin: 0 auto 20px;
  font-size: 14px;
  text-align: center;
  display: block;
  border-radius: 5px;
  border: solid 1px #333;
  color: #333;
  background-color: #ffffff;
  line-height: 50px;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor .btn {
    width: 100%;
    font-size: 2.6vw;
    line-height: 6.5vw;
    margin: 0 auto 2vw;
  }
}
.page .item__scroll .item__anchor .btn .arrow_right {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 3%;
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor .btn .arrow_right {
    right: 5%;
  }
}
.page .item__scroll .item__anchor .btn .arrow_right:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border: 1px solid;
  border-color: #333 #333 transparent transparent;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor .btn .arrow_right:after {
    width: 1.3vw;
    height: 1.3vw;
  }
}
@media screen and (min-width: 769px) {
  .page .item__scroll .item__anchor__flex,
  .page .item__scroll .item__anchor__flex3,
  .page .item__scroll .item__anchor__flex4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
  }
  .page .item__scroll .item__anchor__flex .btn,
  .page .item__scroll .item__anchor__flex3 .btn,
  .page .item__scroll .item__anchor__flex4 .btn {
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .page .item__scroll .item__anchor__flex3 .btn {
    width: 30%;
  }
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor__flex4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .page .item__scroll .item__anchor__flex4 .btn {
    width: 24%;
  }
}
@media screen and (max-width: 768px) {
  .page .item__scroll .item__anchor__flex4 .btn {
    width: 48%;
  }
}
.page .user_voice {
  width: 100%;
  background-color: #D7F2FC;
  padding: 74px 0 80px;
  margin: 0 auto 74px;
}
@media screen and (max-width: 768px) {
  .page .user_voice {
    padding: 11.5vw 5.2vw 12.1vw;
    margin: 0 auto 11.7vw;
  }
}
.page .user_voice .inner {
  width: 820px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner {
    width: 90%;
  }
}
.page .user_voice .inner .title {
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .title {
    font-size: 5.7vw;
  }
}
.page .user_voice .inner .wrap {
  margin-top: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap {
    margin-top: 6.4vw;
    display: block;
  }
}
.page .user_voice .inner .wrap .contents {
  width: 48.5%;
  background-color: #fff;
  padding: 24px 24px 0;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents {
    width: 100%;
    padding: 5.2vw 5.2vw 0;
  }
}
.page .user_voice .inner .wrap .contents .user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents .user {
    margin-bottom: 5.2vw;
  }
}
.page .user_voice .inner .wrap .contents .user .icon {
  width: 64px;
  margin-right: 16px;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents .user .icon {
    width: 12.5vw;
    margin-right: 3.1vw;
  }
}
.page .user_voice .inner .wrap .contents .user .name {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents .user .name {
    font-size: 3.6vw;
  }
}
.page .user_voice .inner .wrap .contents .voice {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents .voice {
    margin-bottom: 4.3vw;
  }
}
.page .user_voice .inner .wrap .contents .voice .title {
  text-align: left;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .page .user_voice .inner .wrap .contents .voice .title {
    font-size: 4.7vw;
  }
}
.page .recommend {
  width: 480px;
  margin: 0 auto 160px;
}
@media screen and (max-width: 768px) {
  .page .recommend {
    width: 90%;
    margin: 0 auto 25.4vw;
  }
}
.page .recommend .title {
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .recommend .title {
    font-size: 5.7vw;
  }
}
.page .recommend .wrap {
  margin-top: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .recommend .wrap {
    margin-top: 6.4vw;
  }
}
.page .recommend .wrap .bnr {
  width: 225px;
}
@media screen and (max-width: 768px) {
  .page .recommend .wrap .bnr {
    width: 42.2vw;
  }
}

.page .ajax_area .preset_price_area {
  color: red;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .page .ajax_area .preset_price_area {
    font-size: 3.6vw;
  }
}
.page .ajax_area a.cartinbtn {
  width: 80%;
  font-size: 14px;
  background-color: #37BEF0;
  margin: 10px auto 0;
}
@media screen and (max-width: 768px) {
  .page .ajax_area a.cartinbtn {
    width: 100%;
    font-size: 2.9vw;
    margin: 2.6vw auto 0;
  }
}
.page .ajax_area .stock_exist {
  width: 80%;
  font-size: 16px;
  margin: 10px auto 0;
}
@media screen and (max-width: 768px) {
  .page .ajax_area .stock_exist {
    width: 100%;
    font-size: 3.5vw;
    margin: 2vw auto 0;
  }
}