.gift__top {
  padding-top: 80px;
  position: relative;
  z-index: 1; }
  .gift__top__title img {
    width: 100%; }
  .gift__top__ec {
    margin-top: 40px;}
  .gift__top__ec__link {
    text-align: center;}
  .gift__top__ec__link img {
    max-width: 100%;}
  .gift__top__ec__link > a {
    display: inline-block;
    -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  .gift__top__ec__link > a:hover {
    opacity: 0.7; }
  .gift__top__product {
    margin-top: 51px; }
    .gift__top__product__title {
      text-align: center; }
      .gift__top__product__title span {
        display: inline-block;
        padding-bottom: 8px;
        font-family: "Yu Mincho", "YuMincho", serif;
        font-size: 32px;
        position: relative; }
        .gift__top__product__title span:before {
          content: "";
          display: block;
          width: 24px;
          height: 2px;
          background-color: #333;
          position: absolute;
          left: 50%;
          bottom: 0;
          -webkit-transform: translateX(-50%);
                  transform: translateX(-50%); }
    .gift__top__product__list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .gift__top__product__list > li {
        width: 545px;
        margin-top: 48px;
        background-color: #FFF;
        border: 1px solid #AAA;
        position: relative; }
        .gift__top__product__list > li a {
          display: block;
          color: #111 !important;
          -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
          transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
          -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
          .gift__top__product__list > li a:hover {
            opacity: 0.7; }
      .gift__top__product__list__picture {
        border-bottom: 1px solid #AAA; }
        .gift__top__product__list__picture img {
          width: 100%; }
      .gift__top__product__list__description {
        padding: 28px 50px 29px 29px;
        background-image: url("./images/icon-arrow-gray.png");
        background-repeat: no-repeat;
        background-size: 16px auto;
        background-position: center right 26px; }
        .gift__top__product__list__description__title {
          font-weight: bold;
          font-size: 24px;
          letter-spacing: 0.06em;
          line-height: 1.5; }
        .gift__top__product__list__description__text {
          margin-top: 14px;
          font-size: 14px;
          line-height: 1.7142857143; }
          .gift__top__product__list__state {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            margin-top: 1em; }
           .gift__top__product__list__state > li {
             color: #FFF;
             text-align: center;
             border-radius: 6px;
             padding: 10px 13px;
             line-height: 1;
             font-size: 13px;
              overflow: hidden; }
             .gift__top__product__list__state > li.state__new {
              background-color: #ED7108;
             }
             .gift__top__product__list__state > li.state__newarrival {
              background-color: #CC0000;
             }
             .gift__top__product__list__state > li.state__renewal {
              background-color: #48AC4B;
             }
             .gift__top__product__list__state > li + li {
              margin-left: 10px; }

@media (max-width: 768px) {
  .gift__top {
    padding-top: 0;
  }
  .gift__top__ec {
    margin-top: calc((40 / 750) * 100vw);}
  .gift__top__ec__link {
    text-align: center;}
  .gift__top__ec__link > a {
    width: calc((670 / 750) * 100vw);}
  .gift__top__product {
    margin-top: 13.3333333333vw; }
    .gift__top__product__title span {
      padding-bottom: 0.5333333333vw;
      font-size: 6.4vw; }
      .gift__top__product__title span:before {
        width: 5.8666666667vw;
        height: 0.5333333333vw; }
    .gift__top__product__list {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      width: 89.3333333333vw;
      margin: -1.3333333333vw auto 0; }
      .gift__top__product__list > li {
        width: 100%;
        margin-top: 10.6666666667vw; }
      .gift__top__product__list__description {
        padding: 7.2vw 13.8666666667vw 6.6666666667vw 4.8vw;
        background-image: url("./images/icon-arrow-gray.png");
        background-size: 3.8666666667vw;
        background-position: center right 4.8vw; }
        .gift__top__product__list__description__title {
          font-size: 4.2666666667vw; }
        .gift__top__product__list__description__text {
          margin-top: 2.6666666667vw;
          font-size: 3.4666666667vw;
          line-height: 1.6923076923; }
           .gift__top__product__list__state > li {
             border-radius: calc((12 / 750) * 100vw);
             padding: calc((14 / 750) * 100vw) calc((26 / 750) * 100vw);
             font-size: calc((24 / 750) * 100vw);}
             .gift__top__product__list__state > li + li {
              margin-left: calc((20 / 750) * 100vw); }
             }
