@charset "UTF-8";
.c-color-lightblue {
  color: #B2C7EF !important;
}

.c-bg-lightblue {
  background-color: #B2C7EF !important;
}

.c-color-lightgreen {
  color: #BFCF79 !important;
}

.c-bg-lightgreen {
  background-color: #BFCF79 !important;
}

.c-color-lightpurple {
  color: #CFB3DC !important;
}

.c-bg-lightpurple {
  background-color: #CFB3DC !important;
}

@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 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;
}

.page {
  overflow: hidden;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "メイリオ", sans-serif;
  font-size: 16px;
  line-height: 1.875;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .page {
    font-size: 3.4vw;
    line-height: 1.92;
  }
}
.page a {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .page a {
    -webkit-transition: all 0.3s ease-in 0s;
    transition: all 0.3s ease-in 0s;
  }
  .page a:hover {
    opacity: 0.6;
  }
}
.page span, .page small, .page b {
  vertical-align: baseline;
}
.page span {
  font-weight: bold;
}
.page small {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .page small {
    font-size: 2.3vw;
  }
}
.page b {
  font-weight: 500;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page section {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .page section {
    margin-bottom: 16.9vw;
  }
}
.page section:last-child {
  margin-bottom: 0;
}
.page section > div {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .page section > div {
    margin-bottom: 10.4vw;
  }
}
.page section > div:last-child {
  margin-bottom: 0;
}
.page h2, .page h3 {
  font-family: "Noto Serif", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", serif;
  font-weight: bold;
  font-size: 22px;
  text-align: center;
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  .page h2, .page h3 {
    font-size: 4.6vw;
    margin: 0 auto 5.2vw;
  }
}

.page {
  /* SP時 水平スクロール
  ------------------------*/
  /* Slick版
  ------------------------*/
}
.page .item__list {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.page .item__list li {
  width: 190px;
  margin-right: 20px;
  margin-top: 20px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .page .item__list li:nth-child(4n) {
    margin-right: 0;
  }
  .page .item__list li:nth-child(-n+4) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .item__list li {
    width: 42.1vw;
    margin-right: 2.6vw;
    margin-top: 6.5vw;
  }
  .page .item__list li:nth-child(-n+2) {
    margin-top: 0;
  }
  .page .item__list li:nth-child(even) {
    margin-right: 0;
  }
}
.page .item__list li:last-child {
  margin-right: 0;
}
.page .item__list .stock_exist, .page .item__list .cartinbtn {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page .item__list .stock_exist, .page .item__list .cartinbtn {
    padding: 2.3vw 1.3vw;
  }
}
.page .item__list .cartinbtn {
  background: #000;
  margin-top: 10px;
  padding: 7px 7px 9px;
}
@media screen and (max-width: 768px) {
  .page .item__list .cartinbtn {
    margin-top: 2.2vw;
    padding: 1.6vw 1.6vw 2.1vw;
  }
}
.page .item__list .item__list__img {
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .page .item__list .item__list__img {
    margin: 0 auto 1.3vw;
  }
}
.page .item__list .item__list__btn {
  width: 190px;
  background: #000;
  margin: 10px auto 0;
  padding: 6px 7px 8px;
  color: #fff;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .page .item__list .item__list__btn {
    width: 51.8vw;
    margin: 2.2vw auto 0;
    padding: 1.6vw 1.6vw 2.1vw;
  }
}
.page .item__list .stock_exist, .page .item__list .cartinbtn {
  display: none !important;
}
.page .item__list .item__list__id--none {
  pointer-events: none !important;
  text-align: center;
}
.page .item__list .item__list__id--none .item__list__text {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .item__list--scroll {
    padding: 0 5.2vw;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .page .item__list--scroll::-webkit-scrollbar {
    display: none;
  }
  .page .item__list--scroll li {
    margin-top: 0;
  }
  .page .item__list--scroll li:nth-child(even) {
    margin-right: 2.6vw;
  }
  .page .item__list--scroll li:last-child::after {
    position: absolute;
    content: "";
    top: 0;
    left: 100%;
    height: 1px;
    width: 5.6vw;
    background-color: transparent;
  }
}
.page .item__list--slick {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .item__list--slick {
    width: 89.6vw;
  }
}
.page .item__list--slick li {
  margin-top: 0 !important;
  margin-right: 20px !important;
}
@media screen and (max-width: 768px) {
  .page .item__list--slick li {
    margin: 0 2.6vw !important;
  }
}

.page .c-btn {
  position: relative;
  width: 220px;
  padding: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #000;
  font-size: 14px;
  line-height: 1.71;
}
@media screen and (max-width: 768px) {
  .page .c-btn {
    width: 52.1vw;
    padding: 2.6vw 1.3vw 1.8vw;
    font-size: 2.6vw;
  }
}
.page .c-btn:after {
  content: "";
  display: block;
  width: 28px;
  height: 100%;
  background-image: url("/ec/img/usr/pg/campaign/user_participation_project_7th/c-btn-arrow.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  right: 8.18%;
}
@media screen and (max-width: 768px) {
  .page .c-btn:after {
    width: 4.7vw;
  }
}
.page .c-btn span {
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .c-btn span {
    font-size: 3.9vw;
  }
}
.page .c-btn-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .c-btn-area {
    display: block;
  }
}
.page .c-btn-area li {
  width: 220px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .page .c-btn-area li {
    width: 52.1vw;
    margin: 0 auto 5.2vw;
  }
}
@media screen and (min-width: 769px) {
  .page .c-btn-area li:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .c-btn-area li:last-child {
    margin-bottom: 0;
  }
}

.page .slick-arrow {
  width: 22px;
  height: 38px;
  top: 44%;
  cursor: pointer;
  position: absolute;
  z-index: 10;
}
.page .slick-arrow.slick-disabled {
  display: none !important;
}
.page .next-arrow {
  right: -4%;
}
.page .prev-arrow {
  left: -7%;
}

.page .c-inner {
  width: 96%;
  max-width: 980px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .c-inner {
    width: 89.6vw;
  }
}

.page .header {
  padding: 5px 0;
  background-color: #F6E2E7;
}
@media screen and (max-width: 768px) {
  .page .header {
    padding: 1.3vw 0;
  }
}
.page .header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 980;
  width: 96%;
  max-width: 980px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page .header__inner {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 89.6vw;
  }
}
.page .header p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .header p {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .page .header p {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 2.6vw;
  }
}
.page .header .js-timer span {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .header .js-timer span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .page .header .js-timer span {
    font-size: 2.9vw;
  }
}
.page .header .js-timer .yycountdown-box {
  margin: 0;
}
.page .header .js-timer .yyc-day, .page .header .js-timer .yyc-hou, .page .header .js-timer .yyc-min, .page .header .js-timer .yyc-sec {
  vertical-align: baseline;
  line-height: 1;
  letter-spacing: 0;
  font-size: 34px;
  margin: 0 5px;
  position: relative;
  top: 3px;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .header .js-timer .yyc-day, .page .header .js-timer .yyc-hou, .page .header .js-timer .yyc-min, .page .header .js-timer .yyc-sec {
    font-size: 26px;
  }
}
@media screen and (max-width: 768px) {
  .page .header .js-timer .yyc-day, .page .header .js-timer .yyc-hou, .page .header .js-timer .yyc-min, .page .header .js-timer .yyc-sec {
    font-size: 4.7vw;
    margin: 0 0.7vw;
    top: 0.4vw;
  }
}

/* kv
---------------------------*/
.page .kv {
  position: relative;
  margin: 0 auto 75px;
}
@media screen and (max-width: 768px) {
  .page .kv {
    margin: 0 auto 11.5vw;
  }
}
.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: 990px) 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 {
  width: 100%;
  margin: auto;
}

