@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Yomogi&display=swap");
html {
  font-size: 62.5%;
  color: #174578;
  margin-top: 0 !important;
}

a {
  text-decoration: none;
}

p {
  font-size: 1.5rem;
  line-height: 3rem;
  font-weight: 700;
}

img {
  vertical-align: top;
}

.header-top {
  display: flex;
  position: relative;
}

.header-sponsor {
  display: flex;
  align-items: center;
  border: 4px solid #174578;
  border-radius: 6rem;
  padding: 0 0.8rem;
  background-color: white;
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 120rem;
  height: 7.4rem;
}
@media (max-width: 768px) {
  .header-sponsor {
    display: none;
  }
}
.header-sponsor h2 {
  margin-right: 2rem;
  padding-left: 3rem;
  font-size: 1.8rem;
}

.sponsor-slick {
  display: flex;
  width: 105.7rem;
}
.sponsor-slick img {
  width: 15rem;
  height: 5rem;
  margin-right: 1.5rem;
}

.menu-button {
  width: 8.2rem;
  height: 8.2rem;
  border-radius: 50%;
  background-color: #174578;
  position: fixed;
  right: 2rem;
  top: 2rem;
  z-index: 10000;
  transition: all 0.5s;
  cursor: pointer;
}
@media (max-width: 768px) {
  .menu-button {
    width: 5.6rem;
    height: 5.6rem;
    top: 1.5rem;
    right: 1.5rem;
  }
}
.menu-button i {
  font-size: 3.2rem;
  display: flex;
  line-height: 8.2rem;
  justify-content: center;
  color: white;
}
@media (max-width: 768px) {
  .menu-button i {
    line-height: 5.6rem;
    font-size: 2.6rem;
  }
}

.menu-button.active {
  display: none;
  transition: all 0.5s;
}

.header-common-button-fixed {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
}

.header-bottom {
  position: relative;
  background-color: #f15a16;
  border: 4px solid #174578;
  border-radius: 3rem;
  box-shadow: 8px 8px 0 #ffdb59;
  transition: all 0.3s;
  overflow: hidden;
}
.header-bottom.furusato {
  background-color: #fff;
  box-shadow: 8px 8px 0 #174578;
  margin-bottom: 20px;
}
.header-bottom.furusato a {
  color: #174578;
  padding: 1.35rem 2rem;
}
.header-bottom::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fbfbfb;
  animation: btn_animation 2.5s ease-in-out infinite;
}
.header-bottom:hover {
  transform: translate(3px, 3px);
  box-shadow: unset;
}
@media (max-width: 768px) {
  .header-bottom {
    border-radius: 2rem;
    box-shadow: 6px 6px 0 #ffdb59;
    border: 3px solid #174578;
  }
}
.header-bottom a {
  color: white;
  display: flex;
  align-items: center;
  padding: 2.35rem 2rem;
}
@media (max-width: 768px) {
  .header-bottom a {
    padding: 2rem 3rem;
  }
}
.header-bottom h3 {
  font-size: 2rem;
  margin: 0 1rem 0 0;
}
.header-bottom h3 .strong {
  color: #f15a16;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .header-bottom h3 {
    font-size: 1.6rem;
  }
}
.header-bottom i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .header-bottom i {
    font-size: 1.6rem;
  }
}

.chevron-right {
  display: inline-block;
  vertical-align: middle;
  color: white;
  line-height: 1;
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  transform: translateX(-25%) rotate(45deg);
}

.chevron-right::before,
.chevron-right::after {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 0.1rem;
}

.chevron-right::before {
  top: 6px;
  left: 0;
  right: 0;
  height: 0.2rem;
}

.chevron-right::after {
  top: 7px;
  right: 0;
  bottom: -6px;
  width: 0.2rem;
}

#nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #174578;
  opacity: 95%;
  color: white;
  width: 100%;
  height: 48.6rem;
  z-index: 11000;
}
#nav img {
  width: 20rem;
  height: 6.2rem;
  margin: 2rem;
}
#nav a {
  color: white;
  font-weight: 700;
}
@media (max-width: 768px) {
  #nav {
    height: 100vh;
    overflow: auto;
  }
  #nav img {
    height: 5.2rem;
  }
}

.menu-items {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .menu-items {
    flex-direction: column;
    padding: 0 0 5rem 3rem;
  }
}

.menu-item {
  display: flex;
  flex-direction: column;
  width: 27.6rem;
}
.menu-item h3 {
  font-size: 3.2rem;
  margin: 1.5rem;
  width: 20rem;
}
@media (max-width: 768px) {
  .menu-item h3 {
    font-size: 2rem;
    margin: 1rem 0;
  }
}
.menu-item li {
  font-size: 1.8rem;
  font-weight: 700;
  list-style: none;
  line-height: 3.8rem;
}

.menu-close-button {
  font-size: 4.5rem;
  position: absolute;
  right: 4.5rem;
  top: 3.5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .menu-close-button {
    top: 1rem;
    right: 3rem;
  }
}
@media (max-width: 768px) {
  .menu-close-button i {
    font-size: 3.2rem;
  }
}
@media (max-width: 768px) {
  main {
    width: 100%;
  }
}

