@charset "UTF-8";
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateZ(1px);
  }
}
@keyframes fadeInMove {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    top: 30px;
    opacity: 0;
  }
  100% {
    display: block;
    top: 0;
    opacity: 1;
  }
}
.l-main > section,
.l-main > article,
.l-main > div {
  opacity: 0;
  position: relative;
  top: 30px;
  transition-duration: 0.6s;
  transition-delay: 0.2s;
  transition-timing-function: ease-in-out;
}

.l-main > section.is-animate,
.l-main > article.is-animate,
.l-main > div.is-animate {
  opacity: 1;
  top: 0;
}

@media screen and (min-width: 768px) {
  .pc-none {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .sp-none {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

.topics img {
  vertical-align: bottom;
}

/*
* .entrance
*/
.entrance {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .entrance {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    /*height: 46.4vw;*/
    margin-bottom: 0px;
    border-bottom: 1px solid #f2f2f2;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .entrance {
    margin-bottom: 0 !important;
  }
}
.entrance__date span {
  font-size: 15px;
}
.entrance.is-animate {
  animation: fadeIn 0.6s ease-in-out 0s 1 normal forwards;
}

@media screen and (min-width: 768px) {
  .ontime .entrance {
    border-bottom: 100px;
  }
}

.entrance--picture,
.entrance__description {
  height: 100%;
}

.entrance__description {
  display: flex;
  flex-flow: column;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .entrance__description {
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0.1vw 0 0 4.6875vw !important;
  }
}
@media screen and (max-width: 767px) {
  .entrance__description {
    justify-content: center;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .entrance--picture {
    margin-bottom: 3vw;
    border-bottom: 1px solid #f2f2f2;
  }
}

.entrance--picture picture,
.entrance--picture img {
  width: auto;
  height: 100%;
}

.entrance__date {
  font-size: 1.015625vw;
  line-height: 2.34375vw;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  margin-top: 2.421875vw !important;
  color: #3c3c3c;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .entrance__date {
    font-size: 13px !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    line-height: 100%;
  }
}
.entrance__date span {
  font-size: 0.88vw;
  display: block;
  line-height: 1.8vw;
}
@media screen and (max-width: 767px) {
  .entrance__date span {
    font-size: 2.6vw;
    margin-top: 14px;
  }
}

.entrance__description__title,
.entrance__description__name {
  color: #3c3c3c;
}

@media screen and (max-width: 767px) {
  .entrance__description__title {
    margin-bottom: 0 !important;
  }
}

.entrance__description__price {
  margin-top: 0.78125vw !important;
  color: #3c3c3c;
}
@media screen and (max-width: 767px) {
  .entrance__description__price {
    margin-top: 10px !important;
  }
}

.entrance__description__tag {
  margin: 10px 0 40px !important;
}
@media screen and (max-width: 767px) {
  .entrance__description__tag {
    margin: 0 !important;
  }
}

.entrance__description__note {
  font-size: 0.92vw;
  font-family: "Noto Serif JP", serif;
  margin-top: 40px;
  line-height: 1.6;
  color: #fca4cc;
}
@media screen and (max-width: 767px) {
  .entrance__description__note {
    font-size: 2.6vw;
  }
}

.entrance--title {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.09em;
}
@media screen and (min-width: 768px) {
  .entrance--title {
    margin-bottom: 2.34375vw;
    font-size: 2.1875vw;
    line-height: 1.7;
  }
}
@media screen and (max-width: 767px) {
  .entrance--title {
    width: 84.53334vw;
    margin: 0 auto 4vw;
    font-size: 5.33334vw;
    line-height: 1.3;
    text-align: center;
  }
}
.entrance--title span {
  text-transform: uppercase;
}

.entrance--name {
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 768px) {
  .entrance--name {
    margin-bottom: 2.3vw;
    font-size: 1.5625vw;
    letter-spacing: 0.11em;
  }
}
@media screen and (max-width: 767px) {
  .entrance--name {
    margin-bottom: 3.5vw;
    font-size: 3.73334vw;
    letter-spacing: 0.06em;
  }
}

@media screen and (min-width: 768px) {
  .entrance--limited {
    margin: 0 0 1vw 0.2vw;
    font-size: 1.015625vw;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 767px) {
  .entrance--limited {
    margin-bottom: 3.4vw;
    font-size: 3.2vw;
    letter-spacing: 0.11em;
  }
}

@media screen and (min-width: 768px) {
  .entrance--price {
    margin: 0 0 2vw 0.2vw;
    letter-spacing: 0.15em;
    font-size: 1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .entrance--price {
    margin-bottom: 3.4vw;
    font-size: 3.2vw;
    letter-spacing: 0.11em;
  }
}

.entrance__icon {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .entrance__icon {
    margin-left: 0.4vw;
  }
}

.entrance__icon li {
  border: 1px solid #c8c8c8;
  color: #878782;
  font-family: "Poppins", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .entrance__icon li {
    max-width: 5.46875vw;
    margin-left: 0.78125vw;
    padding: 0 0.703125vw;
    font-size: 0.859375vw;
    line-height: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .entrance__icon li {
    max-width: 18.93334vw;
    margin-left: 3vw;
    padding: 0 2.66667vw;
    font-size: 2.66667vw;
    line-height: 4.8vw;
  }
}
.entrance__icon li:first-child {
  margin-left: 0;
}

/*
* .prod
*/
@media screen and (min-width: 768px) {
  .prod {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 1000px;
    margin: 0 auto 116px;
  }
}
@media screen and (max-width: 767px) {
  .prod {
    margin-bottom: 23vw;
  }
}

@media screen and (min-width: 768px) {
  .detail + .prod {
    margin-bottom: 138px;
  }
}
@media screen and (max-width: 767px) {
  .detail + .prod {
    margin-bottom: 23.4vw;
  }
}

@media screen and (min-width: 768px) {
  .prod--picture {
    margin: 0 110px 0 52px;
  }
}
@media screen and (max-width: 767px) {
  .prod--picture {
    width: 56vw;
    margin: 0 auto 2.6vw;
  }
}

@media screen and (max-width: 767px) {
  .prod__description {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .ontime .prod__description {
    padding-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  .prod--copy {
    margin-bottom: 43px;
    font-size: 0.875rem;
    letter-spacing: 0.07em;
    padding-top: 170px;
    margin-top: -120px;
  }
}
@media screen and (max-width: 767px) {
  .prod--copy {
    margin-bottom: 5vw;
    font-size: 3.733334vw;
    letter-spacing: 0.07em;
    line-height: 1.5;
    padding-top: 44vw;
    margin-top: -30.6666vw;
  }
}

@media screen and (min-width: 768px) {
  .prod--name {
    margin-bottom: 9px;
    font-size: 1rem;
    letter-spacing: 0.09em;
    line-height: 28px;
  }
}
@media screen and (max-width: 767px) {
  .prod--name {
    margin-bottom: 3vw;
    font-size: 4.26667vw;
    line-height: 26px;
  }
}

@media screen and (min-width: 768px) {
  .prod--price {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 767px) {
  .prod--price {
    margin-bottom: 7vw;
    font-size: 3.73334vw;
  }
}

@media screen and (min-width: 768px) {
  .ontime .prod--price {
    margin-bottom: 72px;
  }
}
@media screen and (max-width: 767px) {
  .ontime .prod--price {
    margin-bottom: 8.8vw;
  }
}

.prod--limited {
  border: 1px solid #878782;
  box-sizing: border-box;
  color: #878782;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .prod--limited {
    width: 182px;
    margin-bottom: 31px;
    padding: 4px 0;
    border-radius: 15px;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
  }
}
@media screen and (max-width: 767px) {
  .prod--limited {
    width: 45.86667vw;
    margin: 0 auto 8vw;
    padding: 1vw 0;
    border-radius: 2.4vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .cart-in {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .cart-in {
    margin-bottom: 5vw;
  }
}

.cart-in a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background-color: #878782;
  box-sizing: border-box;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .cart-in a {
    width: 380px;
    height: 50px;
    border-radius: 2px;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .cart-in a {
    width: 80vw;
    border-radius: 0.53334vw;
    /*padding: 3.6vw 0;*/
    margin: 0 auto;
  }
}
.cart-in a:hover {
  color: #fff;
  background-color: #c8c8c8;
}

.cart-in.reserve a {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .cart-in.reserve a {
    padding: 0.5vw 0;
  }
}

.l-main .cart-in a svg,
.l-main .cart-in a img {
  fill: #fff;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .l-main .cart-in a svg,
  .l-main .cart-in a img {
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-main .cart-in a svg,
  .l-main .cart-in a img {
    width: 7.46667vw;
    height: 7.46667vw;
    padding-right: 1.2vw;
  }
}

.cart-in a:hover svg,
.cart-in a:hover img {
  fill: #fff;
}

@media screen and (max-width: 767px) {
  .prod__notes {
    margin: 0 10vw;
  }
}

.prod__notes li {
  padding-left: 1em;
  color: #878782;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .prod__notes li {
    font-size: 0.6875rem;
    letter-spacing: -0.3px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .prod__notes li {
    font-size: 2.66667vw;
    text-align: left;
    letter-spacing: 0.04em;
    line-height: 2;
  }
}

.prod__notes li:before {
  content: "※";
}

/*
* .anchor
*/
@media screen and (min-width: 768px) {
  .anchor {
    margin-bottom: 88px;
  }
}
@media screen and (max-width: 767px) {
  .anchor {
    margin-bottom: 13vw;
  }
}

.anchor--copy {
  color: #bd92de;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .anchor--copy {
    margin-bottom: 40px;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 767px) {
  .anchor--copy {
    margin-bottom: 10.4vw;
    font-size: 5.33334vw;
    line-height: 1.6;
  }
}

.anchor__col {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .anchor__col {
    width: 500px;
    padding-right: 7px;
  }
}
@media screen and (max-width: 767px) {
  .anchor__col {
    width: 78.13334vw;
  }
}

.anchor__col-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-items: baseline;
}
@media screen and (min-width: 768px) {
  .anchor__col-inner {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .anchor__col-inner {
    width: 86.93334vw;
  }
}

.anchor--category {
  order: 3;
  border: 1px solid #e7e5e6;
  text-align: center;
  box-sizing: border-box;
  background-color: #deebf7;
}
@media screen and (min-width: 768px) {
  .anchor--category {
    width: 100px;
    margin: 0 75px;
    padding: 7px 0;
    font-size: 0.75rem;
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .anchor--category {
    width: 18.66667vw;
    margin: 0 5.86667vw;
    padding: 1vw 0;
    font-size: 2.4vw;
  }
}

.anchor--prod {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .anchor--prod {
    margin-bottom: 32px;
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .anchor--prod {
    /*width: 25.733334vw;*/
    margin-bottom: 4vw;
  }
}
.anchor--prod:hover {
  opacity: 0.6;
}

.anchor--prod:after {
  display: block;
  margin: 0 auto;
  background: url("../images/anchor_arrow.svg") no-repeat 50% 0;
  background-size: 100% auto;
  content: "";
}
@media screen and (min-width: 768px) {
  .anchor--prod:after {
    width: 18px;
    height: 12px;
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .anchor--prod:after {
    width: 2.66667vw;
    height: 1.86667vw;
    margin-top: 5.8vw;
  }
}

/*
* .detail
*/
.detail {
  background-color: #fafafc;
}
@media screen and (min-width: 768px) {
  .detail {
    margin-bottom: 145px;
    padding: 73px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .detail {
    margin-bottom: 6vw;
    padding: 21.2vw 4.8vw 17vw;
  }
}

@media screen and (min-width: 768px) {
  .ontime .detail {
    margin-bottom: 100px;
  }
}

.detail--title {
  color: #878782;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .detail--title {
    margin-bottom: 65px;
    font-size: 1.625rem;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 767px) {
  .detail--title {
    margin-bottom: 15vw;
    font-size: 4.8vw;
    letter-spacing: 0.05em;
  }
}

.detail__inner {
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .detail__inner {
    width: 1100px;
    margin-bottom: 19px;
    padding: 110px 150px 78px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 767px) {
  .detail__inner {
    margin-bottom: 4.26667vw;
    width: 90.66667vw;
    padding: 20vw 0 11.2vw;
    border-radius: 2.66667vw;
  }
}

.detail__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  /*align-items: flex-start;*/
}
@media screen and (min-width: 768px) {
  .detail__item {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .detail__item {
    margin-bottom: 18vw;
  }
}

/*.item1 {
	@include mq(pc) {
		margin-bottom: 117px;
	}
	@include mq {
		margin-bottom: 18.2vw;
	}
}
.item2 {
	@include mq(pc) {
		margin-bottom: 67px;
	}
	@include mq {
		margin-bottom: 12vw;
	}
}
.item3 {
	@include mq(pc) {
		margin-bottom: 56px;
	}
	@include mq {
		margin-bottom: 19vw;
	}
}*/
.detail__description {
  order: 2;
}
@media screen and (min-width: 768px) {
  .detail__description {
    padding-top: 9px;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .detail__description {
    margin-bottom: 9.2vw;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .detail--item-name {
    margin-bottom: 12px;
    font-size: 1rem;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-name {
    margin-bottom: 3vw;
    text-align: center;
    font-size: 4.26667vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .detail--item-type {
    margin-bottom: 35px;
    font-size: 1rem;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-type {
    font-size: 4.26667vw;
    text-align: center;
    letter-spacing: 0.08em;
  }
}
.detail--item-type span {
  color: #fff;
  text-align: center;
  background-color: #878782;
}
@media screen and (min-width: 768px) {
  .detail--item-type span {
    display: inline-block;
    padding: 4.5px 10px;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    vertical-align: 2px;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-type span {
    display: table;
    min-width: 14.66667vw;
    width: auto;
    margin: 3.2vw auto 9vw;
    padding: 1vw 2.66667vw;
    font-size: 2.93334vw;
    letter-spacing: 0.14em;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 767px) {
  .detail--item-type02 {
    margin-top: 9vw !important;
  }
}

@media screen and (min-width: 768px) {
  .detail--item-copy {
    margin-bottom: 51px;
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-copy {
    font-size: 3.73334vw;
    line-height: 1.64286;
    text-align: center;
    letter-spacing: 0.06em;
    margin: 10px auto 5.4vw;
  }
}

@media screen and (max-width: 767px) {
  .detail--item-feature {
    width: 86.4vw;
    margin-left: 4vw;
  }
}

.detail--item-feature li {
  padding-left: 1.6em;
  text-indent: -1.6em;
}
@media screen and (min-width: 768px) {
  .detail--item-feature li {
    margin-top: 8px;
    font-size: 0.8125rem;
    line-height: 1.69231;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-feature li {
    margin-top: 1.2vw;
    font-size: 3.2vw;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
}
.detail--item-feature li:before {
  content: "○";
}
@media screen and (min-width: 768px) {
  .detail--item-feature li:before {
    margin-right: 6px;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-feature li:before {
    margin-right: 1.8vw;
  }
}
.detail--item-feature li:first-child {
  margin-top: 0;
}

.detail__picture {
  order: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .detail__picture {
    margin: 0 0 66px 0;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .detail__picture {
    width: 100%;
    margin-bottom: 8.2vw;
  }
}

@media screen and (min-width: 768px) {
  .detail--item-picture {
    margin-bottom: 27px;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-picture {
    width: 42vw;
    height: auto;
    margin: 0 auto 9.4vw;
  }
}

.detail--item-capa {
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .detail--item-capa {
    margin-bottom: 13px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-capa {
    margin-bottom: 3vw;
    font-size: 3.73334vw;
  }
}

.detail__usage {
  order: 3;
  border: 1px solid #c8c8c8;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .detail__usage {
    width: 100%;
    padding: 37px 45px 43px;
  }
}
@media screen and (max-width: 767px) {
  .detail__usage {
    width: 82.66667vw;
    margin: 0 auto;
    padding: 5.4vw 4vw 7vw;
  }
}

.detail__usage .copy_txt {
  margin-bottom: 20px;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.15em;
  padding-left: 0px;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .item1 .detail__usage {
    padding-right: 95px;
    padding-left: 95px;
  }
}

.detail--usage-title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .detail--usage-title {
    margin-bottom: 27px;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 767px) {
  .detail--usage-title {
    margin-bottom: 3.8vw;
  }
}

.detail__usage-list li {
  padding-left: 1.4em;
  text-indent: -1.4em;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .detail__usage-list li {
    margin-top: 6px;
    font-size: 0.875rem;
    line-height: 1.71429;
    /*hite-space: nowrap;*/
  }
}
@media screen and (max-width: 767px) {
  .detail__usage-list li {
    margin-top: 1vw;
    font-size: 3.2vw;
    line-height: 1.8;
    text-align: justify;
  }
}
.detail__usage-list li:before {
  content: "○ ";
}
.detail__usage-list li:first-child {
  margin-top: 0;
}

.detail__usage-list li a {
  color: #3c3c3c;
  text-decoration: underline;
}

.detail__usage-list li a {
  text-decoration: underline;
  color: #3c3c3c;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.detail__usage-list li a:hover {
  opacity: 0.5;
}

.detail hr {
  height: 2px;
  margin: 0 auto;
  border: 0;
  background-color: #e5e5e5;
}
@media screen and (min-width: 768px) {
  .detail hr {
    width: 1030px;
    margin: 0 0 80px -115px;
  }
}
@media screen and (max-width: 767px) {
  .detail hr {
    width: 85.33334vw;
    margin-bottom: 18vw;
  }
}

.detail--notes {
  color: #878782;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .detail--notes {
    width: 1100px;
    margin: 0 auto;
    padding-left: 6px;
    font-size: 0.6875rem;
    line-height: 1.81819;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .detail--notes {
    padding-left: 1vw;
    font-size: 2.66667vw;
    line-height: 2;
  }
}

.m--ingredients-btn {
  display: table;
  margin: 0 auto;
  color: #878782;
  cursor: pointer;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .m--ingredients-btn {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .m--ingredients-btn {
    font-size: 3.2vw;
  }
}
.m--ingredients-btn span {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid #878782;
}
.m--ingredients-btn:hover {
  opacity: 0.6;
}
.m--ingredients-btn:after {
  display: inline-block;
  background: url("/contents/shared/images/icon_ingredients_btn.svg") no-repeat 0 0;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 768px) {
  .m--ingredients-btn:after {
    width: 16px;
    height: 16px;
    margin-left: 4px;
    vertical-align: -3px;
  }
}
@media screen and (max-width: 767px) {
  .m--ingredients-btn:after {
    width: 4vw;
    height: 4vw;
    margin-left: 1.06667vw;
    vertical-align: -1vw;
  }
}

.m__ingredients-modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2000;
  overflow: auto;
  margin: auto;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  opacity: 0;
}
.m__ingredients-modal:after {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  content: "";
}
@media screen and (min-width: 768px) {
  .m__ingredients-modal:after {
    margin-left: -0.05em;
  }
}
@media screen and (max-width: 767px) {
  .m__ingredients-modal:after {
    margin-left: -0.3em;
  }
}

.m__ingredients-modal.is-opened {
  display: block;
  animation: fadeIn 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1 normal forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.m__ingredients-modal-bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2001;
  width: 100%;
  height: 100%;
  background-color: rgba(135, 135, 130, 0.7);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.m__ingredients-modal-warp {
  display: inline-block;
  position: relative;
  z-index: 2002;
  margin: auto;
  vertical-align: middle;
  background-color: #fff;
  box-sizing: border-box;
  transform: translate3d(0, 0, 0);
}
@media screen and (min-width: 768px) {
  .m__ingredients-modal-warp {
    width: 800px;
    padding: 77px 102px 70px;
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .m__ingredients-modal-warp {
    width: 93.06667vw;
    padding: 13.33334vw 9.33334vw 11.33334vw;
  }
}

.is-opened .m__ingredients-modal-warp {
  animation: zoomOut 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1 normal forwards;
}

@keyframes zoomOut {
  0% {
    transform: scale(1.04);
  }
  100% {
    transform: scale(1);
  }
}
.m--ingredients-modal-title {
  color: #c8c8c8;
  font-weight: bold;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .m--ingredients-modal-title {
    font-size: 0.875rem;
    line-height: 1.5715;
  }
}
@media screen and (max-width: 767px) {
  .m--ingredients-modal-title {
    font-size: 3.73334vw;
  }
}

.m--ingredients-modal-text {
  color: #2b2e38;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .m--ingredients-modal-text {
    margin-top: 20px;
    font-size: 0.8125rem;
    line-height: 1.69231;
  }
}
@media screen and (max-width: 767px) {
  .m--ingredients-modal-text {
    margin-top: 5.33334vw;
    font-size: 3.46667vw;
    line-height: 1.69231;
  }
}

.m--ingredients-modal-close {
  display: block;
  position: absolute;
  z-index: 2002;
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  background: url("/contents/shared/images/icon_ingredients_close_btn.svg") no-repeat 0 0;
  background-size: 100% 100%;
  cursor: pointer;
  outline: 0;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .m--ingredients-modal-close {
    top: 16px;
    right: 16px;
    width: 16px;
    height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .m--ingredients-modal-close {
    top: 4.26667vw;
    right: 4.26667vw;
    width: 4.8vw;
    height: 4.8vw;
  }
}
.m--ingredients-modal-close:hover {
  opacity: 0.6;
}

.entrance__description__title {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) {
  .entrance__description__title {
    font-size: 2.1875vw;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 767px) {
  .entrance__description__title {
    margin: 0 auto 20px;
    font-size: 20px;
    letter-spacing: -0.02em;
    text-indent: 3vw;
  }
}

@media screen and (min-width: 768px) {
  .entrance__description__title span {
    display: block;
    margin-top: 1.5625vw;
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .entrance__description__title span {
    text-indent: -1.4vw;
    display: inline-block;
    letter-spacing: 0.02em;
    margin-top: 2.93333vw;
    font-size: 4.26667vw;
  }
}
.btn__more a {
  width: 340px;
  text-align: center;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #c8c8c8;
  border-radius: 25px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .btn__more a {
    width: 80vw;
    border-radius: 7.33333vw;
  }
}
.btn__more a, .btn__more a span {
  display: inline-block;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.btn__more a span {
  color: #3c3c3c;
  font-size: 14px !important;
  line-height: 50px !important;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.btn__more a:before {
  content: "";
  display: block;
  width: 6px;
  height: 48px;
  background-image: url(../images/icon-arrow-gray.svg);
  background-size: 6px auto;
  background-position: center;
  position: absolute;
  right: 26px;
  top: 0;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

@media screen and (max-width: 767px) {
  .btn__more a:before {
    width: 1.73333vw;
    height: 13.6vw;
    background-size: 1.73333vw auto;
    right: 6.93333vw;
    top: 0.1vw;
  }
}
@media screen and (min-width: 768px) {
  .btn__more a:hover {
    color: #fff;
    background-color: #c8c8c8;
  }
}
@media screen and (min-width: 768px) {
  .btn__more a:hover:before {
    background-image: url(../images/icon-arrow-white.svg);
  }
}
@media screen and (min-width: 768px) {
  .btn__more a:hover span {
    color: #fff;
  }
}
.btn__more {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.first02 {
  align-items: center;
  justify-content: center;
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
  .first02 {
    margin-top: -60px;
  }
}

@media screen and (min-width: 768px) {
  .first02 .prod--picture {
    margin: 0 95px 0 185px;
  }
}
@media screen and (max-width: 767px) {
  .first02 .prod--picture {
    margin: 0 auto 20px;
    width: 150px !important;
  }
}

@media screen and (min-width: 768px) {
  .first02 .prod--picture img {
    width: 220px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .first02 .prod--picture img {
    width: 150px !important;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .first02 .prod__description {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .anchor--prod img {
    width: 80px;
  }
}
@media screen and (max-width: 767px) {
  .anchor--prod img {
    width: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .detail--item-picture img {
    width: 80px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .detail--item-picture img {
    width: 50% !important;
  }
}

@media screen and (min-width: 768px) {
  .anchor--prod .anchor_item02 {
    width: 140px;
  }
}
@media screen and (max-width: 767px) {
  .anchor--prod .anchor_item02 {
    width: 100px !important;
  }
}

@media screen and (min-width: 768px) {
  .anchor--prod .anchor_item03 {
    width: 74px !important;
  }
}
@media screen and (max-width: 767px) {
  .anchor--prod .anchor_item03 {
    width: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .diffuser-picture img {
    width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .diffuser-picture img {
    width: 130px !important;
  }
}

.aroma {
  margin: 50px auto 150px;
}
@media screen and (max-width: 767px) {
  .aroma {
    width: 80%;
    margin: 0 auto 80px;
    padding: 20px 0;
  }
}

.aroma .anchor--copy {
  color: #3c3c3c;
}

.aroma .txt01 {
  margin-bottom: 18px;
  font-size: 1rem;
  letter-spacing: 0.09em;
  line-height: 28px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .aroma .txt01 {
    margin-bottom: 30px;
    letter-spacing: inherit;
  }
}

@media screen and (min-width: 768px) {
  .aroma .box01 {
    display: flex;
    width: 1000px;
    margin: 70px auto;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .aroma .box01 img {
    width: 400px;
    padding: 0 85px 0 15px;
  }
}
@media screen and (min-width: 768px) {
  .aroma .inner {
    width: 500px;
  }
}
.aroma .inner p {
  font-family: "Noto Serif JP", serif;
  margin: 20px auto;
  line-height: 30px;
}

.aroma .inner p span {
  color: #65c562;
  font-size: 18px;
  display: block;
}

.aroma .inner p b {
  font-size: 13px;
  display: block;
}
@media screen and (max-width: 767px) {
  .aroma .inner p b {
    line-height: 21px;
  }
}

.cart-in a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background-color: #878782;
  box-sizing: border-box;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .cart-in a {
    /*idth: 340px;*/
    height: 50px;
    border-radius: 2px;
    font-size: 1.125rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .cart-in a {
    width: 80vw;
    border-radius: 0.53334vw;
    margin: 4.8vw auto 0;
    font-weight: 700;
    line-height: 14.66667vw;
  }
}
@media screen and (min-width: 768px) {
  .cart-in a:hover {
    color: #fff;
    background-color: #c8c8c8;
  }
}
.cart-in a svg, .cart-in a img {
  fill: #fff;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (min-width: 768px) {
  .cart-in a svg, .cart-in a img {
    width: 30px;
    height: 30px;
    margin-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .cart-in a svg, .cart-in a img {
    width: 7.46667vw;
    height: 7.46667vw;
    padding-right: 1.2vw;
  }
}
.product__wrap {
  align-items: center;
}

/* 2026.03.09 */
.product__title {
  color: #4571b6 !important;
}

.product.summary {
  margin-top: 85px !important;
  margin-bottom: 65px !important;
}
@media screen and (max-width: 767px) {
  .product.summary {
    margin-top: 45px !important;
  }
}

.product__wrap__01 {
  display: flex;
  flex-direction: row;
  gap: 100px;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .product__wrap__01 {
    gap: 15px;
    margin-top: 40px !important;
  }
}

.product__description {
  width: unset !important;
}

.product__picture__img {
  height: 250px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}
@media screen and (max-width: 767px) {
  .product__picture__img {
    height: 200px !important;
  }
}

.product__01__img {
  width: 97px !important;
  height: 250px !important;
}
@media screen and (max-width: 767px) {
  .product__01__img {
    width: 77px !important;
    height: 200px !important;
  }
}

.product__02__img {
  width: 131px !important;
  height: 188px !important;
}
@media screen and (max-width: 767px) {
  .product__02__img {
    width: 117px !important;
    height: 168px !important;
  }
}

.product__description__name {
  color: #3c3c3c !important;
  margin-top: 30px !important;
  font-size: 16px !important;
  line-height: 100% !important;
  letter-spacing: 0.04em !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
}
@media screen and (max-width: 767px) {
  .product__description__name {
    margin-top: 15px !important;
    font-size: 14px !important;
    line-height: 170% !important;
  }
}

.product__description__name span {
  display: block;
  margin-top: 5px;
  color: #3c3c3c !important;
  font-size: 14px !important;
}
@media screen and (max-width: 767px) {
  .product__description__name span {
    margin-top: 10px !important;
    font-size: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__description__name,
  .product__02__inner__01 .product__description__name,
  .is-03 .product__description__name {
    font-size: 16px !important;
    line-height: 170% !important;
  }
}

@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__description__name span,
  .product__02__inner__01 .product__description__name span,
  .is-03 .product__description__name span {
    margin-top: 0 !important;
    font-size: 14px !important;
  }
}

.product__description__price {
  margin-top: 5px !important;
  font-size: 14px !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  line-height: 170% !important;
  letter-spacing: 0.04em !important;
  color: #3c3c3c !important;
}

.btn__more a {
  width: 310px !important;
  height: 50px !important;
}
@media screen and (max-width: 767px) {
  .btn__more a {
    width: 150px !important;
  }
}

.product__wrap__01 .btn__more a:before {
  display: inline-block;
  position: absolute;
  background: url("/contents/shared/images/icon_arrow_select_down.svg") no-repeat 50% 50%;
  content: "";
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .product__wrap__01 .btn__more a:before {
    top: 37%;
    right: 6%;
    width: 25px;
    height: 13px;
  }
}
@media screen and (max-width: 767px) {
  .product__wrap__01 .btn__more a:before {
    top: 33%;
    right: 8%;
    width: 3vw;
    height: 4vw;
  }
}

.product__wrap__01 .btn__more a:hover:before {
  background: url("/contents/shared/images/icon_arrow_select_down_white.svg") no-repeat 50% 50%;
}

.btn__cart a {
  width: 310px !important;
}
@media screen and (max-width: 767px) {
  .btn__cart a {
    width: 150px !important;
    height: 55px !important;
  }
}

@media screen and (max-width: 767px) {
  .btn__cart a span {
    font-size: 16px !important;
    line-height: 55px !important;
  }
}

.product__01 {
  background: linear-gradient(179.71deg, rgb(199, 244, 243) 17.7884608507%, rgb(147, 216, 251) 100%), linear-gradient(to left, #ffffff, #ffffff);
  padding: 80px 0 60px 0;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__01 {
    padding: 70px 20px 50px 20px;
    gap: 40px;
  }
}

.product__02 {
  background: linear-gradient(179.71deg, rgb(214, 228, 243) 0%, rgb(185, 239, 248) 100%), linear-gradient(to left, #ffffff, #ffffff);
  padding: 80px 0 60px 0;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__02 {
    padding: 70px 20px 50px 20px;
    gap: 40px;
  }
}

.product__01__inner__01,
.product__02__inner__01 {
  background: #ffffff;
  padding: 50px 0 50px 0;
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  justify-content: flex-start;
  max-width: 1100px;
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01,
  .product__02__inner__01 {
    padding: 50px 0 40px 0;
    gap: 40px;
  }
}

.product__01__inner__01 .read,
.product__02__inner__01 .read {
  color: #4571b6 !important;
  text-align: center !important;
  font-family: "Noto Serif Jp", sans-serif !important;
  font-size: 22px !important;
  line-height: 180% !important;
  letter-spacing: 0.1em !important;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .read,
  .product__02__inner__01 .read {
    font-size: 18px !important;
  }
}

.product__01__inner__01 .product__01__frame,
.product__02__inner__01 .product__02__frame {
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  max-width: 960px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__01__frame,
  .product__02__inner__01 .product__02__frame {
    flex-direction: column;
  }
}

.product__01__inner__01 .product__01__img,
.product__02__inner__01 .product__02__img {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  max-width: 480px !important;
  width: 100% !important;
  height: 290px !important;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__01__img {
    height: 200px !important;
  }
}

@media screen and (max-width: 767px) {
  .product__02__inner__01 .product__02__img {
    height: 180px !important;
  }
}

.product__01__inner__01 .product__01__img img {
  width: 112px !important;
  height: 290px !important;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__01__img img {
    width: 77px !important;
    height: 200px !important;
  }
}

.product__02__inner__01 .product__02__img img {
  width: 167px !important;
  height: 240px !important;
}
@media screen and (max-width: 767px) {
  .product__02__inner__01 .product__02__img img {
    width: 125px !important;
    height: 180px !important;
  }
}

.product__01__inner__01 .product__description__title,
.product__02__inner__01 .product__description__title {
  margin-top: 0 !important;
  font-size: 14px !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  line-height: 170% !important;
  letter-spacing: 0.04em !important;
  color: #3C3C3C !important;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__description__title,
  .product__02__inner__01 .product__description__title {
    margin-top: 20px !important;
  }
}

.product__description__modal {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
  .product__description__modal {
    margin-top: 10px !important;
  }
}

.product__01__inner__01 .product__description__annotation,
.product__02__inner__01 .product__description__annotation {
  margin-top: 25px !important;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .product__description__annotation,
  .product__02__inner__01 .product__description__annotation {
    margin-top: 0 !important;
  }
}

.product__01__inner__01 .btn__more a,
.product__01__inner__01 .btn__cart a,
.product__02__inner__01 .btn__more a,
.product__02__inner__01 .btn__cart a {
  width: 340px !important;
}
@media screen and (max-width: 767px) {
  .product__01__inner__01 .btn__more a,
  .product__01__inner__01 .btn__cart a,
  .product__02__inner__01 .btn__more a,
  .product__02__inner__01 .btn__cart a {
    width: 300px !important;
    height: 55px !important;
  }
}

@media screen and (max-width: 767px) {
  .product__01__inner__01 .btn__more a span,
  .product__01__inner__01 .btn__cart a span,
  .product__02__inner__01 .btn__more a span,
  .product__02__inner__01 .btn__cart a span {
    line-height: 55px !important;
  }
}

@media screen and (max-width: 767px) {
  .product__01__inner__01 .btn__more a:before,
  .product__02__inner__01 .btn__more a:before {
    height: 55px !important;
  }
}

.product__01__inner__02 {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .product__01__inner__02 {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .product__01__inner__03 {
    width: 100%;
  }
}

.product__feature {
  background: #ffffff;
  padding: 50px 0 50px 0;
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  justify-content: center;
  width: 1100px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__feature {
    padding: 50px 20px 50px 20px;
    width: 100% !important;
  }
}

.product__01__inner__03 .product__feature {
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .product__01__inner__03 .product__feature {
    padding: 50px 20px 50px 20px;
    gap: 30px;
  }
}

.product__01__inner__04 .product__feature {
  padding: 60px 0 60px 0;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .product__01__inner__04 .product__feature {
    padding: 40px 20px 40px 20px;
  }
}

.feature {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.feature__title {
  border-radius: 52px;
  border-style: solid;
  border-color: #b8e0f4;
  border-width: 2px;
  padding: 14px 40px 14px 40px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 580px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__title {
    padding: 12px 24px 12px 24px;
    width: 300px !important;
  }
}

.feature__title p {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 18px;
  line-height: 100%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__title p {
    font-size: 16px;
    line-height: 170%;
    text-align: center;
  }
}

.feature__detail {
  display: flex;
  flex-direction: row;
  gap: 30px;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__detail {
    flex-direction: column;
    gap: 20px;
  }
}

.feature__detail img {
  width: 120px !important;
  height: 120px !important;
}
@media screen and (max-width: 767px) {
  .feature__detail img {
    width: 80px !important;
    height: 80px !important;
  }
}

.feature__01 {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}

.feature__01__01 {
  width: 67px;
  height: 28px;
  text-align: center;
}

.feature__01__01 p {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0.04em;
  font-weight: 400;
  margin: 0;
}

rt {
  font-size: 7px;
}

.feature__01__02 p {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__01__02 p {
    text-align: center;
  }
}

.feature__02 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 150px;
  position: relative;
}

.feature__02 p {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
}

.feature__02__add {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__02__add {
    text-align: center;
  }
}

.product__01__annotation,
.product__02__annotation {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 10px;
  font-weight: 400;
  line-height: 150%;
  position: relative;
  padding-left: 2em;
  text-indent: -2em;
}

.feature__03__01 {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature__03__01 {
    display: grid;
    grid-template-columns: repeat(2, 90px);
    justify-content: center;
  }
}

.feature__03__01 img {
  width: 120px !important;
  height: 120px !important;
}
@media screen and (max-width: 767px) {
  .feature__03__01 img {
    width: 90px !important;
    height: 90px !important;
  }
}

.feature__03__02 {
  max-width: 1100px;
  width: 100%;
  height: auto;
  text-align: center;
}

.feature__03__02 p {
  color: #3c3c3c;
  text-align: center;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.04em;
  font-weight: 400;
  margin: 0;
}

.product__01__inner__04 .method__title,
.product__02__inner__06 .method__title {
  color: #3c3c3c;
  text-align: center;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 18px;
  line-height: 100%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .product__01__inner__04 .method__title,
  .product__02__inner__06 .method__title {
    font-size: 16px;
  }
}

.product__01__inner__04 .method__detail,
.product__02__inner__06 .method__detail {
  color: #3c3c3c;
  text-align: left;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .product__01__inner__04 .method__detail,
  .product__02__inner__06 .method__detail {
    font-size: 12px;
  }
}

.product__01__inner__04 .method__detail span {
  text-decoration: underline;
}

.product__02 .feature {
  gap: 20px !important;
}

.product__02 .feature__detail p {
  color: #3c3c3c;
  text-align: center;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.04em;
  font-weight: 400;
  position: relative;
}

@media screen and (max-width: 767px) {
  .product__02__inner__02,
  .product__02__inner__03,
  .product__02__inner__04,
  .product__02__inner__05,
  .product__02__inner__06 {
    width: 100%;
  }
}

.product__02__inner__02 .product__feature,
.product__02__inner__03 .product__feature,
.product__02__inner__04 .product__feature {
  padding: 55px 0 55px 0;
}
@media screen and (max-width: 767px) {
  .product__02__inner__02 .product__feature,
  .product__02__inner__03 .product__feature,
  .product__02__inner__04 .product__feature {
    padding: 35px 20px 35px 20px;
  }
}

.product__02__inner__05 .product__feature {
  padding: 50px 0 0 0;
}
@media screen and (max-width: 767px) {
  .product__02__inner__05 .product__feature {
    padding: 50px 20px 50px 20px;
    gap: 20px;
  }
}

.product__02__inner__06 .product__feature {
  padding: 60px 0 60px 0;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .product__02__inner__06 .product__feature {
    padding: 40px 20px 40px 20px;
  }
}

@media screen and (max-width: 767px) {
  .product__02__inner__05 .sp__feature__img {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 24px;
  }
}

.product__02__inner__05 .left-img {
  width: 90px;
  height: 90px;
  position: absolute;
  left: 278px;
  top: 29px;
  overflow: visible;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .product__02__inner__05 .left-img {
    position: relative;
    left: unset;
    top: unset;
  }
}

.product__02__inner__05 .right-img {
  width: 90px;
  height: 90px;
  position: absolute;
  left: 732px;
  top: 29px;
  overflow: visible;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .product__02__inner__05 .right-img {
    position: relative;
    left: unset;
    top: unset;
  }
}

.product__02__inner__06 {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .product__wrap.is-03 {
    justify-content: center;
  }
}

.product__picture__img img.is-03 {
  width: auto !important;
  height: 208px !important;
  padding-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .product__picture__img img.is-03 {
    height: 155px !important;
  }
}

@media screen and (max-width: 767px) {
  .is-03 .product__picture__img {
    height: 190px !important;
  }
}

.is-03 .btn__more a {
  width: 380px !important;
}
@media screen and (max-width: 767px) {
  .is-03 .btn__more a {
    width: 300px !important;
  }
}

@media screen and (max-width: 767px) {
  .is-03 .btn__more a::before {
    height: 50px !important;
  }
}

.annotation__frame {
  width: 100%;
  border-bottom: 1px solid #c8c8c8 !important;
  padding-top: 80px !important;
  padding-bottom: 70px !important;
}
@media screen and (max-width: 767px) {
  .annotation__frame {
    margin: 0 auto !important;
    padding: 40px 20px 90px 20px !important;
  }
}

.annotation {
  border-top: unset !important;
  max-width: 1060px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .annotation {
    padding: 0 !important;
  }
}

.annotation span {
  display: inline-block !important;
  padding-left: 1.1em !important;
  text-indent: -1.1em !important;
}

/* 2026.03.09 */
.product__description__sold-out {
  font-size: 13px;
  line-height: 1.4;
  color: #fca4cc;
  width: 340px;
  border-radius: 2px;
  background-color: white;
  padding: 6px 20px;
  box-sizing: border-box;
  margin-top: -20px;
  margin-bottom: 10px;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .product__description__sold-out {
    width: 100%;
    text-align: center;
    padding: 6px 0;
    margin: -10px auto 20px;
  }
}

.products.wideInner.cbox .product__description__sold-out {
  border: none;
  padding: 0;
}

.wisdom {
  background: #e2f2f3 !important;
}

/**20240313追加**/
.present0313 {
  width: 800px;
  margin: -60px auto 0 auto;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .present0313 {
    width: 100%;
  }
}

.present0313 h3 {
  text-align: center;
  padding-bottom: 20px;
  font-size: 20px;
  line-height: 25px;
  color: #0091c8;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .present0313 h3 {
    font-size: 18px;
  }
}

.present0313 h3 span {
  text-align: center;
  font-size: 13px;
  display: block;
  color: #000;
}

@media screen and (max-width: 767px) {
  .present0313 .present_boxwrap .present_box p.txt {
    text-align: justify;
  }
}

.present0313 .present_boxwrap {
  background: url("../images/present_bg.jpg");
  background-size: cover;
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .present0313 .present_boxwrap {
    padding: 35px;
    background: url("../images/present_sp_bg.jpg");
    background-size: cover;
  }
}

.present0313 .present_boxwrap .present_box {
  background: #fff;
  padding: 50px;
}
@media screen and (max-width: 767px) {
  .present0313 .present_boxwrap .present_box {
    padding: 20px;
  }
}

.present0313 .present_boxwrap .present_box img.ttl {
  text-align: center;
  width: 200px;
  margin: -20px auto 10px;
  display: block;
}
@media screen and (max-width: 767px) {
  .present0313 .present_boxwrap .present_box img.ttl {
    width: 130px;
  }
}

.present0313 .present_boxwrap .present_box p {
  width: 100%;
  margin: 0 auto;
  line-height: 1.7142857143;
  font-size: 14px;
  display: inline-block;
  text-align: center;
}

.inner_flex {
  display: flex;
  margin: 30px auto 0;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .inner_flex {
    flex-wrap: wrap;
  }
}

.inner_flex li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .inner_flex li {
    min-height: 300px;
    position: relative;
  }
}

.inner_flex01 li img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .inner_flex01 li img {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.present0313 .inner_flex li p {
  font-size: 13px !important;
}

.present0313 .inner_flex02 li p {
  font-size: 12px !important;
}

@media screen and (min-width: 768px) {
  .present0313 .inner_flex li p.over_txt {
    width: 120% !important;
    margin-left: -40px;
  }
}

.present0313 .present_boxwrap .present_box .inner_flex p {
  text-align: center;
}

.present0313 .product__annotation {
  margin-top: 20px !important;
  color: #878782 !important;
  text-align: left !important;
  font-size: 11px !important;
}
@media screen and (max-width: 767px) {
  .present0313 .product__annotation {
    width: 85%;
    margin: 15px auto;
  }
}

.present0313 .product__annotation a {
  color: #878782;
}

/***/
.present0313_02 {
  width: 1060px;
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .present0313_02 {
    width: 90%;
  }
}

.present0313_02_boxwrap {
  border: 1px solid #0091c8;
  padding: 50px 20px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .present0313_02_boxwrap {
    width: 100%;
  }
}

.present0313_02 .product__description__title {
  font-size: 15px;
}

.present0313_02 .product__description__name {
  font-size: 16px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .present0313_02 .product__description__name {
    line-height: 1.5em;
  }
}

.present0313_02 .product__description__price {
  font-size: 14px;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .present0313_02 .product__description__price {
    margin-top: 15px;
  }
}

.present0313_02 .txt_l {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .present0313_02 .txt_l {
    text-align: left;
  }
}

.present0313_02 .product__description__txt {
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .present0313_02 .product__description__txt {
    font-size: 13px;
  }
}

.present0313_02 .box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .present0313_02 .box {
    width: auto;
    overflow: hidden;
    text-align: center;
  }
}

.present0313_02 .box img {
  width: 65%;
  margin: 0 auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .present0313_02 .btn__more a {
    width: 100%;
  }
}

.present0313_02 .product__annotation {
  color: #878782;
  margin-top: 10px;
  text-align: left;
}

/***/
.present0313_03 {
  margin-top: 20px;
  padding-top: 60px;
}

.present0313_03 img.ttl {
  width: 50% !important;
}
@media screen and (max-width: 767px) {
  .present0313_03 img.ttl {
    width: 37% !important;
  }
}

.present0313_03 p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .present0313_03 p {
    text-align: justify;
  }
}

.present0313_03 ul li p {
  font-size: 13px !important;
  width: 100% !important;
  text-align: left !important;
}

.present0313_03 ul li span {
  font-size: 18px;
  margin-top: 15px;
  display: block;
  text-align: center;
}

.present0313_03 ul li b {
  font-size: 15px;
  padding: 5px 0;
}

.product__wrap.is-04 {
  border: 1px solid #41b28f !important;
  padding: 67px 0 54px;
  margin-top: 40px;
}
.wisdom__01, .wisdom__02, .fragrance {
  border-radius: 0px !important;
}

@media screen and (min-width: 768px) {
  .wisdom__02 {
    width: 1060px !important;
    justify-content: flex-start !important;
  }
}

.product__wrap.is-03.aroma {
  border: 1px solid #41B28F;
}

/*
voice
*/
.voice {
  width: 1060px;
  margin: 79px auto 0;
  padding: 40px 0 41px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .voice {
    width: 90.6666666667vw;
    margin: 9.6vw auto 0;
  }
}

.voice__title {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .voice__title {
    font-size: 4.8vw;
  }
}

@media screen and (min-width: 768px) {
  .voice__img {
    width: 1060px;
    margin-top: 35px;
  }
}
@media screen and (max-width: 767px) {
  .voice__img {
    margin-top: 7.4666666667vw;
  }
}

@media screen and (max-width: 767px) {
  .voice__img img {
    width: 90.6666666667vw !important;
  }
}

.wisdom__02__wrap__col__movie {
  width: 185px;
}
@media screen and (min-width: 768px) {
  .wisdom__02__wrap__col__movie {
    margin: 0 65px 0 225px;
  }
}
@media screen and (max-width: 767px) {
  .wisdom__02__wrap__col__movie {
    margin: 0 auto;
  }
}

.modal__movie__set span {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 177.78%;
  overflow: hidden;
}

.modal__movie__set span iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .modal__movie {
    max-width: 400px !important;
  }
}
@media screen and (max-width: 767px) {
  .modal__movie {
    max-width: 325px;
  }
}

/**20240528追記**/
.present0528 {
  border: 1px solid #0091c8;
  width: 1060px;
  margin: 60px auto 0;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .present0528 {
    width: 90%;
    padding: 0 20px 50px;
  }
}

.product__box {
  display: flex;
  width: 1060px;
  justify-content: center;
  align-items: baseline;
  margin: 80px auto 40px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .product__box {
    width: 90%;
    margin: 10.6666666667vw auto 5.33vw;
  }
}

.present0528 h2 {
  text-align: center;
  font-size: 24px;
  letter-spacing: 0.06em;
  color: #3c3c3c;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .present0528 h2 {
    font-size: 4.8vw;
    line-height: 1.4;
  }
}

.present0313_02 .m--closing-message {
  text-align: left;
}

.t_center {
  text-align: center;
  font-size: 15px;
  color: #3c3c3c;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .t_center {
    text-align: center;
    letter-spacing: -0.001em;
    margin: 0 auto;
    font-size: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .present0528 .product__box {
    width: 90%;
    margin: 10.6666666667vw auto 5.33vw;
  }
}

.present0528 .product__description {
  margin: 0 58px;
  width: auto;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #3c3c3c;
}
@media screen and (max-width: 767px) {
  .present0528 .product__description {
    margin-left: 0;
    margin-right: 0;
  }
}

.present0528 .product__description__name {
  font-size: 16px;
  text-align: center;
  line-height: 25px;
  letter-spacing: -1px;
}
@media screen and (max-width: 767px) {
  .present0528 .product__description__name {
    margin-top: 4vw;
    line-height: 1.2;
    margin-left: 0;
    margin-right: 0;
    line-height: 22px;
  }
}

.present0528 .product__description__price {
  text-align: center;
  margin-top: 15px;
  font-size: 15px;
  color: #3c3c3c;
}
@media screen and (max-width: 767px) {
  .present0528 .product__description__price {
    margin: 17px auto 15px;
    width: 90%;
  }
}

.present0528 .product__description__text {
  text-align: justify;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.5em;
  width: 340px;
  color: #3c3c3c;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .present0528 .product__description__text {
    width: auto;
    /*line-height: 1.6;
          font-size: 3.4666666667vw;*/
    margin: 20px auto 0;
    letter-spacing: -0.001em;
  }
}

.present0528 .product__description__text span {
  display: block;
}
@media screen and (max-width: 767px) {
  .present0528 .product__description__text span {
    text-align: center;
  }
}

.present0528 .product__picture__img img {
  width: 250px;
  margin: 20px auto 0;
  display: block;
}

.product__description_first .product__description__text {
  /*margin-bottom: 44px;*/
}
@media screen and (max-width: 767px) {
  .product__description_first .product__description__text {
    margin-bottom: auto;
  }
}

@media screen and (min-width: 768px) {
  .product__description_last {
    margin-top: 40px !important;
  }
}

.btn__more.gift a {
  position: relative;
}
.btn__more.gift a:before {
  display: inline-block;
  position: absolute;
  background: url("/contents/shared/images/icon_arrow_select_down.svg") no-repeat 50% 50%;
  /*background-size: 100% 100%;*/
  content: "";
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (min-width: 768px) {
  .btn__more.gift a:before {
    top: 37%;
    right: 6%;
    width: 25px;
    height: 13px;
  }
}
@media screen and (max-width: 767px) {
  .btn__more.gift a:before {
    top: 36%;
    right: 6%;
    width: 7vw;
    height: 4vw;
  }
}

.btn__more.gift a:hover:before {
  background: url("/contents/shared/images/icon_arrow_select_down_white.svg") no-repeat 50% 50%;
  /*background-size: 100% 100%;*/
}

.handybag_item .product__description__text {
  margin: 0 0 10px;
}

.handybag_item .product__description__more {
  margin: 0;
}

.link-wrap {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .link-wrap {
    margin: 5px 0 15px;
    width: 100%;
  }
}

.link-wrap .gift__item-link {
  border: 1px solid #C8C8C8;
  border-radius: 50px;
  font-size: 14px;
  text-decoration: none;
  display: grid;
  padding: 15px 20px;
  width: 325px;
  box-sizing: border-box;
  display: inline-block;
  color: #3c3c3c;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .link-wrap .gift__item-link {
    width: 82%;
  }
}

.link-wrap .gift__item-cart {
  border: 1px solid #C8C8C8;
  box-sizing: border-box;
  padding: 12px;
  display: grid;
}

.link-wrap .gift__item-cart svg {
  width: 21px;
  height: 21px;
}

.link-wrap .gift__item-cart:hover {
  background-color: #c8c8c8;
  transition: 0.5s;
}

.link-wrap .gift__item-cart:hover svg {
  fill: #fff;
}

.link-wrap .gift__item-link:before {
  content: "";
  display: block;
  width: 6px;
  height: 43px;
  background-image: url("../images/icon-arrow-gray.svg");
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-position: center;
  position: absolute;
  right: 26px;
  top: 0;
  -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;
}

.link-wrap .gift__item-link:hover {
  color: #fff;
  background-color: #c8c8c8;
  transition: 0.5s;
}

.link-wrap .gift__item-link:hover:before {
  background-image: url("../images/icon-arrow-white.svg");
  transition: 0.5s;
}

.set__description__text {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .set__description__text {
    margin: 0 auto;
    width: 95%;
  }
}

.set__description__text p, .set__description__text span {
  position: relative;
  text-align: justify;
  font-size: 14px;
  line-height: 1.5em;
  width: 340px;
  padding-left: 15px;
  color: #3c3c3c;
  font-family: "Noto Serif JP", serif;
  letter-spacing: -0.04em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .set__description__text p, .set__description__text span {
    width: 100%;
  }
}

.set__description__text p:before {
  content: "・";
  position: absolute;
  left: 0;
}

.set__text02 {
  margin-bottom: 41px;
}

/*250423 追加 anyタグ設置*/
.anygift-gift-ui__main-button {
  background: #60BEBD !important;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
  transition-duration: 0.3s;
  width: 100% !important;
  border-radius: 0 !important;
  font-size: 0.875rem !important;
  height: 50px !important;
}
.anygift-gift-ui__main-button:hover {
  background-color: #c8c8c8 !important;
  opacity: 1 !important;
}
@media screen and (max-width: 767px) {
  .anygift-gift-ui__main-button {
    height: 55px !important;
  }
}

.anygift-gift-ui__container {
  width: 100% !important;
}

/*anyギフトボタン下説明を消す*/
.product__box .anygift-gift-ui__about-button__wrapper .ag-outline-none {
  display: none;
}

/*eギフトとはだけ表示*/
.e-gift-msg {
  max-width: 870px;
  margin: 25px auto 0;
}

.e-gift-about {
  font-size: 11px;
  text-align: left;
  line-height: 1.5;
}

.none-btn .anygift-gift-ui__main-button {
  display: none;
}

.e-gift-msg .anygift-gift-ui__about-button__wrapper {
  text-align: left;
}
.e-gift-msg .anygift-gift-ui__about-button__wrapper button {
  padding: 0;
}

.anygift-gift-ui__about-button__wrapper img {
  width: 80px !important;
}
@media screen and (max-width: 767px) {
  .anygift-gift-ui__about-button__wrapper img {
    width: 80px !important;
  }
}

/*詳しくはこちらボタン*/
.deets-btn {
  text-align: left;
}

.deets-btn a {
  font-size: 13px;
  color: #3c3c3c;
  text-decoration: none;
  transition-duration: 0.3s;
}
.deets-btn a:hover {
  opacity: 0.5;
  text-decoration: underline;
}

.deets-btn a:after {
  display: inline-block;
  background: url("/gift_set/assets/images/icon-gift-btn-right.svg") no-repeat 0 0;
  content: "";
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 9px;
  height: 15px;
  margin-left: 10px;
  vertical-align: -3px;
}

.mb-20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .mb-20 {
    margin-bottom: 5vw;
  }
}

/*anyギフト　フロート移動*/
.anygift-floating-cart {
  left: 20px !important;
  z-index: 999;
}

.anygift-floating-cart .anygift-floating-cart__button__text {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
}

@media screen and (max-width: 767px) {
  .anygift-floating-cart {
    left: 2.5vw !important;
    bottom: 15vw !important;
  }
}
/*ギフトボタン*/
.txt__gift__btn {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 43px;
  max-width: 380px;
  /*margin-top: 50px;*/
}
@media screen and (max-width: 767px) {
  .txt__gift__btn {
    font-size: 3.7333333333vw;
    margin-top: 9vw;
    max-width: 100%;
  }
}

.product__description__more.gift {
  margin-top: 17px;
}
@media screen and (max-width: 767px) {
  .product__description__more.gift {
    margin-top: 4.2666666667vw;
  }
}