@charset "UTF-8";
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857143vw;
  }
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, a {
  font-size: 100%;
  line-height: 1;
  transform: rotate(0.03deg);
  -moz-transform: rotate(0.03deg);
  -ms-transform: rotate(0.03deg);
  -o-transform: rotate(0.03deg);
  -webkit-transform: rotate(0.03deg);
}

.feature {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  font-feature-settings: "palt" 1;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, Helvetica, Arial, sans-serif;
  color: #555555;
  font-weight: 500;
  font-style: normal;
  background: #DCE1E9;
}

.feature a {
  transition: 0.3s;
  display: block;
  transform: none;
}
.feature a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.feature img,
svg,
video {
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.l-container {
  width: 100%;
  overflow: hidden;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}

* {
  box-sizing: border-box;
}

.js-fade {
  visibility: hidden;
  opacity: 0;
  transform: translateY(1.7142857143vw);
  transition: all 2s ease;
}
@media screen and (min-width: 1401px) {
  .js-fade {
    transform: translateY(24px);
  }
}

.js-fade.is-show {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.feature__inner {
  width: 100vw;
  margin: 0 auto;
  padding-top: 4.1428571429vw;
  padding-bottom: 8.5714285714vw;
}
@media screen and (min-width: 1401px) {
  .feature__inner {
    padding-top: 58px;
    padding-bottom: 120px;
  }
}

.main-visual {
  position: relative;
  width: 64.2857142857vw;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 1401px) {
  .main-visual {
    width: 900px;
  }
}
.main-visual .main-txt {
  margin-top: 4.8571428571vw;
}
@media screen and (min-width: 1401px) {
  .main-visual .main-txt {
    margin-top: 68px;
  }
}
.main-visual .main-txt .main-ttl {
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, Helvetica, Arial, sans-serif;
  color: #555555;
  font-weight: 500;
  font-style: normal;
  font-size: 1.5714285714vw;
  line-height: 2.1818181818;
  margin-left: 1.0714285714vw;
  letter-spacing: 0.14em;
}
@media screen and (min-width: 1401px) {
  .main-visual .main-txt .main-ttl {
    font-size: 22px;
    margin-left: 15px;
  }
}
.main-visual .main-txt .main-lead {
  font-size: 1vw;
  line-height: 2;
  margin-top: 1.7142857143vw;
  letter-spacing: 0.085em;
}
@media screen and (min-width: 1401px) {
  .main-visual .main-txt .main-lead {
    font-size: 14px;
    margin-top: 24px;
  }
}

.main-contents {
  margin: 0 auto;
  margin-top: 8vw;
  width: 48.5714285714vw;
}
@media screen and (min-width: 1401px) {
  .main-contents {
    margin-top: 112px;
    width: 680px;
  }
}
.main-contents .block {
  position: relative;
}
.main-contents .block .block-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.main-contents .block.block02 .block-inner, .main-contents .block.block04 .block-inner {
  flex-direction: row-reverse;
}
.main-contents .block.block01 .ph, .main-contents .block.block02 .ph, .main-contents .block.block03 .ph, .main-contents .block.block04 .ph, .main-contents .block.block05 .ph {
  width: 24.2857142857vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block01 .ph, .main-contents .block.block02 .ph, .main-contents .block.block03 .ph, .main-contents .block.block04 .ph, .main-contents .block.block05 .ph {
    width: 340px;
  }
}
.main-contents .block.block06, .main-contents .block.block07 {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.main-contents .block .block-txt {
  width: 21vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .block-txt {
    width: 294px;
  }
}
.main-contents .block .block-num {
  margin-top: 2.1428571429vw;
  position: relative;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .block-num {
    margin-top: 30px;
  }
}
.main-contents .block .block-num::before {
  content: "";
  display: block;
  background: #DCE1E9;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.main-contents .block .item-tag {
  font-family: "neue-kabel", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.0714285714vw;
  width: 10.2857142857vw;
  height: 2vw;
  line-height: 1;
  letter-spacing: 0.04em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #87A0C8;
  color: #fff;
  margin: 0 auto;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .item-tag {
    font-size: 15px;
    width: 144px;
    height: 28px;
  }
}
.main-contents .block .item-name {
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, Helvetica, Arial, sans-serif;
  color: #555555;
  font-weight: 500;
  font-style: normal;
  font-size: 1.2857142857vw;
  margin-top: 3.5714285714vw;
  line-height: 2.2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .item-name {
    font-size: 18px;
    margin-top: 50px;
  }
}
.main-contents .block .item-detail {
  font-size: 1vw;
  margin-top: 1.4285714286vw;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .item-detail {
    font-size: 14px;
    margin-top: 20px;
  }
}
.main-contents .block .campaign-head {
  font-family: "neue-kabel", sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 2.1428571429vw;
  line-height: 2.4333333333;
  letter-spacing: 0.025em;
  color: #87A0C8;
  text-align: center;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .campaign-head {
    font-size: 30px;
  }
}
.main-contents .block .line {
  width: 100vw;
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 4.2857142857vw;
}
.main-contents .block .line::before {
  content: "";
  display: block;
  width: 0%;
  height: 1px;
  background: #87A0C8;
  position: absolute;
  top: 0;
  left: 0;
  transition: 2.5s;
}
@media screen and (min-width: 1401px) {
  .main-contents .block .line {
    margin-top: 60px;
  }
}
.main-contents .block .line.is-show::before {
  width: 100%;
}
.main-contents .block.block02 .line::before, .main-contents .block.block04 .line::before {
  left: auto;
  right: 0;
}
.main-contents .block.block01 .block-num {
  width: 4.85vw;
  margin-left: auto;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block01 .block-num {
    width: 67.9px;
  }
}
.main-contents .block.block01 .block-num::before {
  width: 6.9928571429vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block01 .block-num::before {
    width: 97.9px;
  }
}
.main-contents .block.block01 .item-tag {
  margin-top: 4.3571428571vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block01 .item-tag {
    margin-top: 61px;
  }
}
.main-contents .block.block01 .item-name {
  margin-top: 1vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block01 .item-name {
    margin-top: 14px;
  }
}
.main-contents .block.block02 {
  margin-top: 9.5714285714vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block02 {
    margin-top: 134px;
  }
}
.main-contents .block.block02 .block-num {
  width: 6.1285714286vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block02 .block-num {
    width: 85.8px;
  }
}
.main-contents .block.block02 .block-num::before {
  width: 8.2714285714vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block02 .block-num::before {
    width: 115.8px;
  }
}
.main-contents .block.block03 {
  margin-top: 10vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block03 {
    margin-top: 140px;
  }
}
.main-contents .block.block03 .block-num {
  width: 5.95vw;
  margin-left: auto;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block03 .block-num {
    width: 83.3px;
  }
}
.main-contents .block.block03 .block-num::before {
  width: 8.0928571429vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block03 .block-num::before {
    width: 113.3px;
  }
}
.main-contents .block.block04 {
  margin-top: 10vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block04 {
    margin-top: 140px;
  }
}
.main-contents .block.block04 .block-num {
  width: 6.3928571429vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block04 .block-num {
    width: 89.5px;
  }
}
.main-contents .block.block04 .block-num::before {
  width: 8.5357142857vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block04 .block-num::before {
    width: 119.5px;
  }
}
.main-contents .block.block05 {
  margin-top: 10vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block05 {
    margin-top: 140px;
  }
}
.main-contents .block.block05 .block-num {
  width: 6.1714285714vw;
  margin-left: auto;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block05 .block-num {
    width: 86.4px;
  }
}
.main-contents .block.block05 .block-num::before {
  width: 8.3142857143vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block05 .block-num::before {
    width: 116.4px;
  }
}
.main-contents .block.block06 {
  display: block;
}
.main-contents .block.block06 .ph {
  margin: 0 auto;
  width: 21.4285714286vw;
  margin-top: 8.5714285714vw;
  position: relative;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block06 .ph {
    width: 300px;
    margin-top: 120px;
  }
}
.main-contents .block.block06 .ph-sub {
  width: 1.8571428571vw;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0;
  margin-right: -2.8571428571vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block06 .ph-sub {
    width: 26px;
    margin-right: -40px;
  }
}
.main-contents .block.block07 {
  display: block;
  width: 100vw;
  height: 27.8571428571vw;
  background: rgba(135, 160, 200, 0.2);
  margin: 0 calc(50% - 50vw);
  margin-top: 8.5714285714vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 {
    height: 390px;
    margin-top: 120px;
  }
}
.main-contents .block.block07 .block-inner {
  width: 39.6428571429vw;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding-top: 3.2142857143vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 .block-inner {
    width: 555px;
    padding-top: 45px;
  }
}
.main-contents .block.block07 .ph {
  width: 17.1428571429vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 .ph {
    width: 240px;
  }
}
.main-contents .block.block07 .block-txt {
  transform: translateX(0.5vw);
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 .block-txt {
    transform: translateX(7px);
  }
}
.main-contents .block.block07 .campaign-head {
  margin-top: 3.0714285714vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 .campaign-head {
    margin-top: 43px;
  }
}
.main-contents .block.block07 .campaign-day {
  width: 17.8214285714vw;
  margin: 0 auto;
  margin-top: 1.4285714286vw;
}
@media screen and (min-width: 1401px) {
  .main-contents .block.block07 .campaign-day {
    width: 249.5px;
    margin-top: 20px;
  }
}
.main-contents .block.block07 .item-detail {
  text-align: center;
}

.all-item {
  width: 31.4285714286vw;
  margin: 0 auto;
  margin-top: 7.1428571429vw;
}
@media screen and (min-width: 1401px) {
  .all-item {
    width: 440px;
    margin-top: 100px;
  }
}/*# sourceMappingURL=style.css.map */