.fv {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv-text {
  position: absolute;
  bottom: 10%;
  left: 5%;
}

.fv-date {
  position: absolute;
  top: 10%;
  left: 0;
}

.pc-cover {
  position: relative;
  height: 100%;
}
@media (max-width: 768px) {
  .pc-cover {
    display: none;
  }
}

.sp-cover img {
  width: 100%;
}
@media (min-width: 769px) {
  .sp-cover {
    display: none;
  }
}

.top-introduction {
  position: relative;
  overflow: hidden;
}

.leaves-container {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 9rem 0;
}
@media (max-width: 768px) {
  .leaves-container {
    padding: 6rem 0 8rem 0;
  }
}

/* ===== 落ち葉のスタイル ===== */
/* 落ち葉の共通スタイル */
.leaf {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  animation: animate-leaf 8s linear;
}

/* 落ち葉1 */
.leaf-1 {
  background-image: url("../../images/top-introduction/leaf-1.svg"); /* 任意のパスを記入 */
}

/* 落ち葉2 */
.leaf-2 {
  background-image: url("../../images/top-introduction/leaf-2.svg"); /* 任意のパスを記入 */
}

/* 落ち葉3 */
.leaf-3 {
  background-image: url("../../images/top-introduction/leaf-3.svg"); /* 任意のパスを記入 */
}

.circle {
  z-index: 0;
}

.leaves {
  z-index: 2;
}

.circle.right {
  position: absolute;
  top: 0;
  right: 0;
}

.leaves.right {
  position: absolute;
  top: 5rem;
  right: 0;
}

.circle.left {
  position: absolute;
  bottom: 6rem;
  left: 0;
}

.leaves.left {
  position: absolute;
  bottom: 33rem;
  left: 0;
}

.intro-info {
  display: flex;
  justify-content: center;
  margin-bottom: 10rem;
}
@media (max-width: 768px) {
  .intro-info {
    flex-direction: column;
    margin-bottom: 4rem;
  }
}

@media (max-width: 768px) {
  .intro-left {
    width: 90%;
    margin: 0 auto;
  }
}

.intro-slide {
  width: 48.8rem;
  box-shadow: 4rem 4rem 0 #ffdb59;
  border-radius: 2.5rem;
}
@media (max-width: 768px) {
  .intro-slide {
    width: calc(100% - 1.6rem);
    box-shadow: 1.6rem 1.6rem 0 #ffdb59;
  }
}
.intro-slide img {
  width: 48rem;
  height: 36rem;
  border-radius: 2.5rem;
  border: 4px solid #174578;
}
@media (max-width: 768px) {
  .intro-slide img {
    width: calc(100% - 0.6rem);
    height: 20.8rem;
    border: 3px solid #174578;
  }
}

.intro-right {
  margin: 1rem 0 0 8rem;
}
.intro-right span.strong {
  color: #f15a16;
  font-size: 2.2rem;
}
@media (max-width: 768px) {
  .intro-right {
    margin: 0 auto;
    width: 90%;
  }
  .intro-right span.strong {
    color: #f15a16;
    font-size: 1.8rem;
  }
}
.intro-right p {
  font-weight: 700;
  font-size: 2rem;
  line-height: 4.2rem;
  position: relative;
  z-index: 10;
}
@media (max-width: 768px) {
  .intro-right p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}

.intro-slick {
  display: flex;
  z-index: 10;
}
.intro-slick img {
  width: 30rem;
  height: 22.5rem;
  margin-right: 1.5rem;
  border-radius: 1.5rem;
}
@media (max-width: 768px) {
  .intro-slick img {
    width: 100%;
    height: 13rem;
  }
}

.intro-slide-item {
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .intro-slide-item {
    margin-right: 2rem;
  }
}

.slick-dots {
  bottom: 1.5rem;
  text-align: right;
  right: 2.5rem;
}
.slick-dots li {
  width: 0.5rem;
}
.slick-dots li button:before {
  color: white;
  opacity: 0.75;
  font-size: 0.6rem;
}
.slick-dots li.slick-active button:before {
  color: #ffdb59 !important;
  font-size: 1rem;
  top: 0.1rem;
  opacity: 1;
}

.slick-slide {
  height: auto !important;
}

.intro-title {
  position: relative;
}
.intro-title h1 {
  color: #f15a16;
  font-size: 4.4rem;
  padding-bottom: 5rem;
  margin-bottom: 0;
  position: relative;
  z-index: 10;
  font-weight: 900;
}
@media (max-width: 768px) {
  .intro-title h1 {
    font-size: 3rem;
  }
}
.intro-title img {
  position: absolute;
  bottom: 3rem;
  left: -3rem;
  z-index: 0;
}

.whats-1fes span {
  font-size: 3.6rem;
}

.top-news {
  color: #ffdb59;
  background-color: #174578;
  padding: 8rem 0;
}
.top-news__list {
  padding: 0;
}
.top-news__list_item {
  list-style: none;
}
@media (max-width: 768px) {
  .top-news {
    padding: 4rem 0 6rem 0;
  }
}

.top-title {
  font-size: 5.6rem;
  text-align: center;
  margin: 0 0 2rem 0;
  font-weight: 900;
}
@media (max-width: 768px) {
  .top-title {
    font-size: 3rem;
  }
}

.news-items {
  width: 60%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .news-items {
    width: 80%;
  }
}
.news-items a {
  color: #ffdb59;
}

.news-item {
  display: flex;
  border-top: 1px solid #ffdb59;
}
@media (max-width: 768px) {
  .news-item {
    flex-direction: column;
    padding: 1rem 0;
  }
}
.news-item p {
  font-weight: 700;
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  .news-item p {
    font-size: 1.3rem;
    margin: 0;
  }
}

.news-item:nth-of-type(3) {
  border-bottom: 1px solid #ffdb59;
}

.news-date {
  margin-right: 5rem;
}

.news-button {
  margin: 3rem auto;
  margin-bottom: 0;
  background-color: #ffdb59;
  width: 25rem;
  height: 7.4rem;
  border-radius: 3.7rem;
}
@media (max-width: 768px) {
  .news-button {
    height: 4.6rem;
    width: 17.2rem;
  }
}
.news-button a {
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
  color: #174578;
}
@media (max-width: 768px) {
  .news-button a {
    line-height: 4.6rem;
  }
}
.news-button h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .news-button h3 {
    font-size: 1.5rem;
  }
}
.news-button i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .news-button i {
    font-size: 1.5rem;
  }
}

