.swiper-container1 {
  position: relative
}

.swiper-container1:before {
  content: "";
  display: block;
  padding-top: calc(9 / 16 * 100%)
}

.swiper-wrapper {
  position: absolute;
  top: 0;
  left: 0
}

.swiper-wrapper img {
  width: 100%;
  height: auto
}

.bg_label {
  background-image: url(../img/front/bg_title_img.svg);
  background-repeat: no-repeat;
  background-size: contain;
  /* width: 100%; */
    aspect-ratio: 71 / 256;
  height: 100%;
  position: absolute;
  bottom: 0;
left: 4.8vw;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center
}
.bg_wh {
    aspect-ratio: 75 / 256;
  height: 100%;
  position: absolute;
  bottom: 0;
    left: 4.3vw;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99;
}
.bg_wrap {
  position: relative;
}
.bg_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.date_area {
    position: absolute;
    aspect-ratio: 71 / 256;
    aspect-ratio: 119 / 486;
    writing-mode: vertical-rl;
    text-orientation: upright;
    height: max-content;
    bottom: 6.2vw;
    /* font-family: "Sawarabi Mincho"; */
    font-family: "EB Garamond", serif;
}
.date_area:has(.date_img_schedule) {
  bottom: 6.6vw;
}
.date_area .date_img {
  width: 6.8vw;
}
.date_area .date_img.schedule {
  width: 6vw;
  padding-left: 1.9vw;
}
.date_area .date_img_schedule {
  width: 0.98vw;
  position: absolute;
  left: 0;
  bottom: 0;
}
.held_box,
.year_box {
  display: inline;
   font-size: 1.1vw;
}
.date01_box,
.date02_box {
    font-size: 1.5vw;
}
 
.catchcopy {
width: 39vw;
position: absolute;
top: 40%;
right: 50px;
    z-index: 98;
text-align:right;
}
.catchcopy h3 {
  font-family: "Sawarabi Mincho", serif;
  color: #fff;
    font-size: 2.5vw;
    position: relative;
}
.catchcopy h3::before {
  content: "";
  display: inline-block;
width: 7vw;
    height: 7vw;
  background-image: url(../img/front/bird_icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
top: -7vw;
    left: -15vw;
}
@media screen and (max-width: 1064px) {
  .held_box,
.year_box {
  font-size: 15px;
}
.date01_box,
.date02_box {
    font-size: 22px;
}
.catchcopy {
  width: 540px;
}
.catchcopy h3::before {
    top: -90px;
    left: -200px;
}
  .date_area {
    bottom: 87.2px;
  }
  .date_area:has(.date_img_schedule) {
    bottom: 95.7px;
  }
  .date_area .date_img {
    width: 92.4px;
  }
  .date_area .date_img.schedule {
    width: 78.7px;
    padding-left: 24.4px;
  }
  .date_area .date_img_schedule {
    width: 12.7px;
  }
}
@media screen and (max-width: 768px) {
  .date_area {
    bottom: 5vw;
    left: 2vw;
  }
  .date_area:has(.date_img_schedule) {
    bottom: 6.5vw;
    left: 0;
  }
  .date_area .date_img {
    width: 17.8vw;
  }
  .date_area .date_img.schedule {
    width: 16.2vw;
    padding-left: 4.9vw;
  }
  .date_area .date_img_schedule {
    width: 2.8vw;
  }
}
.movie-wrap {
  position: absolute;
  bottom: 6%;
  right: 3%;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center
}

.movie-btn {
  width: 86px;
  height: 86px;
  position: relative;
  display: block;
  background: rgba(255, 255, 255, .3);
  border-radius: 50%;
  border: 1px solid #fff;
  margin-top: -9px
}

.movie-btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 20px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1000;
  margin-left: 3px
}

.movie-wrap p {
  padding-top: 20px;
  color: #fff;
  font-family: "EB Garamond"
}

.movieblur {
  backdrop-filter: blur(15px)
}

.modal-video {
  background-color: rgba(33, 33, 90, .9)
}

@media all and (-ms-high-contrast:none) {
  .modal-video {
    background-color: transparent;
    background-image: url(../img/header/header-img.jpg)
  }
}

