/* breakpoints */
/* vw-font-size */
/* link-style */
/* border-style */
body {
  background-color: rgb(247, 244, 245);
}

.mv {
  background: linear-gradient(180deg, rgba(220, 238, 255, 0.2) 0%, rgb(255, 248, 245) 50%, rgb(245, 241, 240) 100%);
  position: relative;
  width: 100%;
  padding-bottom: 160rem;
  overflow: hidden;
}
@media screen and (max-width: 1180px) {
  .mv {
    padding-bottom: 100rem;
  }
}
@media screen and (max-width: 540px) {
  .mv {
    padding-bottom: 120rem;
  }
}
.mv-title {
  display: none;
}
@media screen and (max-width: 1180px) {
  .mv-title {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 1180px) {
  .mv-title h1 {
    width: 160rem;
    position: relative;
    z-index: 10;
    margin-top: 24rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-title h1 {
    width: 110rem;
  }
}
.mv-bg {
  max-width: 900rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 1180px) {
  .mv-bg {
    max-width: 90%;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg {
    max-width: 100%;
  }
}
.mv-bg img {
  position: absolute;
}
.mv-bg-sun {
  width: 420rem;
  right: 10rem;
  top: -90rem;
}
@media screen and (max-width: 1180px) {
  .mv-bg-sun {
    width: 520rem;
    right: -30px;
    top: -130rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-sun {
    width: 280rem;
    right: -80px;
    top: -80rem;
  }
}
.mv-bg-cloud1 {
  width: 510rem;
  top: 20rem;
  left: -30rem;
  z-index: 1;
}
@media screen and (max-width: 1180px) {
  .mv-bg-cloud1 {
    width: 650rem;
    top: 86rem;
    left: -80rem;
    z-index: 1;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-cloud1 {
    width: 380rem;
    top: 70rem;
    left: -90rem;
    z-index: 1;
  }
}
.mv-bg-cloud2 {
  width: 470rem;
  top: 115rem;
  right: 20rem;
  z-index: 1;
  transform: rotate(-15deg);
}
@media screen and (max-width: 1180px) {
  .mv-bg-cloud2 {
    width: 620rem;
    top: 170rem;
    right: -20rem;
    z-index: 1;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-cloud2 {
    width: 380rem;
    top: 130rem;
    right: -110rem;
    z-index: 1;
  }
}
.mv-bg-mount {
  width: 610rem;
  top: 155rem;
  right: 30rem;
  transform: rotate(12deg);
}
@media screen and (max-width: 1180px) {
  .mv-bg-mount {
    width: 660rem;
    top: 390rem;
    right: -30rem;
    z-index: 1;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-mount {
    min-width: 520rem;
    top: 238rem;
    right: -148px;
    transform: rotate(36deg);
  }
}
.mv-bg-ocean {
  width: 350rem;
  top: 365rem;
  left: 10rem;
}
@media screen and (max-width: 1180px) {
  .mv-bg-ocean {
    width: 520rem;
    top: 550rem;
    left: 50rem;
    z-index: 2;
    transform: rotate(-5deg);
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-ocean {
    width: 260rem;
    top: 500rem;
    left: -50rem;
    z-index: 2;
  }
}
.mv-bg-airplane {
  width: 90rem;
  top: 40rem;
  right: 230rem;
  z-index: 2;
}
@media screen and (max-width: 1180px) {
  .mv-bg-airplane {
    width: 120rem;
    top: 80rem;
    right: 280rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-bg-airplane {
    width: 68rem;
    top: 90rem;
    right: 38px;
  }
}
.mv-carousel {
  width: 100%;
  padding-top: 20rem;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 1180px) {
  .mv-carousel {
    padding-top: 0;
    top: -50rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel {
    top: -24rem;
  }
}
.mv-carousel-list {
  display: block;
}
.mv-carousel-box {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin-left: 60rem;
  margin-top: 40rem;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-box {
    margin-left: 0;
    margin-top: 0;
  }
}
.mv-carousel-text {
  position: relative;
  top: -60rem;
  z-index: 4;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-text {
    top: -130rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-text {
    top: -86rem;
  }
}
@media screen and (max-width: 1180px) {
  .mv-carousel-text-list {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.mv-carousel-text-box {
  width: 100%;
}
.mv-carousel-list {
  scale: 0.9;
  transition: all 0.5s ease-in-out;
}
.mv-carousel-list-back-img {
  width: 100%;
  height: 100%;
  background-size: 100%;
  position: relative;
}
.mv-carousel-list-back-img img {
  object-fit: contain;
}
.mv-carousel-list-img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 40rem);
}
@media screen and (max-width: 1180px) {
  .mv-carousel-list-img {
    width: calc(100% - 60rem);
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-list-img {
    width: calc(100% - 40rem);
  }
}
.mv-carousel-list-img-decoration {
  width: 100%;
  height: 100%;
  position: absolute;
}
.mv-carousel-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 190rem;
}
.mv-carousel-list-contents {
  display: block;
  width: 400rem;
  position: relative;
  z-index: 4;
  margin-left: 80rem;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-list-contents {
    width: 500rem;
    margin-left: 0;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-list-contents {
    width: 90%;
  }
}
.mv-carousel-list-contents .author {
  display: inline-flex;
  align-items: center;
  background-color: white;
  gap: 6rem;
  padding: 6rem 8rem;
  border-top: 2rem solid #293542;
  border-left: 2rem solid #293542;
  border-right: 2rem solid #293542;
  border-radius: 4rem 4rem 0 0;
  font-size: 14rem;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-list-contents .author {
    font-size: 16rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-list-contents .author {
    font-size: 12rem;
  }
}
.mv-carousel-list-contents .author img {
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
}
.mv-carousel-list-contents .title {
  background-color: white;
  padding: 12rem 16rem;
  border: 2rem solid #293542;
  font-size: 18rem;
  font-weight: 500;
  border-radius: 0 4rem 4rem 4rem;
  line-height: 1.5;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-list-contents .title {
    font-size: 24rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-list-contents .title {
    font-size: 16rem;
  }
}
.mv-carousel-list-contents .theme-group {
  display: flex;
  gap: 4rem;
}
.mv-carousel-list-contents .theme {
  font-size: 13rem;
  color: white;
  background: #030303;
  padding: 4rem 6rem;
  border-radius: 2rem;
  margin-top: 4rem;
}
@media screen and (max-width: 1180px) {
  .mv-carousel-list-contents .theme {
    font-size: 16rem;
  }
}
@media screen and (max-width: 540px) {
  .mv-carousel-list-contents .theme {
    font-size: 13rem;
  }
}

.swiper-slide-active .mv-carousel-list {
  scale: 1;
}

.campaign-announcement-wrap {
  position: relative;
  background: url(../img/campaign/about-bg.png) repeat;
  background-size: 20%;
  display: flex;
  justify-content: center;
  padding-bottom: 40rem;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-wrap {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-wrap {
    padding-bottom: 0;
  }
}
.campaign-announcement-bar-group {
  width: 100%;
  position: absolute;
}
.campaign-announcement-bar-group.top {
  top: -10rem;
  z-index: 5;
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group.top {
    top: 0;
  }
}
.campaign-announcement-bar-group.bottom {
  bottom: -58rem;
  z-index: 0;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-bar-group.bottom {
    bottom: -63rem;
  }
}
.campaign-announcement-bar-group.bottom .campaign-bar-en {
  top: -60rem;
  transform: rotate(-8deg);
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-bar-group.bottom .campaign-bar-en {
    top: -85rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group.bottom .campaign-bar-en {
    top: -20rem;
  }
}
.campaign-announcement-bar-group.bottom .campaign-bar-ja {
  transform: rotate(6deg);
  top: -10rem;
  z-index: 2;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-bar-group.bottom .campaign-bar-ja {
    top: 10rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group.bottom .campaign-bar-ja {
    top: -30rem;
  }
}
.campaign-announcement-bar-group .campaign-bar-en {
  width: 200%;
  height: 64rem;
  background-color: #FE4F29;
  border-top: 1px solid #2B140E;
  border-bottom: 1px solid #2B140E;
  position: relative;
  top: 40rem;
  left: -20rem;
  transform: rotate(6deg);
  z-index: 2;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-bar-group .campaign-bar-en {
    height: 80rem;
    top: 60rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group .campaign-bar-en {
    height: 50rem;
    transform: rotate(9deg);
    top: 9rem;
    left: -70rem;
  }
}
.campaign-announcement-bar-group .campaign-bar-en img {
  width: 100%;
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group .campaign-bar-en img {
    min-width: 400rem;
  }
}
.campaign-announcement-bar-group .campaign-bar-ja {
  width: 200%;
  height: 64rem;
  background-color: #E0F782;
  border-top: 1px solid #97AF33;
  border-bottom: 1px solid #97AF33;
  position: relative;
  top: -97rem;
  left: -50rem;
  transform: rotate(-7deg);
  z-index: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-bar-group .campaign-bar-ja {
    height: 80rem;
    top: -143rem;
    left: -50rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group .campaign-bar-ja {
    height: 50rem;
    transform: rotate(-8deg);
    top: -57rem;
    left: -80rem;
  }
}
.campaign-announcement-bar-group .campaign-bar-ja img {
  width: 100%;
}
@media screen and (max-width: 540px) {
  .campaign-announcement-bar-group .campaign-bar-ja img {
    min-width: 640rem;
  }
}
.campaign-announcement-bar-top-front {
  transform: rotate(40);
}
.campaign-announcement-contents {
  position: relative;
  z-index: 4;
  max-width: 580rem;
  margin: 80rem 24rem 0;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-contents {
    max-width: 800rem;
    margin: 100rem 24rem 0;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-contents {
    margin: 50rem 24rem 0;
  }
}
.campaign-announcement-contents img {
  width: 100%;
  position: relative;
  left: -13rem;
}
@media screen and (max-width: 540px) {
  .campaign-announcement-contents img {
    max-width: 372rem;
  }
}
.campaign-announcement-more {
  font-size: 16rem;
  font-weight: 500;
  width: 84%;
  height: 50rem;
  background-color: #FECF28;
  border: 2px solid #000;
  padding: 0 8rem 0 32rem;
  border-radius: 99rem;
  margin-bottom: 16rem;
  display: flex;
  align-items: center;
  box-shadow: 4px 6px 0px 0px rgb(0, 0, 0);
  margin-bottom: 48rem;
  position: relative;
  bottom: 110rem;
  margin: 0 auto;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-more {
    height: 70rem;
    font-size: 26rem;
    bottom: 148rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-more {
    height: 44rem;
    font-size: 16rem;
    bottom: 92rem;
  }
}
.campaign-announcement-more .more-text {
  margin-left: auto;
}
.campaign-announcement-more .icon {
  width: 32rem;
  height: 32rem;
  background: white;
  display: inline-block;
  margin-left: auto;
  border-radius: 50%;
  border: 2px solid #000;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-more .icon {
    width: 48rem;
    height: 48rem;
    right: 3rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-more .icon {
    width: 32rem;
    height: 32rem;
    right: 0;
    border: 1px solid #000;
  }
}
.campaign-announcement-more .icon::before {
  content: "";
  display: inline-block;
  background: url(../img/top/icon-arrow.svg) no-repeat;
  background-size: 100%;
  width: 16rem;
  height: 16rem;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1180px) {
  .campaign-announcement-more .icon::before {
    width: 24rem;
    height: 24rem;
  }
}
@media screen and (max-width: 540px) {
  .campaign-announcement-more .icon::before {
    width: 16rem;
    height: 16rem;
  }
}

.loop {
  animation: infinity-scroll-right 15s infinite linear 0s both;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.about-bg-box {
  width: 100%;
  height: 557rem;
  padding-top: 120rem;
  background: url(../img/top/about-bg-top.png), linear-gradient(180deg, rgba(176, 202, 246, 0.3) 0%, rgba(194, 212, 244, 0.48) 60%, rgba(239, 233, 238, 0.83) 80%, rgb(255, 243, 238) 100%);
  background-size: 100%, 100%;
  background-repeat: no-repeat;
  background-position: left 0 top 100rem, left top;
}
@media screen and (max-width: 1180px) {
  .about-bg-box {
    height: 709rem;
  }
}
@media screen and (max-width: 540px) {
  .about-bg-box {
    background: url(../img/top/about-bg-top-sp.png), linear-gradient(180deg, rgba(176, 202, 246, 0.3) 0%, rgba(194, 212, 244, 0.48) 60%, rgba(239, 233, 238, 0.83) 80%, rgb(255, 243, 238) 100%);
    background-size: 100%, 100%;
    background-repeat: no-repeat;
    background-position: left 0 top 84rem, left top;
    height: 420rem;
  }
}
.about-contents {
  width: 470rem;
  margin: 0 auto;
}
@media screen and (max-width: 540px) {
  .about-contents {
    width: 100%;
    padding: 0 16rem 0 46rem;
  }
}
.about-contents-box {
  background: url(../img/top/about-bg-bottom.png), linear-gradient(180deg, rgb(243, 241, 232) 0%, rgba(230, 233, 240, 0.48) 40%, rgba(182, 209, 242, 0.83) 65%, rgb(102, 169, 244) 100%);
  background-size: 100%, 100%;
  background-repeat: no-repeat;
  background-position: left top, left top;
  padding-top: 30rem;
  padding-bottom: 160rem;
}
@media screen and (max-width: 540px) {
  .about-contents-box {
    background: url(../img/top/about-bg-bottom-sp.png), linear-gradient(180deg, rgb(243, 241, 232) 0%, rgba(230, 233, 240, 0.48) 40%, rgba(182, 209, 242, 0.83) 65%, rgb(102, 169, 244) 100%);
    background-size: 100%, 100%;
    background-repeat: no-repeat;
    padding-bottom: 90rem;
  }
}
.about-contents h2 {
  background: url(../img/top/about-catch.svg) no-repeat;
  background-size: 100%;
  width: 400rem;
  height: 29rem;
  margin-bottom: 40rem;
}
@media screen and (max-width: 540px) {
  .about-contents h2 {
    background: url(../img/top/about-catch-sp.svg) no-repeat;
    background-size: 100%;
    width: 230rem;
    height: 76rem;
  }
}
.about-contents h2 span {
  display: none;
}
.about-contents-text {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 2rem;
  color: #2B3B4C;
}
.about-contents-text p {
  margin-bottom: 24rem;
}
.about-contents-text p :nth-of-type(3) {
  margin-bottom: 0;
}
@media screen and (max-width: 540px) {
  .about-contents-text p span {
    display: block;
  }
}

.plan-wrap {
  width: 100%;
  position: relative;
  top: -50rem;
}
@media screen and (max-width: 540px) {
  .plan-wrap {
    top: -36rem;
  }
}
.plan-wrap::before {
  content: "";
  display: block;
  background: url(../img/top/plan-bg.png) no-repeat;
  background-size: 100%;
  width: 100%;
  padding-top: 5.0793650794%;
  position: relative;
  top: 1rem;
}
.plan-wrap-inner {
  padding-top: 50rem;
  background: linear-gradient(180deg, rgb(219, 231, 245) 0%, rgb(229, 236, 245) 40%, rgb(233, 237, 244) 65%, rgb(247, 244, 245) 100%);
}
.plan-list-box {
  padding-left: 80rem;
  display: flex;
  flex-direction: column;
  gap: 48rem;
}
@media screen and (max-width: 540px) {
  .plan-list-box {
    padding-left: 0;
    gap: 36rem;
  }
}
.plan-list {
  color: #293541;
}
.plan-list-title {
  font-size: 20rem;
  letter-spacing: 2rem;
  font-weight: 500;
  padding-bottom: 8rem;
  border-bottom: 1rem #8A919A solid;
  margin-bottom: 16rem;
}
@media screen and (max-width: 540px) {
  .plan-list-title {
    margin-left: 24rem;
  }
}
.plan-card {
  min-width: 360rem;
  width: 360rem;
  padding-top: 10rem;
}
@media screen and (max-width: 540px) {
  .plan-card {
    min-width: 280rem;
    width: 280rem;
  }
  .plan-card:nth-of-type(1) {
    margin-left: 24rem;
  }
}
.plan-card-list {
  width: 100%;
  display: flex;
  gap: 24rem;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.plan-card-list::-webkit-scrollbar {
  display: none;
}
.plan-card-box {
  position: relative;
}
.plan-card-img-box {
  height: 230rem;
  margin-bottom: 12rem;
}
@media screen and (max-width: 540px) {
  .plan-card-img-box {
    height: 180rem;
  }
}
.plan-card-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6rem;
}
.plan-card-area {
  display: inline-block;
  font-size: 13rem;
  color: white;
  background-color: #030303;
  padding: 4rem 6rem;
  border-radius: 2rem;
  position: absolute;
  top: -10rem;
}
@media screen and (max-width: 540px) {
  .plan-card-area {
    font-size: 12rem;
  }
}
.plan-card-title {
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 540px) {
  .plan-card-title {
    font-size: 14rem;
  }
}
.plan-card-author-box {
  margin-top: 8rem;
  display: flex;
  gap: 4rem;
  align-items: center;
  font-size: 12rem;
}
.plan-card-author-box img {
  width: 24rem;
  height: 24rem;
  object-fit: cover;
  border-radius: 50%;
}