.top-artist {
  padding: 10rem 0;
  background-color: #fff9bb;
  background-image: url("../../images/top-artist/bg-left-top.png"), url("../../images/top-artist/bg-right-top.png"), url("../../images/top-artist/bg-left-bottom.png"), url("../../images/top-artist/bg-right-bottom.png");
  background-repeat: no-repeat;
  background-size: 40%, 40%, 30%, 30%;
  background-position: left top, right top, left bottom, right bottom;
  position: relative;
}
@media (max-width: 768px) {
  .top-artist {
    padding: 8rem 0 5rem 0;
    background-size: 50%, 50%, 30%, 30%;
  }
}
.top-artist h1 {
  color: #f15a16;
  font-size: 7.2rem;
}
@media (max-width: 768px) {
  .top-artist h1 {
    font-size: 3rem;
  }
}
.top-artist h2 {
  color: #f15a16;
  font-size: 5.6rem;
  text-align: center;
  font-weight: 900;
}
@media (max-width: 768px) {
  .top-artist h2 {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}
.top-artist__beforePublication {
  text-align: center;
}
.top-artist__beforePublication_text {
  font-size: 3.2rem;
  font-weight: 700;
  color: #f15a16;
}
@media (max-width: 768px) {
  .top-artist__beforePublication_text {
    font-size: 2rem;
  }
}
.top-artist__icon {
  position: absolute;
}
.top-artist__icon.momiji {
  top: 7rem;
  left: 12rem;
  width: 245px;
}
.top-artist__icon.icho-right {
  top: 45rem;
  right: 2rem;
  width: 204px;
}
.top-artist__icon.konoha {
  width: 162px;
  left: 1.5rem;
  bottom: 40rem;
}
.top-artist__icon.konoha2 {
  width: 188px;
  right: 1rem;
  bottom: 15rem;
}
@media (max-width: 768px) {
  .top-artist__icon.momiji {
    top: 4rem;
    left: 3rem;
    width: 87px;
  }
  .top-artist__icon.icho-right {
    top: 18rem;
    right: 2rem;
    width: 80px;
  }
  .top-artist__icon.konoha {
    width: 69px;
    left: 1rem;
    bottom: 25rem;
  }
  .top-artist__icon.konoha2 {
    width: 81px;
    right: 1rem;
    bottom: 2rem;
  }
}

.fourth {
  margin-bottom: 10rem;
}
@media (max-width: 768px) {
  .fourth {
    margin-bottom: 4rem;
  }
}

.artist-day {
  font-size: 3.2rem;
  margin-left: 1rem;
}
@media (max-width: 768px) {
  .artist-day {
    font-size: 1.6rem;
  }
}

.artists {
  display: flex;
  flex-wrap: wrap;
  width: 102rem;
  justify-content: space-between;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .artists {
    width: 85%;
  }
}

.artists::after {
  content: "";
  display: block;
  width: 32rem;
}

.artist-item {
  position: relative;
  width: 32rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .artist-item {
    width: 14.9rem;
  }
}
.artist-item img {
  width: 32rem;
  height: 22rem;
  border-radius: 1.9rem;
}
@media (max-width: 768px) {
  .artist-item img {
    width: 15rem;
    height: 11rem;
    border-radius: 1.9rem 1.9rem 0 0;
  }
}

@media (max-width: 768px) {
  .artist-item:nth-of-type(3),
  .artist-item:nth-of-type(4),
  .artist-item:nth-of-type(5),
  .artist-item:nth-of-type(6),
  .artist-item:nth-of-type(7),
  .artist-item:nth-of-type(8) {
    height: 15rem;
  }
}

.artist-name {
  position: absolute;
  bottom: 0;
  background-color: #ffdb59;
  margin: 0;
  line-height: 2rem;
  font-weight: 700;
  width: 100%;
  border-radius: 0 0 2rem 2rem;
  padding: 0 2rem;
  height: 7.6rem;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .artist-name {
    font-size: 1.3rem;
    height: auto;
    padding: 1rem;
  }
}

@media (max-width: 768px) {
  .artist-name.height {
    height: 8rem;
  }
}

.table-button {
  background-color: #174578;
  width: 28.5rem;
  height: 7.4rem;
  border-radius: 3.7rem;
  box-shadow: 8px 8px 0 #ffdb59;
  margin: 3rem auto;
}
@media (max-width: 768px) {
  .table-button {
    height: 4.6rem;
    width: 23.1rem;
    box-shadow: 6px 6px 0 #ffdb59;
  }
}
.table-button a {
  color: white;
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .table-button a {
    line-height: 4.6rem;
  }
}
.table-button i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .table-button i {
    font-size: 1.4rem;
  }
}
.table-button h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .table-button h3 {
    font-size: 1.5rem;
  }
}

.top-activity {
  padding: 10rem 0;
  background-color: #f15a16;
}
@media (max-width: 768px) {
  .top-activity {
    padding: 8rem 0;
  }
}

.activity-container {
  width: 108rem;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  align-items: center;
}
@media (max-width: 768px) {
  .activity-container {
    flex-direction: column-reverse;
    width: 100%;
  }
}

.activity-slide {
  width: 48.8rem;
  box-shadow: 4rem 4rem 0 white;
  border-radius: 2.5rem;
}
@media (max-width: 768px) {
  .activity-slide {
    width: calc(100% - 1.6rem);
    border-radius: 1.5rem;
    box-shadow: 1.6rem 1.6rem 0 white;
  }
}
.activity-slide img {
  width: 48rem;
  height: 36rem;
  border-radius: 2.5rem;
  border: 4px solid #174578;
}
@media (max-width: 768px) {
  .activity-slide img {
    width: calc(100% - 6px);
    height: 20.8rem;
    border: 3px solid #174578;
    border-radius: 1.5rem;
  }
}