_:-ms-lang(x)::-ms-backdrop, .modal-video {
  background-color: transparent;
  background-image: url(../img/header/header-img.jpg)
}

.modal-video-close-btn {
  width: 40px;
  height: 40px;
  top: -45px;
  right: 0;
  cursor: pointer
}

.modal-video-close-btn:after, .modal-video-close-btn:before {
  height: 1px
}

.news-wrap {
  width: 1064px;
  display: flex;
  margin: 0 auto;
  padding: 80px 0 0
}

.news-contents-left {
  width: 35%;
  display: flex;
  flex-direction: column
}

.news-title {
  height: 45%;
  font-family: "Sawarabi Mincho";
  padding-bottom: 30px
}

.news-title h2 {
  padding-bottom: 10px;
  font-family: "EB Garamond";
  font-size: 30px
}

.news-title p {
  font-size: 15px
}

.news-sns {
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative
}

.news-sns a {
  color: #000;
  display: flex;
  padding-bottom: 20px;
  align-items: center
}

.news-sns p {
  margin-left: 20px;
  font-size: 19px;
  font-family: "EB Garamond"
}

.news-sns p {
  display: inline-block;
  position: relative
}

.news-sns p::after {
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  display: block;
  left: 0;
  border-bottom: solid 1px #000;
  transition: .25s
}

.news-sns p:hover::after {
  width: 100%
}

.fa-facebook, .fa-instagram, .fa-youtube {
  color: #21215a;
  font-size: 25px
}

img.info-img {
  width: 145px;
  position: absolute;
  right: 35px;
  bottom: -10px
}

.news-contents-right {
  width: 65%;
  position: relative
}

.outline {
  display: flex;
  align-items: baseline;
  padding: 15px 0 0;
  color: #000
}

.outline a {
  color: #21215a;
  display: inline-block;
  position: relative;
  word-break: break-all
}

.outline a::after {
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  display: block;
  left: 0;
  border-bottom: solid 1px #21215a;
  transition: .25s
}

.outline a:hover::after {
  width: 100%;
  cursor: pointer
}

.news-contents-wrap {
  padding-top: 15px;
  display: flex
}

.news-contents-wrap a {
  color: #000
}

.news-link {
  position: relative
}

.news-link::after {
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  display: block;
  left: 0;
  border-bottom: solid 1px #21215a;
  transition: .25s
}

.news-link:hover::after {
  width: 100%;
  cursor: pointer
}

.news-time {
  padding-right: 40px;
  font-family: "EB Garamond";
  font-size: 16px
}

.news-name {
  font-size: 16px;
  font-family: "Sawarabi Mincho";
  word-break: break-all;
  position: relative
}

.sticky {
  align-items: center;
  background: #fae6e6;
  color: #CC0000;
  padding: 10px 20px;
  margin-bottom: 10px;
  font-family: "Sawarabi Mincho"
}

.sticky a {
  color: #CC0000;
}

.fa-exclamation-circle {
  font-size: 20px;
  padding-right: 20px
}

.to-newslist a {
  position: absolute;
  right: 0;
  border: 1px solid #000;
  color: #000;
  font-family: "Sawarabi Mincho";
  margin-top: 10px;
  z-index: 100
}

.to-newslist a:hover {
  background-color: #21215a;
  color: #fff
}

.disabled {
  pointer-events: none
}

.about-contents-wrap {
  width: 100%;
  height: 450px;
  position: relative;
  margin: 80px 0 60px
}

.about-contents-wrap::after {
  content: "";
  width: 100%;
  height: 286px;
  position: absolute;
  bottom: 0;
  z-index: 0;
  background-color: #38386b
}

.about-contents-body {
  width: 1064px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: flex;
  z-index: 1
}

.about-wrap, .outline-wrap {
  width: 50%;
  position: relative
}

.about-wrap a, .outline-wrap a {
  width: 100%;
  height: 332px;
  display: inline-block;
  overflow: hidden
}

.about-img, .outline-img {
  width: 100%;
  max-width: 532px;
  max-height: 332px;
  transition: 1s
}

.about-text {
  width: 50px;
  position: absolute;
  top: -30px;
  right: 20px;
  z-index: 2
}

.outline-text {
  width: 50px;
  position: absolute;
  bottom: -15px;
  right: 20px;
  z-index: 2
}

