/**
 * @lastModified 2020/6/8/6:20:51 pm
**/

@media screen and (min-width: 768px) {
  .flx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .flx.between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .flx.around {
    -ms-flex-pack: distribute;
    justify-content: space-around
  }
  .flx.j-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .flx.j-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
  .flx.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .flx.a-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .flx.a-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .flx.wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .mv {
    background: url(../img/top-img.jpg) no-repeat center center;
    background-size: cover
  }
  .mv .pc {
    width: 60%;
    max-width: 765px;
    margin: 0 auto;
    padding: 120px 0;
    position: relative
  }
  .mv .text {
    width: 100%;
    height: auto
  }
  .mv .icon {
    position: absolute;
    left: -67px;
    top: 83px
  }
  .title {
    text-align: center
  }
  .sec-01 {
    background: #fff2f2;
    padding: 120px 0
  }
  .sec-01 .inner {
    max-width: 900px;
    min-width: 900px;
    position: relative
  }
  .sec-01 p:first-child {
    font-size: 20px;
    font-weight: bold
  }
  .sec-01 p:first-child span {
    background: #fe9494;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(60%, #fe9494), color-stop(60%, rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, #fe9494 60%, rgba(255, 255, 255, 0) 60%)
  }
  .sec-01 .list-mark {
    font-size: 14px
  }
  .sec-01 img {
    position: absolute;
    right: 0;
    top: -30px
  }
  .sec-02 {
    background: #fffbed;
    padding: 120px 0
  }
  .sec-02 .inner {
    max-width: 800px;
    min-width: 800px
  }
  .sec-02 .item-wrap {
    position: relative
  }
  .sec-02 .item-wrap:not(:first-child) {
    margin-top: 150px
  }
  .sec-02 .item-wrap:nth-child(1) .deco {
    position: absolute;
    right: -150px;
    bottom: 0
  }
  .sec-02 .item-wrap:nth-child(2) .deco {
    position: absolute;
    left: -150px;
    bottom: 150px
  }
  .sec-02 .item-box {
    margin-top: 150px
  }
  .sec-02 .item-box .image {
    width: 55%;
    position: relative
  }
  .sec-02 .item-box .image.basic:after, .sec-02 .item-box .image.deep:after {
    content: '';
    display: block;
    width: 116px;
    height: 115px;
    position: absolute;
    top: -50px;
    left: -50px;
    z-index: 2
  }
  .sec-02 .item-box .image.basic:after {
    background: url(../img/basic.png) no-repeat
  }
  .sec-02 .item-box .image.deep:after {
    background: url(../img/deep.png) no-repeat
  }
  .sec-02 .item-box .image img {
    width: 100%;
    height: auto
  }
  .sec-02 .item-box .text {
    width: 30%;
    text-align: center
  }
  .sec-02 .item-box .text .name {
    font-size: 18px;
    font-weight: bold
  }
  .sec-02 .item-box .text .price {
    margin-top: 10px
  }
  .sec-02 .item-box .text .price span {
    font-size: 0.7em
  }
  .sec-02 .item-box .text .btn-style {
    display: block;
    width: 100%;
    border: 1px solid #e2147f;
    border-radius: 30px;
    margin: 20px auto 0;
    color: #e2147f;
    line-height: 50px;
    -webkit-transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 300ms
  }
  .sec-02 .item-box .text .btn-style:hover {
    background: #e2147f;
    color: #fff;
    -webkit-transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 300ms
  }
  .sec-02-2 {
    padding: 60px 0;
    text-align: center;
  }
 .sec-02-2 {
  background-size: 30px 30px;
  margin: 0 auto;
  background-color: #ffffff;
  background-image: radial-gradient(#fffacd 15%, transparent 20%),
                    radial-gradient(#fffacd 15%, transparent 20%);
  background-position: 0 0, 15px 15px;
}
  .sec-02-2 .inner {
    max-width: 720px;
    min-width: 720px;
  }
  .sec-03 {
    padding: 120px 0
  }
  .sec-03 .inner {
    position: relative
  }
  .sec-03 .pc {
    display: block;
    margin: 0 auto
  }
  .sec-03 .deco {
    position: absolute;
    left: 10%;
    top: 0px
  }
}

@media screen and (max-width: 767px) {
  .attention {
    font-size: 14px !important
  }
  .mv .sp {
    width: 100%;
    height: auto
  }
  .title img {
    width: 100%;
    height: auto
  }
  .sec-01 {
    background: #fff2f2;
    padding: 60px 0
  }
  .sec-01 p:first-child {
    font-size: 5.2vw;
    font-weight: bold
  }
  .sec-01 p:first-child span {
    background: #fe9494;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(60%, #fe9494), color-stop(60%, rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, #fe9494 60%, rgba(255, 255, 255, 0) 60%)
  }
  .sec-01 .list-mark {
    font-size: 10px
  }
  .sec-01 img {
    width: 100%;
    height: auto
  }
  .sec-02 {
    background: #fffbed;
    padding: 60px 0
  }
  .sec-02 .item-wrap {
    position: relative
  }
  .sec-02 .item-wrap:not(:first-child) {
    margin-top: 80px
  }
  .sec-02 .item-wrap .deco {
    width: 40px;
    height: auto;
    position: absolute;
    top: -60px
  }
  .sec-02 .item-wrap:nth-child(1) .deco {
    right: 0
  }
  .sec-02 .item-wrap:nth-child(2) .deco {
    left: 0
  }
  .sec-02 .item-box {
    margin-top: 80px
  }
  .sec-02 .item-box .image {
    position: relative
  }
  .sec-02 .item-box .image.basic:after, .sec-02 .item-box .image.deep:after {
    content: '';
    display: block;
    width: 80px;
    height: 80px;
    position: absolute;
    top: -40px;
    left: 0;
    z-index: 2
  }
  .sec-02 .item-box .image.basic:after {
    background: url(../img/basic.png) no-repeat;
    background-size: contain
  }
  .sec-02 .item-box .image.deep:after {
    background: url(../img/deep.png) no-repeat;
    background-size: contain
  }
  .sec-02 .item-box .image img {
    width: 100%;
    height: auto
  }
  .sec-02 .item-box .text {
    margin-top: 20px;
    text-align: center
  }
  .sec-02 .item-box .text .name {
    font-size: 5.2vw;
    font-weight: bold
  }
  .sec-02 .item-box .text .price {
    margin-top: 4vw
  }
  .sec-02 .item-box .text .price span {
    font-size: 0.7em
  }
  .sec-02 .item-box .text .btn-style {
    display: block;
    width: 80%;
    border: 1px solid #e2147f;
    border-radius: 30px;
    margin: 20px auto 0;
    color: #e2147f;
    line-height: 50px
  }
  .sec-02-2 {
    padding: 60px 0;
    text-align: center;
  }
 .sec-02-2 {
    background-size: 30px 30px;
    margin: 0 auto;
    background-color: #ffffff;
    background-image: radial-gradient(#fffacd 15%, transparent 20%),
                      radial-gradient(#fffacd 15%, transparent 20%);
    background-position: 0 0, 15px 15px;
}
  .sec-02-2 img {
  	width: 100%;
  } 
  .sec-03 {
    padding: 60px 0
  }
  .sec-03 .inner {
    position: relative
  }
  .sec-03 .title {
    margin-bottom: 40px
  }
  .sec-03 .sp {
    width: 100%;
    height: auto
  }
  .sec-03 .deco {
    width: 15%;
    height: auto;
    position: absolute;
    left: 20px;
    top: 0px
  }
}