/* ---------------------------------------*/
/* keyvisual */
/* ---------------------------------------*/
#keyvisual {
  aspect-ratio: 1500/758;
  background: url(../img/keyvisual_bg.png) no-repeat center/cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  #keyvisual {
    aspect-ratio: 375/468;
  }
}

.keyvisual-maintitle {
  width: 42.6%;
}
@media screen and (max-width: 768px) {
  .keyvisual-maintitle {
    width: 74.6%;
  }
}

/* ---------------------------------------*/
/* collection */
/* ---------------------------------------*/
#collection {
  padding: 60px 0 90px;
}
@media screen and (max-width: 768px) {
  #collection {
    padding: 30px 0 45px;
  }
}

.collection-section-heading {
  width: 40%;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .collection-section-heading {
    width: 70%;
    margin: 0 auto 30px;
  }
}

.collection-lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.58;
  letter-spacing: 0.06em;
  color: #fff;
  margin: 0 auto;
  padding: 0 0 65px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .collection-lead {
    font-size: 1.6rem;
    padding: 0 0 50px;
  }
}

.collection-list__item {
  padding: 70px 50px 50px;
  margin: 0 0 80px;
  background: #fff;
}
.collection-list__item:last-child {
  margin: 0;
}
.collection-list__item#gateaux span {
  width: 19%;
}
.collection-list__item#avent span {
  width: 53%;
}
.collection-list__item#chocolats span {
  width: 25.4%;
}
.collection-list__item#macarons span {
  width: 23.3%;
}
.collection-list__item#patissieries span {
  width: 27%;
}
@media screen and (max-width: 768px) {
  .collection-list__item {
    padding: 30px 20px;
    margin: 0 0 40px;
  }
  .collection-list__item#gateaux span {
    width: 34.9%;
  }
  .collection-list__item#avent span {
    width: 97.3%;
  }
  .collection-list__item#chocolats span {
    width: 47.1%;
  }
  .collection-list__item#macarons span {
    width: 43%;
  }
  .collection-list__item#patissieries span {
    width: 49.8%;
  }
}

.collection-list-heading {
  margin: 0 auto 60px;
}
.collection-list-heading span {
  display: block;
  margin: 0 auto 20px;
}
.collection-list-heading small {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0 0 0.3em;
  border-bottom: solid 3px #DEB658;
}
@media screen and (max-width: 768px) {
  .collection-list-heading {
    margin: 0 auto 35px;
  }
  .collection-list-heading span {
    margin: 0 auto 0;
  }
  .collection-list-heading small {
    font-size: 1.2rem;
    border-bottom: solid 2px #DEB658;
  }
}

.collection-product-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 100px;
}
.collection-product-list__item:last-child {
  margin: 0;
}
.collection-product-list__item:nth-child(odd) .collection-product-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin: 0 0 0 -7%;
}
.collection-product-list__item:nth-child(odd) .collection-product-image.is-limited::before {
  right: -40px;
}
.collection-product-list__item:nth-child(odd) .collection-product-text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.collection-product-list__item:nth-child(odd) .collection-product-desc::after {
  right: 0;
}
.collection-product-list__item:nth-child(even) .collection-product-image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin: 0 -7% 0 0;
}
.collection-product-list__item:nth-child(even) .collection-product-image.is-limited::before {
  left: -40px;
}
.collection-product-list__item:nth-child(even) .collection-product-text {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.collection-product-list__item:nth-child(even) .collection-product-desc::after {
  left: 0;
}
@media screen and (max-width: 768px) {
  .collection-product-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 50px;
  }
  .collection-product-list__item:last-child {
    margin: 0;
  }
  .collection-product-list__item:nth-child(odd) .collection-product-image {
    margin: 0;
  }
  .collection-product-list__item:nth-child(odd) .collection-product-image.is-limited::before {
    left: -30px;
  }
  .collection-product-list__item:nth-child(even) .collection-product-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0;
  }
  .collection-product-list__item:nth-child(even) .collection-product-image.is-limited::before {
    right: auto;
    left: -30px;
  }
  .collection-product-list__item:nth-child(even) .collection-product-text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.collection-product-image {
  width: 43%;
  position: relative;
  -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.1);
}
.collection-product-image::after {
  display: block;
  content: "";
  width: 106%;
  aspect-ratio: 1/1;
  background: url(../img/collection_product_deco.png) no-repeat center/cover;
  position: absolute;
  top: -3%;
  left: -3%;
}
.collection-product-image.is-limited::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  content: "Limited";
  width: 25%;
  aspect-ratio: 1/1;
  border-radius: 99px;
  background: #004946;
  position: absolute;
  z-index: 2;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  color: #fff;
  top: -40px;
}
@media screen and (max-width: 768px) {
  .collection-product-image {
    width: 100%;
  }
  .collection-product-image.is-limited::before {
    font-size: 1.4rem;
    top: -30px;
  }
}