.about-img:hover, .outline-img:hover {
  transform: scale3d(1.1, 1.1, 1)
}

.parades-wrap {
  width: 100%;
  text-align: center;
  padding-bottom: 60px;
  overflow: hidden
}

.parades-slider_pc {
  display: flex;
  gap: 40px
}

.parades-slider_sp, .sp_520 {
  display: none
}

img.parades-wrap-top-img {
  width: 100%
}

.slider__inner {
  display: flex;
  align-items: flex-end;
  gap: 40px
}

.slider__inner:first-child {
  animation: loop 390s linear infinite;
  -ms-animation: loop 390s linear infinite;
  -webkit-animation: loop 390s linear infinite
}

.slider__inner:nth-child(2) {
  animation: loop2 390s -260s linear infinite;
  -ms-animation: loop2 390s -260s linear infinite;
  -webkit-animation: loop2 390s -260s linear infinite
}

.slider__inner:last-child {
  animation: loop3 390s -130s linear infinite;
  -ms-animation: loop3 390s -130s linear infinite;
  -webkit-animation: loop3 390s -130s linear infinite
}

@keyframes loop {
  0% {
    transform: translateX(200%);
    -ms-transform: translateX(200%);
    -webkit-transform: translateX(200%)
  }
  to {
    transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -webkit-transform: translateX(-100%)
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(100%);
    -ms-transform: translateX(100%);
    -webkit-transform: translateX(100%)
  }
  to {
    transform: translateX(-200%);
    -ms-transform: translateX(-200%);
    -webkit-transform: translateX(-200%)
  }
}

@keyframes loop3 {
  0% {
    transform: translateX(0);
    -ms-transform: translateX(0);
    -webkit-transform: translateX(0)
  }
  to {
    transform: translateX(-300%);
    -ms-transform: translateX(-300%);
    -webkit-transform: translateX(-300%)
  }
}

.item-wrap1 {
  position: relative;
  padding-left: 40px
}

.parades-slider_ie {
  display: none
}

@media all and (-ms-high-contrast:none) {
  .item-wrap1, .item-wrap2, .item-wrap3, .item-wrap4, .item-wrap5, .item-wrap6, .item1-2 {
    width: 100%;
    height: 100%;
    margin: 0 20px
  }
  .parades-slider_ie {
    width: 100%;
    display: block
  }
  .parades-slider_pc {
    display: none
  }
}

_:-ms-lang(x)::-ms-backdrop, .item-wrap1, .item-wrap2, .item-wrap3, .item-wrap4, .item-wrap5, .item-wrap6, .item1-2 {
  width: 100%;
  height: 100%;
  margin: 0 20px
}

_:-ms-lang(x)::-ms-backdrop, .parades-slider_ie {
  width: 100%;
  display: block
}

_:-ms-lang(x)::-ms-backdrop, .parades-slider_pc {
  display: none
}

.item-wrap1 img {
  width: 378px;
  height: 235px
}

.item-wrap2 {
  position: relative
}

.item-wrap2 img {
  width: 210px;
  height: 263px
}

.item-wrap3 {
  position: relative
}

.item-wrap3 img {
  width: 185px;
  height: 216px
}

.item-wrap4 {
  position: relative
}

.item-wrap4 img {
  width: 325px;
  height: 204px
}

.item-wrap5 {
  position: relative
}

.item-wrap5 img {
  width: 567px;
  height: 287px
}

.item-wrap6 {
  position: relative
}

.item-wrap6 img {
  width: 622px;
  height: 253px
}

.item1 {
  position: absolute!important;
  left: 10px;
  top: 10px;
  z-index: 1
}

div.item1.item-parent1 img, div.item2.item-parent2 img, div.item3.item-parent3 img, div.item4.item-parent4 img, div.item5.item-parent5 img {
  width: 35px;
  height: 28px
}

img.item1-2 {
  width: 118px;
  height: 46px
}

img.item6-1 {
  width: 89px;
  height: 29px
}

.item1-2 {
  position: absolute!important;
  right: 62px;
  top: -7px;
  z-index: 1
}

.item2 {
  position: absolute;
  right: -10px;
  top: 5px;
  z-index: 1
}

.item3 {
  position: absolute!important;
  right: -10px;
  top: 45px;
  z-index: 1
}

