.content {
  margin-top: -21.3333vw;
}

@media (min-width: 768px) {
  .content {
    padding-top: 50.6667vw;
    margin-top: -60.6667vw;
  }
}
@media (min-width: 1440px) {
  .content {
    padding-top: 190px;
    margin-top: -190px;
  }
}



.top-section {
  width: 100%;
  padding-top: 10.6667vw;
  margin-bottom: -9.3333vw;
  position: relative;
  box-sizing: border-box;
}
.top-section::before {
  width: 100%;
  height: 10.6667vw;
  content: '\0020';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: ellipse(calc((520 / 375) * 100vw) calc((515 / 375) * 100vw) at 50% 1289%)
}
.top-section * {
  box-sizing: border-box;
}
.top-section__inner {
  padding-top: 8vw;
	/* padding-bottom: 52vw; */
	position: relative;
}
@media (min-width: 768px) {
  .top-section {
    padding-top: 10.4167vw;
    margin-top: -12.7778vw;
  }
  .top-section::before {
    height: 10.4167vw;
    clip-path: ellipse(calc((2000 / 1440) * 100vw) calc((2160 / 1440) * 100vw) at 50% 1440%);
  }
  .top-section__inner {
    padding: 0 1.3889vw 14.0278vw;
    padding-bottom: 9.7222vw;
  }
}
@media (min-width: 1440px) {
  .top-section {
    /* padding-top: 150px; */
    /* margin-top: -184px; */
  }
  .top-section__inner {
    padding: 0 0 140px;
  }
}


.top-section h2 {
  margin: 0 0 5.3333vw;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 7.4667vw;
  line-height: calc(36 / 28);
  font-weight: 800;
  letter-spacing: 0.02em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 6.1333vw;
  position: relative;
  z-index: 50;
}
.top-section h2 .en {
  width: 66.6667vw;
  height: 9.6vw;
  border-radius: calc(infinity * 1px);
  font-size: 5.0667vw;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-section h2 .icon {
  width: 26.6667vw;
  position: absolute;
  top: -25.6vw;
  left: 50%;
  transform: translateX(-50%);
}
.top-section h2 .icon img:not(.content-bg) {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .top-section h2 {
    margin-bottom: 2.7778vw;
    font-size: 3.3333vw;
    row-gap: 1.0417vw;
  }
  .top-section h2 .en {
    width: 12.2222vw;
    height: 2.7778vw;
    font-size: 1.3889vw;
  }
  .top-section h2 .icon {
    width: 12.5vw;
    top: -12.0139vw;
  }
}
@media (min-width: 1440px) {
  .top-section h2 {
    margin-bottom: 40px;
    font-size: 48px;
    row-gap: 24px;
  }
  .top-section h2 .en {
    width: 176px;
    height: 40px;
    font-size: 15px;
  }
  .top-section h2 .icon {
    width: 180px;
    top: -173px;
  }
}

.top-contents {
  padding-bottom: 28.0667vw;
}
@media (min-width: 768px) {
  .top-contents {
    padding-bottom: 7.7083vw;
  }
}
@media (min-width: 1440px) {
  .top-contents {
    padding-bottom: 111px;
  }
}

.top-contents .lead {
  margin-bottom: 6.9333vw;
  font-size: 4.2667vw;
  line-height: calc(28 / 16);
  text-align: center;
  position: relative;
  z-index: 100;
}
.top-contents .lead p {
  margin: 0;
}
@media (min-width: 768px) {
  .top-contents .lead {
    margin-bottom: 2.3611vw;
    font-size: 1.25vw;
    line-height: calc(36 / 18);
    letter-spacing: 0.05em;
  }
}
@media (min-width: 1440px) {
  .top-contents .lead {
    margin-bottom: 34px;
    font-size: 18px;
  }
}


.box {
  width: 91.4667vw;
  padding-top: 11.7333vw;
  margin: 0 auto;
  position: relative;
  z-index: 90;
}
.box::before {
  width: 66.6667vw;
  height: 66.6667vw;
  background-color: #fff;
  content: '\0020';
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
  transform: translateX(-50%);
  clip-path: ellipse(50% 50% at 50% 50%);
}
.box .button {
  width: 80vw;
}
@media (min-width: 768px) {
  .box {
    max-width: 1200px;
    width: 100%;
    padding-top: 4.8611vw;
    margin: 0 auto;
  }
  .box::before {
    width: 37.7778VW;
    height: 29.6528VW;
  }
  .box .button {
    width: 31.25vw;
  }
}
@media (min-width: 1440px) {
  .box {
    padding-top: 70px
  }
  .box::before {
    width: 544px;
    height: 427px;
    padding-top: 60px;
  }
  .box .button {
    width: 450px;
  }
}

.box__inner {
  padding: 7.4667vw 4.4667vw 10.6667vw;
  border-radius: 4vw;
  background-color: #fff;
  box-shadow: 4px 4px 0 rgb(0 0 0 / 1.0);
  position: relative;
  z-index: 50;
}
.box__inner::before {
  width: 100%;
  height: 100%;
  border-radius: 4vw;
  background-color: rgb(255 255 255 / 0.9);
  content: '\0020';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 768px) {
  .box__inner {
    padding: 2.9167vw;
    border-radius: 2.7778vw;
  }
  .box__inner::before {
    border-radius: 2.7778vw;
  }
}
@media (min-width: 1440px) {
  .box__inner {
    padding: 42px;
    border-radius: 40px;
  }
  .box__inner::before {
    border-radius: 40px;
  }
}

.box .grid {
  max-width: 1030px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 5.3333vw;
  position: relative;
  z-index: 100;
}
@media (min-width: 768px) {
  .box .grid {
    grid-template-columns: repeat(2, calc((500 / 1030) * 100%));
    column-gap: calc((30 / 1030) * 100%);
  }
}

.swiper {
  max-width: 1030px;
  width: 66.6667vw;
  margin: 0 auto;
}
.swiper .swiper-slide {
  margin: 0;
  display: flex;
  flex-direction: column;
}
@media not all and (min-width: 768px) {
  .swiper .swiper-slide {
    width: 66.6667vw !important;
  }
}
@media (min-width: 768px) {
  .swiper {
    width: 100%;
  }
  .swiper .swiper-wrapper {
    display: flex;
    /* column-gap: 2.0139vw; */
  }
  .swiper .swiper-slide {
    width: 22.5vw;
  }
}
@media (min-width: 1440px) {
  .swiper .swiper-wrapper {
    /* column-gap: 29px; */
  }
  .swiper .swiper-slide {
    width: 324px;
  }
}
.swiper .img:not(.no-radius) {
  border-radius: 2.6667vw;
  overflow: hidden;
}
.swiper .img {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
.swiper img:not(.content-bg) {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: top;
  position: relative;
}
@media (min-width: 768px) {
  .swiper .img:not(.no-radius) {
    border-radius: 0.6944vw;
  }
}
@media (min-width: 1440px) {
  .swiper .img:not(.no-radius) {
    border-radius: 10px;
  }
}
.swiper figcaption {
  padding-top: 5.3333vw;
  font-size: 4.2667vw;
  color: #763914;
  line-height: calc(26 / 16);
  font-weight: 500;
  flex-shrink: 0;
}
.swiper figcaption time {
  width: 26.6667vw;
  height: 6.9333vw;
  margin: 0;
  border-radius: 1.0667vw;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.7333vw;
  line-height: 1;
  font-weight: 800;
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper figcaption p {
  margin: 1.3333vw 0 0;
}
@media (min-width: 768px) {
  .swiper figcaption {
    padding-top: 1.4583vw;
    font-size: 1.1111vw;
  }
  .swiper figcaption time {
    width: 6.9444vw;
    height: 1.8056vw;
    border-radius: 0.2778vw;
    font-size: 0.9722vw;
  }
  .swiper figcaption p {
    margin-top: 0.5333vw;
  }
}
@media (min-width: 1440px) {
  .swiper figcaption {
    padding-top: 21px;
    font-size: 16px;
  }
  .swiper figcaption time {
    width: 100px;
    height: 26px;
    border-radius: 4px;
    font-size: 14px;
  }
  .swiper figcaption p {
    margin-top: 8px;
  }
}
.slider {
  max-width: 1030px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 100;
}
.slider .swiper-button-prev,
.slider .swiper-button-next {
  width: 12.8vw;
  height: 12.8vw;
  margin: 0;
}
.slider .swiper-button-prev {
  left: 1.3333vw;
}
.slider .swiper-button-next {
  right: 1.3333vw;
}
.slider .swiper-button-prev svg,
.slider .swiper-button-next svg {
  display: none;
}
@media (min-width: 768px) {
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: 4.1667vw;
    height: 4.1666vw;
  }
  .slider .swiper-button-prev {
    left: -2.0833vw;
  }
  .slider .swiper-button-next {
    right: -2.0833vw;
  }
  .calendar .slider .swiper-button-prev,
  .calendar .slider .swiper-button-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
@media (min-width: 1440px) {
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: 60px;
    height: 60px;
  }
  .slider .swiper-button-prev {
    left: -30px;
  }
  .slider .swiper-button-next {
    right: -30px;
  }
  .calendar .slider .swiper-button-prev,
  .calendar .slider .swiper-button-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}

.swiper-pagination {
  padding-bottom: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 5.3333vw;
  position: static;
}
.swiper-pagination-horizontal.swiper-pagination-bullets {
  margin-top: 6.1333vw;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  width: 3.7333vw;
  height: 3.7333vw;
  margin: 0;
  border: 1px solid #000;
  background-color: #fff;
  display: block;
}
@media (min-width: 768px) {
  .swiper-pagination {
    column-gap: 1.3889vw;
  }
  .swiper-pagination-horizontal.swiper-pagination-bullets {
    margin-top: 2.2222vw;
  }
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 1.1111vw;
    height: 1.1111vw;
  }
}
@media (min-width: 1440px) {
  .swiper-pagination {
    column-gap: 20px;
  }
  .swiper-pagination-horizontal.swiper-pagination-bullets {
    margin-top: 32px;
  }
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
  }
}