.activity-left {
  width: 50rem;
}
@media (max-width: 768px) {
  .activity-left {
    width: 85%;
  }
}
.activity-left p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 4rem;
}
@media (max-width: 768px) {
  .activity-left p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}
.activity-left h1 {
  text-align: left;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .activity-right {
    width: 85%;
  }
}

.view-more {
  margin: 3rem 0;
  margin-bottom: 0;
  background-color: #174578;
  width: 25rem;
  height: 7.4rem;
  border-radius: 3.7rem;
  box-shadow: 8px 8px 0 white;
  transition: all 0.3s;
}
.view-more.yellow {
  box-shadow: 8px 8px 0 #ffdb59;
  color: #fff;
}
.view-more:hover {
  transform: translate(3px, 3px);
  box-shadow: unset;
}
@media (max-width: 768px) {
  .view-more {
    width: 16.2rem;
    height: 4.6rem;
    box-shadow: 6px 6px 0 white;
    margin-top: 4rem;
  }
}
.view-more a,
.view-more input {
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
  color: white;
}
@media (max-width: 768px) {
  .view-more a,
  .view-more input {
    line-height: 4.6rem;
  }
}
.view-more h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .view-more h3 {
    font-size: 1.5rem;
  }
}
.view-more i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .view-more i {
    font-size: 1.4rem;
  }
}

.top-title.sp {
  text-align: left;
  margin-bottom: 4rem;
}
@media (min-width: 769px) {
  .top-title.sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .top-title.pc {
    display: none;
  }
}

.top-food {
  padding: 10rem 0;
  background-color: #ffdb59;
  background-image: url("../../images/top-food/bg-img1.png"), url("../../images/top-food/bg-img2.png");
  background-repeat: no-repeat, no-repeat;
  background-size: 385px, 262px;
  background-position: left 3rem top 20%, right 5rem bottom 10%;
}
@media (max-width: 768px) {
  .top-food {
    background-size: 260px, 182px;
    background-position: right -10rem top 2rem, left -5rem bottom 10%;
    padding: 8rem 0;
  }
}

.food-container {
  width: 108rem;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin: 0 auto;
  align-items: center;
}
@media (max-width: 768px) {
  .food-container {
    flex-direction: column-reverse;
    width: 100%;
  }
}

.food-slide {
  width: 48.8rem;
  box-shadow: 4rem 4rem 0 white;
  border-radius: 2.5rem;
}
@media (max-width: 768px) {
  .food-slide {
    width: calc(100% - 1.6rem);
    border-radius: 1.5rem;
    box-shadow: 1.6rem 1.6rem 0 white;
  }
}
.food-slide img {
  width: 48rem;
  height: 36rem;
  border-radius: 2.5rem;
  border: 4px solid #174578;
}
@media (max-width: 768px) {
  .food-slide img {
    width: calc(100% - 6px);
    height: 20.8rem;
    border: 3px solid #174578;
    border-radius: 1.5rem;
  }
}

.food-left {
  width: 50rem;
}
@media (max-width: 768px) {
  .food-left {
    width: 85%;
  }
}
.food-left p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 4rem;
}
@media (max-width: 768px) {
  .food-left p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}
.food-left h1 {
  text-align: left;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .food-right {
    width: 85%;
  }
}

.top-map {
  background-color: #174578;
  padding: 8rem 0;
}
@media (max-width: 768px) {
  .top-map {
    padding: 5rem 0;
  }
}
.top-map h1 {
  color: #ffdb59;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .top-map h1 {
    margin-bottom: 2rem;
  }
}
.top-map p {
  color: #ffdb59;
  text-align: center;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .top-map p {
    font-size: 1.4rem;
    width: 85%;
    margin: 0 auto;
    margin-bottom: 2rem;
  }
}

.map-image {
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.map-image img {
  width: 98rem;
  height: 57.3rem;
}
@media (max-width: 768px) {
  .map-image img {
    width: 85%;
    height: 30rem;
  }
}

.map-preparation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  font-size: 2rem;
  z-index: 10;
}

.map-buttons {
  display: flex;
  width: 53rem;
  margin: 2rem auto;
}
@media (max-width: 768px) {
  .map-buttons {
    flex-direction: column;
    width: 100%;
    margin: 1rem 0;
  }
}

.map-button {
  margin: 3rem auto;
  margin-bottom: 0;
  background-color: #ffdb59;
  width: 25rem;
  height: 7.4rem;
  border-radius: 3.7rem;
}
@media (max-width: 768px) {
  .map-button {
    height: 4.6rem;
    width: 20.2rem;
    margin: 2rem auto;
    margin-bottom: 0;
  }
}
.map-button a {
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
  color: #174578;
}
@media (max-width: 768px) {
  .map-button a {
    line-height: 4.6rem;
  }
}
.map-button h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
  font-weight: 900;
}
@media (max-width: 768px) {
  .map-button h3 {
    font-size: 1.5rem;
  }
}
.map-button i {
  font-size: 1.8rem;
  vertical-align: middle;
  font-weight: 900;
}
@media (max-width: 768px) {
  .map-button i {
    font-size: 1.5rem;
  }
}

.top-ticket {
  background-color: #f15a16;
  padding: 8rem 0;
}
@media (max-width: 768px) {
  .top-ticket {
    padding: 4rem 0 6rem 0;
  }
}
.top-ticket h1 {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .top-ticket h1 {
    margin-bottom: 2rem;
  }
}

.ticket-note {
  font-size: 1.6rem;
  color: #ff0000;
}
@media (max-width: 768px) {
  .ticket-note {
    font-size: 1.4rem;
  }
}

