.wrap {
  width: 100%;
  height: auto;
  display: block;
}

.inner {
  margin: 0 auto;
  position: relative;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    "Meiryo", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}

img {
  max-width: 100%;
}

.lineWrap {
  width: 100%;
  background-color: #fff;
  overflow: hidden;
  padding-bottom: 60px;
}

.keyVisual {
  background-repeat: no-repeat;
}

.description {
  background-image: url(../img/bg-description.png);
  background-repeat: repeat;
}

.description .descriptionText {
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.campaign {
  background-color: #fff;
}

.campaign .inner {
  padding: 53px 0;
  text-align: center;
}

.registration {
  background-color: #fff;
  background-image: url(../img/bg-line.png);
  background-repeat: repeat;
}

.registration .inner {
  padding: 30px 0;
}

.registration .box {
  border: 4px solid #71d971;
  margin: 0 auto;
}

.registration .registrationTitle {
  background-color: #4cce4c;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.registration .registrationContetnts {
  background-color: #fff;
  text-align: center;
}

.registration .registrationText {
  color: #333;
  font-weight: normal;
}

.registration .registrationButton {
  display: block;
  position: relative;
}

.registration .registrationButton::before {
  content: "";
  width: 29px;
  height: 37px;
  background-image: url(../img/line-arrow.png);
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-animation: fluffy1 3s ease infinite;
  animation: fluffy1 3s ease infinite;
  position: absolute;
  top: -50px;
}

.about {
  background-repeat: no-repeat;
}

.about .inner {
  text-align: center;
}

.about .title {
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.about .aboutText {
  color: #333;
  font-weight: normal;
}

.about .aboutBottomText {
  color: #5c8bc8;
  font-weight: bold;
  text-align: center;
}

.series {
  background-color: #fff;
}

.series .inner {
  text-align: center;
}

.series .title {
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.series .column {
  display: block;
  font-size: 0;
  margin-top: 24px;
}

.series .mailOrder {
  position: relative;
}

.series .seriesList {
  display: block;
  font-size: 0;
}

.series .seriesText {
  font-size: 14px;
  font-weight: normal;
}

.series .seriesText > span {
  font-weight: bold;
  font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ",
    "Meiryo", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}

.series .seriesLink {
  font-size: 16px;
  text-align: right;
}

.series .seriesLink > a {
  color: #84a9bb;
  text-decoration: none;
  position: relative;
}

.series .seriesLink > a.premium {
  color: #2b2c3c;
  text-decoration: none;
  position: relative;
}

.series .seriesLink > a::before {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
}

.series .seriesBottomText {
  font-size: 18px;
  margin-top: 24px;
}

.method {
  background-color: #fff;
  background-image: url(../img/bg-line.png);
  background-repeat: repeat;
}

.method .title {
  height: auto;
  border: none;
  text-align: center;
  margin: 0 auto;
}

.method .subTitle {
  color: #0b0;
  font-weight: bold;
  text-align: center;
  margin: 30px auto 0;
}

.method .methodText {
  color: #333;
  text-align: center;
  margin: 30px auto 0;
}

.method .box {
  border: 4px solid #71d971;
  margin: 30px auto 0;
}

.method .registrationTitle {
  background-color: #4cce4c;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.method .registrationContetnts {
  background-color: #fff;
  text-align: center;
}

.method .registrationText {
  color: #333;
  font-weight: normal;
}

.method .registrationButton {
  display: block;
  position: relative;
}

.method .registrationButton::before {
  content: "";
  width: 29px;
  height: 37px;
  background-image: url(../img/line-arrow.png);
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-animation: fluffy1 3s ease infinite;
  animation: fluffy1 3s ease infinite;
  position: absolute;
  top: -50px;
}

@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }

  .sp {
    display: none !important;
  }

  .keyVisual {
    background-image: url(../img/bg-kv.png);
    background-position: center center;
  }

  .keyVisual .inner {
    width: 1150px;
    height: 468px;
  }

  .keyVisual .titleWrap {
    position: absolute;
    top: 130px;
    left: 190px;
  }

  .keyVisual .phonePotision {
    position: absolute;
    top: 160px;
    right: 130px;
  }

  .description .inner {
    width: 1150px;
  }

  .description .descriptionText {
    font-size: 28px;
    margin-left: -290px;
  }

  .campaign .inner {
    text-align: center;
  }

  .campaign .campaignImg {
    width: 1024px;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  .registration .inner {
    padding: 60px;
  }

  .registration .box {
    width: 1024px;
  }

  .registration .registrationTitle {
    border: none;
    font-size: 36px;
    margin: 0;
    padding: 25px 0;
  }

  .registration .registrationContetnts {
    padding: 43px 0;
  }

  .registration .registrationText {
    font-size: 26px;
  }

  .registration .registrationButton {
    width: 260px;
    margin: 80px auto 0;
  }

  .registration .registrationButton::before {
    left: 110px;
  }

  .about {
    background-image: url(../img/bg-about.png);
  }

  .about .inner {
    padding: 65px 0;
  }

  .about .title {
    background-image: url(../img/about-title.png);
    background-size: auto;
    height: 30px;
  }

  .about .aboutText {
    font-size: 22px;
    margin-top: 56px;
  }

  .about .aboutImg {
    margin-top: 64px;
  }

  .about .aboutBottomText {
    font-size: 28px;
    margin-top: 60px;
  }

  .series .inner {
    padding: 70px 0;
  }

  .series .title {
    background-image: url(../img/series-title-02.png);
    background-size: auto;
    height: 60px;
  }

  .series .columnBox {
    background-color: #ecf0f1;
    display: inline-block;
    padding: 50px 45px 20px;
  }

  .series .columnBox + .columnBox {
    margin-left: 40px;
  }

  .series .mailOrder {
    position: relative;
  }

  .series .mailOrder::before {
    content: "通販専用";
    background-color: #2b2c3c;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    font-family: unset;
    text-align: center;
    padding: 6px 28px;
    position: absolute;
    top: 10px;
    left: 58px;
  }

  .series .seriesList > li {
    display: inline-block;
    vertical-align: top;
  }

  .series .seriesList > li + li {
    margin-left: 3vw;
  }

  .series .seriesImg > img {
    margin: 0 auto;
  }

  .series .seriesText {
    height: 50px;
    margin-top: 20px;
  }

  .series .seriesLink {
    margin-top: 20px;
  }

  .series .seriesLink > a::before {
    width: 16px;
    height: 16px;
    background-image: url(../img/icn-arrow-normal.png);
    right: -20px;
    top: 2px;
  }

  .series .seriesLink > a.premium::before {
    width: 16px;
    height: 16px;
    background-image: url(../img/icn-arrow-hover.png);
    right: -20px;
    top: 2px;
  }

  .series .seriesLink > a.premium:hover {
    opacity: 0.7;
  }

  .series .seriesLink > a:hover {
    color: #2b2c3c;
  }

  .series .seriesLink > a:hover::before {
    background-image: url(../img/icn-arrow-hover.png);
  }

  .method .inner {
    padding: 60px;
  }

  .method .title {
    width: 795px;
  }

  .method .subTitle {
    font-size: 26px;
  }

  .method .methodText {
    font-size: 22px;
  }

  .method .box {
    width: 1024px;
  }

  .method .registrationTitle {
    font-size: 36px;
    padding: 25px 0;
  }

  .method .registrationContetnts {
    padding: 43px 0;
  }

  .method .registrationContetnts > img {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .keyVisual {
    background-image: url(../img/sp/sp-bg-kv.png);
    background-size: cover;
  }

  .keyVisual .inner {
    width: 95%;
    height: 110vw;
    padding-top: 40px;
  }

  .keyVisual .titleWrap {
    width: 80%;
    text-align: center;
    margin: 0 auto;
  }

  .keyVisual .phonePotision {
    width: 50%;
    text-align: center;
    margin: 40px auto 0;
  }

  .description .inner {
    width: 95%;
    height: auto;
    overflow: hidden;
  }

  .description .descriptionText {
    padding: 60px 10px 40px;
  }

  .campaign .inner {
    width: 95%;
  }

  .campaign .campaignImg {
    width: 100%;
  }

  .registration .inner {
    padding: 30px 0;
  }

  .registration .box {
    width: 90%;
  }

  .registration .registrationTitle {
    font-size: 24px;
    padding: 18px 0;
  }

  .registration .registrationContetnts {
    padding: 20px 0;
  }

  .registration .registrationText {
    font-size: 20px;
  }

  .registration .registrationButton {
    width: 200px;
    margin: 60px auto 0;
  }

  .registration .registrationButton::before {
    left: 80px;
  }

  .about {
    background-image: url(../img/sp/sp-bg-about.png);
    background-size: cover;
  }

  .about .inner {
    width: 95%;
    padding: 50px 0;
  }

  .about .title {
    background-image: url(../img/sp/sp-about-title.png);
    background-size: contain;
    width: 70%;
    margin: 0 auto;
  }

  .about .aboutText {
    width: 80%;
    text-align: center;
    margin: 30px auto 0;
  }

  .about .aboutImg {
    width: 90%;
    margin: 30px auto 0;
  }

  .about .aboutBottomText {
    width: 80%;
    text-align: center;
    margin: 30px auto 0;
  }

  .mailOrder::before {
    content: "通販専用";
    background-color: #2b2c3c;
    border-radius: 20px;
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: normal;
    font-family: unset;
    text-align: center;
    padding: 4px 20px;
    margin: 0 auto;
    position: absolute;
    right: 130px;
    top: 12px;
  }

  .series .inner {
    width: 95%;
    padding: 50px 0;
  }

  .series .title {
    background-image: url(../img/sp/sp-series-title.png);
    background-size: contain;
    width: 80%;
    margin: 0 auto;
  }

  .series .mailOrder {
    position: relative;
  }

  .series .seriesList > li {
    width: 49%;
    background-color: #ecf0f1;
    display: inline-block !important;
    vertical-align: top;
    margin-top: 2%;
    position: relative;
  }

  .series .seriesList > li:nth-child(1),
  .series .seriesList > li:nth-child(2) {
    margin-top: 0;
  }

  .series .seriesList > li:nth-child(3),
  .series .seriesList > li:nth-child(5) {
    margin-left: 0;
  }

  .series .seriesList > li > a {
    display: block;
    color: #333;
    text-decoration: none;
    padding: 30px 0 20px;
    position: relative;
  }

  .series .seriesList > li > a::before {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/sp/sp-icn-arrow-normal.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 5px;
    bottom: 5px;
  }

  .series .seriesList > li > a:active {
    color: #2b2c3c;
  }

  .series .seriesList > li > a:active::before {
    background-image: url(../img/sp/sp-icn-arrow-hover.png);
  }

  .series .seriesList > li + li {
    margin-left: 2%;
  }

  .series .seriesImg {
    width: 30%;
    margin: 15px auto 0;
  }

  .series .seriesText {
    margin-top: 5px;
    height: 50px;
  }

  .series .seriesBottomText {
    width: 70%;
    text-align: center;
    margin: 24px auto 0;
  }

  .method .inner {
    padding: 30px 0;
  }

  .method .title {
    width: 90%;
  }

  .method .subTitle {
    font-size: 20px;
    width: 90%;
  }

  .method .methodText {
    font-size: 16px;
    width: 90%;
  }

  .method .box {
    width: 90%;
  }

  .method .registrationTitle {
    font-size: 24px;
    padding: 18px 0;
  }

  .method .registrationContetnts {
    padding: 20px 0;
  }

  .method .registrationText {
    font-size: 20px;
  }

  .method .registrationButton {
    width: 200px;
    margin: 60px auto 0;
  }

  .method .registrationButton::before {
    left: 80px;
  }
}

@media screen and (max-width: 545px) {
  .keyVisual .inner {
    height: 160vw;
  }

  .mailOrder::before {
    position: absolute;
    top: 10px;
    right: 45px;
  }
}

@media screen and (max-width: 400px) {
  .mailOrder::before {
    position: absolute;
    top: 10px;
    right: 40px;
  }
}

@media screen and (max-width: 340px) {
  .mailOrder::before {
    position: absolute;
    top: 10px;
    right: 25px;
  }
}

@-webkit-keyframes fluffy1 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  10% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }

  25% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  30% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }

  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fluffy1 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  10% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }

  25% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  30% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }

  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/*# sourceMappingURL=style.css.map */