.collection-product-text {
  width: 59%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .collection-product-text {
    width: 100%;
    margin: 30px 0 0 0;
    text-align: center;
  }
}

.collection-product-heading {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.28;
  letter-spacing: 0.024em;
  text-align: left;
  margin: 0 0 15px;
}
@media screen and (max-width: 768px) {
  .collection-product-heading {
    font-size: 2rem;
    margin: 0 0 10px;
  }
}

.collection-product-price {
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.28;
  text-align: left;
}
.collection-product-price small {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .collection-product-price {
    font-size: 1.6rem;
  }
}

.collection-product-desc {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.024em;
  text-align: justify;
  position: relative;
  padding-top: 30px;
}
.collection-product-desc::after {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background: #DEB658;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 768px) {
  .collection-product-desc {
    font-size: 1.4rem;
  }
  .collection-product-desc::after {
    width: 100%;
  }
}

.collection-product-note {
  display: block;
  font-size: 1.4rem;
  margin: 20px 0 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .collection-product-note {
    font-size: 1.2rem;
  }
}

.button-reserve {
  display: block;
  width: 25em;
  padding: 0.8em 0;
  background: #004946;
  border-radius: 99px;
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
  position: relative;
  margin: 15px 0 40px;
}
.button-reserve::before {
  display: block;
  content: "";
  width: 16px;
  height: 20px;
  background: url(../img/icon_bag.svg) no-repeat center/cover;
  position: absolute;
  top: calc(50% - 10px);
  left: 30px;
}
.button-reserve.is-soon {
  opacity: 0.4;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .button-reserve {
    display: block;
    padding: 0.8em 0;
    margin: 10px 0 30px;
  }
  .button-reserve::before {
    left: 20px;
  }
}

/* ---------------------------------------*/
/* where to buy */
/* ---------------------------------------*/
#buy {
  padding: 60px 0 120px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #buy {
    padding: 40px 0 80px;
  }
}

.buy-content {
  border: solid 1px #C08251;
  padding: 60px 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .buy-content {
    padding: 30px 20px;
    display: block;
  }
}

.buy__text {
  width: 44%;
}
@media screen and (max-width: 768px) {
  .buy__text {
    width: 100%;
    margin: 0 0 40px;
  }
}

.buy-heading {
  width: 100%;
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .buy-heading {
    width: 65%;
    margin: 0 auto 20px;
  }
}

.buy-lead {
  font-weight: 300;
  font-size: 1.8rem;
  letter-spacing: 0.024em;
}
@media screen and (max-width: 768px) {
  .buy-lead {
    font-size: 1.4rem;
  }
}

.buy__button {
  width: 44%;
}
@media screen and (max-width: 768px) {
  .buy__button {
    width: 100%;
  }
}

.button--shop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 44px;
  border: solid 1px;
  border-radius: 22px;
  position: relative;
  font-weight: 400;
  font-size: 1.4rem;
}
.button--shop::before {
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px;
  border-right: solid 1px;
  position: absolute;
  top: calc(50% - 4px);
  left: 23px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.button--shop:hover {
  background: #000;
  color: #fff;
}

/* ---------------------------------------*/
/* links */
/* ---------------------------------------*/
#links {
  padding: 0 0 100px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #links {
    padding: 0 0 30px;
  }
}

.links-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .links-list {
    display: block;
  }
}

.links-list__item {
  width: 32%;
}
@media screen and (max-width: 768px) {
  .links-list__item {
    width: 100%;
    margin: 0 0 20px;
  }
  .links-list__item:last-child {
    margin: 0;
  }
}