.page .countdown {
  text-align: center;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  .page .countdown {
    margin: 0 auto 9.8vw;
  }
}
.page .countdown__title {
  margin: 0 0 6px;
}
@media screen and (max-width: 768px) {
  .page .countdown__title {
    margin: 0 0 0.8vw;
  }
}
.page .countdown__title p {
  font-size: 22px;
}
@media screen and (max-width: 768px) {
  .page .countdown__title p {
    font-size: 4.7vw;
    letter-spacing: 0;
  }
}
.page .countdown__text {
  display: block;
}
.page .countdown .js-timer span {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .countdown .js-timer span {
    font-size: 4.2vw;
  }
}
.page .countdown .js-timer .yycountdown-box {
  margin: 0;
}
.page .countdown .js-timer .yyc-day, .page .countdown .js-timer .yyc-hou, .page .countdown .js-timer .yyc-min, .page .countdown .js-timer .yyc-sec {
  vertical-align: baseline;
  line-height: 1;
  font-size: 39px;
  margin: 0 3px;
  position: relative;
  top: 3px;
}
@media screen and (max-width: 768px) {
  .page .countdown .js-timer .yyc-day, .page .countdown .js-timer .yyc-hou, .page .countdown .js-timer .yyc-min, .page .countdown .js-timer .yyc-sec {
    font-size: 8.6vw;
    margin: 0 0.4vw;
    top: 0.4vw;
  }
}