@keyframes bnr_zoom {
  50% {
    transform: scale(1.05);
  }
}

.image-link,
.movie-link,
.product-link {
  margin: 0;
  border-radius: 2.6667vw;
  overflow: hidden;
}
.image-link__link,
.movie-link__link,
.product-link__link {
  width: 100%;
  height: 100%;
  display: block;
}
.image-link__link:link,
.movie-link__link:link,
.product-link__link:link {
  text-decoration: none;
}
.product-link__link:link {
  color: #fff;
}
.image-link__link:visited,
.movie-link__link:visited,
.product-link__link:visited {
  text-decoration: none;
}
.product-link__link:visited {
  color: #fff;
}
.image-link__link:hover,
.movie-link__link:hover,
.product-link__link:hover {
  text-decoration: none;
}
.product-link__link:hover {
  color: #fff;
}
.image-link__link:focus,
.movie-link__link:focus,
.product-link__link:focus {
  text-decoration: none;
}
.product-link__link:focus {
  color: #fff;
}
.image-link__image,
.movie-link__image {
  overflow: hidden;
  position: relative;
}
.movie-link__image::after {
  width: 13.3333vw;
  background: url(../images/common/icon-play.svg) no-repeat 50% 50% / cover;
  content: '\0020';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 1;
}
.image-link img:not(.content-bg),
.movie-link img:not(.content-bg),
.product-link img:not(.content-bg) {
  width: 100%;
  height: auto;
  transition: unset;
  position: relative;
  vertical-align: top;
}
.image-link__caption,
.movie-link__caption,
.product-link__caption {
  width: 100%;
  height: 12.8vw;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.8vw;
  line-height: calc(22 / 17);
  font-weight: 800;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.movie-link__caption {
  height: 16vw;
}
.product-link__caption {
  background: #ffa121 url(../images/common/arrow-white.svg) no-repeat 96% 50% / 5.3333vw auto;
}
@media (min-width: 768px) {
  .image-link,
  .movie-link,
  .product-link {
    border-radius: 1.3889vw;
  }
  .movie-link__image::after {
    width: 4.8611vw;
  }
  .image-link__caption,
  .movie-link__caption,
  .product-link__caption {
    height: 5.5556vw;
    font-size: 1.5278vw;
  }
  .image-link__link:hover img:not(.content-bg),
  .movie-link__link:hover img:not(.content-bg),
  .product-link__link:hover img:not(.content-bg) {
    animation: bnr_zoom .3s;
  }
  .product-link__caption {
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .image-link,
  .movie-link,
  .product-link {
    border-radius: 20px;
  }
  .movie-link__image::after {
    width: 70px;
  }
  .image-link__caption,
  .movie-link__caption,
  .product-link__caption {
    height: 80px;
    font-size: 22px;
  }
  .product-link__caption {
    background-size: 30px auto;
  }
}

.banner {
  margin: 0;
}
.banner__link {
  width: 100%;
  height: 100%;
  display: block;
}
.banner__link:link {
  color: #763914;
  text-decoration: none;
}
.banner__link:visited {
  color: #763914;
  text-decoration: none;
}
.banner__link:hover {
  color: #763914;
  text-decoration: none;
}
.banner__link:focus {
  color: #763914;
  text-decoration: none;
}
.banner__link[target="_blank"] .banner__caption::after {
  width: 2.9333vw;
  height: 2.4vw;
  background: url(../images/common/icon-ext.svg) no-repeat 50% 50% / cover;
  content: '\0020';
  display: block;
}
@media (min-width: 768px) {
  .banner__link:hover .banner__image:not(.content-bg) {
    animation: bnr_zoom .3s;
  }
  .banner__link[target="_blank"] .banner__caption::after {
    width: 0.7639vw;
    height: 0.625vw;
  }
}
@media (min-width: 1440px) {
  .banner__link[target="_blank"] .banner__caption::after {
    width: 11px;
    height: 9px;
  }
}

img.banner__image:not(.content-bg) {
  width: 100%;
  position: relative;
  vertical-align: top;
}
.banner__caption {
  padding-top: 2.6667vw;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.7333vw;
  line-height: calc(26 / 14);
  font-weight: 500;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2.6667vw;
}
@media (min-width: 768px) {
  .banner__caption {
    padding-top: 0.8333vw;
    font-size: 1.1111vw;
    line-height: calc(26 / 16);
    column-gap: 0.6944vw;
  }
}
@media (min-width: 1440px) {
  .banner__caption {
    padding-top: 12px;
    font-size: 16px;
    column-gap: 10px;
  }
}



.line {
  height: 1px;
  margin: 5.3333vw auto;
  border: none;
  background: url(../images/top/bg-line.svg) repeat-x 0 100%;
  position: relative;
  z-index: 100;
}
@media (min-width: 768px) {
  .line {
    margin: 3.4722vw auto;
  }
}
@media (min-width: 1440px) {
  .line {
    margin: 50px auto;
  }
}

.pick-up {
  padding-top: 30.3vw;
  margin-bottom: -10.5vw;
  position: relative;
  overflow: hidden;
  background: #fff;
}

.pick-up__bg {
  position: absolute;
  top: -250vw;
  left: 0;
  width: 100%;
  height: calc(100% + 250vw);
  min-height: calc(100% + 250vw);
  background: #fff url(../images/top/bg-milky_sp.png) repeat-y 50% 0 / 100% auto;
  z-index: 0;
  will-change: transform;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
}

/* PCでピックアップ背景がメニューの上に来ないように */
@media (min-width: 768px) {
  .pick-up__bg {
    z-index: 0 !important; /* メニューより後ろに */
  }
}

.pick-up .top-section__inner {
  position: relative;
  z-index: 1;
}
.pick-up .top-contents {
  padding-bottom: 15.0667vw;
}
.pick-up__logo {
  margin: 0;
}
.pick-up__image {
  margin: 0;
}


@media (min-width: 768px) {
  .pick-up {
    padding-top: 50.6667vw;
    margin-top: -40vw;
    margin-bottom: 0;
  }
  .pick-up__bg {
    top: -300vw;
    height: calc(100% + 300vw);
    min-height: calc(100% + 300vw);
    background: #fff url(../images/top/bg-milky_pc.png) repeat-y 50% 0 / 100% auto;
  }
  .pick-up .top-contents {
    padding-bottom: 12.5vw;
  }
}
@media (min-width: 1440px) {
  .pick-up {
    padding-top: 190px;
    margin-top: -160px;
  }
  .pick-up__bg {
    top: -1200px;
    height: calc(100% + 1200px);
    min-height: calc(100% + 1200px);
  }
  .pick-up .top-contents {
    padding-bottom: 180px;
  }
}
@media (min-width: 768px) {
  .pick-up .top-contents {
    padding-bottom: 0;
  }
  .pick-up .top-section__inner {
    padding-bottom: 12.5vw;
  }
}
@media (min-width: 1440px) {
  .pick-up .top-section__inner {
    padding-bottom: 180px;
  }
}

.pick-up h2 {
  color: #f282b7;
}
.pick-up h2 .en {
  background-color: #F282B7;
  color: #fff;
}
.pick-up .box {
  padding-bottom: 9.6vw;
}
.pick-up .box__inner {
  box-shadow: 4px 4px 0 rgb(255 184 210 / 1.0);
  background: #fff url(../images/common/bg-pick-up_sp.png) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .pick-up .box {
    padding-bottom: 7.7083vw;
  }
  .pick-up .box__inner {
    padding-bottom: 4.6528vw;
    background: #fff url(../images/common/bg-pick-up.png) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .pick-up .box {
    /* padding-bottom: 111px; */
  }
  .pick-up .box__inner {
    padding-bottom: 67px;
  }
}
.pick-up .swiper a {
  text-decoration: none;
}
.pick-up .swiper figcaption time {
  background-color: #ffb8d2;
  color: #fff;
}
.pick-up .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  border-color: #f282b7;
  opacity: 1;
}
.pick-up .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #f282b7;
}
.pick-up .swiper-button-prev,
.pick-up .swiper-button-next {
  position: absolute;
  margin-top: 0;
  width: 12.8vw;
  height: 12.8vw;
  z-index: 10;
  top: 30%;
  transform: translateY(-50%) !important;
  transition: opacity 0.3s;
}
.pick-up .swiper-button-prev {
  left: 1.3333vw;
  background: url(../images/common/prev-pink.png) no-repeat 50% 50% / cover;
}
.pick-up .swiper-button-next {
  right: 1.3333vw;
  background: url(../images/common/next-pink.png) no-repeat 50% 50% / cover;
}
@media (min-width: 768px) {
  .pick-up .swiper-button-prev,
  .pick-up .swiper-button-next {
    width: 4.1667vw;
    height: 4.1667vw;
    top: 30%;
    transform: translateY(-50%) !important;
    display: flex !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }
  .pick-up .swiper-button-prev.swiper-button-disabled,
  .pick-up .swiper-button-next.swiper-button-disabled {
    pointer-events: auto !important;
  }
  .pick-up .swiper-button-prev {
    left: -2.0833vw;
  }
  .pick-up .swiper-button-next {
    right: -2.0833vw;
  }
}
@media not all and (min-width: 768px) {
  .pick-up .swiper-button-prev.swiper-button-disabled,
  .pick-up .swiper-button-next.swiper-button-disabled {
    pointer-events: auto !important;
  }
}
@media (min-width: 1440px) {
  .pick-up .swiper-button-prev,
  .pick-up .swiper-button-next {
    width: 60px;
    height: 60px;
    top: 30%;
    transform: translateY(-50%) !important;
  }
  .pick-up .swiper-button-prev {
    left: -30px;
  }
  .pick-up .swiper-button-next {
    right: -30px;
  }
}
.pick-up-character {
  width: 46.6667vw;
  margin: 0;
  position: absolute;
  top: -26.9139vw;
  left: -12vw;
  z-index: 1;
}
/* SPで.content内の.pick-up-characterを配置 */
@media not all and (min-width: 768px) {
	.content .pick-up-character.content-float {
		position: absolute !important;
		top: 70px !important;
		left: 30% !important;
		width: 34.6667vw !important;
		z-index: 100 !important;
		margin: 0 !important;
		display: block !important;
		visibility: visible !important;
	}
	.content .pick-up-character.content-float img:not(.content-bg) {
		width: 100% !important;
		position: static !important;
	}
	.content .pick-up-character.content-float.zoom-in {
		opacity: 1 !important;
		transform: scale(1.4) !important;
	}
	/* SPでは.pick-upセクション内の.pick-up-characterを非表示 */
	.pick-up .pick-up-character:not(.content-float) {
		display: none !important;
		visibility: hidden !important;
	}
}
/* PCでは.content内の.pick-up-characterを非表示にして、.pick-upセクション内の元の位置に表示 */
@media (min-width: 768px) {
	.content .pick-up-character.content-float {
		display: none !important;
		visibility: hidden !important;
	}
	/* .pick-upセクション内の.pick-up-characterは元の位置に表示 */
	.pick-up .pick-up-character:not(.content-float) {
		display: block !important;
		visibility: visible !important;
	}
}
.pick-up-character img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .pick-up-character {
    width: 26.8472vw;
    top: -10.5556vw;
    left: -7.6667vw;
  }
}
@media (min-width: 1440px) {
  .pick-up-character {
    width: 401px;
    top: -152px;
    left: -168px;
  }
}
.pick-up .ame1:not(.content-bg) {
  position: absolute;
  top: auto;
  bottom: -9.2vw;
  left: 51.3vw;
  z-index: 100;
}
/* SPで.pick-up .content-float.ame1を右に移動して小さく */
@media not all and (min-width: 768px) {
	.pick-up .content-float.ame1,
	.content .pick-up .content-float.ame1,
	.content section.pick-up img.content-float.ame1:not(.content-bg),
	.content img.content-float.ame1:not(.content-bg) {
		left: auto !important;
		right: 5vw !important;
		bottom: -1.2vw !important;
		top: auto !important;
		position: absolute !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 15vw !important;
		z-index: 1 !important;
    display: none !important;
	}
}
.pick-up .ame2:not(.content-bg) {
  display: none;
  z-index: 100;
}
/* SPで.pick-upセクション内の.content-float.ame2を非表示 */
@media not all and (min-width: 768px) {
	.pick-up .content-float.ame2,
	.content .pick-up .content-float.ame2 {
		display: none !important;
		visibility: hidden !important;
	}
}
.pick-up .milky1:not(.content-bg) {
  width: 34.6667vw;
  position: absolute;
  top: 17.3vw;
  left: 48.8667vw;
  z-index: 100;
}
.pick-up .milky2:not(.content-bg) {
  display: none;
}
@media (min-width: 768px) {
  .pick-up .ame1:not(.content-bg) {
    display: none;
  }
  .pick-up .ame2:not(.content-bg) {
    width: 11.8056vw;
    top: auto;
    bottom: 8.2639vw;
    left: 69.2361vw;
    display: none;
  }
  .pick-up .milky1:not(.content-bg) {
    display: none;
  }
  .pick-up .milky2:not(.content-bg) {
    width: 10.2778vw;
    top: 48.486vw;
    left: 54.5833vw;
    z-index: 100;
    display: block;
  }
}
@media (min-width: 1440px) {
  .pick-up .ame2:not(.content-bg) {
    width: 170px;
    bottom: 119px;
    /* left: 997px */
  }
  .pick-up .milky2:not(.content-bg) {
    width: 200px;
    top: 151px;
    /* left: 786px */
  }
}