.ticket-container {
  background-color: white;
  width: 104rem;
  margin: 0 auto;
  padding: 3rem 3rem 4rem 3rem;
  box-sizing: border-box;
  border-radius: 2rem;
}
@media (max-width: 768px) {
  .ticket-container {
    padding: 1rem 1.5rem 2rem 1.5rem;
  }
}
@media (max-width: 768px) {
  .ticket-container {
    width: 90%;
  }
}

.ticket-upside {
  border-bottom: 1px solid #174578;
}

.ticket-item {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .ticket-item {
    margin-bottom: 3rem;
  }
}
.ticket-item h2 {
  font-size: 1.8rem;
  font-weight: 900;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .ticket-item h2 {
    font-size: 1.5rem;
  }
}
.ticket-item p {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 1rem 0;
}
@media (max-width: 768px) {
  .ticket-item p {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
}
.ticket-item__notice {
  display: inline;
  border-bottom: 1px solid #174578;
  padding-bottom: 4px;
}
.ticket-item__benefits {
  color: #f15a16;
}

.ticket-item.last {
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  .ticket-item.last {
    margin-top: 3rem;
  }
}

.lawson-button {
  margin: 0 0 2rem 0;
  background-color: #174578;
  width: 34rem;
  height: 7.4rem;
  border-radius: 3.7rem;
  box-shadow: 8px 8px 0 #ffdb59;
}
@media (max-width: 768px) {
  .lawson-button {
    width: 90%;
    height: 4.6rem;
    margin: 0 auto;
    box-shadow: 6px 6px 0 #ffdb59;
  }
}
.lawson-button a {
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
  color: white;
}
@media (max-width: 768px) {
  .lawson-button a {
    line-height: 4.6rem;
  }
}
.lawson-button h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .lawson-button h3 {
    font-size: 1.5rem;
  }
}
.lawson-button i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .lawson-button i {
    font-size: 1.5rem;
  }
}

.ticket-attention {
  background-color: #fff9bb;
  padding: 1rem 2.5rem;
  margin-top: 3.5rem;
}
@media (max-width: 768px) {
  .ticket-attention {
    padding: 1rem;
  }
}
.ticket-attention h2 {
  font-size: 2rem;
  font-weight: 900;
}
@media (max-width: 768px) {
  .ticket-attention h2 {
    font-size: 1.6rem;
  }
}
.ticket-attention ul {
  padding: 0;
}
.ticket-attention li {
  font-size: 1.6rem;
  line-height: 3.2rem;
  font-weight: 700;
  list-style: none;
  padding: 0;
}
@media (max-width: 768px) {
  .ticket-attention li {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
}

.top-info {
  background-color: #fff9bb;
  padding: 10rem 0;
  background-image: url("../../images/top-info/bg-right-top.png"), url("../../images/top-info/bg-left-bottom.png");
  background-repeat: no-repeat, no-repeat;
  background-size: auto, auto;
  background-position: right top, left bottom;
}
@media (max-width: 768px) {
  .top-info {
    background-size: 50%, 50%;
  }
}
.top-info h1 {
  color: #f15a16;
  margin-bottom: 3rem;
}

.info-items {
  width: 90rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .info-items {
    width: 90%;
  }
}

.info-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #174578;
  padding: 2.5rem 0;
}
@media (max-width: 768px) {
  .info-item {
    flex-direction: column;
    align-items: start;
    padding: 2rem 0;
  }
}
.info-item h3 {
  margin: 0;
}
@media (max-width: 768px) {
  .info-item h3 {
    margin-bottom: 0.7rem;
  }
}
.info-item p {
  width: 70rem;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0;
}
@media (max-width: 768px) {
  .info-item p {
    width: 100%;
    font-size: 1.3rem;
  }
}
.info-item .strong {
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .info-item .strong {
    font-size: 1.5rem;
  }
}

.info-item:nth-of-type(7) {
  border-bottom: 1px solid #174578;
}

.info-title {
  width: 16rem;
  font-size: 1.6rem;
  font-weight: 900;
  text-align: center;
}
@media (max-width: 768px) {
  .info-title {
    width: 100%;
    text-align: left;
    font-size: 1.3rem;
  }
}

.top-sponsor {
  padding: 10rem 0;
  background-color: #ffdb59;
}
@media (max-width: 768px) {
  .top-sponsor {
    padding: 8rem 0 7rem 0;
  }
}

.sponsor-images {
  width: 90rem;
  text-align: center;
  margin: 4rem auto;
}
@media (max-width: 768px) {
  .sponsor-images {
    width: 100%;
    margin: 2.5rem auto;
  }
}
.sponsor-images img {
  width: 18rem;
  height: 10rem;
  margin: 0 1rem 2rem 1rem;
}
@media (max-width: 768px) {
  .sponsor-images img {
    width: 9.8rem;
    height: 5.4rem;
    margin: 0 0.5rem 1rem 0.5rem;
  }
}

/* ===== 落ち葉が降るアニメーション ===== */
@keyframes animate-leaf {
  0% {
    opacity: 0;
    top: 0;
    transform: rotate(0);
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(1080deg);
  }
}
.subpage-top {
  padding: 7rem 0 4rem 0;
}

.subpage-title {
  font-size: 5.6rem;
  text-align: center;
  font-weight: 900;
}

.subpage-description {
  font-size: 1.6rem;
  text-align: center;
  font-weight: 700;
}

.activity-item-container {
  background-color: #f15a16;
}

.activity-item {
  display: flex;
  width: 75%;
  margin: 0 auto;
  padding: 9rem 0;
  align-items: center;
  justify-content: space-between;
}