.item4 {
  position: absolute!important;
  right: -55px;
  bottom: 70px;
  z-index: 1
}

.item4 img {
  transform: rotate(-15deg)
}

.item5 {
  position: absolute!important;
  right: 176px;
  top: 20px;
  z-index: 1
}

.item6-1 {
  position: absolute!important;
  left: 130px;
  top: -3px;
  z-index: 1
}

.item-parent1 {
  position: relative
}

.item-parent1 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 8s ease infinite
}

.item-parent1 img:nth-of-type(1) {
  animation-delay: 0s
}

.item-parent1 img:nth-of-type(2) {
  animation-delay: 4s
}

.item-parent2 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 12s ease infinite
}

.item-parent2 img:nth-of-type(1) {
  animation-delay: 0s
}

.item-parent2 img:nth-of-type(2) {
  animation-delay: 6s
}

.item-parent3 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 8s ease infinite
}

.item-parent3 img:nth-of-type(1) {
  animation-delay: 0s
}

.item-parent3 img:nth-of-type(2) {
  animation-delay: 4s
}

.item-parent4 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 12s ease infinite
}

.item-parent4 img:nth-of-type(1) {
  animation-delay: 0s
}

.item-parent4 img:nth-of-type(2) {
  animation-delay: 6s
}

.item-parent5 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 8s ease infinite
}

.item-parent5 img:nth-of-type(1) {
  animation-delay: 0s
}

.item-parent5 img:nth-of-type(2) {
  animation-delay: 4s
}

@keyframes slideAnime {
  0% {
    opacity: 0
  }
  2% {
    opacity: 1
  }
  50% {
    opacity: 1
  }
  52% {
    opacity: 0
  }
  100% {
    opacity: 0
  }
}

.ball {
  animation: ball 8s infinite;
  -webkit-animation: ball 8s infinite;
  -moz-animation: ball 8s infinite
}

@keyframes ball {
  0% {
    transform: translate(0, 0)
  }
  3% {
    transform: translate(0, -8px)
  }
  5% {
    transform: translate(0, 0)
  }
  6% {
    transform: translate(0, 0)
  }
  7% {
    transform: translate(0, 0)
  }
  100% {
    transform: translate(0, 0)
  }
}

@-webkit-keyframes ball {
  0% {
    transform: translate(0, 0)
  }
  3% {
    transform: translate(0, -8px)
  }
  5% {
    transform: translate(0, 0)
  }
  6% {
    transform: translate(0, 0)
  }
  7% {
    transform: translate(0, 0)
  }
  100% {
    transform: translate(0, 0)
  }
}

.to-parades {
  margin: 50px 0 10px
}

.to-parades a {
  border: 1px solid #000;
  color: #000;
  font-family: "Sawarabi Mincho"
}

.to-parades a:hover {
  background-color: #21215a;
  color: #fff
}

.page-content-body {
  max-width: 1062px;
  height: 100%;
  max-height: 80px;
  position: relative;
  margin: 0 auto;
  margin-bottom: 60px;
  padding: 60px 88px;
  background-color: #d2d2de;
  overflow: auto
}

.slider2 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center
}

.slider2 img {
  width: 258px;
  object-fit: cover
}

div.swiper-slide {
  width: 100%
}

.slider2 a {
  width: 100%;
  display: flex;
  align-items: center
}

.swiper-button-next, .swiper-button-prev {
  width: 30px;
  height: 30px;
  background: #21215a;
  border-radius: 50%
}

.swiper-button-next::after, .swiper-button-prev::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1000;
  margin-left: 1px
}

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: ""!important
}

.swiper-button-prev {
  transform: scale(-1, 1)
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 40px;
  top: 105px
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 40px;
  top: 105px
}

@media all and (-ms-high-contrast:none) {
  .swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 40px;
    top: 85px
  }
  .swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 40px;
    top: 85px
  }
}

_:-ms-lang(x)::-ms-backdrop, .swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 40px;
  top: 85px
}

_:-ms-lang(x)::-ms-backdrop, .swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  right: 40px;
  top: 85px
}

.banner-bottom ul {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 0 120px
}

.banner-bottom li {
  padding: 0 10px
}

.banner-bottom img {
  width: 255px
}