.calendar {
  margin-bottom: -8.9vw;
}
.calendar.top-section::before {
  background: #e9f7fd url(../images/common/bg-stripe_sp.png) repeat-x 50% 0 / 100% auto;
}
.calendar .top-section__inner {
	background: #e9f7fd url(../images/common/bg-stripe_sp.png) repeat 50% 0 / 100% auto;
	position: relative;
}
@media (min-width: 768px) {
  .calendar .top-contents {
    padding-bottom: 0;
  }
  .calendar.top-section::before {
    background: #e9f7fd url(../images/common/bg-stripe_pc.png) repeat-x 50% 0 / 100% auto;
  }
  .calendar .top-section__inner {
    padding-bottom: 12.5vw;
    background: #e9f7fd url(../images/common/bg-stripe_pc.png) repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .calendar .top-section__inner {
    padding-bottom: 180px;
  }
}
.calendar h2 {
  color: #00adec;
}
.calendar h2 .en {
  background-color: #73cdf4;
  color: #fff;
}
/* SPで.calendar h2 .iconを非表示 */
@media not all and (min-width: 768px) {
	.calendar h2 .icon {
		display: none !important;
		visibility: hidden !important;
	}
}
.calendar .box__inner {
  box-shadow: 5px 5px 0 rgb(125 205 244 / 1.0);
  background: #fff url(../images/common/bg-calendar_sp.png) no-repeat 50% 0 / 100% auto;
}
.calendar .swiper figcaption time {
  background-color: #73cdf4;
  color: #fff;
}
.calendar .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  border-color: #5cb9f7;
  opacity: 1;
}
.calendar .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #5cb9f7;
}
.calendar .swiper-button-prev,
.calendar .swiper-button-next,
.calendar .swiper-calendar-button-prev,
.calendar .swiper-calendar-button-next {
  top: 50.28vw;
}
.calendar .swiper-button-prev,
.calendar .swiper-calendar-button-prev {
  background: url(../images/common/prev-blue.png) no-repeat 50% 50% / cover;
}
.calendar .swiper-button-next,
.calendar .swiper-calendar-button-next {
  background: url(../images/common/next-blue.png) no-repeat 50% 50% / cover;
}
@media (min-width: 768px) {
  .calendar .box {
    margin-bottom: 7.7083vw;
  }
  .calendar .box__inner {
    padding-bottom: 4.375vw;
    background: #fff url(../images/common/bg-calendar.png) no-repeat 50% 0 / 100% auto;
  }
  .calendar .slider {
    display: flex;
    align-items: center;
  }
  .calendar .swiper-button-prev,
  .calendar .swiper-button-next,
  .calendar .swiper-calendar-button-prev,
  .calendar .swiper-calendar-button-next {
    top: 50%;
    transform: translateY(-50%) !important;
  }
}
@media (min-width: 1440px) {
  .calendar .box {
    /* margin-bottom: 111px; */
  }
  .calendar .box__inner {
    padding-bottom: 63px;
  }
  .calendar .slider {
    display: flex;
    align-items: center;
  }
  .calendar .swiper-button-prev,
  .calendar .swiper-button-next,
  .calendar .swiper-calendar-button-prev,
  .calendar .swiper-calendar-button-next {
    top: 50%;
    transform: translateY(-50%) !important;
  }
}
.calendar .box .button {
  margin-top: 5.8667vw;
  border-color: #b8e6f9;
  box-shadow: 0 5px 0 rgb(115 205 244 / 0.5);
}
.calendar .box .button:hover {
  transform:translateY(5px);
  box-shadow: 0 0 0 rgb(115 205 244 / 0.5);
}
.calendar .box .button__link {
  background: #fff url(../images/common/arrow-blue.svg) no-repeat 96% 50% / 5.3333vw auto;
}
.calendar .box .button__link:link {
  color: #00adec;
}
.calendar .box .button__link:visited {
  color: #00adec;
}
.calendar .box .button__link:hover {
  color: #00adec;
}
.calendar .box .button__link:focus {
  color: #00adec;
}
@media (min-width: 768px) {
  .calendar .box .button {
    margin-top: 2.2222vw;
  }
  .calendar .box .button__link {
    background-position: 94.5%;
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .calendar .box .button {
    margin-top: 32px;
  }
  .calendar .box .button__link {
    background-size: 30px auto;
  }
}
.calendar-character {
  width: 46.6667vw;
  margin: 0;
  position: absolute;
  top: -10.9139vw;
  left: 56.8667vw;
  z-index: 100;
}
/* SPで.calendar-characterを真ん中に配置 */
@media not all and (min-width: 768px) {
	.calendar .calendar-character {
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
}
.calendar-character img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .calendar-character {
    width: 23.1944vw;
    top: -6.5278vw;
    left: 74.3333vw;
  }
}
@media (min-width: 1440px) {
  .calendar-character {
    width: 334px;
    top: -94px;
    left: 892px;
  }
}


.calendar .ame:not(.content-bg) {
  position: absolute;
  display: none;
  z-index: 100;
  animation: contentFloat1 3.6s ease-in-out infinite;
}
/* SPで.calendar .ame.content-floatを非表示 */
@media not all and (min-width: 768px) {
	.calendar .ame.content-float:not(.content-bg),
	.calendar img.ame.content-float:not(.content-bg),
	.calendar .content-float.ame,
	.calendar img.content-float.ame,
	.content .calendar .content-float.ame,
	.content section.calendar img.content-float.ame:not(.content-bg) {
		/* display: none !important;
		visibility: hidden !important;
		opacity: 0 !important; */
	}
}
/* SPで.calendar .content-float.ameを右に配置 */
@media not all and (min-width: 768px) {
	.calendar img.content-float.ame,
	.calendar .content-float.ame,
	.calendar img.ame.content-float,
	.content .calendar img.content-float.ame,
	.content .calendar .content-float.ame,
	.content img.calendar.content-float.ame,
	.content .calendar img.ame.content-float {
		position: absolute !important;
		display: block !important;
		right: auto !important;
		left: 80vw !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 34.6667vw !important;
		z-index: 100 !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	/* .content img:not(.content-bg)のルールを上書き */
	.content .calendar img.content-float.ame:not(.content-bg) {
		/* width: 34.6667vw !important; */
    width: 14.6667vw !important;
		left: 80vw !important;
		/* top: 50% !important; */
    top: 0 !important;
		transform: translateY(-50%) !important;
	}
}
.calendar .star:not(.content-bg) {
  width: 19.2vw;
  position: absolute;
  top: -1.7vw;
  left: 9.867vw;
  z-index: 100;
  animation: contentFloat1 3s ease-in-out infinite;
}
/* SPで.calendar .starを小さく（元の半分より少し大きく） */
@media not all and (min-width: 768px) {
	.calendar .star:not(.content-bg),
	.calendar img.star:not(.content-bg) {
		width: 12vw !important;
	}
}
.calendar .milky1:not(.content-bg) {
  width: 30.4vw;
  position: absolute;
  top: 190.4vw;
  right: -22.4667vw;
  left: auto;
  z-index: 100;
}
/* SPで.calendar .content-float.milky1を非表示 */
@media not all and (min-width: 768px) {
	.calendar .content-float.milky1,
	.calendar img.content-float.milky1,
	.content .calendar .content-float.milky1,
	.content section.calendar img.content-float.milky1:not(.content-bg) {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
}
.calendar .milky2:not(.content-bg) {
  width: 28.8vw;
  position: absolute;
  top: 36.8vw;
  left: -5.3333vw;
  z-index: 100;
}
/* SPで.calendar .content-float.milky2をもう少し上に、小さく（元の半分より少し大きく） */
@media not all and (min-width: 768px) {
	.calendar img.content-float.milky2,
	.calendar .content-float.milky2 {
		top: 20vw !important;
		position: absolute !important;
		width: 18vw !important;
	}
}
@media (min-width: 768px) {
  .calendar .ame:not(.content-bg) {
    width: 11.8056vw;
    top: -2.5vw;
    left: calc(50% - 38.1944vw);
    display: block;
  }
  .calendar .star:not(.content-bg) {
    width: 6.9444vw;
    top: -1.3889vw;
    left: calc(50% + 21.25vw);
  }
  .calendar .milky1:not(.content-bg) {
    width: 16.4583vw;
    top: 29.8611vw;
    left: calc(50%  + 46.5278vw);
  }
  .calendar .milky2:not(.content-bg) {
    width: 11.5972vw;
    top: 22.8472vw;
    left: calc(50% - 48.6111vw);
  }
}
@media (min-width: 1440px) {
  .calendar .ame:not(.content-bg) {
    width: 170px;
    top: -36px;
    left: calc(50% - 550px);
  }
  .calendar .star:not(.content-bg) {
    width: 100px;
    top: -20px;
    left: calc(50% + 306px);
  }
  .calendar .milky1:not(.content-bg) {
    width: 237px;
    top: 430px;
    left: calc(50%  + 670px);
  }
  .calendar .milky2:not(.content-bg) {
    width: 167px;
    top: 329px;
    left: calc(50% - 700px);
  }
}


.goods {
  margin-bottom: -9.9vw;
}
.goods.top-section::before {
  background: #ffe2ec url(../images/common/bg-stripe_sp.png) repeat-x 50% 0 / 100% auto;
}
.goods .top-section__inner {
	background: #ffe2ec url(../images/common/bg-stripe_sp.png) repeat 50% 0 / 100% auto;
	position: relative;
}
@media (min-width: 768px) {
  .goods .top-contents {
    padding-bottom: 0;
  }
  .goods.top-section::before {
    background: #ffe2ec url(../images/common/bg-stripe_pc.png) repeat-x 50% 0 / 100% auto;
  }
  .goods .top-section__inner {
    padding-bottom: 12.5vw;
    background: #ffe2ec url(../images/common/bg-stripe_pc.png) repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .goods .top-section__inner {
    padding-bottom: 180px;
  }
}
.goods h2 {
  color: #f282b7;
  row-gap: 4vw;
}
/* SPで.goods h2 .iconを非表示 */
@media not all and (min-width: 768px) {
	.goods h2 .icon {
		display: none !important;
		visibility: hidden !important;
	}
}
.goods h2 .en {
  background-color: #ffb8d2;
  color: #fff;
}
.goods .box__inner {
  box-shadow: 5px 5px 0 rgb(255 184 210 / 1.0);
  background: #fff url(../images/common/bg-goods_sp.png) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .goods h2 {
    row-gap: 1.8056vw;
  }
  .goods .box {
    margin-bottom: 7.7083vw;
  }
  .goods .box__inner {
    background: #fff url(../images/common/bg-goods.png) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .goods h2 {
    row-gap: 26px;
  }
}

.goods .box .button {
  margin-top: 8vw;
  border-color: #fbc7da;
  box-shadow: 0 5px 0 rgb(251 199 218 / 0.5);
}
.goods .box .button:hover {
  transform:translateY(5px);
  box-shadow: 0 0 0 rgb(251 199 218 / 0.5);
}
.goods .box .button__link {
  background: #fff url(../images/common/arrow-pink.svg) no-repeat 96% 50% / 5.3333vw auto;
}
.goods .box .button__link:link {
  color: #f88fb6;
}
.goods .box .button__link:visited {
  color: #f88fb6;
}
.goods .box .button__link:hover {
  color: #f88fb6;
}
.goods .box .button__link:focus {
  color: #f88fb6;
}
@media (min-width: 768px) {
  .goods .box .button {
    margin-top: 3.4722vw;
  }
  .goods .box .button__link {
    background-position: 94.5%;
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .goods .box .button {
    margin-top: 50px;
  }
  .goods .box .button__link {
    background-size: 30px auto;
  }
}

.goods .image-link__link:link {
  color: #fff;
}
.goods .image-link__link:visited {
  color: #fff;
}
.goods .image-link__link:hover {
  color: #fff;
}
.goods .image-link__link:focus {
  color: #fff;
}
.goods .image-link__caption {
  background: #f88fb6 url(../images/common/arrow-white.svg) no-repeat 96% 50% / 5.3333vw auto;
}
@media (min-width: 768px) {
  .goods .image-link__caption {
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .goods .image-link__caption {
    background-size: 30px auto;
  }
}
.goods-character1 {
  width: 34.9333vw;
  margin: 0;
  position: absolute;
  top: 4.086vw;
  left: 1.0667vw;
  z-index: 100;
}
@media not all and (min-width: 768px) {
	.goods .goods-character1 {
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 52.4vw !important;
		top: -10vw !important;
	}
}
.goods-character2 {
  width: 31.2vw;
  margin: 0;
  position: absolute;
  top: 8.6vw;
  right: 0;
  z-index: 100;
}
/* SPで.goods-character2を一回り小さく、右に配置 */
@media not all and (min-width: 768px) {
	.goods .goods-character2 {
		width: 23.4vw !important;
		right: 5vw !important;
		left: auto !important;
		top: 12vw !important;
	}
}
.goods-character1 img:not(.content-bg),
.goods-character2 img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .goods-character1 {
    width: 30.3334vw;
    top: 5.4861vw;
    left: calc(50% - 51vw);
  }
  .goods-character2 {
    width: 17.875vw;
    top: 10.625vw;
    left: calc(50% + 27.8333vw);
  }
}
@media (min-width: 1440px) {
  .goods-character1 {
    width: 437px;
    top: 79px;
    left: calc(50% - 620px);
  }
  .goods-character2 {
    width: 257px;
    top: 153px;
    left: calc(50% + 300px);
  }
}
.goods .content-float.star {
  width: 15.0667vw;
  top: -9vw;
  left: 37.1vw;
  z-index: 100;
  animation: contentFloat3 3.7s ease-in-out infinite;
}
/* SPで.goods .content-float.starを一回り小さく、左に移動 */
@media not all and (min-width: 768px) {
	.goods .content-float.star,
	.goods img.content-float.star:not(.content-bg) {
		width: 11.3vw !important;
		left: 10vw !important;
	}
}
.goods .content-float.milky {
  width: 37.67vw;
  top: 255vw;
  right: -29.733vw;
  z-index: 100;
  animation: contentFloat5 3.3s ease-in-out infinite;
}
.goods .content-float.ame {
  width: 31.067vw;
  top: -25vw;
  right: 4.9vw;
  z-index: 100;
  animation: contentFloat4 3.8s ease-in-out infinite;
}
@media not all and (min-width: 768px) {
	.goods .content-float.ame,
	.goods img.content-float.ame:not(.content-bg) {
		width: 23.3vw !important;
	}
}
@media (min-width: 768px) {
  .goods .content-float.star {
    width: 7.1528vw;
    top: -3.75vw;
    left: calc(50% - 10.625vw);
    display: block;
  }
  .goods .content-float.milky {
    width: 21.5278vw;
    top: 68.0556vw;
    left: calc(50% + 31.1111vw);
  }
  .goods .content-float.ame {
    width: 16.8056vw;
    top: -5.6944vw;
    right: calc(50% - 43.3333vw);
    left: auto;
  }
}
@media (min-width: 1440px) {
  .goods .content-float.star {
    width: 103px;
    top: -54px;
    left: calc(50% - 153px);
  }
  .goods .content-float.milky {
    width: 310px;
    top: 980px;
    left: calc(50% + 448px);
  }
  .goods .content-float.ame {
    width: 242px;
    top: -82px;
    right: calc(50% - 624px);
  }
}



.cm-gallery.top-section::before {
  background: #edfadf url(../images/common/bg-stripe_sp.png) repeat-x 50% 0 / 100% auto;
}
.cm-gallery .top-section__inner {
	background: #edfadf url(../images/common/bg-stripe_sp.png) repeat 50% 0 / 100% auto;
}
.cm-gallery .top-contents {
  padding-bottom: 26vw;
}
@media (min-width: 768px) {
  .cm-gallery.top-section::before {
    background: #edfadf url(../images/common/bg-stripe_pc.png) repeat-x 50% 0 / 100% auto;
  }
  .cm-gallery .top-section__inner {
    padding-bottom: 12.5vw;
    background: #edfadf url(../images/common/bg-stripe_pc.png) repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .cm-gallery .top-section__inner {
    padding-bottom: 180px;
  }
}
.cm-gallery h2 {
  color: #66bf4f;
}
/* SPで.cm-gallery h2 .iconを非表示 */
@media not all and (min-width: 768px) {
	.cm-gallery h2 .icon {
		display: none !important;
		visibility: hidden !important;
	}
}
.cm-gallery h2 .en {
  background-color: #bbe982;
  color: #fff;
}
.cm-gallery .box__inner {
  box-shadow: 5px 5px 0 rgb(187 233 130 / 1.0);
  background: #fff url(../images/common/bg-cm-gallery_sp.png) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .cm-gallery .top-contents {
    padding-bottom: 0;
  }
  .cm-gallery .box {
    margin-bottom: 7.7083vw;
  }
  .cm-gallery .box__inner {
    background: #fff url(../images/common/bg-cm-gallery.png) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .cm-gallery .box {
    /* margin-bottom: 111px; */
  }
}
.cm-gallery .box .button {
  margin-top: 8vw;
  border-color: #bbe982;
  box-shadow: 0 5px 0 rgb(187 233 130 / 0.5);
}
.cm-gallery .box .button:hover {
  transform:translateY(5px);
  box-shadow: 0 0 0 rgb(187 233 130 / 0.5);
}
.cm-gallery .box .button__link {
  background: #fff url(../images/common/arrow-green.svg) no-repeat 96% 50% / 5.3333vw auto;
}
.cm-gallery .box .button__link:link {
  color: #66bf4f;
}
.cm-gallery .box .button__link:visited {
  color: #66bf4f;
}
.cm-gallery .box .button__link:hover {
  color: #66bf4f;
}
.cm-gallery .box .button__link:focus {
  color: #66bf4f;
}
@media (min-width: 768px) {
  .cm-gallery .box .button {
    margin-top: 3.4722vw;
  }
  .cm-gallery .box .button__link {
    background-position: 94.5%;
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .cm-gallery .box .button {
    margin-top: 50px;
  }
  .cm-gallery .box .button__link {
    background-size: 30px auto;
  }
}
.cm-gallery .movie-link__link:link {
  color: #fff;
}
.cm-gallery .movie-link__link:visited {
  color: #fff;
}
.cm-gallery .movie-link__link:hover {
  color: #fff;
}
.cm-gallery .movie-link__link:focus {
  color: #fff;
}
.cm-gallery .movie-link__caption {
  background-color: #66bf4f;
}
.cm-gallery-character1 {
  width: 40vw;
  margin: 0;
  position: absolute;
  top: 3.467vw;
  right: -1.933vw;
  z-index: 100;
}
/* SPで.cm-gallery-character1を真ん中に配置、.goods-character1と同じサイズに、もっと上に */
@media not all and (min-width: 768px) {
	.cm-gallery .cm-gallery-character1 {
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: 52.4vw !important;
		top: -10vw !important;
	}
}
.cm-gallery-character1 img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .cm-gallery-character1 {
    width: 29.4306vw;
    top: 3.75vw;
    right: auto;
    left: calc(50% + 20.125vw);
  }
}
@media (min-width: 1440px) {
  .cm-gallery-character1 {
    width: 424px;
    top: 54px;
    left: calc(50% + 189px);
  }
}
.cm-gallery .content-float.star1 {
  width: 14.0667vw;
  top: -7vw;
  left: 29.1vw;
  z-index: 100;
  animation: contentFloat5 3.3s ease-in-out infinite
}
.cm-gallery .content-float.star2 {
  display: none;
  animation: contentFloat3 3.7s ease-in-out infinite
}
.cm-gallery .content-float.milky {
  width: 28.67vw;
  top: 265vw;
  left: 3.9vw;
  z-index: 100;
  animation: contentFloat2 3.5s ease-in-out infinite;
}
.cm-gallery .content-float.ame {
  width: 38.067vw;
  top: -13vw;
  left: -12.9vw;
  z-index: 100;
  animation: contentFloat1 3s ease-in-out infinite;
}
/* SPで.cm-gallery .content-float.ameをもう少し小さくして少し下に配置、もう少し右に */
@media not all and (min-width: 768px) {
	.cm-gallery .content-float.ame,
	.cm-gallery img.content-float.ame:not(.content-bg) {
		width: 28.55vw !important;
		top: -5vw !important;
		left: -8vw !important;
	}
	/* SPで.cm-gallery .content-float.star1をもう少し上に、一回り小さく */
	.cm-gallery .content-float.star1,
	.cm-gallery img.content-float.star1:not(.content-bg) {
		width: 11vw !important;
		top: -10vw !important;
	}
}
@media (min-width: 768px) {
  .cm-gallery .content-float.star1 {
    display: none;
  }
  .cm-gallery .content-float.star2 {
    width: 7.1528vw;
    top: -1.875vw;
    left: calc(50% - 22.3611vw);
    display: block;
  }
  .cm-gallery .content-float.milky {
    width: 12.5vw;
    top: 75.625vw;
    left: calc(50% - 46.5278vw);
  }
  .cm-gallery .content-float.ame {
    width: 21.6667vw;
    top: 6.9444vw;
    left: calc(50% - 42.5vw);
  }
}
@media (min-width: 1440px) {
  .cm-gallery .content-float.star2 {
    width: 103px;
    top: -27px;
    left: calc(50% - 322px);
  }
  .cm-gallery .content-float.milky {
    width: 180px;
    top: 1089px;
    left: calc(50% - 670px);
  }
  .cm-gallery .content-float.ame {
    width: 312px;
    top: 100px;
    left: calc(50% - 612px);
  }
}


.product.top-section::before {
  background: #fff1b2 url(../images/common/bg-stripe_sp.png) repeat-x 50% 0 / 100% auto;
}
.product .top-section__inner {
	background: #fff1b2 url(../images/common/bg-stripe_sp.png) repeat-y 50% 0 / 100% auto;
	min-height: 100%;
}
.product .top-contents {
  padding-bottom: 23vw;
}
@media (min-width: 768px) {
  .product.top-section::before {
    background: #fff1b2 url(../images/common/bg-stripe_pc.png) repeat-x 50% 0 / 100% auto;
  }
  .product .top-section__inner {
    padding-bottom: 12.5vw;
    background: #fff1b2 url(../images/common/bg-stripe_pc.png) repeat-y 50% 0 / 100% auto;
    min-height: 100%;
  }
}
@media (min-width: 1440px) {
  .product .top-section__inner {
    padding-bottom: 180px;
  }
}
.product h2 {
  color: #fe9302;
}
/* SPで.product h2 .iconを非表示 */
@media not all and (min-width: 768px) {
	.product h2 .icon {
		display: none !important;
	}
}
.product h2 .en {
  background-color: #ffbc60;
  color: #fff;
}
.product .box__inner {
  box-shadow: 5px 5px 0 rgb(255 188 96 / 1.0);
  background: #fff url(../images/common/bg-product_sp.png) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .product .top-contents {
    padding-bottom: 0;
  }
  .product .box {
    margin-bottom: 7.7083vw;
  }
  .product .box__inner {
    background: #fff url(../images/common/bg-product.png) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .product .box {
    /* margin-bottom: 111px; */
  }
}

.product .box .grid {
  row-gap: 8vw;
}
.product .box hr + .grid {
  row-gap: 4.2667vw;
}
.product .box .button {
  border-color: #ffbc60;
  box-shadow: 0 5px 0 rgb(255 188 96 / 0.5);
}
.product .box .button:hover {
  transform:translateY(5px);
  box-shadow: 0 0 0 rgb(255 188 96 / 0.5);
}
.product .box .button__link {
  background: #fff url(../images/common/arrow-orange.svg) no-repeat 96% 50% / 5.3333vw auto;
}
.product .box .button__link:link {
  color: #ffa121;
}
.product .box .button__link:visited {
  color: #ffa121;
}
.product .box .button__link:hover {
  color: #ffa121;
}
.product .box .button__link:focus {
  color: #ffa121;
}
@media (min-width: 768px) {
  .product .box .button__link {
    background-position: 94.5%;
    background-size: 2.0833vw auto;
  }
}
@media (min-width: 1440px) {
  .product .box .button__link {
    background-size: 30px auto;
  }
}
.product-link__link {
  padding-top: 9.3333vw;
  background-color: #fffae2;
}
.product-link__logo {
  width: 39.4667vw;
  margin: 0 auto 3.2vw;
}
.product-link__image {
  width: 37.3333vw;
  margin: 0 auto 5.3333vw;
}
.product-link__content {
  padding-bottom: 5.8667vw;
}
.product-link__text {
  width: 66.6667vw;
  margin: 0 auto;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 3.7333vw;
  color: #000;
  line-height: calc(22 / 14);
  font-weight: 500;
}
.product-link__text p {
  margin: 0 0 2.9333vw;
}
.product-link__text p + p {
  margin-bottom: 0;
  font-size: 3.2vw;
  line-height: calc(24 / 12);
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .product-link {
    border-radius: 1.3889vw;
  }
  .product-link__link {
    padding-top: 2.5vw;
    display: flex;
    flex-direction: column;
  }
  .product-link__content {
    padding: 0 2.4306vw 2.2917vw 2.6389vw;
    margin-bottom: auto;
    display: grid;
    grid-template-columns: calc((184 / 424) * 100%) calc((200 / 424) * 100%);
    grid-template-rows: auto auto;
    column-gap: calc((40 / 424) * 100%);
  }
  .product-link__logo {
    width: 13.0556vw;
    margin-bottom: 1.3194vw;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  .product-link__image {
    width: 100%;
    height: 17.5vw;
    margin-bottom: 0;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
  .product-link__image img:not(.content-bg) {
    width: auto;
    height: 100%;
    margin: 0 auto;
    display: block;
  }
  .product-link__text {
    width: 100%;
    font-size: 1.1111vw;
    line-height: calc(26 / 16);
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  .product-link__text p {
    margin-bottom: 1.1111vw;
  }
  .product-link__text p + p {
    font-size: 0.8333vw;
  }
}
@media (min-width: 1440px) {
  .product-link {
    border-radius: 20px;
  }
  .product-link__link {
    padding-top: 36px;
  }
  .product-link__content {
    padding: 0 35px 33px 38px;
  }
  .product-link__logo {
    width: 188px;
    margin-bottom: 19px;
  }
  .product-link__image {
    width: auto;
    height: 252px;
  }
  .product-link__text {
    font-size: 16px;
  }
  .product-link__text p {
    margin-bottom: 16px;
  }
  .product-link__text p + p {
    font-size: 12px;
  }
}
.product .line {
  max-width: 1030px;
  width: 100%;
}
@media (min-width: 768px) {
  .product .line + .grid {
    padding: 0 3.4722vw;
  }
}
@media (min-width: 1440px) {
  .product .line + .grid {
    padding: 0 50px;
  }
}
.product-character1 {
  width: 33.3333vw;
  margin: 0;
  position: absolute;
  top: 2.5vw;
  left: 2.1333vw;
  z-index: 100;
}
/* SPで.product-character1を真ん中に配置、もう一回り小さく */
@media not all and (min-width: 768px) {
	.product .product-character1 {
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: 40vw !important;
		top: -10vw !important;
	}
}
.product-character1 img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .product-character1 {
    width: 23.4028vw;
    top: 0.972vw;
    right: auto;
    left: calc(50% - 40.3472vw);
  }
}
@media (min-width: 1440px) {
  .product-character1 {
    width: 337px;
    top: 14px;
    left: calc(50% - 581px);
  }
}
.product .content-float.star {
  width: 18.0667vw;
  top: -9vw;
  right: 27.3333vw;
  z-index: 100;
  animation: contentFloat5 3.3s ease-in-out infinite;
}
/* SPで.product .content-float.starをもっと右に移動して一回り小さく */
@media not all and (min-width: 768px) {
	.product .content-float.star,
	.product img.content-float.star:not(.content-bg) {
		width: 11vw !important;
		right: 5vw !important;
		left: auto !important;
	}
}
@media (min-width: 768px) {
  .product .content-float.star {
    width: 7.9861vw;
    top: -2.6389vw;
    left: calc(50% + 9.9306vw);
  }
}
@media (min-width: 1440px) {
  .product .content-float.star {
    width: 115px;
    top: -38px;
    left: calc(50% + 143px);
  }
}


.related-information.top-section::before {
  background: #f6ddff url(../images/common/bg-stripe_sp.png) repeat-x 50% 0 / 100% auto;
}
.related-information .top-section__inner {
  padding-top: 2vw;
	background: #f6ddff url(../images/common/bg-stripe_sp.png) repeat-y 50% 0 / 100% auto;
	min-height: 100%;
}
@media (min-width: 768px) {
  .related-information.top-section::before {
    background: #f6ddff url(../images/common/bg-stripe_pc.png) repeat-x 50% 0 / 100% auto;
    clip-path: ellipse(calc((1379 / 1440) * 100vw) calc((980 / 1440) * 100vw) at 50% calc((984 / 1440) * 100vw));
  }
  .related-information .top-section__inner {
    padding-top: 0;
    padding-bottom: 12.5vw;
    background: #f6ddff url(../images/common/bg-stripe_pc.png) repeat-y 50% 0 / 100% auto;
    min-height: 100%;
  }
}
@media (min-width: 1440px) {
  .related-information .top-section__inner {
    padding-bottom: 180px;
  }
}
.related-information h2 {
  color: #be96e5;
}
.related-information h2 .en {
  background-color: #cfaeef;
  color: #fff;
}
@media (min-width: 768px) {
  .related-information h2 .en {
    width: 20.8333vw;
  }
}
@media (min-width: 1440px) {
  .related-information h2 .en {
    width: 300px;
  }
}
.related-information .box__inner {
  box-shadow: 5px 5px 0 rgb(222 194 250 / 1.0);
  background: #fff url(../images/common/bg-related-information_sp.png) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .related-information .top-contents {
    padding-bottom: 0;
  }
  .related-information .box {
    padding-bottom: 7.7083vw;
  }
  .related-information .box__inner {
    background: #fff url(../images/common/bg-related-information.png) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .related-information .box {
    /* padding-bottom: 111px; */
  }
}

.related-information .grid {
  row-gap: 6.6667vw;
}
@media (min-width: 768px) {
  .related-information .grid {
    row-gap: 2.6389vw;
  }
}
@media (min-width: 1440px) {
  .related-information .grid {
    row-gap: 38px;
  }
}
.related-information-character1 {
  width: 22.1333vw;
  margin: 0;
  position: absolute;
  top: -5.2vw;
  right: 5.1333vw;
  z-index: 88;
}
.related-information-character1 img:not(.content-bg) {
  width: 100%;
  position: static;
}
@media (min-width: 768px) {
  .related-information-character1 {
    width: 16.4583vw;
    top: -9.1vw;
    left: auto;
    right: calc(50% - min(600px, 50vw) + 2.9167vw + 30px);
  }
}
@media (min-width: 1440px) {
  .related-information-character1 {
    width: 237px;
    top: -130px;
    left: auto;
    right: calc(50% - 600px + 42px + 30px);
  }
}
.related-information .content-float.milky1 {
  width: 25.0667vw;
  top: 24vw;
  right: -5.667vw;
  left: auto;
  z-index: 100;
}
.related-information .content-float.ame1 {
  width: 26.0667vw;
  top: -10vw;
  left: 1.3333vw;
  z-index: 100;
}
/* SPで.related-information .content-float.ame1を一回り小さく */
@media not all and (min-width: 768px) {
	.related-information .content-float.ame1,
	.related-information img.content-float.ame1:not(.content-bg) {
		width: 20vw !important;
	}
}
@media (min-width: 768px) {
  .related-information .content-float.milky1 {
    width: 15.9722vw;
    top: 13.583vw;
    left: calc(50% + 28.194vw);
  }
  .related-information .content-float.ame1 {
    width: 12.5vw;
    top: -1.875vw;
    left: calc(50% - 36.25vw);
  }
}
@media (min-width: 1440px) {
  .related-information .content-float.milky1 {
    width: 230px;
    /* top: 210px; */
    left: calc(50% + 406px);
  }
  .related-information .content-float.ame1 {
    width: 180px;
    /* top: -27px; */
    left: calc(50% - 522px);
  }
}


@media not all and (min-width: 768px) {
  /* .content section.follow-us img.content-float.ame1:not(.content-bg), */
  .follow-us .milky {
    display: none !important;
  }
  .follow-us img.content-float.ame1:not(.content-bg) {
    width: 35vw !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    top: -11.4vw !important;
    bottom: auto !important;
    right: -7vw !important;
  }
}

