:root {
  --in-sine: cubic-bezier(.47, 0, .745, .715);
  --out-sine: cubic-bezier(.39, .575, .565, 1);
  --in-out-sine: cubic-bezier(.445, .05, .55, .95);
  --in-quad: cubic-bezier(.55, .085, .68, .53);
  --out-quad: cubic-bezier(.25, .46, .45, .94);
  --in-out-quad: cubic-bezier(.455, .03, .515, .955);
  --in-cubic: cubic-bezier(.55, .055, .675, .19);
  --out-cubic: cubic-bezier(.215, .61, .355, 1);
  --in-out-cubic: cubic-bezier(.645, .045, .355, 1);
  --in-quart: cubic-bezier(.895, .03, .685, .22);
  --out-quart: cubic-bezier(.165, .84, .44, 1);
  --in-out-quart: cubic-bezier(.77, 0, .175, 1);
  --in-quint: cubic-bezier(.755, .05, .855, .06);
  --out-quint: cubic-bezier(.23, 1, .32, 1);
  --in-out-quint: cubic-bezier(.86, 0, .07, 1);
  --in-expo: cubic-bezier(.95, .05, .795, .035);
  --out-expo: cubic-bezier(.19, 1, .22, 1);
  --in-out-expo: cubic-bezier(1, 0, 0, 1);
  --in-circ: cubic-bezier(.6, .04, .98, .335);
  --out-circ: cubic-bezier(.075, .82, .165, 1);
  --in-out-circ: cubic-bezier(.785, .135, .15, .86);
  --in-back: cubic-bezier(.6, -.28, .735, .045);
  --out-back: cubic-bezier(.175, .885, .32, 1.275);
  --in-out-back: cubic-bezier(.68, -.55, .265, 1.55);
}

.l-content {
  max-width: 1120px;
}

.p-goods__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 38px;
  transform: translateY(35px);
  opacity: 0;
}
.is-active .p-goods__list {
  opacity: 1;
  transform: translateY(0);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width: 767px) {
  .p-goods__list {
    margin-top: 23px;
    display: block;
  }
}
.p-goods__list-item {
  width: 36%;
  margin-right: 5%;
}
@media screen and (max-width: 767px) {
  .p-goods__list-item {
    width: 89%;
    margin: 0 auto;
  }
  .p-goods__list-item + .p-goods__list-item {
    margin-top: 34px;
  }
}
@media screen and (min-width: 768px) {
  .p-goods__list-item:nth-child(2n) {
    margin-right: 0;
  }
}
.p-goods__list-item a {
  display: block;
  text-decoration: none;
}
@media (hover: hover) {
  .p-goods__list-item a:hover .p-goods__list-thumb-item {
    transform: scale(1.05);
  }
  .p-goods__list-item a:hover .p-goods__list-ttl {
    color: #e08bb5;
  }
}
.p-goods__list-thumb {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}
.p-goods__list-thumb-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.p-goods__list-ttl {
  font-family: "Forum", serif;
  font-weight: 400;
  color: #8a81b1;
  font-size: 23px;
  line-height: 1.45;
  margin-top: 21px;
  transition: color 1s cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width: 767px) {
  .p-goods__list-ttl {
    font-size: 15px;
    margin-top: 14px;
  }
}
.p-goods__footer {
  margin-top: 7.2rem;
  transform: translateY(35px);
  opacity: 0;
}
.is-active .p-goods__footer {
  opacity: 1;
  transform: translateY(0);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-goods__footer {
    margin-top: 4.2rem;
  }
}
.p-goods__back {
  margin-top: 105px;
  transform: translateY(35px);
  opacity: 0;
}
.is-active .p-goods__back {
  opacity: 1;
  transform: translateY(0);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-goods__back {
    margin-top: 71px;
  }
}

