/* google font */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');

.kiwi-maru-light {
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.kiwi-maru-regular {
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.kiwi-maru-medium {
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 500;
  font-style: normal;
}

/* header */
@media screen and (min-width:768px) {
  #header {
    height: 5rem;
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.20);
  }
  #header_logo small {
    display: none;
  }
}

/* common */

@media screen and (max-width:1023px) {
	.sp_disp.tablet_disp { display: block; }
}


/* mv */
#mv.mv_30th {
  background: #F5FEFF;
  height: calc(100svh + 3rem);
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width:767px) {
  #mv.mv_30th {
    height: 100svh !important;
  }
}

#mv.mv_30th .mv_inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 0;
}

#mv.mv_30th .mv_loading_wrap {
  animation: fadeInOutLoading 3.5s ease-out 0.5s forwards;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_loading_wrap {
    left: 50%;
    text-align: center;
  }
}

#mv.mv_30th .mv_copy.mv_loading_copy {
  width: 100%;
}

#mv.mv_30th .mv_copy_en.mv_loading_copy_en {
  font-size: 32px;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-top: 20px;
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_copy_en.mv_loading_copy_en {
    font-size: 22px;
  }
}

#mv.mv_30th .mv_logo {
  animation: fadeIn 1.5s ease-out 4.5s forwards;
  margin-top: 33vh;
  opacity: 0;
  width: 240px;
}

#mv.mv_30th .mv_logo img {
  height: auto;
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_logo {
    margin-top: 27vh;
    width: 145px;
  }
}

#mv.mv_30th .mv_text {
  margin-top: auto;
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_text {
    text-align: center;
  }
}


#mv.mv_30th .mv_text .mv_copy,
#mv.mv_30th .mv_text .mv_copy_en {
  animation: fadeInUpCopy 2s ease-out 7s forwards;
  opacity: 0;
  position: relative;
  z-index: 1;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_copy,
  #mv.mv_30th .mv_copy_en {
    padding-inline: 20px;
  }
}

#mv.mv_30th .mv_copy .border,
#mv.mv_30th .mv_copy_en .border {
  color: #fff;
  left: 0;
  position: absolute;
  top: 0;
  text-shadow: none;
  -webkit-text-stroke: 9px #fff;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_copy .border,
  #mv.mv_30th .mv_copy_en .border {
    padding-inline: 20px;
  }
}

#mv.mv_30th .mv_copy {
  font-size: 50px;
  letter-spacing: -0.02em;
  line-height: calc(64/50);
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 1);
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_copy {
    font-size: 38px;
    line-height: calc(64/38);
  }
}

@media screen and (max-width:400px) {
  #mv.mv_30th .mv_copy {
    font-size: 32px;
  }
}

#mv.mv_30th .mv_copy .ls {
  letter-spacing: -0.4em;
}

#mv.mv_30th .mv_copy_en {
  color: #00A040;
  font-size: 32px;
  letter-spacing: -0.05em;
  line-height: calc(34/22);
  margin-bottom: 20px;
  position: relative;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_copy_en {
    margin-top: 11px;
    font-size: 18px;
    line-height: calc(24/18);
  }
}

@media screen and (max-width:400px) {
  #mv.mv_30th .mv_copy_en {
    font-size: 16px;
  }
}

#mv.mv_30th .mv_copy_en .border {
  -webkit-text-stroke-width: 3px;
}

#mv.mv_30th .mv_lead {
  animation: slideUpLead 2s ease-out 7s forwards;
  background: url(../img/mv_lead-bg.svg) 50% top / 1440px repeat;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: calc(26/17);
  opacity: 0;
  padding-bottom: 12px;
  padding-top: 32px;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_lead {
    background-image: url(../img/mv_lead-bg_sp.svg);
    background-position: top;
    background-size: cover;
    font-size: 12px;
    line-height: calc(24/12);
    margin-top: 26px;
    padding: 10px 15px 15px;
    text-align: left;
  }
}

#mv.mv_30th .mv_bg_slide {
  bottom: 0;
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  max-width: 1100px;
  width: calc((1100 / 1280) * 100%);
  z-index: -1;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg_slide {
    width: 365px;
  }
}

#mv.mv_30th .mv_bg_slide {
  animation: fadeIn 2.5s ease-out 10s forwards;
  display: flex;
  justify-content: space-between;
  opacity: 0;
}

#mv.mv_30th .mv_bg_slide_left,
#mv.mv_30th .mv_bg_slide_right {
  display: flex;
  gap: 60px;
  width: calc((480 / 1454) * 100%);
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg_slide_left {
    gap: 0;
    justify-content: space-between;
    width: 100%;
  }
}


@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg_slide_right {
    display: none;
  }
}

#mv.mv_30th .mv_bg_slide_wrap {
  width: calc(50% - 78px / 2);
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg_slide_wrap {
    width: 100px;
  }
}

#mv.mv_30th .mv_bg_slide_list {
  animation: linear infinite;
  animation-duration: 300s;
}

#mv.mv_30th .mv_bg_slide_list:first-child {
  animation-delay: -150s;
}

#mv.mv_30th .mv_bg_slide_wrap.--down .mv_bg_slide_list:first-child {
  animation-name: flowingDown1;
}

#mv.mv_30th .mv_bg_slide_wrap.--down .mv_bg_slide_list:nth-child(2) {
  animation-name: flowingDown2;
}

#mv.mv_30th .mv_bg_slide_wrap.--up .mv_bg_slide_list:first-child {
  animation-name: flowingUp1;
}

#mv.mv_30th .mv_bg_slide_wrap.--up .mv_bg_slide_list:nth-child(2) {
  animation-name: flowingUp2;
}

#mv.mv_30th .mv_bg_slide_item picture {
  display: block;
}

#mv.mv_30th .mv_bg_slide_item img {
  height: auto;
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg_slide_item {
    padding-bottom: 44px;
  }

  #mv.mv_30th .mv_bg_slide_item img {
    aspect-ratio: auto;
    height: auto !important;
  }
}

#mv.mv_30th .mv_bg {
  animation: fadeIn 1.5s ease-out 4.5s forwards;
  bottom: 0;
  left: 50%;
  opacity: 0;
  position: absolute;
  transform: translateX(-50%);
  width: 100%;
  z-index: -2;
}

#mv.mv_30th .mv_bg::after {
  background: url(../img/mv_bg.png) 50% / 1280px repeat;
  content: "";
  display: block;
  height: 299px;
  width: 100%;
}

@media screen and (max-width:767px) {
  #mv.mv_30th .mv_bg::after {
    background-image: url(../img/mv_bg_sp.png);
    background-size: 767px;
    height: 285px;
  }
}

#mv.mv_30th .mv_bg picture {
  display: block;
}

#mv.mv_30th .mv_bg picture img {
  display: block;
  max-width: 100%;
}


/* keyframes */

@keyframes fadeInOutLoading {
  0% {
    opacity: 0
  }

  58% {
    opacity: 1
  }

  77% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeInUpCopy {
  0% {
    transform: translateY(30px);
    opacity: 0
  }

  to {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes slideUpLead {
  0% {
    transform: translateY(30px);
    opacity: 0
  }

  to {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes flowingUp1 {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
  }
}

@keyframes flowingUp2 {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-200%);
  }
}

@keyframes flowingDown1 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes flowingDown2 {
  0% {
    transform: translateY(-200%);
  }
  100% {
    transform: translateY(0);
  }
}