.page .project {
  text-align: center;
  color: #AA78C1;
  margin: 0 auto 95px;
}
@media screen and (max-width: 768px) {
  .page .project {
    margin: 0 auto 12.4vw;
  }
}
.page .project .project-heading {
  margin: 0 auto 7px;
  color: #AA78C1;
}
@media screen and (max-width: 768px) {
  .page .project .project-heading {
    margin: 0 auto 1.7vw;
    color: #AA78C1;
  }
}
.page .project .project-heading span {
  display: block;
  font-weight: 500;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "メイリオ", sans-serif;
}
.page .project .project-heading .project-heading__name {
  font-size: 19px;
  margin: 0 0 5px;
}
@media screen and (max-width: 768px) {
  .page .project .project-heading .project-heading__name {
    font-size: 3.6vw;
    margin-bottom: 1.3vw;
  }
}
.page .project .project-heading .project-heading__number {
  font-size: 22px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .page .project .project-heading .project-heading__number {
    font-size: 4.3vw;
  }
}
.page .project .project-heading .project-heading__number b {
  position: relative;
  top: -3px;
  display: inline-block;
  width: 37px;
  height: 37px;
  line-height: 33px;
  border-radius: 50%;
  background-color: #AA78C1;
  margin: 0 6px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page .project .project-heading .project-heading__number b {
    top: -0.4vw;
    width: 7.2vw;
    height: 7.2vw;
    line-height: 6.5vw;
    margin: 0 0.7vw;
  }
}
.page .project .project-heading .project-heading__title {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .page .project .project-heading .project-heading__title {
    font-size: 3.9vw;
  }
}

.page .lineup {
  text-align: center;
}
.page .lineup .lineup__heading {
  width: 148px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__heading {
    width: 36.3vw;
    margin: 0 auto 3.9vw;
  }
}
.page .lineup .lineup__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__list {
    display: block;
    width: 79.2vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .page .lineup .lineup__item {
    width: 32.44%;
    margin-right: 1.32%;
  }
  .page .lineup .lineup__item:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__item {
    margin: 0 auto 10.4vw;
  }
  .page .lineup .lineup__item:last-child {
    margin-bottom: 0;
  }
}
.page .lineup .lineup__item a {
  display: block;
}
.page .lineup .lineup__img {
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__img {
    width: 71.4vw;
    margin: 0 auto 6.5vw;
  }
}
.page .lineup .lineup__title {
  width: auto;
  height: 88px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__title {
    height: 21.6vw;
    margin: 0 auto 6.5vw;
  }
}
.page .lineup .lineup__title img {
  width: auto;
  height: 100%;
}
.page .lineup .lineup__product {
  width: 100%;
}
.page .lineup .lineup__product .item__list__id {
  width: 96%;
  max-width: 237px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .lineup .lineup__product .item__list__id {
    width: 59.9vw;
    max-width: 100%;
  }
}