.p-goods_detail {
  padding: 0 7.2%;
  transform: translateY(35px);
  opacity: 0;
}
.is-active .p-goods_detail {
  opacity: 1;
  transform: translateY(0);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width: 767px) {
  .p-goods_detail {
    padding: 0;
  }
}
.p-goods_detail__head {
  border-bottom: 1px solid rgba(138, 129, 177, 0.2);
  padding-bottom: 38px;
  margin-bottom: 43px;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__head {
    padding-bottom: 34px;
    margin-bottom: 35px;
  }
}
.p-goods_detail__head h3 {
  font-weight: 400;
  color: #e08bb5;
  font-size: 23px;
  letter-spacing: 1px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__head h3 {
    letter-spacing: 2.5px;
    font-size: 16px;
  }
}
.p-goods_detail__topbox {
  line-height: 1.7;
  font-size: 16px;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__topbox {
    margin-bottom: 34px;
    letter-spacing: 1px;
    font-size: 12px;
  }
}
.p-goods_detail__topbox span, .p-goods_detail__topbox strong, .p-goods_detail__topbox u {
  vertical-align: baseline;
}
.p-goods_detail__topbox u {
  text-decoration: none;
}
.p-goods_detail__topbox img {
  height: auto !important;
  width: auto !important;
}
@media screen and (min-width: 768px) {
  .p-goods_detail__topbox img {
    max-width: 650px;
  }
}
.p-goods_detail__topbox iframe {
  width: 100%;
  max-width: 1000px;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-goods_detail__topbox iframe {
    aspect-ratio: 16/9;
    height: auto !important;
  }
}
.p-goods_detail__topbox a {
  color: #e08bb5;
}
@media screen and (min-width: 768px) {
  .p-goods_detail__topbox a:hover {
    text-decoration: none;
  }
}
.p-goods_detail__lineup-category {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__lineup-category {
    margin: 0 auto 35px;
    width: 92%;
  }
}
.p-goods_detail__list {
  display: flex;
  flex-wrap: wrap;
}
.p-goods_detail__list-item {
  cursor: pointer;
  width: 31%;
  margin-right: 3.5%;
  margin-bottom: 3%;
}
@media screen and (min-width: 768px) {
  .p-goods_detail__list-item:hover .p-goods_detail__list-thumb::after {
    opacity: 1;
  }
  .p-goods_detail__list-item:hover .p-goods_detail__list-thumb-item {
    transform: scale(1.1);
  }
  .p-goods_detail__list-item:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-goods_detail__list-item {
    width: 47%;
    margin-right: 6%;
    margin-bottom: 9%;
  }
  .p-goods_detail__list-item:nth-child(2n) {
    margin-right: 0;
  }
}
.p-goods_detail__list-thumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
.p-goods_detail__list-thumb::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-goods_detail__list-thumb-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-goods_detail__list-ttl {
  color: #8a81b1;
  line-height: 1.5;
  margin-top: 11px;
  font-size: 17px;
  letter-spacing: 1.5px;
  transition: all 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
@media screen and (max-width: 767px) {
  .p-goods_detail__list-ttl {
    font-size: 12px;
  }
}
.p-goods_detail__list-price {
  color: #8a81b1;
  margin-top: 5px;
  letter-spacing: 1px;
  transition: all 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
@media screen and (max-width: 767px) {
  .p-goods_detail__list-price {
    font-size: 11px;
  }
}
.p-goods_detail__list-price .is-small {
  vertical-align: baseline;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__list-price .is-small {
    font-size: 10px;
  }
}
.p-goods_detail__pager {
  margin-top: 77px;
}
@media screen and (max-width: 767px) {
  .p-goods_detail__pager {
    margin-top: 39px;
  }
}

.goods_modal {
  padding: 75px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .goods_modal {
    padding: 60px 0;
  }
}
.goods_modal::before {
  content: "";
  position: absolute;
  background: url(../img/bg/deco_notes_l_base.png) no-repeat left center;
  background-size: contain;
  left: 0;
  bottom: -3%;
  width: 26%;
  padding-top: 26%;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .goods_modal::before {
    content: none;
  }
}
.goods_modal::after {
  content: "";
  position: absolute;
  background: url(../img/bg/deco_notes_r_base.png) no-repeat right center;
  background-size: contain;
  right: 0;
  top: -3%;
  width: 31%;
  padding-top: 31%;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .goods_modal::after {
    top: 3%;
    width: 60%;
    padding-top: 60%;
  }
}
.goods_modal__thumb {
  flex-shrink: 0;
  width: 43%;
  margin-right: 5.5%;
}
@media screen and (max-width: 767px) {
  .goods_modal__thumb {
    width: 82%;
    margin: 0 auto;
    margin-bottom: 6.5%;
  }
}
.goods_modal__detail {
  flex-grow: 1;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .goods_modal__detail {
    margin-top: -6px;
  }
}
@media screen and (max-width: 767px) {
  .goods_modal__detail {
    padding: 0 3%;
  }
  .goods_modal__detail::before {
    content: "";
    position: absolute;
    background: url(../img/bg/deco_notes_l_base.png) no-repeat left center;
    background-size: contain;
    left: -5%;
    top: 0%;
    width: 60%;
    padding-top: 60%;
    opacity: 0.5;
  }
}
.goods_modal__detail-ttl {
  font-size: 23px;
  border-bottom: 1px solid rgba(138, 129, 177, 0.2);
  padding-bottom: 22px;
  margin-bottom: 45px;
  color: #e08bb5;
}
@media screen and (max-width: 767px) {
  .goods_modal__detail-ttl {
    font-size: 16px;
    letter-spacing: 3px;
    padding-bottom: 15px;
    margin-bottom: 32px;
  }
}
.goods_modal__detail-text {
  position: relative;
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .goods_modal__detail-text {
    font-size: 12px;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .goods_modal__detail-text a:hover {
    text-decoration: none;
  }
}
.goods_modal__detail-shopping {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
.goods_modal__detail-shopping-item {
  width: 32%;
  max-width: 160px;
  margin-right: 2%;
  margin-bottom: 2%;
  transition: opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
@media screen and (min-width: 768px) {
  .goods_modal__detail-shopping-item:hover {
    opacity: 0.7;
  }
  .goods_modal__detail-shopping-item:nth-child(3n) {
    margin-right: 0;
  }
}
.goods_modal__pager {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2%;
}
@media screen and (max-width: 767px) {
  .goods_modal__pager {
    margin-top: 3.7%;
  }
}
.goods_modal__pager-item {
  width: 14.9%;
  padding-top: 14.9%;
  position: relative;
  margin-right: 2.1%;
  margin-bottom: 2%;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .goods_modal__pager-item:hover::after {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .goods_modal__pager-item {
    width: 15%;
    padding-top: 15%;
    margin-right: 2%;
  }
  .goods_modal__pager-item:nth-child(6n) {
    margin-right: 0;
  }
}
.goods_modal__pager-item.is-current::after, .goods_modal__pager-item.is-current::before {
  opacity: 1;
}
.goods_modal__pager-item::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(138, 129, 177, 0.5);
  box-sizing: border-box;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
.goods_modal__pager-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 35%;
  padding-top: 35%;
  -webkit-mask: url(../img/icon/icon_notes.svg) no-repeat center center;
  mask: url(../img/icon/icon_notes.svg) no-repeat center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
  z-index: 1;
}
.goods_modal__pager-item .photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.goods_modal__pager-item .photo img {
  -o-object-fit: contain;
  object-fit: contain;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .goods_modal__pager-item:nth-child(6n) {
    margin-right: 0;
  }
}
.goods_modal__inner {
  display: flex;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 90%;
  max-width: 1120px;
}
@media screen and (max-width: 767px) {
  .goods_modal__inner {
    display: block;
    width: 95%;
  }
}
.goods_modal__mainthumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  background-color: #fff;
}
.goods_modal__mainthumb-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}