.sub-activity-left {
  width: 38%;
}
.sub-activity-left h3 {
  font-size: 1.8rem;
}
.sub-activity-left h2 {
  font-size: 3.2rem;
  line-height: 4.8rem;
}
.sub-activity-left p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.2rem;
}

.sub-activity-right {
  width: 55%;
}
.sub-activity-right img {
  width: 100%;
  height: auto;
}

.activity-item-container.middle {
  background-color: white;
}

.activity-item.middle {
  flex-direction: row-reverse;
}

.food-info {
  margin: 4rem 0;
}

.food-info-item {
  text-align: center;
}
.food-info-item h3 {
  font-size: 2rem;
  font-weight: 900;
}
.food-info-item p {
  font-size: 1.6rem;
  font-weight: 700;
}

.food-stalls {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto;
  margin-bottom: 8rem;
  justify-content: space-between;
}

.food-item {
  width: calc((100% - 10rem) / 3);
  margin-bottom: 8rem;
}
.food-item img {
  width: 100%;
}
.food-item p {
  font-size: 1.4rem;
}

.food-stalls::after {
  content: "";
  display: block;
  width: calc((100% - 10rem) / 3);
}

.food-genre {
  font-weight: 800;
  margin-bottom: 1rem;
}

.food-name {
  font-size: 1.8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #174578;
  font-weight: 900;
  margin-top: 0;
}

.food-sns a {
  font-size: 2.5rem;
  display: inline-block;
  height: 3.6rem;
  width: 3.6rem;
  background-color: #ffdb59;
  text-align: center;
  color: #174578;
}
.food-sns i {
  line-height: 3.6rem;
}

.insta {
  margin-right: 1.5rem;
}

.full-map {
  width: 75%;
  margin: 0 auto;
}
.full-map img {
  width: 100%;
}

.full-map-item {
  margin: 5rem auto;
}
.full-map-item h3 {
  font-size: 2rem;
}
.full-map-item p {
  font-size: 1.6rem;
}

.news-title {
  font-size: 7.2rem;
  font-weight: 700;
  color: #f15a16;
  text-align: center;
}
@media (max-width: 768px) {
  .news-title {
    font-size: 5rem;
  }
}

.news-single {
  min-height: 100vh;
  padding: 10rem 0;
  background-color: #fff9bb;
  background-image: url("../../images/top-artist/bg-left-top.png"), url("../../images/top-artist/bg-right-top.png"), url("../../images/top-artist/bg-left-bottom.png"), url("../../images/top-artist/bg-right-bottom.png");
  background-repeat: no-repeat;
  background-size: 40%, 40%, 30%, 30%;
  background-position: left top, right top, left bottom, right bottom;
  position: relative;
}
.news-single__container {
  width: 70%;
  margin: 100px auto 0;
}
@media (max-width: 768px) {
  .news-single__container {
    width: 80%;
  }
}
.news-single__title {
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #eeeeee;
  letter-spacing: 0.04em;
  margin-top: 2.8rem;
  padding-bottom: 3.4rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .news-single__title {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
    flex-direction: column-reverse;
    gap: 4px;
  }
}
.news-single__content p {
  margin-top: 3.2rem;
  line-height: 1.7;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  margin-top: 3.6rem;
  padding-bottom: 2rem;
}
@media (max-width: 768px) {
  .news-single__content p {
    font-size: 1.4rem;
  }
}
.news-single__date {
  font-size: 1.3rem;
  color: #f15a16;
}
@media (max-width: 768px) {
  .news-single__date {
    font-size: 1.2rem;
  }
}

.news-list {
  margin: 32px 0;
  padding: 0;
  border-top: 1px solid #174578;
}

.news-item {
  padding: 24px 0;
  border-bottom: 1px solid #174578;
}
@media (max-width: 768px) {
  .news-item {
    padding: 16px 0;
  }
}
.news-item a {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .news-item a {
    flex-direction: column;
    align-items: start;
  }
}

.news-item__date {
  font-size: 1.6rem;
  font-weight: 700;
  color: #f15a16;
  margin-right: 40px;
}
@media (max-width: 768px) {
  .news-item__date {
    font-size: 1.3rem;
  }
}

.news-item__title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #174578;
}
@media (max-width: 768px) {
  .news-item__title {
    font-size: 1.3rem;
  }
}

.contact {
  position: relative;
  background-color: #ffdb59;
}
.contact-container {
  width: 80%;
  margin: 0 auto;
  padding: 64px 0;
  position: relative;
}
.contact-title {
  text-align: center;
  margin: 64px 0;
}
.contact-main {
  border: 4px solid #174578;
  border-radius: 20px;
  padding: 32px;
  background-color: #fff;
}
.contact-main__about {
  width: 100%;
  padding-bottom: 32px;
  margin-bottom: 32px;
  border-bottom: 1px solid #000;
}
.contact-main__text {
  color: #174578;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 32px;
  margin: 0;
}
.contact-main__form_control {
  margin-bottom: 32px;
}
.contact-main__form_control-label {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 22px;
  margin-bottom: 8px;
}
.contact-main__form_control-input {
  width: 100%;
  border: 1px solid #c5d0dd;
  border-radius: 4px;
  padding: 10px;
  font-size: 1.6rem;
}
.contact-main__form_control-textarea {
  width: 100%;
  height: 215px;
  border: 1px solid #c5d0dd;
  border-radius: 4px;
  padding: 10px;
  font-size: 1.6rem;
  line-height: 32px;
  font-weight: 700;
}
.contact-main__form_control .radio-options {
  display: flex;
  flex-wrap: wrap;
  gap: 4em;
  margin-top: 0.5em;
}
.contact-main__form_control .radio-options label {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #174578;
  font-size: 1.6rem;
}
.contact-main__form_control .radio-options input[type=radio] {
  margin-right: 0.4em;
  transform: scale(1.1);
}