/* point
---------------------------*/
.page .point .point__heading {
  width: 119px;
  margin: 0 auto 42px;
}
@media screen and (max-width: 768px) {
  .page .point .point__heading {
    width: 30.3vw;
    margin: 0 auto 3.9vw;
  }
}
.page .point .point-about {
  text-align: center;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .page .point .point-about {
    margin: 0 auto 16.9vw;
  }
}
.page .point .point-about .point-about__title {
  width: 202px;
  margin: 0 auto 26px;
}
@media screen and (max-width: 768px) {
  .page .point .point-about .point-about__title {
    width: 45.8vw;
    margin: 0 auto 3.3vw;
  }
}
.page .point .point-about .point-about__heading {
  margin: 0 auto 21px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .page .point .point-about .point-about__heading {
    font-weight: 400;
    margin: 0 auto 2.2vw;
  }
}
.page .point .point-main .point-main__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__row {
    display: block;
  }
}
.page .point .point-main .point-main__heading {
  font-family: "Noto Serif", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", serif;
  font-weight: 500;
  text-align: left;
  line-height: 1.68;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__heading {
    font-weight: 400;
  }
}
.page .point .point-main .point-main__heading span {
  display: block;
  width: 50px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__heading span {
    width: 12vw;
  }
}
.page .point .point-main .point-main__img {
  position: relative;
  margin: 0 auto 18px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__img {
    margin: 0 auto 3.9vw;
  }
}
.page .point .point-main .point-main__img .point-main__img-detail {
  position: absolute;
  top: 63%;
  left: -31%;
  width: 42%;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__img .point-main__img-detail {
    top: 76.4vw;
    left: auto;
    right: -9.1vw;
    width: 29.6vw;
  }
}
.page .point .point-main .point-main__text > p {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__text > p {
    margin-bottom: 3.9vw;
  }
}
.page .point .point-main .point-main__text > p:last-child {
  margin-bottom: 0;
}
.page .point .point-main .point-main__text b {
  line-height: 1.55;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__text b {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .point .point-main .point-main__text br {
    display: none;
  }
}
.page .point .point-main .point-main__large {
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large {
    margin: 0 auto 19.5vw;
  }
}
.page .point .point-main .point-main__large .point-main__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page .point .point-main .point-main__large .point-main__heading span {
  margin-right: 28px;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large .point-main__heading span {
    margin-right: 6.5vw;
  }
}
.page .point .point-main .point-main__large .point-main__row {
  width: 77%;
  max-width: 756px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large .point-main__row {
    width: 79.2vw;
    max-width: 100%;
    margin: 0 auto;
  }
}
.page .point .point-main .point-main__large .point-main__item {
  width: 47%;
  margin: 0 5.8% 0 0;
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large .point-main__item {
    width: 100%;
    margin: 0 auto 7.4vw 0;
  }
}
@media screen and (min-width: 769px) {
  .page .point .point-main .point-main__large .point-main__item:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large .point-main__item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__large .point-main__img {
    width: 71.4vw;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__small {
    width: 71.6vw;
    margin: 0 auto;
  }
}
.page .point .point-main .point-main__small .point-main__item {
  width: 32.24%;
  margin: 0 1.63% 0 0;
  background: #F6F6F6;
  border-radius: 10px;
  padding: 35px 28px 65px;
}
@media screen and (min-width: 769px) {
  .page .point .point-main .point-main__small .point-main__item:nth-child(even) {
    margin-top: 100px;
  }
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .point .point-main .point-main__small .point-main__item {
    padding: 17px 15px 32px;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__small .point-main__item {
    width: 100%;
    margin: 0 auto 6.5vw 0;
    border-radius: 1.3vw;
    padding: 6.5vw;
  }
}
@media screen and (min-width: 769px) {
  .page .point .point-main .point-main__small .point-main__item:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__small .point-main__item:last-child {
    margin-bottom: 0;
  }
}
.page .point .point-main .point-main__small .point-main__img {
  width: 84.8%;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .point .point-main .point-main__small .point-main__img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .page .point .point-main .point-main__small .point-main__img {
    width: 43vw;
    margin: 0 auto 6.5vw;
  }
}

/* features
---------------------------*/
.page .features {
  text-align: center;
}
.page .features .features__heading {
  width: 549px;
  margin: 0 auto 43px;
}
@media screen and (max-width: 768px) {
  .page .features .features__heading {
    width: 89.6vw;
    margin: 0 auto 6.5vw;
  }
}
.page .features .features__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  max-width: 703px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .features .features__list {
    max-width: 79.2vw;
  }
}
.page .features .features__item {
  width: 19.7%;
  margin: 30px 6.97% 0 0;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .page .features .features__item:nth-child(4n) {
    margin-right: 0;
  }
  .page .features .features__item:nth-child(-n+4) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .features .features__item {
    position: relative;
    padding: 0 0 6.5vw;
    width: 33.3333333333%;
    margin: 6.5vw 0 0;
    font-size: 3.6vw;
  }
  .page .features .features__item:nth-child(-n+3) {
    margin-top: 0;
  }
}
.page .features .features__item p {
  margin: 7px 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page .features .features__item p {
    margin: 1.3vw 0 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  .page .features .features__item .features__img {
    width: 18.1vw;
    margin: 0 auto;
  }
}

/* style
---------------------------*/
.page .style {
  margin-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .page .style {
    margin-bottom: 15.6vw;
  }
}
.page .style .style__section {
  padding: 168px 0 142px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .page .style .style__section {
    padding: 33.9vw 0 19.5vw;
  }
}
@media screen and (min-width: 769px) {
  .page .style .style__section .c-inner {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 0 190px;
  }
}
.page .style .style__section .style__section__heading {
  position: absolute;
  top: -6.92%;
  left: 0;
  height: 17.4%;
  max-height: 151px;
  z-index: 2;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .page .style .style__section .style__section__heading {
    top: -20.8vw;
    left: 0;
    height: 30.9vw;
    max-height: 100%;
  }
}
.page .style .style__section .style__section__heading img {
  width: auto;
  height: 100%;
  max-height: 100%;
  max-width: initial;
}
.page .style .style__img {
  width: 45.9%;
  max-width: 450px;
  margin: 0 0 0 5.9%;
}
@media screen and (max-width: 768px) {
  .page .style .style__img {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 0 6.5vw;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-main {
    margin: 0 0 6.5vw;
  }
}
.page .style .style__slide-main img {
  width: 100%;
}
.page .style .style__slide-main .slick-arrow {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 36px;
  height: 36px;
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;
  text-indent: -999px;
  color: transparent;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-main .slick-arrow {
    width: 10.4vw;
    height: 10.4vw;
  }
}
.page .style .style__slide-main .slick-arrow.slick-prev {
  left: 17px;
  background-image: url("/ec/img/usr/pg/campaign/user_participation_project_7th/arrow-prev.png");
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-main .slick-arrow.slick-prev {
    left: 1.3vw;
  }
}
.page .style .style__slide-main .slick-arrow.slick-next {
  right: 17px;
  background-image: url("/ec/img/usr/pg/campaign/user_participation_project_7th/arrow-next.png");
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-main .slick-arrow.slick-next {
    right: 1.3vw;
  }
}
.page .style .style__slide-thumbnail {
  width: 88.1%;
  max-width: 864px;
}
@media screen and (min-width: 769px) {
  .page .style .style__slide-thumbnail {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-thumbnail {
    width: 100%;
    max-width: 100%;
  }
}
.page .style .style__slide-thumbnail .slick-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: unset !important;
          transform: unset !important;
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-thumbnail .slick-track {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.page .style .style__slide-thumbnail li {
  margin-right: 8px;
  border: 2px solid transparent;
}
@media screen and (max-width: 768px) {
  .page .style .style__slide-thumbnail li {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    min-width: 20.3vw;
    margin: 2.6vw 2.6vw 0 0;
  }
  .page .style .style__slide-thumbnail li:nth-child(-n+4) {
    margin-top: 0;
  }
  .page .style .style__slide-thumbnail li:nth-child(4n) {
    margin-right: 0;
  }
}
.page .style .style__slide-thumbnail li:last-child {
  margin-right: 0;
}
.page .style .style__slide-thumbnail .slick-current {
  border: 2px solid #000;
}
.page .style .style__contents {
  width: 42.5%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .style .style__contents {
    padding: 0 20px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__contents {
    width: 79.2vw;
    display: block;
    margin: 0 auto;
  }
}
.page .style .style__title {
  font-weight: 400;
  margin: 0 0 30px;
  text-align: left;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .style .style__title {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__title {
    font-size: 4.6vw;
    line-height: 1.68;
    margin: 0 0 3.9vw;
  }
}
.page .style .style__text {
  margin: 0 0 100px;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .style .style__text {
    margin: 0 0 60px;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__text {
    margin: 0 0 6.5vw;
  }
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .style .style__text br {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .page .style .style__product {
    width: 237px;
    margin-left: 8.63%;
  }
}
@media screen and (max-width: 768px) {
  .page .style .style__product {
    width: 59.9vw;
    margin: 0 auto;
  }
  .page .style .style__product li {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .page .style .style__section:nth-child(even) .c-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .page .style .style__section:nth-child(even) .style__section__heading {
    right: 0;
    left: auto;
    text-align: right;
  }
  .page .style .style__section:nth-child(even) .style__img {
    margin: 0 5.9% 0 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 990px) and (min-width: 769px) {
  .page .style .style__section:nth-child(even) .style__contents {
    padding: 0 0 0 20px;
  }
}
.page .style .style__section--blue {
  background: #ECF2FC;
}
.page .style .style__section--blue .style__slide-thumbnail .slick-current {
  border-color: #B2C7EF;
}
.page .style .style__section--green {
  background: #EFF5D6;
}
.page .style .style__section--green .style__slide-thumbnail .slick-current {
  border-color: #BFCF79;
}
.page .style .style__section--purple {
  background: #F4EBF8;
}
.page .style .style__section--purple .style__slide-thumbnail .slick-current {
  border-color: #CFB3DC;
}

/* concept
---------------------------*/
.page .concept {
  position: relative;
  width: 90%;
  max-width: 980px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .concept {
    width: 89.6vw;
    margin: 0 auto 13vw;
  }
}
.page .concept:before, .page .concept:after {
  content: "";
  display: block;
  width: 100%;
  height: 25px;
  background-image: url("/ec/img/usr/pg/campaign/user_participation_project_7th/concept_bg.png");
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .page .concept:before, .page .concept:after {
    background-image: url("/ec/img/usr/pg/campaign/user_participation_project_7th/concept_bg-sp.png");
    background-size: auto 90%;
    height: 3.3vw;
  }
}
.page .concept__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .page .concept__inner {
    display: block;
    padding: 5.2vw 0 6.9vw;
  }
}
.page .concept__img {
  width: 17.85%;
}
@media screen and (max-width: 768px) {
  .page .concept__img {
    width: 33.6vw;
    margin: 0 auto 5.2vw;
  }
}
.page .concept__text {
  width: 80.1%;
}
@media screen and (max-width: 768px) {
  .page .concept__text {
    width: 100%;
    text-align: center;
  }
}
.page .concept__text p {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 990px) and (min-width: 769px) {
  .page .concept__text p br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .page .concept__text p {
    font-size: 3.4vw;
  }
}

/* insta
---------------------------*/
.page .insta .c-inner {
  max-width: 480px;
}
@media screen and (max-width: 768px) {
  .page .insta .c-inner {
    max-width: 100%;
  }
}
.page .insta .insta__heading {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "メイリオ", sans-serif;
}
.page .insta .insta__contents {
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .page .insta .insta__contents {
    margin: 0 auto 11.7vw;
  }
}
.page .insta .insta__contents:last-child {
  margin-bottom: 0;
}
.page .insta .insta__contents > div {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .page .insta .insta__contents > div {
    margin-bottom: 2.6vw;
  }
}
.page .insta .insta__contents > div:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .page .insta .insta__contents--bnr {
    width: 78.1vw;
  }
}/*# sourceMappingURL=style.css.map */