@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/* reset:start */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  overflow-x: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

[hidden] {
  display: none;
}

.campaign .cont__container, .campaign__close .cont__container, .js-modal__target, .cont__center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.campaign .cont__container > *, .campaign__close .cont__container > *, .js-modal__target > *, .cont__center > * {
  min-height: 0%;
}

.cont__container, .cont__container--small {
  box-sizing: content-box !important;
  width: 76.8667642753%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .cont__container, .cont__container--small {
    width: 84%;
  }
}

.cont__container--small {
  width: 72.4743777452%;
}
@media screen and (max-width: 767px) {
  .cont__container--small {
    width: 84%;
  }
}

.footer__totop, .footer__x, .footer__instagram, .map__btn-x, .movie__story-btn, .nav__link, .js-modal__close, .link {
  color: inherit;
}
@media screen and (min-width: 768px) {
  .footer__totop, .footer__x, .footer__instagram, .map__btn-x, .movie__story-btn, .nav__link, .js-modal__close, .link {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .footer__totop:hover, .footer__x:hover, .footer__instagram:hover, .map__btn-x:hover, .movie__story-btn:hover, .nav__link:hover, .js-modal__close:hover, .link:hover {
    opacity: 0.5;
  }
}

.footer__container, .map__contents, .campaign__container, .product__container, .product__lineup-box, .character__container, .movie__container, .lead__container, .nav__container, .mv__container, .cont__contents {
  width: 100%;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.map__lead, .senpai__text, .kouhai__text, .movie__lead, .movie__ttl-txt {
  font-weight: 500;
  letter-spacing: 0.07em;
}

@keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fade-up {
  0% {
    opacity: 0;
    transform: translate(0, 50%);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/* common:start */
[v-cloak] {
  display: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .spOnly {
    display: none !important;
  }
}

.innerlink-target {
  position: absolute;
  width: 1px;
  height: 1px;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 1366px) {
  .innerlink-target {
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .innerlink-target {
    height: 0;
    top: 0;
  }
}

.preventDrag {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  user-drag: none;
  touch-callout: none;
  user-select: none;
  pointer-events: none;
}

.cont {
  color: #00a13f;
  overflow-x: hidden;
}
@media print {
  .cont {
    display: none;
  }
}
.cont__contents {
  max-width: 1920px;
}

/* common:end */
/* js-fade:start */
:root {
  --fade-translate-x: 0px;
  --fade-translate-y: 0px;
  --fade-duration: 500ms;
}

/* 表示方向 */
.up {
  --fade-translate-y: 50%;
}

.down {
  --fade-translate-y: -50px;
}

.fromLeft {
  --fade-translate-x: -50px;
}

.fromRight {
  --fade-translate-x: 50px;
}

.jsScroll {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transition-delay: 0ms;
  transform: translate(var(--fade-translate-x), var(--fade-translate-y));
}
.jsScroll.delay--100 {
  transition-delay: 100ms;
}
.jsScroll.delay--200 {
  transition-delay: 200ms;
}
.jsScroll.delay--300 {
  transition-delay: 300ms;
}
.jsScroll.delay--400 {
  transition-delay: 400ms;
}
.jsScroll.delay--500 {
  transition-delay: 500ms;
}
.jsScroll.delay--600 {
  transition-delay: 600ms;
}
.jsScroll.delay--700 {
  transition-delay: 700ms;
}
.jsScroll.delay--800 {
  transition-delay: 800ms;
}
.jsScroll.delay--900 {
  transition-delay: 900ms;
}
.jsScroll.delay--1000 {
  transition-delay: 1000ms;
}
.jsScroll.delay--1100 {
  transition-delay: 1100ms;
}
.jsScroll.delay--1200 {
  transition-delay: 1200ms;
}
.jsScroll.delay--1300 {
  transition-delay: 1300ms;
}
.jsScroll.delay--1400 {
  transition-delay: 1400ms;
}
.jsScroll.delay--1500 {
  transition-delay: 1500ms;
}
.jsScroll.delay--1600 {
  transition-delay: 1600ms;
}
.jsScroll.delay--1700 {
  transition-delay: 1700ms;
}
.jsScroll.delay--1800 {
  transition-delay: 1800ms;
}
.jsScroll.delay--1900 {
  transition-delay: 1900ms;
}
.jsScroll.delay--2000 {
  transition-delay: 2000ms;
}
.jsScroll.delay--2100 {
  transition-delay: 2100ms;
}
.jsScroll.delay--2200 {
  transition-delay: 2200ms;
}
.jsScroll.delay--2300 {
  transition-delay: 2300ms;
}
.jsScroll.delay--2400 {
  transition-delay: 2400ms;
}
.jsScroll.delay--2500 {
  transition-delay: 2500ms;
}
.jsScroll.delay--2600 {
  transition-delay: 2600ms;
}
.jsScroll.delay--2700 {
  transition-delay: 2700ms;
}
.jsScroll.delay--2800 {
  transition-delay: 2800ms;
}
.jsScroll.delay--2900 {
  transition-delay: 2900ms;
}
.jsScroll.delay--3000 {
  transition-delay: 3000ms;
}

.jsScrollIn {
  opacity: 1;
  transform: translate(0, 0);
}

.jsFvHide {
  opacity: 0;
  transition-duration: 1.5s;
  transition-property: opacity, transform;
  transition-delay: 0s;
}
.jsFvHide.jsFvShow {
  opacity: 1;
}

.fade-enter-active {
  transition: opacity 1s;
}
.fade-leave-active {
  transition: opacity 1s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

/* js-fade:end */
/* -----------------------------------------------------------------------------
	モーダル
----------------------------------------------------------------------------- */
.js-modal__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.js-modal__bg-enter-active {
  transition: opacity 0.5s;
}
.js-modal__bg-leave-active {
  transition: opacity 0.5s;
}
.js-modal__bg-enter, .js-modal__bg-leave-to {
  opacity: 0;
}
.js-modal__target {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 21;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.js-modal__target-enter-active {
  transition: opacity 0.3s;
}
.js-modal__target-leave-active {
  transition: opacity 0.3s;
}
.js-modal__target-enter, .js-modal__target-leave-to {
  opacity: 0;
}
.js-modal__contents {
  position: relative;
  width: 95%;
  max-width: 840px;
  max-height: 95dvh;
}
@media screen and (max-width: 767px) {
  .js-modal__contents {
    width: 84vw;
    max-width: 630px;
  }
}
.js-modal__close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 35px;
  height: 35px;
  margin-left: auto;
  content: "";
  color: transparent;
  pointer-events: all;
}
@media screen and (max-width: 767px) {
  .js-modal__close {
    top: -25px;
    width: 20px;
    height: 20px;
  }
}
.js-modal__close::before, .js-modal__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 3px;
  background-color: #ffffff;
  content: "";
}
@media screen and (max-width: 767px) {
  .js-modal__close::before, .js-modal__close::after {
    height: 2px;
  }
}
.js-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-modal__content {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  pointer-events: all;
}

.movie-area {
  margin: auto;
  max-width: 100%;
}
.movie-area__container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.movie-area iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* mv:start */
.mv {
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  background-image: url(/campaign/cp2026/images/pc/mv_img_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .mv {
    background-image: url(/campaign/cp2026/images/sp/mv_img_bg.jpg);
  }
}
.mv__container {
  position: relative;
}
.mv__meguro {
  width: 19.5461200586%;
  position: absolute;
  top: 11.9214586255%;
  left: 11.7130307467%;
}
@media screen and (max-width: 767px) {
  .mv__meguro {
    width: 30.2666666667%;
    top: 22.0338983051%;
    left: 0;
  }
}
.mv__logo {
  width: 19.8389458272%;
  position: absolute;
  top: 4.2075736325%;
  left: 3.074670571%;
}
@media screen and (max-width: 767px) {
  .mv__logo {
    width: 36.9333333333%;
    top: 2.7118644068%;
    left: auto;
    right: 4.5333333333%;
  }
}
.mv__sakurada {
  width: 20.1317715959%;
  position: absolute;
  top: 19.9158485273%;
  right: 4.9048316252%;
}
@media screen and (max-width: 767px) {
  .mv__sakurada {
    width: 31.3333333333%;
    top: 30.7344632768%;
    right: 20.2666666667%;
  }
}
.mv__copy {
  width: 41.1420204978%;
  position: absolute;
  top: 52.8751753156%;
  left: 0;
}
@media screen and (max-width: 767px) {
  .mv__copy {
    width: 33.4666666667%;
    top: 3.7288135593%;
    left: 4.2666666667%;
  }
}
.mv__image {
  width: 100%;
}

.mv .js-mvAnime {
  opacity: 0;
  transform: translateY(40px);
  transition: 1.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.mv.js-AnimeStart .js-mvAnime {
  opacity: 1;
  transform: translateY(0);
}
.mv.js-AnimeStart .js-mvAnime.mv__meguro {
  transition-delay: 300ms;
}
.mv.js-AnimeStart .js-mvAnime.mv__sakurada {
  transition-delay: 600ms;
}
.mv.js-AnimeStart .js-mvAnime.mv__copy {
  transition-delay: 900ms;
}

/* mv:end */
/* nav:start */
.nav {
  background-color: #00a13f;
}
.nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .nav__list {
    flex-wrap: wrap;
  }
}
.nav__list-item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .nav__list-item:not(:last-child) {
    margin-right: 0.1464128843%;
  }
  .nav__list-item:not(:last-child)::after {
    content: "";
    display: block;
    width: 2px;
    height: 71.4285714286%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav__list-item:not(:last-child)::after {
    width: 0.1464128843vw;
  }
}
@media screen and (max-width: 767px) {
  .nav__list-item.spBorder, .nav__list-item.spBorderBottom {
    margin-right: 0.2666666667vw;
  }
  .nav__list-item.spBorder::after, .nav__list-item.spBorderBottom::after {
    content: "";
    display: block;
    width: 0.2666666667vw;
    height: 47.1428571429%;
    background-color: #fff;
    position: absolute;
    top: 58%;
    left: 100%;
    transform: translateY(-50%);
  }
  .nav__list-item.spBorderBottom::after {
    top: 40%;
  }
}
.nav__list-item--movie {
  max-width: 172px;
}
@media screen and (max-width: 767px) {
  .nav__list-item--movie {
    max-width: 192px;
    width: 25.6%;
  }
}
.nav__list-item--character {
  max-width: 243px;
}
@media screen and (max-width: 767px) {
  .nav__list-item--character {
    max-width: 262px;
    width: 34.9333333333%;
  }
}
.nav__list-item--product {
  max-width: 243px;
}
@media screen and (max-width: 767px) {
  .nav__list-item--product {
    max-width: 290px;
    width: 38.6666666667%;
  }
}
.nav__list-item--campaign {
  max-width: 200px;
}
@media screen and (max-width: 767px) {
  .nav__list-item--campaign {
    max-width: 322px;
    width: 42.9333333333%;
  }
}
.nav__list-item--map {
  max-width: 277px;
}
@media screen and (max-width: 767px) {
  .nav__list-item--map {
    max-width: 425px;
    width: 56.6666666667%;
  }
}
.nav__link {
  display: block;
  width: 100%;
}

/* nav:end */
.lead__txt-large, .lead__txt {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.07em;
  text-align: center;
}
@media screen and (max-width: 1366px) {
  .lead__txt-large, .lead__txt {
    font-size: 1.1713030747vw;
  }
}
@media screen and (max-width: 767px) {
  .lead__txt-large, .lead__txt {
    font-size: 2.6666666667vw;
    line-height: 1.8;
  }
}

/* lead:start */
.lead {
  position: relative;
  z-index: 1;
}
.lead__container {
  background-color: #fff;
  padding-top: 80px;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .lead__container {
    padding-top: 5.8565153734%;
  }
}
@media screen and (max-width: 767px) {
  .lead__container {
    padding-top: 24%;
  }
}
.lead__txt + .lead__txt {
  margin-top: 2.8571428571%;
}
.lead__txt-large {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (max-width: 1366px) {
  .lead__txt-large {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 767px) {
  .lead__txt-large {
    font-size: 3.0666666667vw;
    line-height: 1.5217391304;
    white-space: nowrap;
  }
}
.lead__txt-underline {
  font-weight: bold;
  text-decoration: underline;
}

/* lead:end */
.movie__thumbnail {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 2.9411764706%;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .movie__thumbnail {
    border-radius: 1.4641288433vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__thumbnail {
    border-radius: 2.6666666667vw;
    margin-bottom: 2.5396825397%;
  }
}
.movie__thumbnail::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.movie__thumbnail::after {
  content: "";
  display: block;
  width: 14.1176470588%;
  height: 100%;
  background-image: url(/campaign/cp2026/images/movie_btn_thumb.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
}
@media screen and (min-width: 768px) {
  .movie__thumbnail::after {
    transform: translateX(-50%) scale(1);
    transition: transform 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .movie__thumbnail::after {
    width: 16.862745098%;
    height: 100%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 768px) {
  .movie__thumbnail:hover::after {
    transform: translateX(-50%) scale(1.3);
  }
}

/* movie:start */
.movie {
  background-image: linear-gradient(180deg, rgb(228, 255, 210), rgb(210, 240, 255));
  position: relative;
  z-index: 1;
}
.movie__container {
  padding-top: 90px;
  padding-bottom: 240px;
}
@media screen and (max-width: 1366px) {
  .movie__container {
    padding-top: 6.588579795%;
    padding-bottom: 17.5695461201%;
  }
}
@media screen and (max-width: 767px) {
  .movie__container {
    padding-top: 10.6666666667%;
    padding-bottom: 18.6666666667%;
  }
}
.movie__map {
  padding-bottom: 7.3206442167%;
}
@media screen and (max-width: 767px) {
  .movie__map {
    padding-bottom: 10.6666666667%;
  }
}
.movie__map-btn {
  display: block;
  width: 56.3689604685%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .movie__map-btn {
    transform: scale(1);
    transition: transform 0.3s;
  }
  .movie__map-btn:hover {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 767px) {
  .movie__map-btn {
    width: 84%;
  }
}
.movie__map-btn::before {
  content: "";
  width: 12.987012987%;
  height: 121.7391304348%;
  background-image: url(/campaign/cp2026/images/pc/movie_btn_item_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  bottom: 0;
  left: 5.0649350649%;
}
@media screen and (max-width: 767px) {
  .movie__map-btn::before {
    width: 15.5555555556%;
    height: 120.8333333333%;
    background-image: url(/campaign/cp2026/images/sp/movie_btn_item_01.png);
    left: 0;
  }
}
.movie__map-btn::after {
  content: "";
  width: 17.5324675325%;
  height: 117.3913043478%;
  background-image: url(/campaign/cp2026/images/pc/movie_btn_item_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  bottom: 0;
  right: 1.9480519481%;
}
@media screen and (max-width: 767px) {
  .movie__map-btn::after {
    width: 15.873015873%;
    height: 113.3333333333%;
    background-image: url(/campaign/cp2026/images/sp/movie_btn_item_02.png);
    right: 0;
  }
}
.movie__hdg {
  width: 15.7142857143%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.380952381%;
}
@media screen and (max-width: 767px) {
  .movie__hdg {
    width: 37.4603174603%;
    margin-bottom: 3.9682539683%;
  }
}
.movie__lead {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5.7142857143%;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1366px) {
  .movie__lead {
    font-size: 1.4641288433vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__lead {
    font-size: 3.3333333333vw;
    margin-bottom: 7.9365079365%;
  }
}
.movie__new {
  position: relative;
}
.movie__new-bg {
  display: block;
  width: 100%;
}
.movie__new-bg.jsScroll {
  opacity: 1;
  transform: translate(0, 0);
}
.movie__new-bg.jsScrollIn {
  animation: rotateAnim 10s linear 1000ms infinite;
  transform: translate(0, 0);
}
.movie__new-name {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.movie__tvcm {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .movie__tvcm {
    margin-bottom: 6.6666666667%;
  }
}
.movie__tvcm-cont {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
.movie__tvcm-cont:not(:last-child) {
  margin-bottom: 4.7619047619%;
}
@media screen and (max-width: 767px) {
  .movie__tvcm-cont:not(:last-child) {
    margin-bottom: 9.5238095238%;
  }
}
@media screen and (max-width: 767px) {
  .movie__tvcm-cont:last-child {
    margin-bottom: 11.1111111111%;
  }
}
.movie__box {
  width: 48.5714285714%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .movie__box {
    width: 100%;
  }
  .movie__box:not(:last-child) {
    margin-bottom: 9.5238095238%;
  }
}
.movie__box--center {
  width: 48.5714285714%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .movie__box--center {
    width: 100%;
  }
}
.movie__box-new {
  width: 20.3921568627%;
  position: absolute;
  top: -7.7363896848%;
  right: -7.8431372549%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .movie__box-new {
    width: 16.5079365079%;
    top: -8.2352941176%;
    right: -4.7619047619%;
  }
}
.movie__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.movie__ttl-num-01 {
  width: 9.0196078431%;
}
@media screen and (max-width: 767px) {
  .movie__ttl-num-01 {
    width: 7.3333333333vw;
  }
}
.movie__ttl-num-02 {
  width: 10.3921568627%;
}
@media screen and (max-width: 767px) {
  .movie__ttl-num-02 {
    width: 8.5333333333vw;
  }
}
.movie__ttl-num-03 {
  width: 10.1960784314%;
}
@media screen and (max-width: 767px) {
  .movie__ttl-num-03 {
    width: 8.5333333333vw;
  }
}
.movie__ttl-num-04 {
  width: 10.7843137255%;
}
@media screen and (max-width: 767px) {
  .movie__ttl-num-04 {
    width: 8.9333333333vw;
  }
}
.movie__ttl-num-05 {
  width: 10.3921568627%;
}
@media screen and (max-width: 767px) {
  .movie__ttl-num-05 {
    width: 8.6666666667vw;
  }
}
.movie__ttl-txt {
  margin-left: 3.9215686275%;
  font-size: 1.6rem;
}
@media screen and (max-width: 1366px) {
  .movie__ttl-txt {
    font-size: 1.1713030747vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__ttl-txt {
    font-size: 2.6666666667vw;
  }
}
.movie__stories {
  width: 83.4553440703%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .movie__stories {
    width: 84%;
  }
}
.movie__story-cont--off {
  width: 63.5238095238%;
  background-color: #fff;
  border-radius: 60px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6.1904761905%;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .movie__story-cont--off {
    border-radius: 4.39238653vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-cont--off {
    width: 100%;
    margin-left: 0;
    margin-bottom: 11.1111111111%;
    border-radius: 8vw;
  }
}
.movie__story-cont--off.jsScrollIn .movie__story-num {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.movie__story-cont--off.jsScrollIn .movie__story-ttl--off {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.movie__story-cont--off.jsScrollIn .movie__story-list--off {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 400ms 1 forwards;
}
.movie__story-cont--today {
  width: 45.4385964912%;
  height: fit-content;
  background-color: #fff;
  border-radius: 60px;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .movie__story-cont--today {
    border-radius: 4.39238653vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-cont--today {
    width: 100%;
    border-radius: 8vw;
    margin-bottom: 11.1111111111%;
  }
}
.movie__story-cont--today.jsScrollIn .movie__story-num {
  opacity: 0;
  animation: fade-up 100ms ease-in-out 1 forwards;
}
.movie__story-cont--today.jsScrollIn .movie__story-ttl--today {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.movie__story-cont--today.jsScrollIn .movie__story-list--today {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 400ms 1 forwards;
}
.movie__story-cont--short {
  width: 51.7543859649%;
  background-color: #fff;
  border-radius: 60px;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .movie__story-cont--short {
    border-radius: 4.39238653vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-cont--short {
    width: 100%;
    border-radius: 8vw;
  }
}
.movie__story-cont--short.jsScrollIn .movie__story-num {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.movie__story-cont--short.jsScrollIn .movie__story-ttl--short {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.movie__story-cont--short.jsScrollIn .movie__story-list--short {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 400ms 1 forwards;
}
.movie__story-num {
  width: 53px;
  position: absolute;
  top: -25px;
  left: 35px;
}
@media screen and (max-width: 1366px) {
  .movie__story-num {
    width: 3.8799414348vw;
    top: -1.8301610542vw;
    left: 2.5622254758vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-num {
    width: 8.6666666667vw;
    top: -3.4666666667vw;
    left: 4.6666666667vw;
  }
}
.movie__story-new--short {
  width: 17.4576271186%;
  position: absolute;
  top: -25px;
  right: 25px;
}
@media screen and (max-width: 1366px) {
  .movie__story-new--short {
    top: -1.8301610542vw;
    right: 1.8301610542vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-new--short {
    width: 16.5079365079%;
    top: -4vw;
    right: 3.0666666667vw;
  }
}
.movie__story-ttl--off {
  width: 70.1649175412%;
  padding-top: 3.748125937%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .movie__story-ttl--off {
    width: 74.2857142857%;
    padding-top: 4.2857142857%;
    margin-bottom: 0.9523809524%;
  }
}
.movie__story-ttl--today {
  width: 75.2895752896%;
  padding-top: 4.8262548263%;
  margin-bottom: 1.5444015444%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .movie__story-ttl--today {
    width: 73.6507936508%;
    padding-top: 4.2857142857%;
    margin-bottom: 3.1746031746%;
  }
}
.movie__story-ttl--short {
  width: 54.406779661%;
  padding-top: 4.2372881356%;
  padding-bottom: 0.8474576271%;
  margin-left: 22.0338983051%;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .movie__story-ttl--short {
    width: 62.5396825397%;
    padding-top: 4.2857142857%;
    padding-bottom: 0;
    margin-left: auto;
  }
}
.movie__story-list--off {
  width: 82.4587706147%;
  display: flex;
  justify-content: space-between;
  margin-left: 8.2458770615%;
  margin-right: auto;
  padding-bottom: 4.4977511244%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--off {
    width: 89.5238095238%;
    margin-left: auto;
  }
}
.movie__story-list--off li.no1 {
  width: 25.4545454545%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--off li.no1 {
    width: 31.7375886525%;
  }
}
.movie__story-list--off li.no2 {
  width: 34.5454545455%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--off li.no2 {
    width: 31.7375886525%;
  }
}
.movie__story-list--off li.no3 {
  width: 34.5454545455%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--off li.no3 {
    width: 31.7375886525%;
  }
}
.movie__story-list--today {
  width: 75.2895752896%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  column-gap: 2.7027027027%;
  padding-bottom: 5.7915057915%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--today {
    width: 89.5238095238%;
    justify-content: flex-start;
    column-gap: 2.304964539%;
    padding-bottom: 6.3492063492%;
  }
}
.movie__story-list--today > li {
  width: 30.7692307692%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--today > li {
    width: 31.7375886525%;
  }
}
@media screen and (min-width: 768px) {
  .movie__story-list--today > li:nth-child(-n+3) {
    margin-bottom: 3.8461538462%;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-list--today > li:nth-child(-n+3) {
    margin-bottom: 2.6595744681%;
  }
}
.movie__story-list--short {
  width: 88.1355932203%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  column-gap: 0.8474576271%;
  padding-bottom: 6.7796610169%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--short {
    width: 89.5238095238%;
    column-gap: 2.304964539%;
    padding-bottom: 5.0793650794%;
  }
}
.movie__story-list--short > li {
  width: 19.2307692308%;
}
@media screen and (max-width: 767px) {
  .movie__story-list--short > li {
    width: 31.7375886525%;
  }
}
@media screen and (min-width: 768px) {
  .movie__story-list--short > li:nth-child(5n) {
    margin-bottom: 2.8846153846%;
  }
}
@media screen and (max-width: 767px) {
  .movie__story-list--short > li:nth-child(3n) {
    margin-bottom: 2.6595744681%;
  }
}
.movie__story-btn {
  display: block;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .movie__story-btn:hover {
    transform: scale(1.1);
  }
}
.movie__character.jsScroll .movie__character-image {
  opacity: 1;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transition-delay: 0ms;
  transform: translate(0, 50%);
}
.movie__character.jsScrollIn .movie__character-image {
  transform: translate(0, 0);
}
.movie__character-image {
  width: 39.7142857143%;
  position: absolute;
  bottom: -110px;
  right: -3.8095238095%;
}
@media screen and (max-width: 1366px) {
  .movie__character-image {
    bottom: -8.0527086384vw;
  }
}
@media screen and (max-width: 767px) {
  .movie__character-image {
    width: 41.4666666667vw;
    bottom: -30vw;
    right: -10.6666666667vw;
  }
}

/* movie:end */
.kouhai__texts, .senpai__texts {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .kouhai__texts, .senpai__texts {
    box-shadow: 0px 0px 20px rgba(0, 161, 63, 0.85);
  }
}

.kouhai__text, .senpai__text {
  font-size: 1.8rem;
  line-height: 1.8888888889;
}
@media screen and (max-width: 1366px) {
  .kouhai__text, .senpai__text {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 767px) {
  .kouhai__text, .senpai__text {
    font-size: 2.6666666667vw;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .kouhai__texts-frame, .senpai__texts-frame {
    width: 100%;
    background-color: #fff;
    border-radius: 200px;
    box-shadow: 0px 0px 4vw rgba(0, 161, 63, 0.85);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}

.kouhai__photo, .senpai__photo {
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .kouhai__photo, .senpai__photo {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .kouhai__photo, .senpai__photo {
    top: 0;
  }
}

.kouhai__photo-frame, .senpai__photo-frame {
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0px 0px 20px rgba(0, 161, 63, 0.85);
}
@media screen and (max-width: 767px) {
  .kouhai__photo-frame, .senpai__photo-frame {
    box-shadow: 0px 0px 4vw rgba(0, 161, 63, 0.85);
    margin-left: auto;
    margin-right: auto;
  }
}

/* character:start */
.character {
  position: relative;
  z-index: 2;
  pointer-events: none;
  margin-top: -20px;
  padding-bottom: 165px;
}
@media screen and (max-width: 1366px) {
  .character {
    margin-top: -1.4641288433vw;
    padding-bottom: 12.0790629575vw;
  }
}
@media screen and (max-width: 767px) {
  .character {
    margin-top: 0;
    padding-top: 5.3333333333%;
    padding-bottom: 25.3333333333%;
  }
}
.character::before {
  content: "";
  display: block;
  width: 1920px;
  height: 624px;
  background-image: url(/campaign/cp2026/images/pc/character_bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: -260px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1366px) {
  .character::before {
    width: 140.5563689605vw;
    height: 45.6808199122vw;
    top: -19.0336749634vw;
  }
}
@media screen and (max-width: 767px) {
  .character::before {
    width: 100%;
    height: 34.8vw;
    background-image: url(/campaign/cp2026/images/sp/character_bg.png);
    top: -11.3333333333vw;
  }
}
.character .innerlink-target {
  top: -200px;
}
@media screen and (max-width: 1366px) {
  .character .innerlink-target {
    top: -14.6412884334vw;
  }
}
@media screen and (max-width: 767px) {
  .character .innerlink-target {
    height: 1px;
    top: -12vw;
  }
}
.character__container {
  pointer-events: auto;
}
.character__hdg {
  width: 19.2532942899%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.2942898975%;
}
@media screen and (max-width: 767px) {
  .character__hdg {
    width: 50%;
    margin-bottom: 7.7333333333%;
  }
}
.character__cont {
  position: relative;
}
@media screen and (max-width: 767px) {
  .character__imagebox {
    margin-top: -4vw;
    padding-top: 8.6666666667vw;
  }
}
.character__position {
  position: relative;
}
.character__position-bg {
  display: block;
  width: 100%;
}
.character__position-bg.jsScroll {
  opacity: 1;
  transform: translate(0, 0);
}
.character__position-bg.jsScrollIn {
  animation: rotateAnim 10s linear 1000ms infinite;
  transform: translate(0, 0);
}
.character__position-name {
  width: 50.9615384615%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.senpai {
  width: 73.9385065886%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .senpai {
    width: 84%;
    padding-bottom: 36%;
    margin-bottom: 10.6666666667%;
  }
}
.senpai__cont {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .senpai__texts-frame {
    height: 41.3333333333vw;
    top: 65.3333333333vw;
  }
}
.senpai__texts {
  width: 58.4158415842%;
  border-top-right-radius: 130px;
  border-bottom-right-radius: 130px;
  position: absolute;
  top: 23.2931726908%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .senpai__texts {
    width: 100%;
    height: 41.3333333333vw;
    border-radius: 200px;
    top: 65.3333333333vw;
    right: 50%;
    z-index: 3;
    transform: translateX(50%);
  }
}
.senpai__position {
  width: 17.6271186441%;
  position: absolute;
  top: -14.693877551%;
  left: 1.3559322034%;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .senpai__position {
    width: 16.5079365079%;
    top: -6.5384615385%;
    left: 7.7777777778%;
  }
}
.senpai__ttl {
  width: 56.9491525424%;
  position: absolute;
  top: -4.8979591837%;
  left: 21.186440678%;
}
@media screen and (max-width: 767px) {
  .senpai__ttl {
    width: 53.3333333333%;
    top: 6.4516129032%;
    left: 26.0317460317%;
  }
}
.senpai__text {
  width: 100%;
  margin-top: 11.8644067797%;
  margin-left: 18.6440677966%;
  margin-bottom: 6.7796610169%;
}
@media screen and (max-width: 767px) {
  .senpai__text {
    margin-top: 13.3333333333vw;
    margin-left: 20.6666666667vw;
    margin-bottom: 4vw;
  }
}
.senpai__photo-frame {
  width: 49.3069306931%;
  height: 36.4568081991vw;
  max-height: 498px;
}
@media screen and (max-width: 767px) {
  .senpai__photo-frame {
    width: 70.9333333333vw;
    height: 70.9333333333vw;
    max-height: none;
  }
}
.senpai__photo {
  width: 49.3069306931%;
  height: 36.4568081991vw;
  max-height: 498px;
}
@media screen and (max-width: 767px) {
  .senpai__photo {
    width: 70.9333333333vw;
    height: 70.9333333333vw;
    max-height: none;
    left: 50%;
    transform: translateX(-50%);
  }
}
.senpai__photo-img {
  width: 96.3855421687%;
}
@media screen and (max-width: 767px) {
  .senpai__photo-img {
    width: 97.7443609023%;
  }
}
.senpai__photo-name {
  width: 19.4779116466%;
  position: absolute;
  top: 1.8072289157%;
  left: 1.2048192771%;
}
@media screen and (max-width: 767px) {
  .senpai__photo-name {
    width: 23.6842105263%;
    top: -2.4436090226%;
    left: 0;
  }
}

.kouhai {
  width: 70.2781844802%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .kouhai {
    width: 84%;
    padding-bottom: 32%;
  }
}
.kouhai__cont {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .kouhai__texts-frame {
    height: 37.6vw;
    top: 53.8666666667vw;
  }
}
.kouhai__texts {
  width: 67.3958333333%;
  border-top-left-radius: 130px;
  border-bottom-left-radius: 130px;
  position: absolute;
  top: 20.2222222222%;
  left: 0;
}
@media screen and (max-width: 767px) {
  .kouhai__texts {
    width: 100%;
    height: 37.6vw;
    border-radius: 200px;
    top: 53.8666666667vw;
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
  }
}
.kouhai__position {
  width: 16.0741885626%;
  position: absolute;
  top: -14.2857142857%;
  left: 72.6429675425%;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .kouhai__position {
    width: 16.5079365079%;
    top: -6.5384615385%;
    left: 7.7777777778%;
  }
}
.kouhai__ttl {
  width: 54.714064915%;
  position: absolute;
  top: -4.8979591837%;
  left: 15.455950541%;
}
@media screen and (max-width: 767px) {
  .kouhai__ttl {
    width: 56.1904761905%;
    top: 7.8014184397%;
    left: 26.0317460317%;
  }
}
.kouhai__text {
  margin-top: 10.8191653787%;
  margin-left: 15.455950541%;
  margin-bottom: 6.1823802164%;
}
@media screen and (max-width: 767px) {
  .kouhai__text {
    margin-top: 13.3333333333vw;
    margin-left: 15.2vw;
    margin-bottom: 4.8vw;
  }
}
.kouhai__photo-frame {
  width: 46.875%;
  height: 32.9428989751vw;
  max-height: 450px;
}
@media screen and (min-width: 768px) {
  .kouhai__photo-frame {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .kouhai__photo-frame {
    width: 59.2vw;
    height: 59.2vw;
    max-height: none;
  }
}
.kouhai__photo {
  width: 46.875%;
  height: 32.9428989751vw;
  max-height: 450px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .kouhai__photo {
    width: 59.2vw;
    height: 59.2vw;
    max-height: none;
    right: 50%;
    transform: translateX(50%);
  }
}
.kouhai__photo-img {
  width: 96%;
}
@media screen and (max-width: 767px) {
  .kouhai__photo-img {
    width: 97.2972972973%;
  }
}
.kouhai__photo-name {
  width: 29.7777777778%;
  position: absolute;
  top: -3.3333333333%;
  right: -1.3333333333%;
}
@media screen and (max-width: 767px) {
  .kouhai__photo-name {
    width: 37.8378378378%;
    top: -5.6306306306%;
    right: auto;
    left: -6.7567567568%;
  }
}

/* character:end */
/* product:start */
.product {
  position: relative;
  z-index: 2;
  padding-bottom: 165px;
}
@media screen and (max-width: 1366px) {
  .product {
    padding-bottom: 12.0790629575%;
  }
}
@media screen and (max-width: 767px) {
  .product {
    padding-bottom: 20%;
    margin-top: -2.6666666667%;
  }
}
.product__copy {
  background-image: url(/campaign/cp2026/images/pc/product_bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__copy {
    background-image: url(/campaign/cp2026/images/sp/product_bg.jpg);
  }
}
.product__copy-hdg {
  width: 52.196193265%;
  padding-top: 2.9282576867%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.0263543192%;
}
@media screen and (max-width: 767px) {
  .product__copy-hdg {
    width: 61.8666666667%;
    padding-top: 6%;
    margin-bottom: 8.6666666667%;
  }
}
.product__copy-cont {
  width: 57.467057101%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .product__copy-cont {
    width: 66.2666666667%;
  }
}
.product__copy-ttl {
  width: 51.4649681529%;
}
@media screen and (max-width: 767px) {
  .product__copy-ttl {
    width: 100%;
    margin-bottom: 13.0784708249%;
  }
}
.product__copy-texts {
  width: 43.5668789809%;
}
@media screen and (max-width: 767px) {
  .product__copy-texts {
    width: 100%;
  }
}
.product__copy-text {
  width: 100%;
  margin-bottom: 5.8479532164%;
}
@media screen and (max-width: 767px) {
  .product__copy-text {
    width: 90.1408450704%;
    margin-bottom: 8.0482897384%;
    margin-left: 1.6096579477%;
  }
}
.product__copy-link {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 5.8479532164%;
}
@media screen and (max-width: 1366px) {
  .product__copy-link {
    font-size: 1.2445095168vw;
  }
}
@media screen and (max-width: 767px) {
  .product__copy-link {
    font-size: 3.2vw;
    margin-bottom: 8.0482897384%;
    margin-left: 1.6096579477%;
  }
}
.product__copy-notes li {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1366px) {
  .product__copy-notes li {
    font-size: 0.7320644217vw;
  }
}
@media screen and (max-width: 767px) {
  .product__copy-notes li {
    font-size: 2.2666666667vw;
    line-height: 1.8;
    margin-left: 1.6096579477%;
  }
}
.product__copy-image {
  width: 56.6617862372%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -2.9282576867%;
}
@media screen and (max-width: 767px) {
  .product__copy-image {
    width: 78.1333333333%;
    margin-top: 1.3333333333%;
  }
}
.product__answer {
  width: 33.8213762811%;
  margin-top: 5.4904831625%;
  margin-bottom: 7.3206442167%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .product__answer {
    width: 63.6%;
    margin-top: 6.6666666667%;
    margin-bottom: 10%;
  }
}
.product__answer.jsScroll {
  opacity: 1;
}
.product__answer.jsScrollIn {
  animation: bounceAnim 1s ease-in-out 1;
}
.product__lineup {
  width: 100%;
  background-color: #E4FFD2;
}
.product__lineup-box {
  position: relative;
}
.product__lineup-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -52%);
  font-size: 3rem;
  letter-spacing: 0.07em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  line-height: 1;
}
@media screen and (max-width: 1366px) {
  .product__lineup-ttl {
    font-size: 2.196193265vw;
  }
}
@media screen and (max-width: 767px) {
  .product__lineup-ttl {
    font-size: 3.3333333333vw;
  }
}
.product__lineup-images {
  width: 61.4934114202%;
  display: flex;
  justify-content: space-between;
  padding-top: 3.513909224%;
  padding-bottom: 5.4904831625%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .product__lineup-images {
    width: 73.3333333333%;
    padding-top: 6%;
    padding-bottom: 11.3333333333%;
  }
}
.product__lineup-images > li {
  width: 11.5476190476%;
}
@media screen and (max-width: 767px) {
  .product__lineup-images > li {
    width: 8.5333333333vw;
  }
}
.product__lineup-images > li:nth-child(n+2):nth-child(-n+6) {
  margin-left: 0.5952380952%;
}
@media screen and (max-width: 767px) {
  .product__lineup-images > li:nth-child(n+2):nth-child(-n+6) {
    margin-left: 0.4vw;
  }
}
.product__lineup-btn {
  display: block;
  position: absolute;
  width: 35.8711566618%;
  bottom: -49px;
  left: 50%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .product__lineup-btn {
    transform: translateX(-50%) scale(1);
    transition: transform 0.3s;
  }
  .product__lineup-btn:hover {
    transform: translateX(-50%) scale(1.1);
  }
}
@media screen and (max-width: 1366px) {
  .product__lineup-btn {
    bottom: -3.5871156662vw;
  }
}
@media screen and (max-width: 767px) {
  .product__lineup-btn {
    width: 66.6666666667%;
    bottom: -20.2429149798%;
    transform: translateX(-50%);
  }
}
@keyframes bounceAnim {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}

/* product:end */
/* campaign:start */
.campaign {
  position: relative;
  z-index: 2;
  padding-bottom: 20px;
}
@media screen and (max-width: 1366px) {
  .campaign {
    padding-bottom: 1.4641288433%;
  }
}
@media screen and (max-width: 767px) {
  .campaign {
    padding-bottom: 0;
  }
}
.campaign__bg {
  background-image: linear-gradient(180deg, rgb(250, 255, 245), rgb(219, 237, 225));
  margin-bottom: 50px;
}
@media screen and (max-width: 1366px) {
  .campaign__bg {
    margin-bottom: 3.6603221083%;
  }
}
@media screen and (max-width: 767px) {
  .campaign__bg {
    margin-bottom: 6.6666666667%;
  }
}
.campaign__container {
  position: relative;
}
.campaign .cont__container {
  padding-top: 4.0263543192%;
  padding-bottom: 5.8565153734%;
}
@media screen and (max-width: 767px) {
  .campaign .cont__container {
    padding-top: 7.3333333333%;
    padding-bottom: 13.3333333333%;
  }
}
.campaign__hdg {
  width: 18.1904761905%;
  margin-bottom: 4.2857142857%;
}
@media screen and (max-width: 767px) {
  .campaign__hdg {
    width: 43.9682539683%;
    margin-bottom: 7.9365079365%;
  }
}
.campaign__content {
  width: 100%;
  margin-bottom: 2.8571428571%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .campaign__content {
    margin-bottom: 6.3492063492%;
  }
}
.campaign__texts {
  width: 55.7142857143%;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .campaign__texts {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.campaign__texts-prize {
  width: 91.2820512821%;
  margin-bottom: 4.6153846154%;
}
@media screen and (max-width: 767px) {
  .campaign__texts-prize {
    width: 99.8412698413%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3.1746031746%;
  }
}
.campaign__texts-ataru {
  width: 47.6923076923%;
  margin-left: 42.2222222222%;
  margin-bottom: 3.9316239316%;
}
@media screen and (max-width: 767px) {
  .campaign__texts-ataru {
    width: 55.2380952381%;
    margin-left: 5.5555555556%;
    margin-top: 3.9682539683%;
    margin-bottom: 0;
  }
}
.campaign__texts-people {
  width: 32.8205128205%;
  margin-left: 50.7692307692%;
  margin-bottom: 5.9829059829%;
}
@media screen and (max-width: 767px) {
  .campaign__texts-people {
    width: 30.4761904762%;
    margin-bottom: 69.8412698413%;
    margin-left: 6.3492063492%;
  }
}
.campaign__texts-date {
  width: 42.2222222222%;
  margin-left: 53.6752136752%;
}
@media screen and (max-width: 767px) {
  .campaign__texts-date {
    width: 96.3492063492%;
    margin-left: auto;
    margin-right: auto;
  }
}
.campaign__image {
  width: 56%;
  position: absolute;
  top: 2.9126213592%;
  left: 7.1428571429%;
}
@media screen and (max-width: 767px) {
  .campaign__image {
    width: 82.6984126984%;
    top: 43.4666666667vw;
    left: 11.1111111111%;
  }
}
.campaign__mori {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1366px) {
  .campaign__mori {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign__mori {
    font-size: 3.2vw;
  }
}
.campaign__btn {
  width: 35.1390922401vw;
  max-width: 480px;
  position: absolute;
  bottom: -49px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .campaign__btn {
    transform: translateX(-50%) scale(1);
    transition: transform 0.3s;
  }
  .campaign__btn:hover {
    transform: translateX(-50%) scale(1.1);
  }
}
@media screen and (max-width: 1366px) {
  .campaign__btn {
    bottom: -3.5871156662vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign__btn {
    width: 66.6666666667%;
    max-width: none;
    bottom: -6.6666666667vw;
  }
}
.campaign__close {
  position: relative;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1366px) {
  .campaign__close {
    padding-bottom: 3.6603221083%;
    margin-bottom: 3.6603221083%;
  }
}
@media screen and (max-width: 767px) {
  .campaign__close {
    padding-bottom: 5.3333333333%;
    margin-bottom: 5.3333333333%;
  }
}
.campaign__close-cont {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.campaign__close .cont__container {
  height: 100%;
}
.campaign__close-hdg {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.07em;
  font-size: 5rem;
  margin-bottom: 0.9523809524%;
}
@media screen and (max-width: 1366px) {
  .campaign__close-hdg {
    font-size: 3.6603221083vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign__close-hdg {
    font-size: 8vw;
    margin-bottom: 6.3492063492%;
  }
}
.campaign__close-txt {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.07em;
  font-size: 3.2rem;
}
@media screen and (max-width: 1366px) {
  .campaign__close-txt {
    font-size: 2.3426061493vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign__close-txt {
    font-size: 4.2666666667vw;
  }
}

/* campaign:end */
/* map:start */
.map {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .map {
    padding-top: 24.6666666667vw;
  }
}
.map::before {
  content: "";
  display: block;
  width: 1920px;
  height: calc(100% + 206px);
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(/campaign/cp2026/images/pc/map_bg_1920.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1920px auto;
}
@media screen and (max-width: 1920px) {
  .map::before {
    width: 100%;
  }
}
@media screen and (max-width: 1366px) {
  .map::before {
    top: -7.3206442167vw;
    height: calc(100% + 15.0805270864vw);
    background-size: auto 79.0629575403vw;
  }
}
@media screen and (max-width: 767px) {
  .map::before {
    top: -13.3333333333vw;
    width: 100%;
    height: calc(100% + 38.6666666667vw);
    background-size: 100% auto;
    background-image: url(/campaign/cp2026/images/sp/map_bg.png);
  }
}
.map__container {
  padding-top: 130px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .map__container {
    padding-top: 9.5168374817vw;
  }
}
@media screen and (max-width: 767px) {
  .map__container {
    padding-top: 0;
  }
}
.map__container.jsScroll {
  opacity: 1;
  transform: translate(0, 0);
}
.map__contents {
  padding-bottom: 250px;
}
@media screen and (max-width: 1366px) {
  .map__contents {
    padding-bottom: 18.3016105417%;
  }
}
@media screen and (max-width: 767px) {
  .map__contents {
    padding-bottom: 27.3333333333vw;
  }
}
.map__hdg {
  width: 42.8257686676%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .map__hdg {
    width: 84%;
  }
}
.map__lead {
  padding-top: 1.6105417277%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 2.1rem;
  line-height: 1.619047619;
}
@media screen and (max-width: 1366px) {
  .map__lead {
    font-size: 1.5373352855vw;
  }
}
@media screen and (max-width: 767px) {
  .map__lead {
    padding-top: 4%;
    font-size: 3.3333333333vw;
    line-height: 1.64;
  }
}
.map__btn {
  display: block;
  width: 18.3016105417%;
  margin-top: 2.7086383602%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .map__btn {
    transform: scale(1);
    transition: transform 0.3s;
  }
  .map__btn:hover {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 767px) {
  .map__btn {
    width: 52.8%;
    margin-top: 4%;
    margin-right: auto;
  }
}
.map__btn-cont {
  position: relative;
}
.map__btn-cont::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(/campaign/cp2026/images/map_btn_shadow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 8px;
  left: 5px;
  z-index: 0;
}
@media screen and (max-width: 1366px) {
  .map__btn-cont::after {
    top: 0.5856515373vw;
    left: 0.3660322108vw;
  }
}
@media screen and (max-width: 767px) {
  .map__btn-cont::after {
    top: 1.8666666667vw;
    left: 1.3333333333vw;
  }
}
.map__btn-bg {
  width: 100%;
  position: relative;
  z-index: 1;
}
.map__btn-txt {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
}
.map__fukidashi {
  width: 21.7423133236%;
  margin-top: 14.6412884334%;
  position: absolute;
  bottom: 250px;
  left: 18.8872620791%;
}
@media screen and (max-width: 1366px) {
  .map__fukidashi {
    bottom: 18.3016105417vw;
  }
}
@media screen and (max-width: 767px) {
  .map__fukidashi {
    margin-top: 85.7333333333vw;
    width: 45.3333333333vw;
    left: 8.6666666667vw;
    bottom: auto;
    top: 4vw;
  }
}
.map__btn-x {
  display: block;
  width: 19.3997071742%;
  margin-top: 2.9282576867%;
  margin-left: auto;
  margin-right: auto;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .map__btn-x {
    margin-top: 25.3333333333vw;
    width: 38%;
  }
}
.map__pin-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 1920px;
  height: 1080px;
}
@media screen and (max-width: 1366px) {
  .map__pin-container {
    width: 140.5563689605vw;
    height: 79.0629575403vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin-container {
    width: 100%;
    height: 199.3333333333vw;
  }
}
.map__pin {
  margin-left: auto;
  margin-right: auto;
  width: 1920px;
  height: 1080px;
  position: absolute;
  top: -100px;
  left: 50%;
  pointer-events: none;
  transform: translateX(-50%);
  opacity: 0;
}
@media screen and (max-width: 1366px) {
  .map__pin {
    top: -7.3206442167vw;
    width: 140.5563689605vw;
    height: 79.0629575403vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin {
    width: 100%;
    height: 199.3333333333vw;
    top: -38.6666666667vw;
  }
}
.map__pin--1 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--1 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--1 {
    width: 5.6%;
  }
}
.map__pin--2 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--2 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--2 {
    width: 5.6%;
  }
}
.map__pin--3 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--3 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--3 {
    width: 5.6%;
  }
}
.map__pin--4 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--4 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--4 {
    width: 5.6%;
  }
}
.map__pin--5 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--5 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--5 {
    width: 5.6%;
  }
}
.map__pin--6 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--6 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--6 {
    width: 5.6%;
  }
}
.map__pin--7 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--7 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--7 {
    width: 5.6%;
  }
}
.map__pin--8 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--8 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--8 {
    width: 5.6%;
  }
}
.map__pin--9 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--9 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--9 {
    width: 5.6%;
  }
}
.map__pin--10 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--10 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--10 {
    width: 5.6%;
  }
}
.map__pin--11 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--11 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--11 {
    width: 5.6%;
  }
}
.map__pin--12 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--12 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--12 {
    width: 5.6%;
  }
}
.map__pin--13 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--13 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--13 {
    width: 5.6%;
  }
}
.map__pin--14 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--14 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--14 {
    width: 5.6%;
  }
}
.map__pin--15 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--15 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--15 {
    width: 5.6%;
  }
}
.map__pin--16 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--16 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--16 {
    width: 5.6%;
  }
}
.map__pin--17 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--17 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--17 {
    width: 5.6%;
  }
}
.map__pin--18 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--18 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--18 {
    width: 5.6%;
  }
}
.map__pin--19 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--19 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--19 {
    width: 5.6%;
  }
}
.map__pin--20 {
  width: 42px;
  position: absolute;
  transform-origin: center bottom;
}
@media screen and (max-width: 1366px) {
  .map__pin--20 {
    width: 3.074670571vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--20 {
    width: 5.6%;
  }
}
.map__pin--1 {
  left: 364px;
  top: 327px;
}
@media screen and (max-width: 1366px) {
  .map__pin--1 {
    left: 26.6471449488vw;
    top: 23.9385065886vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--1 {
    left: 8vw;
    top: 69.6vw;
  }
}
.map__pin--2 {
  left: 545px;
  top: 352px;
}
@media screen and (max-width: 1366px) {
  .map__pin--2 {
    left: 39.897510981vw;
    top: 25.7686676428vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--2 {
    left: 12.9333333333vw;
    top: 82.1333333333vw;
  }
}
.map__pin--3 {
  left: 649px;
  top: 457px;
}
@media screen and (max-width: 1366px) {
  .map__pin--3 {
    left: 47.5109809663vw;
    top: 33.4553440703vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--3 {
    left: 5.2vw;
    top: 102.6666666667vw;
  }
}
.map__pin--4 {
  left: 405px;
  top: 475px;
}
@media screen and (max-width: 1366px) {
  .map__pin--4 {
    left: 29.6486090776vw;
    top: 34.7730600293vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--4 {
    left: 11.6vw;
    top: 152.6666666667vw;
  }
}
.map__pin--5 {
  left: 586px;
  top: 521px;
}
@media screen and (max-width: 1366px) {
  .map__pin--5 {
    left: 42.8989751098vw;
    top: 38.140556369vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--5 {
    left: 77.6vw;
    top: 69.6vw;
  }
}
.map__pin--6 {
  left: 111px;
  top: 474px;
}
@media screen and (max-width: 1366px) {
  .map__pin--6 {
    left: 8.1259150805vw;
    top: 34.6998535871vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--6 {
    left: 89.2vw;
    top: 82vw;
  }
}
.map__pin--7 {
  left: 229px;
  top: 560px;
}
@media screen and (max-width: 1366px) {
  .map__pin--7 {
    left: 16.7642752562vw;
    top: 40.9956076135vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--7 {
    left: 82.9333333333vw;
    top: 106.9333333333vw;
  }
}
.map__pin--8 {
  left: 343px;
  top: 650px;
}
@media screen and (max-width: 1366px) {
  .map__pin--8 {
    left: 25.1098096633vw;
    top: 47.5841874085vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--8 {
    left: 88.1333333333vw;
    top: 124.1333333333vw;
  }
}
.map__pin--9 {
  left: 446px;
  top: 750px;
}
@media screen and (max-width: 1366px) {
  .map__pin--9 {
    left: 32.6500732064vw;
    top: 54.9048316252vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--9 {
    left: 78.5333333333vw;
    top: 136.2666666667vw;
  }
}
.map__pin--10 {
  left: 146px;
  top: 674px;
}
@media screen and (max-width: 1366px) {
  .map__pin--10 {
    left: 10.6881405564vw;
    top: 49.3411420205vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--10 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--11 {
  left: 1503px;
  top: 246px;
}
@media screen and (max-width: 1366px) {
  .map__pin--11 {
    left: 110.0292825769vw;
    top: 18.0087847731vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--11 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--12 {
  left: 1301px;
  top: 348px;
}
@media screen and (max-width: 1366px) {
  .map__pin--12 {
    left: 95.2415812592vw;
    top: 25.4758418741vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--12 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--13 {
  left: 1210px;
  top: 484px;
}
@media screen and (max-width: 1366px) {
  .map__pin--13 {
    left: 88.579795022vw;
    top: 35.4319180088vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--13 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--14 {
  left: 1735px;
  top: 238px;
}
@media screen and (max-width: 1366px) {
  .map__pin--14 {
    left: 127.0131771596vw;
    top: 17.4231332357vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--14 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--15 {
  left: 1654px;
  top: 397px;
}
@media screen and (max-width: 1366px) {
  .map__pin--15 {
    left: 121.0834553441vw;
    top: 29.0629575403vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--15 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--16 {
  left: 1465px;
  top: 496px;
}
@media screen and (max-width: 1366px) {
  .map__pin--16 {
    left: 107.2474377745vw;
    top: 36.3103953148vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--16 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--17 {
  left: 1777px;
  top: 529px;
}
@media screen and (max-width: 1366px) {
  .map__pin--17 {
    left: 130.0878477306vw;
    top: 38.7262079063vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--17 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--18 {
  left: 1517px;
  top: 572px;
}
@media screen and (max-width: 1366px) {
  .map__pin--18 {
    left: 111.0541727672vw;
    top: 41.8740849195vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--18 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--19 {
  left: 1265px;
  top: 650px;
}
@media screen and (max-width: 1366px) {
  .map__pin--19 {
    left: 92.6061493411vw;
    top: 47.5841874085vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--19 {
    left: 0vw;
    top: 0vw;
  }
}
.map__pin--20 {
  left: 1416px;
  top: 732px;
}
@media screen and (max-width: 1366px) {
  .map__pin--20 {
    left: 103.6603221083vw;
    top: 53.5871156662vw;
  }
}
@media screen and (max-width: 767px) {
  .map__pin--20 {
    left: 0vw;
    top: 0vw;
  }
}
.map .map__container.jsScrollIn .map__hdg {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.map .map__container.jsScrollIn .map__lead {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1 forwards;
}
.map .map__container.jsScrollIn .map__link {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 1000ms 1 forwards;
}
.map .map__container.jsScrollIn .map__btn-bg {
  animation: rotateAnim 10s linear 1000ms infinite;
}
.map .map__container.jsScrollIn .map__btn-cont::after {
  animation: rotateAnim 10s linear 1000ms infinite;
}
.map .map__container.jsScrollIn .map__fukidashi {
  opacity: 0;
  animation: fade-up 500ms ease-in-out 500ms 1 forwards;
}
.map .map__container.jsScrollIn .map__pin {
  opacity: 0;
  animation: fade-in 500ms ease-in-out 1500ms 1 forwards;
}
.map .map__container.jsScrollIn .map__pin .map__pin--1 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--2 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--3 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--4 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--5 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--6 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--7 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--8 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--9 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--10 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--11 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--12 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--13 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--14 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--15 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--16 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--17 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--18 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--19 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
.map .map__container.jsScrollIn .map__pin .map__pin--20 {
  animation: pinAnim 1500ms ease-in-out 1.5s 1;
}
@keyframes pinAnim {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  40% {
    transform: scale(1.1, 1.3) translate(0%, -10%);
  }
  50% {
    transform: scale(1.3, 1) translate(0%, 5%);
  }
  60% {
    transform: scale(1, 1.1) translate(0%, -3%);
  }
  70% {
    transform: scale(1.3, 1) translate(0%, 3%);
  }
  80% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* map:end */
/* float:start */
.float {
  position: relative;
  z-index: 2;
}
.float__entry {
  width: 47.5841874085%;
  max-width: 650px;
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .float__entry {
    width: 84%;
  }
}
.float__entry-btn {
  display: block;
}
@media screen and (min-width: 768px) {
  .float__entry-btn {
    transform: scale(1);
    transition: transform 0.3s;
  }
  .float__entry-btn:hover {
    transform: scale(1.1);
  }
}
.float__entry-btn--teaser {
  display: block;
}

/* float:end */
/* footer:start */
.footer {
  background-color: #00a13f;
  position: relative;
  z-index: 1;
}
.footer__container {
  padding-top: 25px;
  padding-bottom: 145px;
}
@media screen and (max-width: 767px) {
  .footer__container {
    padding-top: 2.6666666667%;
    padding-bottom: 21.3333333333vw;
  }
}
.footer__totop {
  display: block;
  width: 3.8067349927%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.4641288433%;
}
@media screen and (max-width: 767px) {
  .footer__totop {
    width: 8.5333333333%;
    margin-bottom: 4%;
  }
}
.footer__totop-arrow {
  margin-bottom: 20%;
  animation: totopAnim 2s infinite;
}
.footer__btn-share {
  display: block;
  width: 22.6207906296%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .footer__btn-share {
    transform: scale(1);
    transition: transform 0.3s;
  }
  .footer__btn-share:hover {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 767px) {
  .footer__btn-share {
    width: 54.6666666667%;
  }
}
.footer__box {
  width: 100%;
  display: flex;
  padding-top: 4.0263543192%;
}
@media screen and (max-width: 767px) {
  .footer__box {
    flex-direction: column;
    padding-top: 6%;
  }
}
.footer__logo {
  width: min(356px, 26.0614934114vw);
  margin-left: min(502px, 36.7496339678vw);
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 66.6666666667%;
    margin-left: auto;
    margin-right: auto;
    order: 2;
  }
}
.footer__inner {
  width: 16.8374816984%;
  margin-right: 4.7584187408%;
  margin-top: 2.196193265%;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    width: 22.2666666667%;
    order: 1;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 10.6666666667%;
  }
}
.footer__txt {
  width: 56.9565217391%;
}
@media screen and (max-width: 767px) {
  .footer__txt {
    width: 84.4311377246%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10.1796407186%;
  }
}
.footer__sns {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .footer__sns {
    flex-direction: row;
  }
}
.footer__x {
  display: block;
  width: 66.0869565217%;
  padding-top: min(15px, 1.0980966325vw);
}
@media screen and (max-width: 767px) {
  .footer__x {
    width: 45.5089820359%;
    padding-top: 0;
  }
}
.footer__instagram {
  display: block;
  width: 96.5217391304%;
  padding-top: min(10px, 0.7320644217vw);
}
@media screen and (max-width: 767px) {
  .footer__instagram {
    width: 45.5089820359%;
    padding-top: 0;
  }
}
@keyframes totopAnim {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 0;
  }
}

/* footer:end */