.charm {
  /* 本体は4.5秒後に表示 */
}
.charm-container {
  opacity: 1;
  animation: fadeInPage 1s ease forwards;
  animation-delay: 4.5s;
}
.charm-top {
  padding: 64px 0 128px;
  background-image: url("../../images/charm/circle-left.png"), url("../../images/charm/circle-right.png");
  background-size: 20%, 15%;
  background-repeat: no-repeat;
  background-position: left -20px bottom, right top;
  position: relative;
}
@media (max-width: 768px) {
  .charm-top {
    padding: 64px 0 0 0;
    background-size: 0%, 50%;
  }
}
.charm-top__leaves_right {
  position: absolute;
  top: 10%;
  right: 0;
}
@media (max-width: 768px) {
  .charm-top__leaves_right {
    width: 50%;
  }
}
.charm-top__leaves_momiji {
  position: absolute;
  top: 10%;
  right: 0;
}
.charm-top__leaves_icho {
  position: absolute;
  top: 10%;
  right: 0;
}
@media (max-width: 768px) {
  .charm-top__leaves_icho {
    top: 55%;
    z-index: -1;
    width: 106px;
  }
}
.charm-top__leaves_leave {
  position: absolute;
  top: 10%;
  right: 0;
}
@media (max-width: 768px) {
  .charm-top__leaves_leave {
    top: 70%;
    z-index: -1;
  }
}
.charm-top__leaves_left {
  position: absolute;
  bottom: 20%;
  left: 0;
}
@media (max-width: 768px) {
  .charm-top__leaves_left {
    display: none;
  }
}
.charm-top__container {
  padding: 64px 0;
  width: 80%;
  margin: 0 auto 64px;
}
@media (max-width: 768px) {
  .charm-top__container {
    width: 90%;
    margin: 0 auto;
  }
}
.charm-top__flex {
  display: flex;
  align-items: end;
  justify-content: space-around;
}
@media (max-width: 768px) {
  .charm-top__flex {
    flex-direction: column;
  }
}
.charm-top__right, .charm-top__left {
  width: 45%;
}
@media (max-width: 768px) {
  .charm-top__right, .charm-top__left {
    width: 100%;
  }
}
.charm-top__right_text {
  line-height: 2.5;
}
@media (max-width: 768px) {
  .charm-top__right_text {
    font-size: 1.4rem;
  }
}
.charm-top__right_button {
  margin: 3rem 0;
  margin-bottom: 0;
  background-color: #174578;
  width: 25rem;
  height: 7.4rem;
  border-radius: 3.7rem;
  box-shadow: 8px 8px 0 white;
  transition: all 0.3s;
}
.charm-top__right_button.yellow {
  box-shadow: 8px 8px 0 #ffdb59;
}
.charm-top__right_button:hover {
  transform: translate(3px, 3px);
  box-shadow: unset;
}
@media (max-width: 768px) {
  .charm-top__right_button {
    width: 70%;
    height: 4.6rem;
    box-shadow: 6px 6px 0 white;
    margin-top: 4rem;
  }
}
.charm-top__right_button a {
  display: flex;
  line-height: 7.4rem;
  justify-content: center;
  align-items: center;
  color: white;
}
@media (max-width: 768px) {
  .charm-top__right_button a {
    line-height: 4.6rem;
  }
}
.charm-top__right_button h3 {
  margin: 0;
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media (max-width: 768px) {
  .charm-top__right_button h3 {
    font-size: 1.5rem;
  }
}
.charm-top__right_button i {
  font-size: 1.8rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .charm-top__right_button i {
    font-size: 1.4rem;
  }
}
.charm-top__title {
  font-size: 4.4rem;
  font-weight: 700;
  color: #f15a16;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .charm-top__title {
    font-size: 2.4rem;
  }
}
.charm-top__title img {
  width: 100%;
  height: 30px;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: -1;
}
.charm-top__movie {
  width: 100%;
  height: 315px;
  box-shadow: 4rem 4rem 0 #ffdb59;
  border-radius: 2.5rem;
}
.charm-top__movie iframe {
  border-radius: 2.5rem;
}
@media (max-width: 768px) {
  .charm-top__movie {
    height: 215px;
    box-shadow: 2rem 2rem 0 #ffdb59;
  }
}
.charm-middle {
  position: relative;
  padding-bottom: 64px;
}
@media (max-width: 768px) {
  .charm-middle {
    background-image: url("../../images/charm/circle-left.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: left -100px bottom -100px;
  }
}
.charm-middle__container {
  top: -20%;
}
.charm-bottom__furusatoTiket {
  padding: 10rem 0;
  background-color: #fff9bb;
  background-image: url("../../images/top-artist/bg-left-top.png"), url("../../images/top-artist/bg-right-top.png"), url("../../images/top-artist/bg-left-bottom.png"), url("../../images/top-artist/bg-right-bottom.png");
  background-repeat: no-repeat;
  background-size: 40%, 40%, 30%, 30%;
  background-position: left top, right top, left bottom, right bottom;
  position: relative;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket {
    padding: 8rem 0 5rem 0;
    background-size: 50%, 50%, 30%, 30%;
  }
}
.charm-bottom__furusatoTiket_icon {
  position: absolute;
}
.charm-bottom__furusatoTiket_icon.momiji {
  bottom: 7rem;
  left: 12rem;
  width: 245px;
}
.charm-bottom__furusatoTiket_icon.icho-right {
  top: 10rem;
  right: 10rem;
  width: 204px;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket_icon.momiji {
    top: 1rem;
    left: 3rem;
    width: 87px;
  }
  .charm-bottom__furusatoTiket_icon.icho-right {
    top: 18rem;
    right: 2rem;
    width: 80px;
  }
}
.charm-bottom__furusatoTiket_main {
  margin-bottom: 10rem;
  text-align: center;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket_main {
    margin-bottom: 4rem;
  }
}
.charm-bottom__furusatoTiket_main-text {
  line-height: 2;
  font-size: 2rem;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket_main-text {
    font-size: 1.4rem;
  }
}
.charm-bottom__furusatoTiket h1 {
  color: #f15a16;
  font-size: 7.2rem;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket h1 {
    font-size: 3rem;
  }
}
.charm-bottom__furusatoTiket h2 {
  color: #f15a16;
  font-size: 5.6rem;
  text-align: center;
  font-weight: 900;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket h2 {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}
.charm-bottom__furusatoTiket h3 {
  font-size: 3rem;
  margin: 0;
  font-weight: 700;
}
@media (max-width: 768px) {
  .charm-bottom__furusatoTiket h3 {
    font-size: 2rem;
  }
}

/* オーバーレイ：スライド → テキスト → フェードアウト */
.overlay {
  position: fixed;
  inset: 0;
  background-color: white;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: slideUp 2s ease forwards, fadeOutOverlay 1s ease forwards 7.5s;
}

@keyframes slideUp {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fadeOutOverlay {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.message-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Yomogi", cursive;
  font-size: 36px;
  opacity: 0;
  white-space: nowrap;
  animation: textFadeIn 2s ease forwards;
  animation-delay: 2s;
}

@keyframes textFadeIn {
  0% {
    opacity: 0;
    filter: blur(4px);
    letter-spacing: 0.3em;
  }
  100% {
    opacity: 1;
    filter: blur(0);
    letter-spacing: normal;
  }
}
@keyframes fadeInPage {
  to {
    opacity: 1;
  }
}
.wrapper__letters {
  display: flex;
  justify-content: center;
  align-items: center;
}

.letters {
  position: relative;
  width: 300px;
  height: 270px;
}

.letters_pen {
  position: absolute;
  display: block;
  width: 140px;
  height: 140px;
  background-image: url("../../images/letters_pen.png");
  background-size: contain;
  translate: 50% -50%; /* ペン先を文字に合わせる */
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
  /* 🌟SVGの<mask>に指定するパスと同じ値です🌟 */
  offset-path: path("m2.348,80.572s13.419,12.98,21.14,11.079c11.174-2.751,31.536-24.701,38.025-25.239,6.389-.53-21.385,25.693-24.459,29.718-5.413,7.09-11.605,25.283-4.55,31.493,7.863,6.923,13.393-.655,24.769-25.374,5.379-11.687-4.068,10.878-3.945,16.587.122,5.676,1.673,14.786,13.121,13.366,13.775-1.709,27.472-54.096,41.337-72.768C119.974,43.023,148.869,1.639,164.589,3.026c13.958,1.232,3.197,23.508,1.539,26.479-3.816,6.839-18.976,43.678-49.781,50.618-21.331,4.806-24.626,32.136-24.711,33.652-.236,4.194,10.144,9.91,24.458-1.367,7.269-5.726-15.819-2.254-28.611,11.33-5.506,5.846,2.166,14.859,22.055,6.01,8.209-3.652,10.733-19.208,20.994-35.927,16.136-26.291,41.535-63.148,44.543-63.683,2.451-.436-2.686,4.953-7.278,13.516-14.464,26.973-50.589,84.537-49.449,86.245,1.501,2.251,23.012-35.269,32.267-35.269s14.804,15.181,7.831,19.498c-.859.531.69-4.121-3.254-5.512-4.446-1.568-14.315,3.266-17.997,9.563-4.582,7.836,1.063,19.99,15.483,10.283,16.427-11.057,18.603-27.489,25.571-28.322,4.712-.563,6.287,6.287,6.287,6.287,0,0-6.17.676-11.059,5.378-7.294,7.016-14.107,18.556-6.59,19.339,10.68,1.112,26.25-15.425,19.163-24.49-3.502-4.48,19.11.016,19.11.016,0,0-15.172,22.934-13.202,21.95,7.36-3.68,22.652-16.087,27.364-18.532,3.843-1.994-8.655,18.608-8.655,18.608,0,0,24.492-19.558,28.995-18.558,2.483.552-7.782,13.937-17.175,36.307-7.761,18.484-17.071,46.77-18.527,55.455-4.023,23.99-1.911,60.906,17.765,61.991,15.992.882,21.799-8.424,33.696-21.683,16.131-17.979-26.993-113.133-15.873-120.355,4.078-2.648,22.063-3.576,25.628-8.464,5.299-7.265-7.086-6.176-13.13-3.134-8.208,4.131-16.046,20.071-1.059,20.888,13.104.714,43.015-28.192,43.015-28.192");
  offset-rotate: 0deg;
}

.letters_pen.is-visible {
  opacity: 1;
}

:root {
  --custom-easing: cubic-bezier(0.34, 0.1, 0.85, 1.04);
}

[data-wrapper-id=letters].is-active .letters_pen {
  transition: offset-distance 5.5s var(--custom-easing);
  offset-distance: 100%;
}

.letters_line {
  position: absolute;
}

#letters-svg-text {
  mask: url("#letters-svg-mask");
  -webkit-mask: url("#letters-svg-mask");
}

#letters-svg-mask {
  stroke-dasharray: 1700px;
  stroke-dashoffset: 1700px;
}

[data-wrapper-id=letters].is-active #letters-svg-mask {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 5.5s var(--custom-easing);
}

footer {
  background-color: #174578;
  margin: 0;
  padding: 2rem 0;
}
footer p {
  font-size: 1.4rem;
  color: white;
  text-align: center;
}/*# sourceMappingURL=style.css.map */