#mainvisual {
 width: 100%;
 position: relative;
}
.pc #mainvisual {
 overflow: hidden;
}
.main-slider img {
 display: block;
 margin: 0;
 width: 100%;
 height: 100%;
 aspect-ratio: 16/9;
 object-fit: cover;
}
.slick-dots li, .slider figure, .banner-slider .thumb {
 position: relative
}
.slick-slide .wp-block-cover, .wp-block-cover-image {
 min-height: inherit !important
}
.slick-dotted.slick-slider, .slider .slick-slider {
 margin-bottom: 0
}
.banner-slider .thumbContainer {
 margin: 0 !important
}
.banner-slider .thumb span {
 display: block;
}
.slick-slide .wp-block-image {
 margin-bottom: 0 !important
}
.slick-next:before, .slick-prev:before {
 color: rgba(0, 0, 0, 1);
}
.slick-dots, .slick-next, .slick-prev {
 z-index: 1;
}
.slick-prev {
 left: 25px
}
.slick-next {
 right: 25px
}
.banner-slider .slick-prev, .banner-slider .slick-next {
 width: 30px;
 height: 30px;
}
.banner-slider .slick-prev::before, .banner-slider .slick-next::before {
 font-size: 30px;
 color: rgba(208, 41, 39, 1);
}
.banner-slider .slick-prev {
 left: 20px;
}
.banner-slider .slick-next {
 right: 20px;
}
.slide-arrow {
 position: absolute;
 bottom: -60px;
 left: 50%;
 z-index: 1;
 cursor: pointer;
}
.prev-arrow {
 margin-left: -70px;
}
.next-arrow {
 margin-left: 10px;
}
.slick-dots {
 display: flex;
 justify-content: center;
 padding: 0 !important;
 left: 0;
 bottom: 0 !important;
 z-index: 1;
}
.slick-dots li {
 margin: 0 5px !important;
 padding: 0 !important;
}
.slider .slick-dots {
 bottom: 1rem
}
.slick-dots li button:before {
 font-size: 20px !important;
}
.slick-dots li.slick-active button::before {
 color: rgba(208, 41, 39, 1);
}
/* banner-slider */
.banner-slider {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 padding: 10px 16px 15px;
}
.banner-slider img {
 display: block;
 margin: 0;
 width: 100%;
 height: 100%;
 aspect-ratio: 16/9;
 object-fit: cover;
}
.banner-slider .slick-slide {}
.banner-slider .slick-slide::before {}
.banner-slider .slick-slide::after {}
.banner-slider p, .entry .banner-slider p {
 display: none;
}
.banner-slider p.cat, .entry .banner-slider p.cat {
 position: relative;
 width: 100%;
 height: 1;
 padding: 0;
 font-size: .875rem;
}
.banner-slider p.cat span, .entry .banner-slider p.cat span {
 display: block;
 width: auto;
 margin: 0;
 padding: .5rem 1rem;
 background-color: rgba(0, 0, 0, .7);
 color: #fff;
 position: absolute;
 bottom: 0;
 right: 0;
 z-index: 5;
}
.slick-slide img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.banner-slider .slick-list {
 padding-bottom: 1.5rem;
}
.banner-slider a {
 display: block;
 position: relative;
 margin: 0;
 color: #000;
}
.banner-slider a::after {
 content: '';
 display: block;
 width: 100%;
 height: 0;
 background: rgba(208, 41, 39, .75);
 position: absolute;
 bottom: 0;
 left: 0;
}
.banner-slider a:hover::after {
 height: 100%;
 transition: .2s;
}
.pc .banner-slider a::before {
 content: 'More';
 display: block;
 width: 100%;
 text-align: center;
 color: #fff;
 font-size: 1.5rem;
 margin: -12px 0 0;
 position: absolute;
 top: -1.5rem;
 left: 0;
 z-index: 1;
}
.pc .banner-slider a:hover::before {
 top: 50%;
 left: 0;
 transition: .2s;
}
@media print, screen and (min-width: 48em) {
 #mainvisual {
  height: 100%;
  aspect-ratio: 16/9;
 }
 .pc .main-slider a {
  display: block;
 }
 .pc .main-slider .slick-slide a img {
  transition: 1s;
 }
 .pc .main-slider .slick-slide a:hover img {
  opacity: 1 !important;
  transform: scale(1.1);
  transition: 1s;
 }
 .banner-slider {
  padding: 0 0 10px;
 }
 .banner-slider .slick-slide {
  margin: 0;
 }
 .banner-slider .thumbContainer {
  padding: 0 5px;
 }
 .banner-slider .slick-prev {
  left: 2rem;
 }
 .banner-slider .slick-next {
  right: 2rem;
 }
 .banner-slider p, .entry .banner-slider p {
  padding: .5rem 0;
 }
 .banner-slider p.cat, .entry .banner-slider p.cat {
  position: relative;
  width: 100%;
  height: 1;
  padding: 0;
  font-size: .875rem;
 }
 .pc .banner-slider .thumbContainer:hover p {
  color: #c00;
 }
 .pc .banner-slider .thumbContainer a .thumb::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
 }
 .pc .banner-slider .thumbContainer a:hover .thumb::after {
  background: rgba(0, 0, 0, .5);
  transition: .2s;
 }
}
@media screen and (min-width: 64em) {
 #mainvisual .wp-block-image.catchcopy {
  width: 60%;
  top: 30px;
  left: 30px;
 }
}
@media screen and (min-width: 80em) {
 #mainvisual .wp-block-image.catchcopy {
  width: 80%;
  top: 30px;
  left: 30px;
 }
 .banner-slider .slick-prev {
  left: -40px;
 }
 .banner-slider .slick-next {
  right: -40px;
 }
}
.pc .banner-slider .slide-arrow:hover {
 opacity: .5;
 transform: .2s;
}