@charset "UTF-8";
.u-main-font {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 800;
}
.u-en-font {
  font-family: Fredoka, sans-serif;
}
.u-baloo {
  font-family: 'Baloo 2', sans-serif;
}
.u-white {
  color: #fff;
}
.u-font-color {
  color: #343d4b;
}
.u-yellow {
  color: #ffe100;
}
.u-blue {
  color: #008cd3;
}
.u-text-center {
  text-align: center;
}
.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
main {
  overflow: clip;
}
@media screen and (min-width: 768px) {
  main {
    overflow: unset;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  a[href^='tel:'] {
    pointer-events: none;
  }
}
a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}
*,
*:before,
*:after {
  box-sizing: border-box;
}
ul,
ol {
  padding: 0;
}
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 800;
  line-height: 1.6;
  color: #003894;
}
ul,
ol {
  list-style: none;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}
article > * + * {
  margin-top: 1em;
}
input,
button,
textarea,
select {
  font: inherit;
}
img:not([alt]) {
  filter: blur(10px);
}
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
  display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
picture {
  display: block;
}
button {
  display: block;
  padding: 0;
  width: 100%;
}
.c-btn {
  width: 100%;
  display: inline-block;
  text-align: center;
  background-color: #003894;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.4;
  border-radius: 3.125rem;
  padding-block: 0.75rem;
  transition: all 0.45s;
}
.c-btn span {
  font-size: 0.625rem;
}
@media (hover: hover) {
  .c-btn:hover {
    opacity: 0.6;
  }
}
html.is-fixed {
  overflow: hidden;
}
.c-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  gap: 0.5rem;
  width: 12.5625rem;
  height: 3.9375rem;
  border: 0.125rem solid #003894;
  border-radius: 50%;
  transition: all 0.45s;
  background-color: #fff;
}
.c-link:after {
  display: block;
  content: '';
  width: 1.75rem;
  height: 0.9375rem;
  background: url("data:image/svg+xml,%3csvg%20width='48'%20height='28'%20viewBox='0%200%2048%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='48'%20height='28'%20rx='14'%20fill='%23003894'/%3e%3cpath%20d='M32.7166%2015.0598C32.9975%2014.7785%2033.1553%2014.3973%2033.1553%2013.9998C33.1553%2013.6023%2032.9975%2013.221%2032.7166%2012.9398L27.0606%207.28079C26.7792%206.99939%2026.3975%206.84131%2025.9996%206.84131C25.6016%206.84131%2025.22%206.99939%2024.9386%207.28079C24.6572%207.56218%2024.4991%207.94384%2024.4991%208.34179C24.4991%208.73974%2024.6572%209.12139%2024.9386%209.40279L28.0346%2012.4998L16.4996%2012.4998C16.1018%2012.4998%2015.7202%2012.6578%2015.4389%2012.9391C15.1576%2013.2204%2014.9996%2013.602%2014.9996%2013.9998C14.9996%2014.3976%2015.1576%2014.7791%2015.4389%2015.0604C15.7202%2015.3418%2016.1018%2015.4998%2016.4996%2015.4998L28.0346%2015.4998L24.9386%2018.5958C24.7993%2018.7351%2024.6887%2018.9005%2024.6133%2019.0826C24.5379%2019.2646%2024.4991%2019.4597%2024.4991%2019.6568C24.4991%2019.8538%2024.5379%2020.049%2024.6133%2020.231C24.6887%2020.413%2024.7993%2020.5785%2024.9386%2020.7178C25.0779%2020.8571%2025.2433%2020.9676%2025.4254%2021.0431C25.6074%2021.1185%2025.8025%2021.1573%2025.9996%2021.1573C26.1966%2021.1573%2026.3918%2021.1185%2026.5738%2021.0431C26.7558%2020.9676%2026.9213%2020.8571%2027.0606%2020.7178L32.7166%2015.0598Z'%20fill='white'/%3e%3c/svg%3e")
    center center/contain no-repeat;
}
@media (hover: hover) {
  .c-link:hover {
    transform: translateY(-0.625rem);
  }
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 1rem;
  padding: 1.25rem 1.25rem 3.75rem;
  height: 100%;
  transition: all 0.45s;
}
.card:after {
  position: absolute;
  content: '';
  width: 1.75rem;
  height: 1rem;
  right: 1.25rem;
  bottom: 1.25rem;
  background: url("data:image/svg+xml,%3csvg%20width='48'%20height='28'%20viewBox='0%200%2048%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='48'%20height='28'%20rx='14'%20fill='%23003894'/%3e%3cpath%20d='M32.7166%2015.0598C32.9975%2014.7785%2033.1553%2014.3973%2033.1553%2013.9998C33.1553%2013.6023%2032.9975%2013.221%2032.7166%2012.9398L27.0606%207.28079C26.7792%206.99939%2026.3975%206.84131%2025.9996%206.84131C25.6016%206.84131%2025.22%206.99939%2024.9386%207.28079C24.6572%207.56218%2024.4991%207.94384%2024.4991%208.34179C24.4991%208.73974%2024.6572%209.12139%2024.9386%209.40279L28.0346%2012.4998L16.4996%2012.4998C16.1018%2012.4998%2015.7202%2012.6578%2015.4389%2012.9391C15.1576%2013.2204%2014.9996%2013.602%2014.9996%2013.9998C14.9996%2014.3976%2015.1576%2014.7791%2015.4389%2015.0604C15.7202%2015.3418%2016.1018%2015.4998%2016.4996%2015.4998L28.0346%2015.4998L24.9386%2018.5958C24.7993%2018.7351%2024.6887%2018.9005%2024.6133%2019.0826C24.5379%2019.2646%2024.4991%2019.4597%2024.4991%2019.6568C24.4991%2019.8538%2024.5379%2020.049%2024.6133%2020.231C24.6887%2020.413%2024.7993%2020.5785%2024.9386%2020.7178C25.0779%2020.8571%2025.2433%2020.9676%2025.4254%2021.0431C25.6074%2021.1185%2025.8025%2021.1573%2025.9996%2021.1573C26.1966%2021.1573%2026.3918%2021.1185%2026.5738%2021.0431C26.7558%2020.9676%2026.9213%2020.8571%2027.0606%2020.7178L32.7166%2015.0598Z'%20fill='white'/%3e%3c/svg%3e")
    center center/contain no-repeat;
}
.card.no-active {
  pointer-events: none;
}
.card.no-active:after {
  display: none;
}
.card__thumbnail img {
  aspect-ratio: 1;
  width: 100%;
  object-fit: cover;
  border-radius: 0.5rem;
}
.card__body {
  flex-grow: 1;
  margin-top: 1rem;
}
.card__title {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.card__price {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
}
.card__price span {
  font-size: 0.75rem;
}
.hamburger {
  position: relative;
  width: 6.625rem;
  height: 4.375rem;
  padding-inline: 1.3125rem;
}
.hamburger:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  margin: auto;
  inset: 0;
  background-color: #ffe100;
  border-radius: 50%;
  border: 0.125rem solid #003894;
  transform: rotate(-19.86deg);
}
.hamburger__dots {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 2.5rem;
  height: 0.75rem;
}
.hamburger__dots span {
  display: inline-block;
  width: 0.4375rem;
  height: 0.25rem;
  background-color: #003894;
  border-radius: 50%;
  transition: all 0.45s;
}
.hamburger__text {
  position: relative;
  width: 2.5rem;
  text-align: center;
  margin-top: 0.1875rem;
}
.hamburger__text span {
  position: absolute;
  width: 100%;
  margin: auto;
  inset: 0;
  display: inline-block;
  font-size: 0.75rem;
  color: #003894;
  letter-spacing: normal;
  line-height: 1.5;
  transition: all 0.45s;
}
.hamburger__text span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active .hamburger__dots span {
  position: absolute;
  margin: auto;
  inset: 0;
}
.hamburger.is-active .hamburger__dots span:nth-child(1) {
  width: 1.5rem;
  height: 0.1875rem;
  border-radius: 0.1875rem;
  rotate: 29.7deg;
}
.hamburger.is-active .hamburger__dots span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active .hamburger__dots span:nth-child(3) {
  width: 1.5rem;
  height: 0.1875rem;
  border-radius: 0.1875rem;
  rotate: -29.7deg;
}
.hamburger.is-active .hamburger__text span:nth-child(1) {
  opacity: 0;
}
.hamburger.is-active .hamburger__text span:nth-child(2) {
  opacity: 1;
}
.title {
  text-align: center;
}
.title__en {
  position: relative;
  z-index: 1;
  color: #ffe100;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Baloo 2', sans-serif;
  width: 8rem;
  height: 2.0625rem;
  font-size: 0.875rem;
  letter-spacing: 0.16em;
  margin-inline: auto;
}
.title__en:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='128'%20height='33'%20viewBox='0%200%20128%2033'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M108.786%200C102.751%200%20100.463%201.58021%20100.463%201.58021C96.8281%204.08289%2090.8772%204.08289%2087.2421%201.58021C87.2421%201.58021%2084.9544%200%2078.9193%200C72.8842%200%2070.5965%201.58021%2070.5965%201.58021C66.9614%204.08289%2061.0105%204.08289%2057.3754%201.58021C57.3754%201.58021%2055.0877%200%2049.0526%200C43.0175%200%2040.7298%201.58021%2040.7298%201.58021C37.0947%204.08289%2031.1439%204.08289%2027.5088%201.58021C27.5088%201.58021%2025.2211%200%2019.186%200C8.59649%200%200%207.3877%200%2016.5C0%2025.6123%208.59649%2033%2019.2%2033C25.2351%2033%2027.5228%2031.4198%2027.5228%2031.4198C31.1579%2028.9171%2037.1088%2028.9171%2040.7439%2031.4198C40.7439%2031.4198%2043.0316%2033%2049.0667%2033C55.1018%2033%2057.3895%2031.4198%2057.3895%2031.4198C61.0246%2028.9171%2066.9754%2028.9171%2070.6105%2031.4198C70.6105%2031.4198%2072.8982%2033%2078.9333%2033C84.9684%2033%2087.2561%2031.4198%2087.2561%2031.4198C90.8912%2028.9171%2096.8421%2028.9171%20100.477%2031.4198C100.477%2031.4198%20102.765%2033%20108.8%2033C119.404%2033%20128%2025.6123%20128%2016.5C128%207.3877%20119.389%200%20108.786%200Z'%20fill='%23003894'/%3e%3c/svg%3e")
    center center/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='128'%20height='33'%20viewBox='0%200%20128%2033'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M108.786%200C102.751%200%20100.463%201.58021%20100.463%201.58021C96.8281%204.08289%2090.8772%204.08289%2087.2421%201.58021C87.2421%201.58021%2084.9544%200%2078.9193%200C72.8842%200%2070.5965%201.58021%2070.5965%201.58021C66.9614%204.08289%2061.0105%204.08289%2057.3754%201.58021C57.3754%201.58021%2055.0877%200%2049.0526%200C43.0175%200%2040.7298%201.58021%2040.7298%201.58021C37.0947%204.08289%2031.1439%204.08289%2027.5088%201.58021C27.5088%201.58021%2025.2211%200%2019.186%200C8.59649%200%200%207.3877%200%2016.5C0%2025.6123%208.59649%2033%2019.2%2033C25.2351%2033%2027.5228%2031.4198%2027.5228%2031.4198C31.1579%2028.9171%2037.1088%2028.9171%2040.7439%2031.4198C40.7439%2031.4198%2043.0316%2033%2049.0667%2033C55.1018%2033%2057.3895%2031.4198%2057.3895%2031.4198C61.0246%2028.9171%2066.9754%2028.9171%2070.6105%2031.4198C70.6105%2031.4198%2072.8982%2033%2078.9333%2033C84.9684%2033%2087.2561%2031.4198%2087.2561%2031.4198C90.8912%2028.9171%2096.8421%2028.9171%20100.477%2031.4198C100.477%2031.4198%20102.765%2033%20108.8%2033C119.404%2033%20128%2025.6123%20128%2016.5C128%207.3877%20119.389%200%20108.786%200Z'%20fill='%23003894'/%3e%3c/svg%3e")
    center center/cover no-repeat;
  background-color: #003894;
  z-index: -1;
}
.title__en.bg-yellow {
  color: #003894;
}
.title__en.bg-yellow:before {
  background-color: #ffe100;
}
.title__ja {
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 0.75rem;
}
.l-inner {
  margin: 0 auto;
  width: 100%;
  height: inherit;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  max-width: 33.75rem;
}
.about {
  position: relative;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAABICAYAAACpx3AQAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABVxJREFUeAHt3dtuE1cUgOHt8YEEoiKE1Kp9/5fiujeoBcqhxA4+1csjS3FqL0hwHG/P96kuIK5Y+re0tuyJe28+TJYFAAA4aU0BAABOnsUdAAAqYHEHAIAKWNwBAKACFncAAKiAxR0AACpgcQcAgApY3AEAoAIWdwAAqIDFHQAAKmBxBwCACljcAQCgAhZ3AACogMUdAAAqYHEHAIAKWNwBAKACFncAAKiAxR0AACowKJykptcr/V77+/mylMVyWWBDH2T0QUYfZPRx2izuT2TY9MrloLf+NV6jQbM+KPGKQ7PPdLFcv1b/lZvZotysTtVs9YfJ3ME6J/ogow8y+iCjj7r13nyYmPgRxOG4Gq4Oy7Bfnq8OTHY4HiJuxNezZRlP52U8c5Bqow8y+iCjDzL6OC8W90cUB+Ry2JRfRv31wTmmuBX/O12Ufybz9Y2Y06MPMvogow8y+jhfFvcDi5vsy1GvvBjFzfY0nv2N2+/Hyax8/rYoPC19kNEHGX2Q0Uc3WNwPJA7Mq4umvHrWP/jbUIcSt+DP3+bl083CLfjI9EFGH2T0QUYf3WJx/0k1HJi7HKDj0QcZfZDRBxl9dJPF/SfEYXl9Wc+BuSsO0Puxt7Aeiz7I6IOMPsjoo7ss7g8QD3r89mJwMp8h+1lxgP78MnX7PRB9kNEHGX2Q0QcW93uq/ZabeT+ZrW7A88LD6YOMPsjog4w+CBb3H3Rut9x9rmeL8vbrzO33nvRBRh9k9EFGH9xmcf8Bz/q98sfV8Og/C/WpeOvqfvRBRh9k9EFGH9xlcf+O+PKCX5+f51tTmTgzf13P1k9/s58+9JHRhz4y+tBHRh/62KX3bjxd+lzRbq8vBuvPk3WZz53tpw99ZPShj4w+9JHRhz72acSxm7m0zGE3c2mZw27m0jKH3cylZQ67mUvLHHZbP+lgONvMY5t5bDOPbeaxzTy2mcc289hmHtvMY5t5bIt5NLf/YDjmsI+5tMxhN3NpmcNu5tIyh93MpWUOu5lLazOH3nLl9l98+jYvf1/Py2LZrWdW4+GPeAgkHgZhP33oI6MPfWT0oY+MPvSR0Ufbx/8W99C1H8cTP2bp96thueh368nth9IHGX2Q0QcZfZDRx57FPcRw3n6dlvHsvIfzfBBfbNCdn5F6KPogow8y+iCjDzJd72Pv4r5xrj+OJ956iM8KxVcI83D6IKMPMvogow8yXe3ju4t7OLe3JtxyD0sfZPRBRh9k9EGmi3380OK+Ed9i9W51u6l1QG65j0sfZPRBRh9k9EGmS33ca3EPcbuJAX26WVQzoBjIq4tmPZCufXXwsemDjD7I6IOMPsh0pY97L+4bNQzIgXk6+iCjDzL6IKMPMufex4MX99tiQB8n8zKZn8aA4jNCL0b98nLUODAnQB9k9EFGH2T0QeYc+zjI4r4Rt5yPk1n5Ml0e/ZYTH+T/5VlTLgfNajBN4fTog4w+yOiDjD7InFMfB13cb4vbzXi2KOPpolzPlgf/pqu4qcTN5XLYlKvVyxPaddEHGX2Q0QcZfZCpvY9HW9zvikHFLedmNaybeTuo1czWt6B94h8fXxYVr9Hqf/GPj9elg3J29EFGH2T0QUYfZGrr42iL+/fEoDYfQYpB+GwYt+mDjD7I6IOMPsicWh8ns7gDAAD7eYoCAAAqYHEHAIAKWNwBAKACFncAAKiAxR0AACpgcQcAgApY3AEAoAIWdwAAqIDFHQAAKmBxBwCACljcAQCgAhZ3AACogMUdAAAqYHEHAIAKWNwBAKACFncAAKiAxR0AACpgcQcAgApY3AEAoAIWdwAAqIDFHQAAKmBxBwCACvwHVIVlnXD19uUAAAAASUVORK5CYII=)
    left bottom/100% no-repeat;
  background-color: #d9eef8;
  padding-block: 0 6.25rem;
}
.about:before {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  top: -4.3125rem;
  background-color: #d9eef8;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  bottom: -4.3125rem;
}
.about__head {
  position: relative;
  max-width: 20.4375rem;
  margin-inline: auto;
  padding-top: 8.4375rem;
}
.about__fukidashi {
  position: absolute;
  width: 7.875rem;
}
.about__fukidashi--1 {
  top: 5.875rem;
  left: -0.625rem;
  animation: personAnim01 3.2s ease-in-out infinite;
}
.about__fukidashi--2 {
  top: 0;
  left: 5.75rem;
  animation: personAnim02 3.2s ease-in-out 0.4s infinite;
}
.about__fukidashi--3 {
  top: 4.375rem;
  right: -0.625rem;
  animation: personAnim01 3.2s ease-in-out 0.8s infinite;
}
.about__img {
  max-width: 13.5625rem;
}
.about__point {
  position: absolute;
  right: 0;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  bottom: 1.5625rem;
}
.about__point span {
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}
.about__type {
  max-width: 20.4375rem;
  margin-top: 1.25rem;
  border-radius: 1.25rem;
  padding-block: 1.0625rem 1.25rem;
  padding-inline: 1.25rem;
  background: url(../images/bordersvg.webp) center center/100% 100% no-repeat;
  margin-inline: auto;
}
.about__type-title {
  font-size: 1.375rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.about__type-text {
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  margin-top: 0.625rem;
}
.about__blocks {
  max-width: 21.875rem;
  display: grid;
  grid-template-columns: 100%;
  gap: 2.5rem;
  margin-inline: auto;
  margin-top: 3.3125rem;
}
.about__block {
  position: relative;
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.about__block-img {
  position: relative;
  flex-shrink: 0;
  transform: scale(0.8);
  opacity: 0;
  transition: all 1s;
}
.about__block-number {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3125rem;
  z-index: 1;
}
.about__block-number:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: -0.125rem;
  left: 0.0625rem;
  background: url("data:image/svg+xml,%3csvg%20width='55'%20height='54'%20viewBox='0%200%2055%2054'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.3377%202.51934C31.9535%200.988268%2036.496%20-0.04907%2040.9053%202.84527C43.2663%204.39532%2045.1099%207.22493%2045.606%209.93026C54.6002%2012.5087%2056.9593%2019.1902%2053.4381%2027.231C53.7913%2028.2645%2054.1292%2029.2821%2054.4381%2030.3278C56.4554%2037.1715%2052.9188%2043.0913%2045.7913%2044.8862C43.635%2050.183%2041.3454%2053.2615%2035.1331%2053.9658C32.106%2054.0364%2030.1562%2053.4626%2027.4226%2052.3518C21.7528%2054.8611%2015.9902%2054.8218%2011.886%2049.8989C10.4922%2048.2279%2010.0169%2046.9002%209.24718%2044.9401C8.71533%2044.7935%208.18752%2044.6345%207.66378%2044.4631C5.1217%2043.61%202.11532%2041.1394%201.02035%2038.7669C-0.851853%2034.7106%200.184256%2031.1796%201.6192%2027.32C-1.31458%2021.7601%20-0.414594%2014.6306%205.57806%2011.4024C6.6883%2010.8043%208.02941%2010.3743%209.23153%209.95928C11.0752%204.56555%2013.9014%201.56758%2019.9111%201.04966C22.5385%200.768561%2024.9709%201.56014%2027.3377%202.51934Z'%20fill='%23008CD3'/%3e%3c/svg%3e")
    center center/contain no-repeat;
  animation: rotate 8s linear infinite;
}
.about__block-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-top: 0.75rem;
}
.about__block-lead span {
  font-size: 0.875rem;
  display: block;
}
.about__block-text {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
}
@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes personAnim01 {
  0%,
  to {
    translate: 0px 0px;
    rotate: 0deg;
  }
  50% {
    translate: 0px 0.5rem;
    rotate: 2deg;
  }
}
@keyframes personAnim02 {
  0%,
  to {
    translate: 0px 0px;
    rotate: 0deg;
  }
  50% {
    translate: 0px 0.5rem;
    rotate: -2deg;
  }
}
.about__block[data-number='number01'] .about__block-img {
  width: 8.9375rem;
  transform: translate(-5%);
}
.about__block[data-number='number01'] .about__block-content {
  margin-top: 2.125rem;
}
.about__block[data-number='number02'] {
  padding-right: 0.3125rem;
  flex-direction: row-reverse;
}
.about__block[data-number='number02'] .about__block-img {
  width: 7.5rem;
  transform: translate(5%);
}
.about__block[data-number='number02'] .about__block-img:before {
  position: absolute;
  content: '';
  width: 7.3125rem;
  height: 4.5rem;
  transform: translate(-5%) rotate(6.6deg);
  left: -7.3125rem;
  top: -1.5rem;
  transition: all 1s 0.5s;
  background: url(../images/fruits.svg) center center/contain no-repeat;
  opacity: 0;
}
.about__block[data-number='number03'] .about__block-img {
  width: 7.625rem;
}
.about__block.is-active .about__block-img {
  opacity: 1;
  transform: translate(0) scale(1) !important;
}
.about__block.is-active .about__block-img:before {
  opacity: 1;
  transform: translate(0) rotate(6.6deg);
}
.documents {
  position: relative;
  padding-block: 2.5rem;
  background-color: #d3def1;
}
.documents:before,
.documents:after {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  background-color: #d3def1;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
}
.documents:before {
  top: -4.3125rem;
}
.documents:after {
  bottom: -4.3125rem;
  transform: scaleY(-1);
}
.documents__bnr {
  display: grid;
  grid-template-columns: 100%;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.documents__bnr a {
  position: relative;
  display: block;
  transition: all 0.45s;
  border-radius: 1rem;
  overflow: hidden;
}
.documents__bnr a.comingsoon {
  pointer-events: none;
}
.documents__bnr a.comingsoon:before {
  position: absolute;
  content: 'COMING SOON...';
  font-size: 1.375rem;
  letter-spacing: 0.04em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  inset: 0;
  -webkit-backdrop-filter: 0.1875rem;
  backdrop-filter: 0.1875rem;
  background: #003894e6;
}
@media (hover: hover) {
  .documents__bnr a:hover {
    opacity: 0.6;
  }
}
.documents__mascot {
  position: absolute;
  z-index: 1;
  width: 7.6875rem;
  bottom: -6.3125rem;
}
.documents__mascot img {
  transition: all 0.45s;
  transform: translate(-105%);
}
.documents__mascot.is-active img {
  transform: translate(0);
}
.drawer {
  position: fixed;
  height: 100dvh;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: all 0.7s;
}
@media screen and (min-width: 768px) {
  .drawer {
    position: absolute;
    margin: auto;
    inset: 0;
    opacity: 1;
    max-width: min(23.0769230769vw, 18.75rem);
    max-height: fit-content;
    visibility: visible;
    height: 90%;
    border-radius: 1.875rem;
  }
}
.drawer.is-open {
  opacity: 1;
  visibility: visible;
}
.drawer__inner {
  height: fit-content;
  display: flex;
  flex-direction: column;
  padding-top: 7.25rem;
  overflow: clip;
  min-height: 100%;
}
@media screen and (min-width: 768px) {
  .drawer__inner {
    min-height: 18.75rem;
    padding-block: min(4.3076923077vw, 3.5rem);
    padding-inline: min(3.6923076923vw, 3rem);
  }
}
.drawer__nav {
  display: grid;
  grid-template-columns: 100%;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .drawer__nav {
    gap: min(0.9230769231vw, 0.75rem);
  }
}
.drawer__link a {
  position: relative;
  display: block;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .drawer__link a {
    text-align: left;
    line-height: 1.5;
    font-size: min(1.3846153846vw, 1.125rem);
    transition: all 0.45s;
  }
}
@media screen and (min-width: 768px) {
  .drawer__link.is-active a {
    padding-left: min(1.6923076923vw, 1.375rem);
  }
}
@media screen and (min-width: 768px) {
  .drawer__link a:before {
    position: absolute;
    content: '';
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    border-radius: 50%;
    width: min(1.2307692308vw, 1rem);
    height: min(1.2307692308vw, 1rem);
    background-color: #ffe100;
    transition: all 0.45s;
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) {
  .drawer__link.is-active a:before {
    opacity: 1;
  }
}
.drawer__instagram {
  position: relative;
  padding-top: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .drawer__instagram {
    padding-top: min(1.6923076923vw, 1.375rem);
    margin-top: min(1.6923076923vw, 1.375rem);
  }
}
.drawer__instagram:before {
  background-color: #d3def1;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='329'%20height='2'%20viewBox='0%200%20329%202'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H328'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-dasharray='1%206'/%3e%3c/svg%3e")
    top left/100% no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='329'%20height='2'%20viewBox='0%200%20329%202'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H328'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-dasharray='1%206'/%3e%3c/svg%3e")
    top left/100% no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  content: '';
  top: 0;
  left: 0;
  pointer-events: none;
}
.drawer__instagram a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  gap: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .drawer__instagram a {
    font-size: min(1.2307692308vw, 1rem);
  }
}
.drawer__instagram a img {
  width: 2.5rem;
}
@media screen and (min-width: 768px) {
  .drawer__instagram a img {
    width: min(2.4615384615vw, 2rem);
  }
}
.drawer__bottom {
  overflow: hidden;
  padding-top: 5rem;
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .drawer__bottom {
    display: none;
  }
}
.drawer__hand {
  display: flex;
  justify-content: center;
  transform: translateY(50%);
}
.drawer__hand img {
  width: 4.625rem;
}
.drawer__hand img:nth-child(1) {
  margin-right: -0.625rem;
  animation: handL 8s ease-in-out 2s infinite;
}
.drawer__hand img:nth-child(2) {
  margin-left: -0.625rem;
  animation: handR 8s ease-in-out 2s infinite;
}
.footer {
  position: relative;
  background-color: #003894;
  padding-block-start: 2.25rem;
  padding-block-end: 82.6666666667vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .footer {
    overflow: unset;
    max-width: 23.4375rem;
    margin-inline: auto;
    padding-bottom: 25rem;
  }
}
@media screen and (min-width: 768px) {
  .footer:before {
    position: absolute;
    content: '';
    width: 100vw;
    top: -7.125rem;
    left: calc(50% - 50vw);
    height: calc(100% + 7.125rem);
    background: url(../images/bg_pc_05.webp) top center/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble {
    position: absolute;
    content: '';
    width: 100vw;
    top: -7.125rem;
    left: calc(50% - 50vw);
    height: calc(100% + 7.125rem);
    -webkit-mask: url(../images/bg_pc_05.webp) top center/cover no-repeat;
    mask: url(../images/bg_pc_05.webp) top center/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble {
    position: absolute;
    display: inline-block;
    border-radius: 50%;
    border: 0.375rem solid #fff;
    top: 150%;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(1) {
    width: 2.125rem;
    height: 2.125rem;
    left: 9.2361111111vw;
    animation: bubble-up 6s 2.5s linear infinite;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(2) {
    width: 0.9375rem;
    height: 0.9375rem;
    left: 17.3611111111vw;
    animation: bubble-up 6s 1s linear infinite;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(3) {
    width: 4.8125rem;
    height: 4.8125rem;
    left: 21.9444444444vw;
    animation: bubble-up 6s 4.5s linear infinite;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(4) {
    width: 3.625rem;
    height: 3.625rem;
    right: 18.8194444444vw;
    animation: bubble-up 6s 3.5s linear infinite;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(5) {
    width: 1.9375rem;
    height: 1.9375rem;
    right: 5.3472222222vw;
    animation: bubble-up 6s 2s linear infinite;
  }
}
@media screen and (min-width: 768px) {
  .footer__bubble .bubble:nth-child(6) {
    width: 0.9375rem;
    height: 0.9375rem;
    right: 7.1527777778vw;
    animation: bubble-up 6s linear infinite;
  }
}
@keyframes bubble-up {
  to {
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer__inner {
    position: relative;
  }
}
.footer_logo {
  width: 5.625rem;
  margin-inline: auto;
}
.footer_nav {
  background: url("data:image/svg+xml,%3csvg%20width='329'%20height='2'%20viewBox='0%200%20329%202'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H328'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-dasharray='1%206'/%3e%3c/svg%3e")
    top left/100% repeat-x;
  margin-top: 2rem;
}
.footer__link a {
  display: block;
  text-align: center;
  font-size: 0.875rem;
  letter-spacing: 0.07em;
  padding-block: 1.0625rem;
  background: url("data:image/svg+xml,%3csvg%20width='329'%20height='2'%20viewBox='0%200%20329%202'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201H328'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-dasharray='1%206'/%3e%3c/svg%3e")
    bottom left/100% repeat-x;
}
.footer__link a span {
  transition: all 0.45s;
}
@media (hover: hover) {
  .footer__link a:hover span {
    opacity: 0.6;
  }
}
.footer__sns {
  margin-top: 2.5rem;
}
.footer__copy {
  font-size: 1rem;
  margin-top: 2.5rem;
}
.footer__totop {
  max-width: 7.875rem;
  margin-inline: auto;
  margin-top: 2.5rem;
}
.footer__img {
  position: absolute;
  left: -5.2vw;
  width: 110.4vw;
  margin-top: 0.75rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .footer__img {
    width: 33.0625rem;
    z-index: 11;
  }
}
.gallery {
  background-color: #003894;
  padding-block: 2.5rem;
  position: relative;
}
.gallery:before {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  background-color: #003894;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  bottom: -4.3125rem;
  transform: scaleY(-1);
}
.gallery__slider {
  position: relative;
  padding-top: 2.375rem;
  width: calc(100% + 40px);
  margin-left: -20px;
  overflow: hidden;
}
.gallery__slider .splide__track {
  max-width: 20.4375rem;
  margin-inline: auto;
  overflow: unset;
}
.gallery__slider .splide__slide {
  opacity: 1 !important;
}
.gallery__slider .splide__slide.is-active .gallery__img {
  transform: rotate(0);
}
.gallery__slider .splide__slide.is-prev {
  z-index: 9999 !important;
}
.gallery__slider .splide__slide.is-prev .gallery__img {
  transition: all 0.45s;
  transform: translate(-200%) translateY(-5%);
}
.gallery__slider .splide-pagination {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
.gallery__slider .splide-pagination li {
  border-radius: 50%;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #fff;
  transition: all 0.2s;
}
.gallery__slider .splide-pagination li button {
  height: 100%;
}
.gallery__slider .splide-pagination li:has(.is-active) {
  background-color: #ffe100;
}
.gallery__img {
  transform: rotate(5deg);
}
.gallery__img img {
  border-radius: 2.5rem;
  aspect-ratio: 327/436;
  object-fit: cover;
}
.gallery__btn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  width: 4.5625rem;
  height: 3.8125rem;
  border-radius: 50%;
  background-color: #003894;
  color: #ffe100;
  font-size: 0.875rem;
  font-family: 'Baloo 2', sans-serif;
  box-shadow: 0 0.25rem #00000040;
  right: 0.625rem;
  bottom: 3.125rem;
}
.gallery__btn:after {
  display: block;
  content: '';
  width: 0.6875rem;
  height: 0.6875rem;
  background: url("data:image/svg+xml,%3csvg%20width='11'%20height='11'%20viewBox='0%200%2011%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.22852%207.60547C2.22852%207.51266%202.24671%207.42071%202.28223%207.33496C2.31776%207.24919%202.3699%207.17112%202.43555%207.10547L4.03711%205.5L2.43945%203.89746C2.37413%203.83207%202.32256%203.75431%202.28711%203.66895C2.25157%203.58326%202.23247%203.4912%202.23242%203.39844C2.23242%203.30554%202.25151%203.21276%202.28711%203.12695C2.32249%203.04182%202.37436%202.96468%202.43945%202.89941C2.50464%202.83345%202.5824%202.78087%202.66797%202.74512C2.75339%202.70948%202.84494%202.69047%202.9375%202.69043C3.03027%202.69043%203.12241%202.70936%203.20801%202.74512C3.29323%202.78073%203.36955%202.83382%203.43457%202.89941L3.43555%202.89844L5.53906%205.00195C5.81544%205.27833%205.81544%205.72557%205.53906%206.00195L3.43555%208.10547C3.3699%208.17112%203.29183%208.22326%203.20605%208.25879C3.1203%208.29431%203.02836%208.31249%202.93555%208.3125C2.84275%208.3125%202.75078%208.29428%202.66504%208.25879C2.57927%208.22326%202.50119%208.17112%202.43555%208.10547C2.3699%208.03982%202.31776%207.96175%202.28223%207.87598C2.24673%207.79024%202.22852%207.69826%202.22852%207.60547Z'%20fill='%23FFE100'%20stroke='%23FFE100'%20stroke-width='0.5'/%3e%3cpath%20d='M6.03516%207.60156C6.03517%207.41409%206.10962%207.23413%206.24219%207.10156L7.84375%205.5L6.24609%203.89844L6.24707%203.89844C6.18138%203.83284%206.12932%203.7547%206.09375%203.66895C6.05824%203.58322%206.03906%203.49123%206.03906%203.39844C6.0391%203.30563%206.05819%203.21366%206.09375%203.12793C6.12919%203.04255%206.18078%202.96482%206.24609%202.89941L6.35254%202.81152C6.46662%202.7346%206.60161%202.6925%206.74121%202.69141C6.92747%202.69008%207.10719%202.76222%207.24023%202.89258L9.3457%204.99805C9.62208%205.27443%209.62208%205.72167%209.3457%205.99805L7.24219%208.10156C7.10962%208.23413%206.92966%208.30858%206.74219%208.30859C6.55469%208.30859%206.37477%208.23414%206.24219%208.10156C6.10961%207.96898%206.03516%207.78906%206.03516%207.60156Z'%20fill='%23FFE100'%20stroke='%23FFE100'%20stroke-width='0.5'/%3e%3c/svg%3e")
    center center/contain no-repeat;
}
.goods {
  background-color: #d3def1;
  overflow: clip;
  padding-block: 8.3125rem;
}
.goods__slider {
  position: relative;
  max-width: 16.9375rem;
  margin-inline: auto;
  margin-top: 1rem;
}
.goods__slider .splide__track {
  overflow: unset;
}
.goods__slider .splide__slide.is-active .card {
  transform: translateY(1.25rem);
}
.goods__slider .splide-pagination {
  display: flex;
  justify-content: center;
  gap: 0.6875rem;
  margin-top: 2.5rem;
}
.goods__slider .splide-pagination li {
  border-radius: 50%;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #fff;
  transition: all 0.2s;
}
.goods__slider .splide-pagination li button {
  height: 100%;
}
.goods__slider .splide-pagination li:has(.is-active) {
  background-color: #003894;
}
.goods__slider:before {
  position: absolute;
  content: '';
  width: 3.75rem;
  height: 3.75rem;
  background: url(../images/mascot.svg) center center/contain no-repeat;
  top: -1.6875rem;
  right: 0.625rem;
  animation: kakukaku 1s steps(1) infinite normal both;
}
.goods__btn {
  margin-top: 2.5rem;
}
@keyframes kakukaku {
  0% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .header {
    left: initial;
    right: 0;
    height: 100dvh;
    width: calc((100% - 24.0625rem) / 2);
    overflow: auto;
  }
}
.header__inner {
  display: flex;
  align-items: center;
  padding-left: 1rem;
}
@media screen and (min-width: 768px) {
  .header__inner {
    display: contents;
  }
}
.header__logo {
  position: relative;
  z-index: 1;
  width: 3.375rem;
}
.header__hamburger {
  position: fixed;
  z-index: 1;
  right: -1.875rem;
  top: -0.5625rem;
}
.history {
  position: relative;
  background-color: #003894;
  padding-block: 2.5rem 3rem;
}
.history__inner {
  max-width: unset;
}
.history:before {
  position: absolute;
  left: 0;
  bottom: -4.375rem;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  background-color: #003894;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  transform: scaleY(-1);
}
.history__top {
  position: relative;
  z-index: 1;
  margin-top: 0.75rem;
}
.history__top:before {
  position: absolute;
  content: '';
  top: 0;
  left: -1.5rem;
  height: calc(100% + 13.375rem);
  background: url(../images/img_road.webp) top left/100% 100% no-repeat;
  width: calc(100% + 3rem);
  z-index: -1;
}
.history__top img {
  position: relative;
  width: 6.875rem;
  margin-left: auto;
  margin-right: 4.125rem;
  animation: kakukaku 1s steps(1) infinite normal both;
}
.history__text {
  position: relative;
  z-index: 1;
  font-size: 0.9375rem;
  line-height: 2;
  -webkit-text-stroke: 0.3125rem #003894;
  text-stroke: 0.3125rem #003894;
  paint-order: stroke;
  letter-spacing: 0.04em;
  margin-top: 0.875rem;
}
.history__text p + p {
  margin-top: 2em;
}
.history__main {
  position: relative;
  padding-top: 4.4375rem;
  max-width: 23.4375rem;
  width: calc(100% + 40px);
  transform: translate(-1.5rem);
  margin-inline: auto;
  margin-top: 1.75rem;
}
.history__main-img {
  width: 11.75rem;
  margin-right: 5rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .history__main-img {
    z-index: 5;
  }
}
.history__scone1 {
  position: absolute;
  width: 4.4375rem;
  left: 1.5rem;
  bottom: 1.6875rem;
  animation:
    0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.46s 1 normal both running
      decoSpread,
    3.6s ease-in-out 1.46s infinite normal none running decoFloat;
}
@media screen and (min-width: 768px) {
  .history__scone1 {
    bottom: 2.625rem;
  }
}
.history__scone2 {
  position: absolute;
  width: 5.9375rem;
  left: 0.3125rem;
  top: 4.1875rem;
  animation:
    0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s 1 normal both running decoSpread,
    3.4s ease-in-out 1.3s infinite normal none running decoFloat;
}
@media screen and (min-width: 768px) {
  .history__scone2 {
    left: -4.375rem;
  }
}
.history__scone3 {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  top: 0;
  width: 4.1875rem;
  animation:
    0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.42s 1 normal both running
      decoSpread,
    3s ease-in-out 1.42s infinite normal none running decoFloat;
}
.history__scone4 {
  position: absolute;
  width: 3rem;
  right: 1.125rem;
  top: 5.125rem;
  animation:
    0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.38s 1 normal both running
      decoSpread,
    2.8s ease-in-out 1.38s infinite normal none running decoFloat;
}
.history__scone5 {
  position: absolute;
  width: 5.375rem;
  right: -1.1875rem;
  bottom: 3.125rem;
  animation:
    0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.54s 1 normal both running
      decoSpread,
    3.2s ease-in-out 1.54s infinite normal none running decoFloat;
}
@media screen and (min-width: 768px) {
  .history__scone5 {
    width: 7.5rem;
    right: -5rem;
  }
}
@keyframes decoFloat {
  0%,
  to {
    translate: 0px 0px;
  }
  50% {
    translate: 0px -7px;
  }
}
@keyframes decoSpread {
  0% {
    translate: var(--sx, 0px) var(--sy, 0px);
    scale: 0.2;
    opacity: 0;
  }
  to {
    translate: 0px 0px;
    scale: 1;
    opacity: 1;
  }
}
.history__story {
  background: url(../images/border.webp) center center/100% 100% no-repeat;
  padding-block: 1rem 1.25rem;
  padding-inline: 1.25rem;
  margin-top: 2.5rem;
  max-width: 20.4375rem;
  margin-inline: auto;
}
.history__story-title {
  font-size: 1.375rem;
}
.history__story-text {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 0.625rem;
}
.instagram {
  position: relative;
  overflow: clip;
  padding-block: 7.5rem;
}
.instagram__lead {
  font-size: 0.9375rem;
  letter-spacing: 0.07em;
  margin-top: 1rem;
}
.instagram__btn {
  max-width: 20.4375rem;
  margin-inline: auto;
  margin-top: 1.5625rem;
}
.instagram__btn a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-size: 1rem;
  font-family: 'Baloo 2', sans-serif;
  height: 5.25rem;
  border-radius: 0.5rem;
  background: linear-gradient(
    to left,
    #ffd600,
    #ff7a00,
    #ff0069,
    #d300c5,
    #7638fa
  );
  padding-inline: 1.375rem;
  box-shadow: 0 0.25rem #00000040;
  transition: all 0.45s;
}
.instagram__btn a:before {
  position: absolute;
  content: '';
  width: 5.875rem;
  height: 6.375rem;
  right: -0.25rem;
  background: url(../images/mascot2.svg) center center/contain no-repeat;
  bottom: 0;
}
.instagram__btn a img {
  width: 2.1875rem;
}
.instagram__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.instagram__bgImg {
  width: 100%;
  height: 100%;
  animation: bg-loop 30s linear infinite;
  background: url(../images/bg.webp) center center/30.0625rem repeat;
}
@keyframes bg-loop {
  0% {
    background-position: 0px 52.0625rem;
  }
  to {
    background-position: 30.0625rem 0px;
  }
}
@media (hover: hover) {
  .instagram__btn a:hover {
    transform: translateY(0.25rem);
    box-shadow: none;
  }
}
.intro {
  position: relative;
  padding-block: 0 42.6666666667vw;
  margin-top: -10.1333333333vw;
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .intro {
    padding-bottom: 10rem;
    margin-top: -2.375rem;
  }
}
.intro:after {
  position: absolute;
  content: '';
  width: 100%;
  height: calc(100% - 8.6875rem);
  top: 8.6875rem;
  left: 0;
  background-image: url(../images/pt_beach.webp);
  background-repeat: repeat;
  background-size: 10.375rem 15.5625rem;
  z-index: -1;
}
.intro:before {
  position: relative;
  display: block;
  content: '';
  width: 100%;
  height: 37.0666666667vw;
  background: url(../images/bg_top.webp) center center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .intro:before {
    height: 8.6875rem;
  }
}
.intro__title {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.8;
}
.intro__title span {
  display: block;
  font-size: 2.25rem;
  line-height: 1.5;
  transform: rotate(-2.89deg);
}
.intro__img {
  position: relative;
  max-width: 10.25rem;
  margin-inline: auto;
}
.intro__img picture {
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='164'%20height='309'%20viewBox='0%200%20164%20309'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='83.9046'%20cy='299.839'%20rx='59.3421'%20ry='8.29044'%20fill='white'/%3e%3crect%20width='164'%20height='300'%20fill='white'/%3e%3c/svg%3e")
    0 100%/100% no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='164'%20height='309'%20viewBox='0%200%20164%20309'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='83.9046'%20cy='299.839'%20rx='59.3421'%20ry='8.29044'%20fill='white'/%3e%3crect%20width='164'%20height='300'%20fill='white'/%3e%3c/svg%3e")
    0 100%/100% no-repeat;
  padding-top: 1.5rem;
  padding-bottom: 0.3125rem;
}
@keyframes intro-img-bounce {
  0% {
    transform: translateY(105%);
    animation-timing-function: cubic-bezier(0.2, 0, 0.3, 1);
  }
  60% {
    transform: translateY(-1.25rem);
    animation-timing-function: cubic-bezier(0.5, 0, 1, 1);
  }
  80% {
    transform: translateY(0.25rem);
    animation-timing-function: ease-out;
  }
  to {
    transform: translateY(0);
  }
}
.intro__img img {
  position: relative;
  z-index: 1;
  transform: translateY(105%);
}
.intro__img.is-active img {
  animation: intro-img-bounce 1.1s forwards;
}
.intro__img:before {
  position: absolute;
  content: '';
  width: 7.375rem;
  height: 1rem;
  left: 50%;
  transform: translate(-50%);
  bottom: 0;
  border-radius: 50%;
  background-color: #000;
  opacity: 0.2;
}
.intro__text {
  line-height: 2;
  letter-spacing: 0.04em;
  margin-top: 2rem;
}
.intro__hand {
  position: absolute;
  width: 7.8125rem;
  height: 8.1875rem;
  bottom: 0.5625rem;
  right: -3.125rem;
  transform: rotate(-8.05deg);
}
.intro__hand img {
  animation: hand 3.5s infinite;
}
@keyframes hand {
  0%,
  to {
    translate: 0px 5px;
    rotate: -4deg;
  }
  50% {
    translate: 0px -5px;
    rotate: 4deg;
  }
}
.loading {
  position: fixed;
  width: 100%;
  height: 100dvh;
  margin: auto;
  inset: 0;
  z-index: 1000;
  background-color: #d3def1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 1s;
}
.loading__img {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .loading__img {
    gap: 2.5rem;
  }
}
.loading__img img {
  width: 3.75rem;
}
@media screen and (min-width: 768px) {
  .loading__img img {
    width: 5.625rem;
  }
}
.loading.is-hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.loading__text {
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.07em;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .loading__text {
    font-size: 1.5rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .main {
    position: relative;
    overflow: hidden;
    padding-top: 21.875rem;
  }
}
@media screen and (min-width: 768px) {
  .sections {
    position: relative;
    z-index: 1;
    border-radius: 2.5rem 2.5rem 0 0;
    max-width: 23.4375rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .main-border {
    position: absolute;
    max-width: 24.5rem;
    z-index: 1;
    width: 100%;
    height: calc(100% - 21.25rem);
    top: 21.25rem;
    left: 50%;
    transform: translate(-50%);
    pointer-events: none;
    border: 0.625rem solid #fff;
    border-radius: 2.5rem;
    filter: url(#wobbly-border);
  }
}
@media screen and (min-width: 768px) {
  .main-bg {
    position: fixed;
    width: 100%;
    height: 100dvh;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) {
  .main-bg picture {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transition: all 0.45s;
    opacity: 0;
  }
}
.main-bg picture.is-active {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .main-bg picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
  }
}
@media screen and (min-width: 768px) {
  .main-head {
    position: absolute;
    top: 4rem;
    left: 50%;
    transform: translate(-50%);
  }
}
@media screen and (min-width: 768px) {
  .main__logo {
    width: 8.125rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .main__title {
    text-align: center;
    -webkit-text-stroke: 0.625rem #fff;
    text-stroke: 0.625rem #fff;
    paint-order: stroke;
    line-height: 1.5;
    font-size: 3.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .main__title span {
    display: block;
    font-size: 1.25rem;
    -webkit-text-stroke: 0.375rem #fff;
    text-stroke: 0.375rem #fff;
    paint-order: stroke;
  }
}
.movie {
  padding-block: 8.375rem 8.25rem;
  background-color: #fff;
}
.movie__items {
  display: grid;
  gap: 5rem;
  margin-top: 2.5rem;
}
.movie__item {
  position: relative;
}
.movie__iframe {
  position: relative;
  z-index: 1;
}
.movie__iframe iframe {
  border: 0.5rem solid #231815;
  border-radius: 1rem;
  aspect-ratio: 327/184;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.movie__caption {
  font-size: 0.875rem;
  letter-spacing: 0.07em;
  margin-top: 1rem;
}
.movie__hand {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  transform: translate(-50%);
  display: flex;
  justify-content: center;
}
.movie__hand img {
  width: 4.625rem;
}
.movie__hand img:nth-child(1) {
  margin-right: -0.625rem;
  animation: handL 8s ease-in-out 2s infinite;
}
.movie__hand img:nth-child(2) {
  margin-left: -0.625rem;
  animation: handR 8s ease-in-out 2s infinite;
}
@keyframes handL {
  0%,
  to {
    translate: 0px 0px;
  }
  3% {
    translate: 12px -4px;
  }
  7% {
    translate: 0px 0px;
  }
  10% {
    translate: 12px -4px;
  }
  14% {
    translate: 0px 0px;
  }
  17% {
    translate: 12px -4px;
  }
  21% {
    translate: 0px 0px;
  }
  34% {
    translate: 0px 0px;
  }
  37% {
    translate: 12px -4px;
  }
  40% {
    translate: 0px 0px;
  }
  43% {
    translate: 12px -4px;
  }
  46% {
    translate: 0px 0px;
  }
  49% {
    translate: 12px -4px;
  }
  52% {
    translate: 0px 0px;
  }
  55% {
    translate: 13px -5px;
  }
  59% {
    translate: 0px 0px;
  }
  70% {
    translate: 0px 0px;
  }
  73% {
    translate: 14px -5px;
  }
  77% {
    translate: 0px 0px;
  }
  80% {
    translate: 14px -5px;
  }
  84% {
    translate: 0px 0px;
  }
}
@keyframes handR {
  0%,
  to {
    translate: 0px 0px;
  }
  3% {
    translate: -12px -4px;
  }
  7% {
    translate: 0px 0px;
  }
  10% {
    translate: -12px -4px;
  }
  14% {
    translate: 0px 0px;
  }
  17% {
    translate: -12px -4px;
  }
  21% {
    translate: 0px 0px;
  }
  34% {
    translate: 0px 0px;
  }
  37% {
    translate: -12px -4px;
  }
  40% {
    translate: 0px 0px;
  }
  43% {
    translate: -12px -4px;
  }
  46% {
    translate: 0px 0px;
  }
  49% {
    translate: -12px -4px;
  }
  52% {
    translate: 0px 0px;
  }
  55% {
    translate: -13px -4px;
  }
  59% {
    translate: 0px 0px;
  }
  70% {
    translate: 0px 0px;
  }
  73% {
    translate: -14px -4px;
  }
  77% {
    translate: 0px 0px;
  }
  80% {
    translate: -14px -4px;
  }
  84% {
    translate: 0px 0px;
  }
}
.mv {
  position: relative;
  background-color: #003894;
  padding-block: 5.25rem 5.125rem;
}
@media screen and (min-width: 768px) {
  .mv {
    border-radius: 1.875rem 1.875rem 0 0;
    padding-top: 1.5625rem;
  }
}
.mv:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/pt_blue.webp) center center/5.1875rem repeat;
  opacity: 0.06;
}
.mv__video {
  position: relative;
  max-width: 100%;
  border-radius: 2.5rem;
  border: 0.5rem solid #231815;
  overflow: hidden;
  aspect-ratio: 1;
}
.name {
  position: relative;
  padding-block: 2.5rem 42.6666666667vw;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .name {
    padding-bottom: 10rem;
    overflow: hidden;
  }
}
.name__title {
  font-size: 1.75rem;
  line-height: 1.5;
  background: url(../images/bordersvg.svg) bottom center/9.6875rem no-repeat;
  padding-bottom: 0.6875rem;
}
.name__main {
  position: relative;
  max-width: 14.25rem;
  margin-inline: auto;
  margin-top: 1.75rem;
}
.name__logo {
  position: absolute;
  width: 11.6875rem;
  bottom: 1.5625rem;
  left: 50%;
  transform: translate(-50%);
}
.name__text {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.04em;
  margin-top: 3rem;
}
.name__text p + p {
  margin-top: 2em;
}
.name__hand {
  position: absolute;
  width: 8.875rem;
  bottom: 0rem;
  right: -5.25rem;
  transform: rotate(-12.32deg);
  z-index: 1;
}
.name__hand img {
  animation: hand 3.5s infinite;
}
.news {
  position: relative;
  background-color: #fff;
  padding-block: 2.5rem 10rem;
}
.news:before {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center top/cover no-repeat;
  top: -4.3125rem;
}
.news__blocks {
  display: grid;
  grid-template-columns: 100%;
  gap: 2rem;
  margin-top: 2rem;
}
.news__block a {
  display: block;
  transition: all 0.45s;
}
.news__thumbnail img {
  aspect-ratio: 327/184;
  object-fit: cover;
}
.news__link {
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.07em;
  margin-top: 1rem;
}
.news__time {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  letter-spacing: 0.07em;
  gap: 0.25rem;
}
.news__time:before {
  display: block;
  content: '';
  width: 1.25rem;
  height: 1.25rem;
  background: url("data:image/svg+xml,%3csvg%20width='17'%20height='19'%20viewBox='0%200%2017%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.33333%200C12.9358%200%2016.6667%203.73083%2016.6667%208.33333C16.6667%2012.9358%2012.9358%2016.6667%208.33333%2016.6667C3.73083%2016.6667%200%2012.9358%200%208.33333C0%203.73083%203.73083%200%208.33333%200ZM8.33333%203.33333C8.11232%203.33333%207.90036%203.42113%207.74408%203.57741C7.5878%203.73369%207.5%203.94565%207.5%204.16667V8.33333C7.50005%208.55433%207.58787%208.76625%207.74417%208.9225L10.2442%2011.4225C10.4013%2011.5743%2010.6118%2011.6583%2010.8303%2011.6564C11.0488%2011.6545%2011.2578%2011.5669%2011.4123%2011.4123C11.5669%2011.2578%2011.6545%2011.0488%2011.6564%2010.8303C11.6583%2010.6118%2011.5743%2010.4013%2011.4225%2010.2442L9.16667%207.98833V4.16667C9.16667%203.94565%209.07887%203.73369%208.92259%203.57741C8.76631%203.42113%208.55435%203.33333%208.33333%203.33333Z'%20fill='%23003894'/%3e%3c/svg%3e")
    center center/contain no-repeat;
}
.news__btn {
  margin-top: 2.5rem;
}
@media (hover: hover) {
  .news__block a:hover {
    opacity: 0.6;
  }
}
.profile {
  background-color: #003894;
  padding-block: 4.0625rem 2.8125rem;
  position: relative;
  overflow: clip;
}
.profile__text {
  line-height: 2;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  margin-top: 1.75rem;
}
.profile__text p + p {
  margin-top: 2em;
}
.profile__bottom {
  margin-top: 2.375rem;
}
.profile__bottom.is-active img {
  animation: popIn 1.1s ease-out 0.3s 1 normal both;
}
.profile__img {
  position: absolute;
  width: 5.3125rem;
  height: 5.4375rem;
}
.profile__img img {
  transition: all 0.45s;
}
.profile__img.--left {
  left: -1.25rem;
  top: 29.625rem;
}
.profile__img.--left img {
  transform: translate(-105%);
}
.profile__img.--right {
  right: -1.25rem;
  top: 13.4375rem;
}
.profile__img.--right img {
  transform: translate(105%);
}
.profile__img.is-active img {
  transform: translate(0);
}
@keyframes popIn {
  0% {
    transform: translateY(60px);
    opacity: 0;
  }
  32% {
    transform: translateY(-18px);
    opacity: 1;
  }
  62% {
    transform: translateY(9px);
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.section-bg {
  background-image: url(../images/sec_top.webp);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
svg[aria-hidden='true'] {
  display: none;
}
.sns__title {
  font-size: 1.375rem;
  letter-spacing: 0.16em;
}
.sns__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1.375rem;
}
.sns__link {
  width: 2.5625rem;
  height: 2.5625rem;
}
.sns__link a {
  display: block;
  transition: all 0.45s;
}
@media (hover: hover) {
  .sns__link a:hover {
    opacity: 0.6;
  }
}
.wallpaper {
  position: relative;
  background-color: #d9eef8;
  padding-block: 2.5rem 42.6666666667vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .wallpaper {
    padding-bottom: 10rem;
  }
}
.wallpaper:before {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 4.375rem;
  top: -4.3125rem;
  background-color: #d9eef8;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center center/100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='375'%20height='62'%20viewBox='0%200%20375%2062'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cellipse%20cx='188'%20cy='92'%20rx='262'%20ry='92'%20fill='%23D9EEF8'/%3e%3c/svg%3e")
    center center/100% 100% no-repeat;
}
.wallpaper__img {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
  margin-top: 2.5rem;
}
.wallpaper__btns {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 2.5rem;
}
.wallpaper__btn {
  width: 17.5rem;
  margin-inline: auto;
}
.youtube {
  position: relative;
  margin-top: 4.375rem;
  padding-bottom: 4.375rem;
  z-index: 1;
}
.youtube:before {
  position: absolute;
  content: '';
  width: 100%;
  height: calc(100% - 1.4375rem);
  top: 1.4375rem;
  left: 0;
  background: url(../images/bg_movie.webp) center center/100% 100% no-repeat;
  z-index: -1;
}
.youtube__inner {
  max-width: unset;
}
.youtube__title {
  font-size: 1.75rem;
  line-height: 1.5;
  background: url(../images/bordersvg.svg) bottom center/9.6875rem no-repeat;
  padding-bottom: 0.6875rem;
}
.youtube__iframe {
  text-align: center;
  margin-top: 2.5rem;
}
.youtube__iframe iframe {
  border: 0.5rem solid #231815;
  aspect-ratio: 327/184;
  object-fit: cover;
  max-width: 100%;
  height: fit-content;
  border-radius: 1rem;
}
