@charset "UTF-8";
html {
  overflow-x: hidden;
}

body {
  font-size: 100%;
  color: #1C1C1C;
  background-color: #ffffff;
  position: relative;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 375px;
  height: 100vh;
  z-index: -1;
  background-color: transparent;
  background-image: linear-gradient(to right, #f2f2f2 1px, transparent 1px), linear-gradient(to bottom, #f2f2f2 1px, transparent 1px);
  background-size: 25px 25px;
  background-repeat: repeat;
  background-position: 0 0;
}
@media screen and (max-width: 1023px) {
  body::before {
    max-width: 375px;
  }
}
@media screen and (max-width: 480px) {
  body::before {
    max-width: 100%;
  }
}

.pc {
  display: block !important;
}
@media screen and (max-width: 480px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 1023px) {
  .sp {
    display: block !important;
  }
}

/* 非表示状態 */
.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

ol,
ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: black;
  display: inline-block;
}

h1 {
  line-height: 0;
}

.container {
  width: 295px;
  margin-inline: auto;
}

.dwl-logo {
  max-width: 210px;
  display: table;
  margin-inline: auto;
}

.sns {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 480px) {
  .sns {
    display: none;
  }
}

.cta {
  display: inline-block;
  height: 60px;
  display: grid;
  place-items: center;
  background-color: #1C1C1C;
  color: white;
  border-radius: 30px;
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 900;
  font-style: normal;
  line-height: 30px;
  transition: 0.5s;
}
.cta::before, .cta::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 10px;
  height: 2px;
  right: 8%;
  transform-origin: right;
  background-color: white;
  border-radius: 2px;
}
.cta::before {
  transform: rotate(-43deg);
}
.cta::after {
  transform: rotate(43deg);
}
.cta:hover {
  opacity: 0.5;
}

h2.sec-title {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 900;
  font-style: normal;
  line-height: 36px;
  color: #1C1C1C;
  position: relative;
  z-index: 15;
  margin-top: 16px;
}
h2.sec-title.no-margin {
  margin-top: 0;
}

h3.sec-title-sub {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 900;
  font-style: normal;
  line-height: 27px;
  color: #1C1C1C;
}

img.sec-title-icon {
  width: auto;
  height: 30px;
  display: table;
  margin-inline: auto;
}

.bread-crumb {
  position: relative;
  z-index: 15;
  padding-block: 0 20px;
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}
.bread-crumb span {
  font-family: "M PLUS Rounded 1c";
  font-weight: 400;
  font-size: 12px;
  flex-shrink: 0;
}
.bread-crumb span:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.section-eyebrow {
  display: inline-block;
  background-color: #A8DBDF;
  padding: 4px 20px;
  border-radius: 20px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.comingsoon-block {
  text-align: center;
  background-color: white;
  border: 1px solid #1C1C1C;
  border-radius: 20px;
  padding: 40px 24px;
  margin-inline: 24px;
}
.comingsoon-block .cta.container {
  width: 100%;
  max-width: 295px;
}

@media screen and (max-width: 1023px) {
  #page_top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    width: 80px;
    height: 80px;
    background-color: #1c1c1c;
    border-radius: 50%;
    z-index: 1;
    transition: 0.2s;
  }
}

main {
  background-color: transparent;
  max-width: 375px;
  margin-inline: auto;
  position: relative;
  overflow: visible;
}
@media screen and (max-width: 480px) {
  main {
    max-width: 100%;
    margin-top: 0;
  }
}
main .hero {
  background-color: white;
  overflow: hidden;
  width: auto;
  position: relative;
  background-image: url("../img/2025-img/top/FV_Bk.png");
  background-size: contain;
  background-color: #83CCD2;
}
@media screen and (max-width: 480px) {
  main .hero {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
  }
}
main .hero #myLottieTitle {
  position: absolute;
  top: 100px;
}
main .hero .info {
  background-color: white;
  position: relative;
}
main .hero .info::before {
  content: "";
  clip-path: ellipse(57% 180% at 50% 180%);
  background-color: white;
  height: 40px;
  position: absolute;
  left: 0;
  top: -40px;
  width: 100%;
}

/* ボタン画像のサイズ指定 */
.c-up-to-btn_a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.c-up-to-btn_a .c-up-to-btn_img {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  color: white;
}
.c-up-to-btn_a .c-up-to-btn_img::after {
  content: "";
  display: block;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  margin-top: 8px;
  text-align: center;
  border-top: 1px solid white;
  border-left: 1px solid white;
  position: relative;
  left: 10%;
}

.font-ZMGothic-32px-400 {
  font-family: Zen Maru Gothic;
  font-size: 32px;
  font-weight: 400;
}

.font-ZMGothic-32px-500 {
  font-family: Zen Maru Gothic;
  font-size: 32px;
  font-weight: 500;
}

.font-ZMGothic-32px-700 {
  font-family: Zen Maru Gothic;
  font-size: 32px;
  font-weight: 700;
}

.font-ZMGothic-32px-900 {
  font-family: Zen Maru Gothic;
  font-size: 32px;
  font-weight: 900;
}

.font-ZMGothic-20px-400 {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  font-weight: 400;
}

.font-ZMGothic-20px-500 {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  font-weight: 500;
}

.font-ZMGothic-20px-700 {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  font-weight: 700;
}

.font-ZMGothic-20px-900 {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  font-weight: 900;
}

.font-ZMGothic-18px-400 {
  font-family: Zen Maru Gothic;
  font-size: 18px;
  font-weight: 400;
}

.font-ZMGothic-18px-500 {
  font-family: Zen Maru Gothic;
  font-size: 18px;
  font-weight: 500;
}

.font-ZMGothic-18px-700 {
  font-family: Zen Maru Gothic;
  font-size: 18px;
  font-weight: 700;
}

.font-ZMGothic-18px-900 {
  font-family: Zen Maru Gothic;
  font-size: 18px;
  font-weight: 900;
}

.font-ZMGothic-16px-400 {
  font-family: Zen Maru Gothic;
  font-size: 16px;
  font-weight: 400;
}

.font-ZMGothic-16px-500 {
  font-family: Zen Maru Gothic;
  font-size: 16px;
  font-weight: 500;
}

.font-ZMGothic-16px-700 {
  font-family: Zen Maru Gothic;
  font-size: 16px;
  font-weight: 700;
}

.font-ZMGothic-16px-900 {
  font-family: Zen Maru Gothic;
  font-size: 16px;
  font-weight: 900;
}

.font-ZMGothic-15px-400 {
  font-family: Zen Maru Gothic;
  font-size: 15px;
  font-weight: 400;
}

.font-ZMGothic-15px-500 {
  font-family: Zen Maru Gothic;
  font-size: 15px;
  font-weight: 500;
}

.font-ZMGothic-15px-700 {
  font-family: Zen Maru Gothic;
  font-size: 15px;
  font-weight: 700;
}

.font-ZMGothic-15px-900 {
  font-family: Zen Maru Gothic;
  font-size: 15px;
  font-weight: 900;
}

.font-ZMGothic-14px-400 {
  font-family: Zen Maru Gothic;
  font-size: 14px;
  font-weight: 400;
}

.font-ZMGothic-14px-500 {
  font-family: Zen Maru Gothic;
  font-size: 14px;
  font-weight: 500;
}

.font-ZMGothic-14px-700 {
  font-family: Zen Maru Gothic;
  font-size: 14px;
  font-weight: 700;
}

.font-ZMGothic-14px-900 {
  font-family: Zen Maru Gothic;
  font-size: 14px;
  font-weight: 900;
}

.font-ZMGothic-12px-400 {
  font-family: Zen Maru Gothic;
  font-size: 12px;
  font-weight: 400;
}

.font-ZMGothic-12px-500 {
  font-family: Zen Maru Gothic;
  font-size: 12px;
  font-weight: 500;
}

.font-ZMGothic-12px-700 {
  font-family: Zen Maru Gothic;
  font-size: 12px;
  font-weight: 700;
}

.font-ZMGothic-12px-900 {
  font-family: Zen Maru Gothic;
  font-size: 12px;
  font-weight: 900;
}

.font-ZMGothic-30px-400 {
  font-family: Zen Maru Gothic;
  font-size: 30px;
  font-weight: 400;
}

.font-ZMGothic-30px-500 {
  font-family: Zen Maru Gothic;
  font-size: 30px;
  font-weight: 500;
}

.font-ZMGothic-30px-700 {
  font-family: Zen Maru Gothic;
  font-size: 30px;
  font-weight: 700;
}

.font-ZMGothic-30px-900 {
  font-family: Zen Maru Gothic;
  font-size: 30px;
  font-weight: 900;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: calc(50% - 187.5px);
  height: 100vh;
  background-color: #b1dccb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .l-header {
    display: none;
  }
}
.l-header__inner {
  width: 100%;
  max-width: 447px;
  margin: 0 auto;
  padding: 60px;
  position: relative;
  text-align: center;
  z-index: 1;
  background-color: #ffffff;
  background-image: linear-gradient(to right, #f2f2f2 1px, transparent 1px), linear-gradient(to bottom, #f2f2f2 1px, transparent 1px);
  background-size: 25px 25px, 25px 25px;
  background-repeat: repeat;
  background-position: 0 0;
}
.l-header__inner::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -20px;
  width: 83px;
  height: 83px;
  background-image: url("../img/2026-img/header/header-tape.png");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
}
.l-header__inner::after {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 83px;
  height: 83px;
  background-image: url("../img/2026-img/header/header-tape.png");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
}

.p-event-hero {
  position: relative;
  max-width: 326px;
  margin-inline: auto;
}
.p-event-hero img {
  width: 100%;
  height: auto;
}
.p-event-hero__balloon {
  position: absolute;
  top: -210px;
  right: -160px;
  width: 164px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.p-event-hero__title {
  padding-bottom: 40px;
}
.p-event-hero__divider {
  border: none;
  border-top: 1px solid #1c1c1c;
  margin-block: 40px;
  width: 100%;
}
.p-event-hero__sns {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
  list-style: none;
  padding: 0;
}
.p-event-hero__sns a {
  display: block;
  width: 48px;
  height: 48px;
  transition: opacity 0.3s ease;
}
.p-event-hero__sns a:hover {
  opacity: 0.7;
}
.p-event-hero__sns a img {
  width: 100%;
  height: auto;
}
.p-event-hero__organizer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-weight: 700;
  font-size: 1.2rem;
}
.p-event-hero__organizer img {
  height: 28px;
  width: auto;
}
.p-event-hero__run {
  position: absolute;
  bottom: -200px;
  left: -100px;
  width: 400px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}

@media screen and (min-width: 1024px) {
  .sp-header,
  .sp-group {
    display: none;
  }
}

.l-bg-movie {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: calc(50% - 187.5px);
  height: 100vh;
  z-index: 0;
  background-color: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .l-bg-movie {
    display: none;
  }
}
.l-bg-movie__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.l-bg-movie__logo {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 300px;
  padding: 10px;
  background: #ffffff;
  z-index: 2;
}
.l-bg-movie__logo img {
  width: 100%;
  height: auto;
}

.l-mobile-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  max-width: 375px;
  z-index: 55;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 10px;
  background: #ffffff;
}
@media screen and (max-width: 480px) {
  .l-mobile-header {
    max-width: 480px;
  }
}
body.l-header-privacy .l-mobile-header, body.l-header-404 .l-mobile-header, body.l-header-news .l-mobile-header, body.l-header-news-detail .l-mobile-header, body.l-header-manga .l-mobile-header {
  background: #b1dccb;
}
body.l-header-video .l-mobile-header {
  background: #fadce3;
}
body.is-nav-open .l-mobile-header {
  background: #b1dccb;
}
body.is-modal-open .l-mobile-header {
  display: none;
}
body.home .l-mobile-header {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
body.home .l-mobile-header.is-visible {
  opacity: 1;
  pointer-events: auto;
}
body.home:not(.is-nav-open) .l-mobile-header {
  background: transparent;
}
body.l-header-privacy .l-mobile-header, body.l-header-news .l-mobile-header, body.l-header-news-detail .l-mobile-header, body.l-header-manga .l-mobile-header, body.l-header-404 .l-mobile-header {
  position: relative;
  top: auto;
}
.l-mobile-header__logo {
  display: inline-block;
}
.l-mobile-header__logo img {
  width: 88px;
  height: auto;
  display: block;
}
.l-mobile-header__hamburger {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #1C1C1C;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  z-index: 60;
}
.l-mobile-header__hamburger span {
  position: absolute;
  left: 50%;
  width: 24px;
  height: 2px;
  background-color: white;
  border-radius: 2px;
  transform: translateX(-50%);
  transition: 0.3s;
}
.l-mobile-header__hamburger span:nth-child(1) {
  top: 24px;
}
.l-mobile-header__hamburger span:nth-child(2) {
  top: 31px;
}
.l-mobile-header__hamburger span:nth-child(3) {
  top: 38px;
}
.l-mobile-header__hamburger.is-open span:nth-child(1) {
  top: 31px;
  transform: translateX(-50%) rotate(45deg);
}
.l-mobile-header__hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.l-mobile-header__hamburger.is-open span:nth-child(3) {
  top: 31px;
  transform: translateX(-50%) rotate(-45deg);
}

.l-mobile-nav {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 375px;
  height: 100%;
  z-index: 49;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  overflow-y: auto;
  background-color: #b1dccb;
}
.l-mobile-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-mobile-nav__inner {
  padding: 120px 24px 40px;
}
.l-mobile-nav__list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}
.l-mobile-nav__list > li > a {
  display: block;
  padding: 16px 4px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 27px;
  color: #1C1C1C;
}
.l-mobile-nav__accordion-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 4px;
  background: none;
  border: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 18px;
  color: #1C1C1C;
  cursor: pointer;
  text-align: left;
}
.l-mobile-nav__accordion-icon {
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.l-mobile-nav__accordion-icon::before, .l-mobile-nav__accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #1C1C1C;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease;
}
.l-mobile-nav__accordion-icon::before {
  width: 16px;
  height: 2px;
}
.l-mobile-nav__accordion-icon::after {
  width: 2px;
  height: 16px;
}
.l-mobile-nav__submenu {
  list-style: none;
  padding: 0 0 0 16px;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.l-mobile-nav__submenu li a {
  display: block;
  padding: 12px 4px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1C1C1C;
}
.l-mobile-nav__accordion.is-open .l-mobile-nav__accordion-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
.l-mobile-nav__accordion.is-open .l-mobile-nav__submenu {
  max-height: 400px;
}
.l-mobile-nav__reserve {
  display: block;
  text-align: center;
  background-color: #499c4d;
  color: white;
  border-radius: 30px;
  padding: 14px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 32px;
}
.l-mobile-nav__jka {
  text-align: center;
}
.l-mobile-nav__jka p {
  font-size: 11px;
  color: #1C1C1C;
  margin-bottom: 8px;
  line-height: 1.6;
}
.l-mobile-nav__jka img {
  max-width: 200px;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

@media screen and (max-width: 480px) {
  body.is-nav-open {
    overflow: hidden;
  }
}

.p-about {
  padding-top: 60px;
  position: relative;
}
.p-about .p-event-hero__make2 {
  position: absolute;
  top: -40px;
  right: 0;
  width: 111px;
  height: 148px;
  z-index: 11;
}
.p-about__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}
.p-about__header {
  position: relative;
  z-index: 11;
  margin-bottom: 16px;
  margin-left: -40px;
}
.p-about__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-about__icon {
  position: absolute;
  top: -20px;
  right: -50px;
  width: 60px;
}
.p-about__content {
  text-align: center;
  margin-bottom: 50px;
}
.p-about__lead {
  font-size: 18px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: 24px;
  color: #1c1c1c;
}
.p-about__text-blue {
  color: #255c9d;
}
.p-about__text-red {
  color: #b45060;
}
.p-about__lead-main {
  display: block;
  font-size: 24px;
  margin-top: 8px;
}
.p-about__text {
  font-size: 15px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.6;
  color: #1c1c1c;
  letter-spacing: 0.05em;
}
.p-about__slider {
  overflow: hidden;
  margin-inline: -24px;
}
.p-about__slider .slick-slide {
  width: 240px;
  margin: 0 8px;
  transition: transform 0.3s ease;
}
.p-about__slider .slick-slide.slick-center {
  opacity: 1;
}
.p-about__slider .slick-slide img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .p-about__slider .slick-slide {
    margin: 0 12px;
  }
}

main .about-tonttu {
  background-color: #A8DBDF;
  position: relative;
}
main .about-tonttu #nonbiri {
  position: absolute;
  width: 88px;
  top: 70px;
  right: 0;
  z-index: 1;
}
main .about-tonttu .tonttufes {
  /* 高さ = 100vh − gap×2 */
  height: calc(100vh - 80px);
  margin: 40px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  text-align: center;
  background: #fff;
  border-radius: 187px;
  padding-inline: 24px;
  position: relative;
}
main .about-tonttu .tonttufes::-webkit-scrollbar {
  display: none;
}
main .about-tonttu .tonttufes::before {
  content: "";
  position: absolute;
  inset: 0;
  top: 240px;
  z-index: -1;
  /* テキストの後ろ */
  background-image: repeating-linear-gradient(to bottom, rgba(214, 214, 214, 0.4196078431) 0px, rgba(214, 214, 214, 0.4196078431) 1px, transparent 1px, transparent 40px);
  height: 2360px;
  width: calc(100% - 64px);
  left: 50%;
  transform: translateX(-50%);
}
main .about-tonttu .tonttufes p {
  line-height: 40px;
}

.p-contents {
  margin-top: 80px;
  position: relative;
}
.p-contents__inner {
  max-width: 480px;
  margin-inline: auto;
  padding: 0 24px 90px;
}
.p-contents .p-event-hero__balloon {
  position: absolute;
  top: -96px;
  right: -32px;
  width: 166px;
  height: 248px;
}
.p-contents-hero__make {
  position: absolute;
  top: -55px;
  left: 0;
  width: 112px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.p-contents__header {
  position: relative;
  z-index: 11;
  margin-bottom: 16px;
  margin-left: -40px;
}
.p-contents__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-contents__title-area {
  text-align: center;
  margin-bottom: 40px;
}
.p-contents__title {
  font-size: 24px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  color: #1c1c1c;
}
.p-contents__line {
  width: 32px;
  height: 2px;
  background-color: #1c1c1c;
  border: none;
  margin: 16px auto;
}
.p-contents__desc {
  font-size: 15px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.6;
  color: #1c1c1c;
}
.p-contents__grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
  list-style: none;
}
.p-contents__item {
  text-align: left;
}
.p-contents__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  background-color: #FFF0F3;
  border-radius: 4px;
  padding: 24px;
}
.p-contents__card--marche {
  background-color: #FBEFF1;
}
.p-contents__card--food {
  background-color: #FAEAE5;
}
.p-contents__card--stage {
  background-color: #FCF4DF;
}
.p-contents__card--workshop {
  background-color: #E2EFE2;
}
.p-contents__card--sports {
  background-color: #DEEFF3;
}
.p-contents__card--installation {
  background-color: #DCE5EF;
}
.p-contents__photo {
  flex-shrink: 0;
  width: 128px;
  height: 113px;
  border-radius: 4px;
  object-fit: cover;
}
.p-contents__text {
  flex: 1;
  min-width: 0;
}
.p-contents__text dt {
  font-size: 20px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  color: #1c1c1c;
  margin-bottom: 4px;
}
.p-contents__text dd {
  font-size: 14px;
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  line-height: 1.5;
  color: #1c1c1c;
}
.p-contents__arrow {
  position: absolute;
  right: -15px;
  bottom: -10px;
  width: 51px;
  height: 51px;
  object-fit: cover;
  pointer-events: none;
}

main .contents {
  background-color: #A8DBDF;
  text-align: center;
  padding-inline: 24px;
  position: relative;
}
main .contents ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
main .contents ul li > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  background-color: white;
  padding: 24px;
  border-radius: 4px;
  position: relative;
}
main .contents ul li > a::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  background: transparent;
  pointer-events: auto;
}
main .contents ul li .left {
  width: 128px;
}
main .contents ul li .right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
}
main .contents ul li .icon {
  position: absolute;
  right: -16px;
  bottom: -18px;
}
main .contents .img1 {
  position: absolute;
  left: 24px;
  bottom: -60px;
  width: 152px;
}

.p-more-tonttu {
  position: relative;
  background-color: #FBEFF1;
  /* ---------- JS初期化前のみ横並び ---------- */
  /* ---------- Slick初期化後 ---------- */
}
.p-more-tonttu__inner {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  overflow: visible;
}
.p-more-tonttu__header {
  position: relative;
  margin-bottom: 16px;
  width: 100%;
  max-width: 328px;
  margin-inline: auto;
  height: 46px;
}
.p-more-tonttu__header img {
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 270px;
  height: auto;
  z-index: 2;
}
.p-more-tonttu__sub-title {
  color: #f28b9b;
  font-size: 24px;
  font-weight: 700;
}
.p-more-tonttu__song {
  background: #ffffff;
  border-radius: 4px;
  padding-inline: 0;
  overflow: hidden;
  padding-bottom: 32px;
  max-width: 328px;
  margin-inline: auto;
}
.p-more-tonttu__song .sec-title {
  margin-block: 32px 24px;
  padding-inline: 24px;
}
.p-more-tonttu__song .cta {
  width: 264px;
  margin-inline: auto;
}
.p-more-tonttu__card__pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 56px;
  margin: 24px auto 0;
  padding-top: 24px;
}
.p-more-tonttu__card__pagination-dot {
  width: 8px;
  height: 8px;
  border: 1px solid #1C1C1C;
  border-radius: 50%;
  background-color: #ffffff;
}
.p-more-tonttu__card__pagination-dot.is-active {
  background-color: #1C1C1C;
}
.p-more-tonttu__picture-book {
  background: #ffffff;
  border-radius: 4px;
  padding-inline: 0;
  overflow: hidden;
  padding-bottom: 32px;
  max-width: 328px;
  margin-inline: auto;
}
.p-more-tonttu__picture-book .sec-title {
  margin-top: 32px;
  padding-inline: 24px;
}
.p-more-tonttu__picture-book .cta {
  width: 264px;
  margin-inline: auto;
}
.p-more-tonttu__picture-book img {
  width: 100%;
  max-width: 244px;
  height: auto;
  display: block;
  margin-inline: auto;
}
.p-more-tonttu__manga {
  background: #ffffff;
  border-radius: 4px;
  padding-inline: 0;
  overflow: hidden;
  padding-bottom: 32px;
  max-width: 328px;
  margin-inline: auto;
}
.p-more-tonttu__manga .sec-title {
  margin-top: 32px;
  padding-inline: 24px;
}
.p-more-tonttu__manga .cta {
  width: 264px;
  margin-inline: auto;
}
.p-more-tonttu__manga__pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 108px;
  margin: 24px auto 0;
  padding-top: 24px;
}
.p-more-tonttu__manga__pagination-dot {
  width: 8px;
  height: 8px;
  border: 1px solid #1C1C1C;
  border-radius: 50%;
  background-color: #ffffff;
}
.p-more-tonttu__manga__pagination-dot.is-active {
  background-color: #1C1C1C;
}
.p-more-tonttu .slick-uta:not(.slick-initialized),
.p-more-tonttu .slick-manga:not(.slick-initialized) {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: hidden;
  margin-inline: -100vw;
  padding-inline: 100vw;
  padding-block: 20px;
}
.p-more-tonttu .slick-uta .slick-list,
.p-more-tonttu .slick-manga .slick-list {
  overflow: visible;
}
.p-more-tonttu .slick-uta .slick-track,
.p-more-tonttu .slick-manga .slick-track {
  display: flex !important;
  align-items: center;
}
.p-more-tonttu .slick-uta .slick-dots li button::before,
.p-more-tonttu .slick-manga .slick-dots li button::before {
  display: none;
}
.p-more-tonttu__slide {
  flex: 0 0 auto;
  width: 181px !important;
  margin-inline: 12px;
  outline: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
  opacity: 0.6;
}
.p-more-tonttu__slide.slick-center, .p-more-tonttu__slide.p-more-tonttu__slide--active {
  opacity: 1;
  z-index: 1;
  transform: scale(1.2);
}
.p-more-tonttu__slide.slick-center .p-more-tonttu__phone,
.p-more-tonttu__slide.slick-center .p-more-tonttu__manga-card, .p-more-tonttu__slide.p-more-tonttu__slide--active .p-more-tonttu__phone,
.p-more-tonttu__slide.p-more-tonttu__slide--active .p-more-tonttu__manga-card {
  margin-top: 20px;
  margin-bottom: 20px;
}
.p-more-tonttu__phone {
  display: block;
  box-sizing: border-box;
  width: 181px;
  height: 312px;
  margin-inline: auto;
  background-color: #000;
  border-radius: 24px;
  text-decoration: none;
  margin-top: 40px;
  margin-bottom: 40px;
}
.p-more-tonttu__phone-media {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  overflow: hidden;
}
.p-more-tonttu__phone-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-more-tonttu__manga-card {
  display: block;
  box-sizing: border-box;
  width: 182px;
  margin-inline: auto;
  text-decoration: none;
  margin-top: 40px;
  margin-bottom: 40px;
}
.p-more-tonttu__manga-card-media {
  position: relative;
  width: 100%;
  height: 113px;
  border-radius: 4px;
  overflow: hidden;
}
.p-more-tonttu__manga-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-more-tonttu__play-btn {
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 24px;
  border-color: transparent transparent transparent #ffffff;
  cursor: pointer;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.p-more-tonttu__caption {
  text-align: center;
  margin-top: 12px;
}
.p-more-tonttu__caption-main {
  font-size: 14px;
  font-weight: 700;
  color: #1c1c1c;
}

.p-insta {
  background-color: #ebf6f2;
}
.p-insta__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.p-insta-hero {
  position: relative;
  max-width: 100%;
  margin: 0 auto 80px;
  padding: 0 24px 60px;
}
.p-insta-hero__run {
  position: absolute;
  top: -40px;
  left: 0;
  width: 160px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.p-insta__header {
  text-align: right;
  margin-bottom: 16px;
  margin-right: -40px;
}
.p-insta__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-insta .mb40 .dummy-instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 32px;
}
.p-insta .mb40 .dummy-instagram-grid .insta-inner {
  aspect-ratio: 106/141;
  background-color: #e0e0e0;
  display: flex;
  align-items: center;
  text-align: center;
  color: #1c1c1c;
  font-size: 14px;
  font-weight: bold;
  border-radius: 4px;
}
.p-insta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 295px;
  height: 60px;
  background-color: #1c1c1c;
  color: #ffffff;
  font-size: 20px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  border-radius: 50px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-insta__btn::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-insta__btn:hover {
  opacity: 0.8;
}

#sb_instagram .sbi_photo_wrap {
  aspect-ratio: 106/141;
}
#sb_instagram .sbi_photo {
  height: 100% !important;
}

main .insta {
  text-align: center;
  position: relative;
}
main .sing {
  position: absolute;
  left: 8px;
  top: -45px;
}

.insta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 3列 */
  gap: 10px;
  /* 画像の間隔 */
  max-width: 600px;
  /* 任意の幅 */
  margin: auto;
}
.insta-grid img {
  width: 100%;
  height: auto;
  display: block;
}

.p-storybook {
  padding: 60px 0;
  position: relative;
}
.p-storybook__inner {
  max-width: 800px;
  margin: 0 auto;
}
.p-storybook-hero {
  position: relative;
  max-width: 100%;
  margin-inline: auto;
  padding: 0 24px;
}
.p-storybook-hero__write {
  position: absolute;
  top: -100px;
  right: 0;
  width: 112px;
  height: auto;
  z-index: 10;
  pointer-events: none;
}
.p-storybook__header {
  height: 80px;
  margin-bottom: 24px;
}
.p-storybook__tape {
  text-align: left;
  margin-bottom: 16px;
}
.p-storybook__tape img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-left: -40px;
}
.p-storybook__title-area {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.p-storybook__title {
  font-size: 24px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  color: #1c1c1c;
  line-height: 1.5;
}
.p-storybook__line {
  width: 32px;
  height: 2px;
  background-color: #1c1c1c;
  border: none;
  margin: 16px auto;
}
.p-storybook__desc {
  font-size: 15px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.6;
  color: #1c1c1c;
}
.p-storybook__image {
  max-width: 300px;
  margin: 0 auto 40px;
  position: relative;
  z-index: 2;
}
.p-storybook__image img {
  width: 100%;
  height: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.p-storybook__btn-area {
  text-align: center;
  position: relative;
  z-index: 2;
}
.p-storybook__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 295px;
  height: 60px;
  background-color: #1c1c1c;
  color: #ffffff;
  font-size: 20px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  border-radius: 50px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-storybook__btn::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-storybook__btn:hover {
  opacity: 0.8;
}

.home .teaser-fv {
  width: 375px;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 480px) {
  .home .teaser-fv {
    width: 100%;
  }
}
.home .teaser-fv img {
  width: 100%;
  height: 100%;
}
.home .p-fv {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 10;
}
.home .p-fv img {
  width: 100%;
  height: auto;
  display: block;
}
.home .p-fv__lottie {
  position: absolute;
  top: -115px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
}

.c-floating-wrapper {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 375px;
  height: 0;
  z-index: 30;
  pointer-events: none;
}
@media screen and (max-width: 480px) {
  .c-floating-wrapper {
    max-width: 480px;
  }
}
body.is-modal-open .c-floating-wrapper {
  display: none;
}
.c-floating-archive {
  position: absolute;
  bottom: 13px;
  right: 13px;
  width: 70px;
  height: 122px;
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
}
.c-floating-archive:hover {
  opacity: 0.8;
}
.c-floating-archive img {
  width: 100%;
  height: auto;
  display: block;
}

h2.sec-title {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 900;
  font-style: normal;
  line-height: 36px;
  color: #1c1c1c;
  margin-top: 16px;
}

h2.sec-title.no-margin {
  margin-top: 0;
}

.bread-crumb span {
  font-family: "M PLUS Rounded 1c";
  font-weight: 400;
  font-size: 12px;
}

.font-ZMGothic-20px-900 {
  font-family: Zen Maru Gothic;
  font-size: 20px;
  font-weight: 900;
}

.font-ZMGothic-15px-500 {
  font-family: Zen Maru Gothic;
  font-size: 15px;
  font-weight: 500;
}

.is-resized {
  text-align: center;
}

.marche .marche-top,
.news .marche-top {
  position: relative;
  background-color: #b1dccb;
  z-index: 10;
  margin-top: 104px;
}

body.l-header-privacy .marche-top,
body.l-header-news .marche-top,
body.l-header-news-detail .marche-top,
body.l-header-manga .marche-top,
body.l-header-404 .marche-top {
  margin-top: 0;
}

.notfound .marche-top {
  background-color: #b1dccb;
}

.privacy,
.sdgs {
  padding: 24px;
  background-color: #ffffff;
  background-image: linear-gradient(to right, #f2f2f2 1px, transparent 1px), linear-gradient(to bottom, #f2f2f2 1px, transparent 1px);
  background-size: 25px 25px;
  background-repeat: repeat;
  background-position: 0 0;
  margin-block: -40px 120px;
  clip-path: ellipse(350% 100% at 50% 100%);
}

.single .sns-share {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  padding: 24px;
  background-color: #b1dccb;
  margin-bottom: 80px;
}

.single .sns-share ul {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.single .sns-share li a {
  position: relative;
  z-index: 100;
  transition: opacity 0.3s ease;
}

.single .sns-share li a:hover {
  opacity: 0.7;
}

.pb16 {
  padding-bottom: 16px;
}

.pi24 {
  padding-inline: 24px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb32 {
  margin-bottom: 32px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb56 {
  margin-bottom: 56px;
}

.mb80 {
  margin-bottom: 80px;
}

.p-footer {
  background-color: transparent;
  width: 375px;
  height: auto;
  margin-inline: auto;
  transition: 0.5s;
  color: #1c1c1c;
  text-align: center;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 480px) {
  .p-footer {
    width: 100%;
  }
}
.p-footer__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}
.p-footer__area {
  width: 100%;
  padding-top: 40px;
  padding-inline: 24px;
  line-height: 0;
}
.p-footer__logo {
  width: 160px;
  height: auto;
  padding-bottom: 24px;
}
.p-footer__date {
  width: 100%;
  height: auto;
}
.p-footer__inner {
  padding: 24px;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
}
.p-footer__inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 1px;
  background: #1c1c1c;
}
.p-footer__tags {
  margin-bottom: 24px;
}
.p-footer__tag {
  width: 238px;
  height: auto;
}
.p-footer__info {
  margin-bottom: 24px;
}
.p-footer__note {
  font-size: 12px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  display: inline-block;
}
.p-footer__btn-area {
  margin-bottom: 24px;
}
.p-footer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 295px;
  height: 60px;
  background-color: #1c1c1c;
  color: #ffffff;
  font-size: 20px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  line-height: 1.5;
  border-radius: 50px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-footer__btn::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-footer__btn:hover {
  opacity: 0.8;
}
.p-footer__sns {
  max-width: 100%;
  display: flex;
  justify-content: center;
  gap: 24px;
  list-style: none;
  padding: 0;
}
.p-footer__sns li a {
  display: block;
  width: 43px;
  height: 43px;
  transition: opacity 0.3s;
}
.p-footer__sns li a:hover {
  opacity: 0.7;
}
.p-footer__sns li a img {
  width: 100%;
  height: auto;
}
.p-footer__links {
  display: flex;
  justify-content: center;
  gap: 24px;
  list-style: none;
  padding: 24px;
  font-size: 14px;
  font-weight: bold;
}
.p-footer__links li a {
  font-size: 12px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  color: #1c1c1c;
  line-height: 1.5;
  text-decoration: none;
}
.p-footer__jka {
  padding-inline: 24px;
}
.p-footer__jka-inner {
  background-color: #ffffff;
  padding: 24px;
  border-radius: 4px;
  margin-bottom: 24px;
}
.p-footer__jka-text {
  font-size: 11px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  color: #1c1c1c;
  line-height: 1.5;
  margin-bottom: 8px;
}
.p-footer__jka-text a {
  color: #1c1c1c;
}
.p-footer__jka-text img {
  width: 100%;
  max-width: 280px;
  height: auto;
}
.p-footer__sponsor {
  display: flex;
  justify-content: center;
  padding-bottom: 40px;
}
.p-footer__sponsor-logo {
  max-width: 217px;
  height: auto;
}
.p-footer__copyright {
  background-color: #1c1c1c;
  padding-block: 16px;
}
.p-footer__copyright small {
  font-size: 12px;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  color: #ffffff;
  line-height: 1.5;
}

.manga-characters__list {
  display: flex;
  justify-content: center;
  gap: 24px;
  text-align: center;
}
.manga-characters__list li {
  width: 50%;
}
.manga-characters__list li img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  margin-inline: auto;
}

.manga-sort {
  text-align: center;
}
.manga-sort__buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.manga-sort__btn {
  border: 1px solid #1C1C1C;
  border-radius: 18px;
  padding: 6px 20px;
  cursor: pointer;
}
.manga-sort__btn.active {
  background-color: #1C1C1C;
  color: white;
}

/* ---------- 4コマ読み切りモーダル ---------- */
.manga-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 20;
  align-items: center;
  justify-content: center;
}
.manga-modal.is-open {
  display: flex;
}
.manga-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(62, 62, 62, 0.631372549);
}
.manga-modal__content {
  position: relative;
  z-index: 1;
  background-color: white;
  border-radius: 4px;
  padding: 24px;
  max-width: 327px;
  width: 88%;
  max-height: 85vh;
  overflow-y: auto;
  text-align: center;
}
.manga-modal__img {
  max-width: 100%;
  border-radius: 4px;
}
.manga-modal__close {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: white;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.manga-modal__nav {
  position: relative;
  z-index: 2;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #1C1C1C;
  color: white;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  margin-inline: 12px;
}
.manga-modal__nav:disabled {
  opacity: 0.3;
  cursor: default;
}

.manga-item .marche_img {
  border: 1px solid #cbcbcb;
}

.video-archive .marche-top {
  background-color: #FADCE3;
}

.video-item__thumb-wrap {
  position: relative;
  display: block;
}

.video-item__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(45, 45, 45, 0.7);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  padding-left: 3px;
}

.video-modal__player {
  width: 100%;
}
.video-modal__player video,
.video-modal__player iframe {
  width: 100%;
  aspect-ratio: 9/16;
  border-radius: 4px;
  display: block;
}

.p-news {
  position: relative;
  background: #EBF6F2;
  position: relative;
}
.p-news__inner {
  max-width: 480px;
  margin-inline: auto;
}
.p-news .p-event-hero__make {
  position: absolute;
  top: -40px;
  left: 0;
  width: 112px;
  height: 104px;
}
.p-news .p-event-hero__mizuyari {
  position: absolute;
  right: 0;
  bottom: -56px;
  width: 115px;
  height: 89px;
  z-index: 11;
}
.p-news__header {
  text-align: right;
  margin-bottom: 16px;
  margin-right: -40px;
}
.p-news__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-news__slider-wrap {
  position: relative;
}
.p-news__slider-wrap .custom-prev--news,
.p-news__slider-wrap .custom-next--news {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
}
.p-news__slider-wrap .custom-prev--news::before, .p-news__slider-wrap .custom-prev--news::after,
.p-news__slider-wrap .custom-next--news::before,
.p-news__slider-wrap .custom-next--news::after {
  width: 14px;
  height: 2px;
}
.p-news__slider-wrap .custom-prev--news {
  left: 0;
}
.p-news__slider-wrap .custom-next--news {
  right: 0;
}
.p-news .slick-news {
  overflow-x: hidden;
}
.p-news .slick-news .slick-list {
  overflow: visible;
}
.p-news .slick-news .slick-track {
  display: flex !important;
  align-items: flex-start;
}
.p-news__slide {
  flex: 0 0 auto;
  width: 260px !important;
  margin-inline: 12px;
  outline: none;
  text-align: left;
}
.p-news__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.p-news__pagination-dot {
  width: 8px;
  height: 8px;
  border: 1px solid #1C1C1C;
  border-radius: 50%;
  background-color: #ffffff;
}
.p-news__pagination-dot.is-active {
  background-color: #1C1C1C;
}

.news .category-title {
  text-align: center;
}

.p-news-archive,
.p-news-detail {
  background: #EBF6F2;
}
.p-news-archive__inner,
.p-news-detail__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 24px;
}
.p-news-archive__header,
.p-news-detail__header {
  text-align: center;
}
.p-news-archive__tape,
.p-news-detail__tape {
  max-width: 270px;
  margin-inline: auto;
}
.p-news-archive__tape img,
.p-news-detail__tape img {
  width: 100%;
  height: auto;
  display: block;
}

.archive-all {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 40px;
  list-style: none;
  padding: 0;
}
.archive-all li {
  cursor: pointer;
  border: 1px solid #1c1c1c;
  border-radius: 17px;
  overflow: hidden;
  display: block;
  padding: 6px 16px;
  text-decoration: none;
  color: #1c1c1c;
  font-size: 14px;
  font-weight: 700;
  transition: background-color 0.3s, color 0.3s;
}
.archive-all li a {
  display: block;
  color: inherit;
  text-decoration: none;
  margin: -6px -16px;
  padding: 6px 16px;
}
.archive-all li.active, .archive-all li:hover {
  background-color: #1c1c1c;
  color: #ffffff;
}

.marche-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 16px;
  text-align: left;
  list-style: none;
  padding: 0;
}

.news-item img {
  border-radius: 4px;
}
.news-item a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.news-item__img-wrap {
  width: 100%;
  aspect-ratio: 152/100;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.news-item .marche_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.news-item:hover .marche_img {
  transform: scale(1.05);
}
.news-item .news-right {
  display: flex;
  flex-direction: column;
}
.news-item .news-right time {
  display: block;
  color: #1c1c1c;
}
.news-item .news-right h2,
.news-item .news-right h3 {
  line-height: 1.4;
}
.marche-grid .news-item .news-right h2, .marche-grid .news-item .news-right h3 {
  min-height: 2.8em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-item .news-right .category {
  display: inline-block;
  width: fit-content;
  margin-top: 4px;
  padding: 6px 16px;
  border-radius: 18px;
  border: 1px solid #1c1c1c;
  color: #1c1c1c;
  font-size: 14px;
}

.letter-contents .news-right {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #1c1c1c;
}

.pagination-wrap ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
}
.pagination-wrap ul.page-numbers li a,
.pagination-wrap ul.page-numbers li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  text-decoration: none;
  color: #1c1c1c;
  font-weight: 700;
  transition: background-color 0.3s, color 0.3s;
}
.pagination-wrap ul.page-numbers li a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.pagination-wrap ul.page-numbers li span.current {
  background-color: #1c1c1c;
  color: #ffffff;
}

.p-news-detail__thumbnail {
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
}
.p-news-detail__thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.p-news-detail .news-right {
  margin-top: 24px;
  padding-bottom: 24px;
  margin-bottom: 32px;
  border-bottom: 1px solid #1c1c1c;
}

.single .content {
  font-size: 15px;
  line-height: 1.8;
}
.single .content p,
.single .content a {
  font-size: 15px;
}
.single .content p {
  margin-bottom: 24px;
}
.single .content p:empty,
.single .content p:has(> br:only-child) {
  display: none;
}
.single .content img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin-block: 16px;
  display: block;
  margin-inline: auto;
}
.single .sns-share {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  padding: 20px 24px;
  background-color: #D8EDE5;
  margin-bottom: 60px;
}
.single .sns-share ul {
  display: flex;
  justify-content: center;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.single .sns-share ul a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #1c1c1c;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}
.single .prevnext {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.single .prevnext .cta-prev,
.single .prevnext .cta-next {
  background-color: #ffffff;
  border: 1px solid #1c1c1c;
  color: #352617;
  width: 138px;
  margin-bottom: 20px;
  position: relative;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  border-radius: 22px;
  font-weight: 700;
  font-size: 14px;
}
.single .prevnext .cta-prev {
  padding-left: 12px;
}
.single .prevnext .cta-next {
  padding-right: 12px;
}

.news-top::before {
  content: "";
  clip-path: ellipse(59% 180% at 50% 180%);
  background-color: #ffffff;
  background-image: linear-gradient(to right, #f2f2f2 1px, transparent 1px), linear-gradient(to bottom, #f2f2f2 1px, transparent 1px);
  background-size: 25px 25px;
  background-repeat: repeat;
  background-position: 0 0;
  height: 50px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 61;
}

main #news {
  background-color: #A8DBDF;
  position: relative;
}
main #news .floating-image {
  width: 111px;
  position: absolute;
  top: 0;
  left: 10px;
}
main #news .slick-track {
  display: flex;
}
main #news .slick-slide {
  margin-right: 12px;
  height: auto !important;
  padding: 24px;
}
main #news .slick-slide a {
  width: 100%;
}
main #news .slick-slide time {
  display: inline-block;
}
main #news .slick-slide img {
  width: 100%;
  aspect-ratio: 191/127;
  overflow: hidden;
  object-fit: cover;
  border-radius: 4px;
}
main #news .slick-slide span {
  color: #838383;
}

.ttt {
  font-family: "M PLUS Rounded 1c";
}

.marche .single-header,
.news .single-header {
  max-width: 355px;
  height: 64px;
  margin-inline: auto;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .marche .single-header,
  .news .single-header {
    display: none;
  }
}
.marche .single-header img,
.news .single-header img {
  width: 74px;
}

.marche .tonttu-marche__inner {
  background: #FBEFF1;
  margin-bottom: 0px;
}
.marche .tonttu-marche__header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  max-width: 375px;
  z-index: 55;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 10px;
  background: #FBEFF1;
}
@media screen and (max-width: 480px) {
  .marche .tonttu-marche__header {
    max-width: 480px;
  }
}
body.post-type-archive-food .marche .tonttu-marche__header {
  background: #FBDEC9;
}
body.post-type-archive-stage .marche .tonttu-marche__header {
  background: #FBE9A9;
}
body.post-type-archive-workshop .marche .tonttu-marche__header {
  background: #C7E7D1;
}
body.post-type-archive-sports .marche .tonttu-marche__header {
  background: #C1E8F0;
}
body.post-type-archive-installation .marche .tonttu-marche__header {
  background: #D3D1E6;
}
body.is-nav-open .marche .tonttu-marche__header {
  background: #b1dccb;
}
body.is-modal-open .marche .tonttu-marche__header {
  display: none;
}
.marche .tonttu-marche__logo-btn {
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.marche .tonttu-marche .bread-crumb {
  position: fixed;
  top: 104px;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  max-width: 375px;
  z-index: 55;
  padding-inline: 10px;
  background: #FBEFF1;
}
@media screen and (max-width: 480px) {
  .marche .tonttu-marche .bread-crumb {
    max-width: 480px;
  }
}
body.post-type-archive-food .marche .tonttu-marche .bread-crumb {
  background: #FBDEC9;
}
body.post-type-archive-stage .marche .tonttu-marche .bread-crumb {
  background: #FBE9A9;
}
body.post-type-archive-workshop .marche .tonttu-marche .bread-crumb {
  background: #C7E7D1;
}
body.post-type-archive-sports .marche .tonttu-marche .bread-crumb {
  background: #C1E8F0;
}
body.post-type-archive-installation .marche .tonttu-marche .bread-crumb {
  background: #D3D1E6;
}
body.is-nav-open .marche .tonttu-marche .bread-crumb {
  display: none;
}
body.is-modal-open .marche .tonttu-marche .bread-crumb {
  display: none;
}
.marche .tonttu-marche__logo-btn img {
  position: relative;
  z-index: 60;
}
.marche .tonttu-marche .hamburger {
  display: block;
  width: 64px;
  height: 64px;
  background: #1C1C1C;
  border-radius: 50%;
  position: relative;
  z-index: 60;
  cursor: pointer;
}
.marche .tonttu-marche .hamburger span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) translateY(-5px);
  width: 24px;
  height: 2px;
  background: #ffffff;
  transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
}
.marche .tonttu-marche .hamburger span:nth-child(1) {
  transform: translate(-50%, -50%) translateY(-5px);
}
.marche .tonttu-marche .hamburger span:nth-child(2) {
  transform: translate(-50%, -50%) translateY(5px);
}
.marche .tonttu-marche .hamburger.is-open span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.marche .tonttu-marche .hamburger.is-open span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.marche .tonttu-marche .marche-top {
  position: relative;
  background-color: #ffffff;
  z-index: 0;
  margin-top: 142px;
}
.marche .tonttu-marche .content-top .p-category-hero__photo {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
}
.marche .tonttu-marche .content-top .p-category-hero__photo::before {
  content: "";
  clip-path: ellipse(59% 180% at 50% 180%);
  background-color: white;
  height: 50px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 61;
}
.marche .tonttu-marche .content-top .p-category-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 90%;
  display: block;
}
.marche .tonttu-marche .content-top .marche-content {
  text-align: center;
  padding-top: 17px;
}
.marche .tonttu-marche .content-top .marche-content .img2 {
  position: relative;
  margin-inline: auto;
  width: 128px;
  z-index: 10;
}
.marche .tonttu-marche .content-top .marche-content p {
  line-height: 24px;
}
.marche .food-top {
  background-color: #FBDEC9;
}
.marche .news-top {
  background-color: #EBF6F2;
}
.marche .stage-top {
  background-color: #FBE9A9;
}
.marche .play-top {
  background-color: #C1E8F0;
}
.marche .workshop-top {
  background-color: #C7E7D1;
}
.marche .installation-top {
  background-color: #D3D1E6;
}
.marche .marche-contents {
  text-align: center;
  background-color: white;
}
.marche .marche-contents .modal-social {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
}
.marche .marche-contents .modal-social a {
  display: inline-block;
  width: 40px;
  height: 40px;
}
.marche .marche-contents .modal-social img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.marche .marche-contents .category-search {
  display: flex;
  gap: 12px;
  width: calc(100% + 24px);
  overflow: auto;
  padding-bottom: 32px;
}
.marche .marche-contents .category-search::-webkit-scrollbar {
  height: 6px;
}
.marche .marche-contents .category-search::-webkit-scrollbar-track {
  background: #e5e5e5;
}
.marche .marche-contents .category-search::-webkit-scrollbar-thumb {
  background: #1c1c1c;
}
.marche .marche-contents .category-search a {
  width: 64px;
  height: 64px;
}
.marche .marche-contents .category-search a img {
  margin-bottom: 4px;
}
.marche .marche-contents .marche-date-filter__list {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
}
.marche .marche-contents .marche-date-filter__btn {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #1C1C1C;
  border-radius: 18px;
  background-color: white;
  color: #1C1C1C;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s;
}
.marche .marche-contents .marche-date-filter__btn--sat {
  border-color: #255c9d;
  color: #255c9d;
}
.marche .marche-contents .marche-date-filter__btn--sat.is-active {
  background-color: #255c9d;
  color: #ffffff;
}
.marche .marche-contents .marche-date-filter__btn--sun {
  border-color: #dc7687;
  color: #dc7687;
}
.marche .marche-contents .marche-date-filter__btn--sun.is-active {
  background-color: #dc7687;
  color: #ffffff;
}
.marche .marche-contents .marche-date-filter__btn--both {
  border-color: #1c1c1c;
  color: #1c1c1c;
}
.marche .marche-contents .marche-date-filter__btn--both.is-active {
  background-color: #1c1c1c;
  color: #ffffff;
}
.marche .marche-contents .marche-photo-wrap {
  position: relative;
  z-index: 1;
}
.marche .marche-contents .marche-schedule-badge {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 12px;
  border-radius: 18px;
  background-color: #1C1C1C;
  color: white;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
  letter-spacing: 0;
  max-width: 80px;
  text-align: center;
}
.marche .marche-contents .marche-schedule-badge--sat {
  background-color: #255c9d;
  color: #ffffff;
}
.marche .marche-contents .marche-schedule-badge--sun {
  background-color: #dc7687;
  color: #ffffff;
}
.marche .marche-contents .marche-schedule-badge--both {
  background-color: #1c1c1c;
  color: #ffffff;
}
.marche .marche-contents .marche-area-tag {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #1C1C1C;
  border-radius: 18px;
  font-size: 12px;
  font-weight: 700;
}
.marche .marche-contents .marche-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px;
  text-align: left;
  margin-bottom: 80px;
}
.marche .marche-contents .marche-grid li.is-hidden {
  display: none !important;
}
.marche .marche-contents .marche-grid .merchandise {
  max-width: 152px;
}
.marche .marche-contents .marche-grid .merchandise .marche_img {
  border-radius: 4px;
  width: 152px;
  height: 100px;
  overflow: hidden;
  object-fit: cover;
}
.marche .marche-contents .marche-grid .merchandise p {
  word-wrap: break-word;
}
.marche .marche-contents .marche-grid .merchandise .merchandise_category {
  border: 1px solid #1c1c1c;
  padding: 4px 12px;
  display: inline-block;
  border-radius: 18px;
  width: fit-content;
}
.marche .marche-contents .marche-grid .merchandise .modal-open {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.marche .marche-contents .marche-grid .merchandise .modal-open .marche-text {
  display: flex;
  flex-direction: column;
}
.marche .marche-contents .marche-grid .merchandise .modal-open .marche-text .merchandise_name,
.marche .marche-contents .marche-grid .merchandise .modal-open .marche-text .facility {
  line-height: 1.4;
  min-height: calc(2.8em + 8px);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.marche .marche-contents .marche-grid .merchandise .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(62, 62, 62, 0.631372549);
  width: 100%;
  height: 100%;
  z-index: 10;
  overflow: auto;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content {
  max-width: 327px;
  margin-inline: auto;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .model-header .modal-close {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: white;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body {
  background-color: white;
  margin-top: 24px;
  border-radius: 4px;
  padding: 24px;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche_modal_img {
  max-width: 100%;
  height: 185px;
  border-radius: 4px;
  display: table;
  margin-inline: auto;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-detail {
  padding: 16px;
  background-color: #EBF6F2;
  border-radius: 4px;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .header-btn {
  display: flex;
  justify-content: center;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .header-btn img {
  max-width: 240px;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-url {
  display: flex;
  align-items: center;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-url .icon {
  padding-left: 10px;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-point {
  background-color: #F9D7E1;
  border-radius: 4px;
  padding: 16px;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-point .manager {
  display: flex;
  justify-content: center;
}
.marche .marche-contents .marche-grid .merchandise .modal .modal-content .modal-body .marche-point .manager .manager-title {
  margin-left: 8px;
  color: #ED7A99;
}
.marche .marche-contents .cta.arrow-down::before, .marche .marche-contents .cta.arrow-down::after {
  top: 55%;
  right: 10%;
}
.marche .marche-contents .cta.arrow-down::before {
  transform: rotate(143deg);
}
.marche .marche-contents .cta.arrow-down::after {
  transform: rotate(43deg);
}
.marche .keyword h3 {
  margin-bottom: 10px;
}
.marche .keyword input {
  background-color: white;
  height: 60px;
  line-height: 22px;
  padding: 19px 20px;
  margin-right: 4px;
  border-radius: 30px;
  width: 225px;
}
.marche .keyword > img {
  cursor: pointer;
}
.marche .janru-title {
  margin-top: 40px;
  margin-bottom: 10px;
}
.marche .archive-all .active {
  border: none;
}
.marche .contents {
  padding-top: 0;
  padding-bottom: 0px;
}

body.post-type-archive-marche .tonttu-marche__header,
body.post-type-archive-food .tonttu-marche__header,
body.post-type-archive-stage .tonttu-marche__header,
body.post-type-archive-workshop .tonttu-marche__header,
body.post-type-archive-sports .tonttu-marche__header,
body.post-type-archive-installation .tonttu-marche__header {
  position: relative;
}
body.post-type-archive-marche .tonttu-marche .bread-crumb,
body.post-type-archive-food .tonttu-marche .bread-crumb,
body.post-type-archive-stage .tonttu-marche .bread-crumb,
body.post-type-archive-workshop .tonttu-marche .bread-crumb,
body.post-type-archive-sports .tonttu-marche .bread-crumb,
body.post-type-archive-installation .tonttu-marche .bread-crumb {
  position: relative;
  top: auto;
}
body.post-type-archive-marche .tonttu-marche .marche-top,
body.post-type-archive-food .tonttu-marche .marche-top,
body.post-type-archive-stage .tonttu-marche .marche-top,
body.post-type-archive-workshop .tonttu-marche .marche-top,
body.post-type-archive-sports .tonttu-marche .marche-top,
body.post-type-archive-installation .tonttu-marche .marche-top {
  margin-top: 0;
}

.notfound__comingsoon {
  position: relative;
  margin: 24px 0 40px;
}
.notfound__comingsoon-img {
  position: relative;
  width: 214px;
}
.notfound__comingsoon-bubble {
  width: 214px;
  height: 163px;
  display: block;
}
.notfound__comingsoon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  font-size: 16px;
  line-height: 1.5;
  color: #1C1C1C;
  text-align: center;
}
.notfound__comingsoon-bubble-icon {
  position: absolute;
  right: 24px;
  bottom: -54px;
  width: 112px;
  height: 139px;
  object-fit: contain;
}

.notfound__back {
  text-align: center;
}

.mt20 {
  margin-top: 20px;
}

.mt10 {
  margin-top: 10px;
}

.mt16 {
  margin-top: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mt37 {
  margin-top: 37px;
}

.mt100 {
  margin-top: 100px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb24 {
  margin-bottom: 24px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb100 {
  margin-bottom: 100px;
}

.pi24 {
  padding-inline: 24px;
}

.pt32 {
  padding-top: 32px;
}

.pt20 {
  padding-top: 20px;
}

.pt10 {
  padding-top: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb32 {
  padding-bottom: 32px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb100 {
  padding-bottom: 100px;
}

.mt8 {
  margin-top: 8px;
}

.mb8 {
  margin-bottom: 8px;
}

.pt8 {
  padding-top: 8px;
}

.pb8 {
  padding-bottom: 8px;
}

.ml8 {
  margin-left: 8px;
}

.mr8 {
  margin-right: 8px;
}

.pl8 {
  padding-left: 8px;
}

.pr8 {
  padding-right: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mb16 {
  margin-bottom: 16px;
}

.pt16 {
  padding-top: 16px;
}

.pb16 {
  padding-bottom: 16px;
}

.ml16 {
  margin-left: 16px;
}

.mr16 {
  margin-right: 16px;
}

.pl16 {
  padding-left: 16px;
}

.pr16 {
  padding-right: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mb24 {
  margin-bottom: 24px;
}

.pt24 {
  padding-top: 24px;
}

.pb24 {
  padding-bottom: 24px;
}

.ml24 {
  margin-left: 24px;
}

.mr24 {
  margin-right: 24px;
}

.pl24 {
  padding-left: 24px;
}

.pr24 {
  padding-right: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mb32 {
  margin-bottom: 32px;
}

.pt32 {
  padding-top: 32px;
}

.pb32 {
  padding-bottom: 32px;
}

.ml32 {
  margin-left: 32px;
}

.mr32 {
  margin-right: 32px;
}

.pl32 {
  padding-left: 32px;
}

.pr32 {
  padding-right: 32px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.pt40 {
  padding-top: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.ml40 {
  margin-left: 40px;
}

.mr40 {
  margin-right: 40px;
}

.pl40 {
  padding-left: 40px;
}

.pr40 {
  padding-right: 40px;
}

.mt48 {
  margin-top: 48px;
}

.mb48 {
  margin-bottom: 48px;
}

.pt48 {
  padding-top: 48px;
}

.pb48 {
  padding-bottom: 48px;
}

.ml48 {
  margin-left: 48px;
}

.mr48 {
  margin-right: 48px;
}

.pl48 {
  padding-left: 48px;
}

.pr48 {
  padding-right: 48px;
}

.mt56 {
  margin-top: 56px;
}

.mb56 {
  margin-bottom: 56px;
}

.pt56 {
  padding-top: 56px;
}

.pb56 {
  padding-bottom: 56px;
}

.ml56 {
  margin-left: 56px;
}

.mr56 {
  margin-right: 56px;
}

.pl56 {
  padding-left: 56px;
}

.pr56 {
  padding-right: 56px;
}

.mt64 {
  margin-top: 64px;
}

.mb64 {
  margin-bottom: 64px;
}

.pt64 {
  padding-top: 64px;
}

.pb64 {
  padding-bottom: 64px;
}

.ml64 {
  margin-left: 64px;
}

.mr64 {
  margin-right: 64px;
}

.pl64 {
  padding-left: 64px;
}

.pr64 {
  padding-right: 64px;
}

.mt72 {
  margin-top: 72px;
}

.mb72 {
  margin-bottom: 72px;
}

.pt72 {
  padding-top: 72px;
}

.pb72 {
  padding-bottom: 72px;
}

.ml72 {
  margin-left: 72px;
}

.mr72 {
  margin-right: 72px;
}

.pl72 {
  padding-left: 72px;
}

.pr72 {
  padding-right: 72px;
}

.mt80 {
  margin-top: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.pt80 {
  padding-top: 80px;
}

.pb80 {
  padding-bottom: 80px;
}

.ml80 {
  margin-left: 80px;
}

.mr80 {
  margin-right: 80px;
}

.pl80 {
  padding-left: 80px;
}

.pr80 {
  padding-right: 80px;
}

.mt88 {
  margin-top: 88px;
}

.mb88 {
  margin-bottom: 88px;
}

.pt88 {
  padding-top: 88px;
}

.pb88 {
  padding-bottom: 88px;
}

.ml88 {
  margin-left: 88px;
}

.mr88 {
  margin-right: 88px;
}

.pl88 {
  padding-left: 88px;
}

.pr88 {
  padding-right: 88px;
}

.mt96 {
  margin-top: 96px;
}

.mb96 {
  margin-bottom: 96px;
}

.pt96 {
  padding-top: 96px;
}

.pb96 {
  padding-bottom: 96px;
}

.ml96 {
  margin-left: 96px;
}

.mr96 {
  margin-right: 96px;
}

.pl96 {
  padding-left: 96px;
}

.pr96 {
  padding-right: 96px;
}

.mt104 {
  margin-top: 104px;
}

.mb104 {
  margin-bottom: 104px;
}

.pt104 {
  padding-top: 104px;
}

.pb104 {
  padding-bottom: 104px;
}

.ml104 {
  margin-left: 104px;
}

.mr104 {
  margin-right: 104px;
}

.pl104 {
  padding-left: 104px;
}

.pr104 {
  padding-right: 104px;
}

.mt112 {
  margin-top: 112px;
}

.mb112 {
  margin-bottom: 112px;
}

.pt112 {
  padding-top: 112px;
}

.pb112 {
  padding-bottom: 112px;
}

.ml112 {
  margin-left: 112px;
}

.mr112 {
  margin-right: 112px;
}

.pl112 {
  padding-left: 112px;
}

.pr112 {
  padding-right: 112px;
}

.mt120 {
  margin-top: 120px;
}

.mb120 {
  margin-bottom: 120px;
}

.pt120 {
  padding-top: 120px;
}

.pb120 {
  padding-bottom: 120px;
}

.ml120 {
  margin-left: 120px;
}

.mr120 {
  margin-right: 120px;
}

.pl120 {
  padding-left: 120px;
}

.pr120 {
  padding-right: 120px;
}

.slick-parent {
  overflow: hidden;
}
.slick-parent .slick-list {
  margin-inline: -10px;
}
.slick-parent .slick-slide img {
  border-radius: 4px;
}
.slick-parent li {
  border-radius: 4px;
  background-color: white;
}

.slick-prev,
.slick-next {
  display: none;
}

.slick-btns {
  max-width: 270px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* ← 並び順を指定 */
}
.slick-btns .custom-prev {
  order: 1;
}
.slick-btns .slick-dots {
  order: 2;
}
.slick-btns .custom-next {
  order: 3;
}
.slick-btns .slick-dots {
  position: static !important;
  margin: 0 !important;
  padding: 0;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: max-content;
}
.slick-btns .slick-dots li {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  list-style: none;
  border: 2px solid #1C1C1C;
}
.slick-btns .slick-dots li.slick-active {
  background-color: #1C1C1C;
}
.slick-btns .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #1C1C1C;
  opacity: 0.3;
  cursor: pointer;
}
.slick-btns .slick-dots li.slick-active button {
  opacity: 1;
}

.custom-prev,
.custom-next {
  display: inline-block !important;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #1C1C1C;
  cursor: pointer;
  position: relative;
}
.custom-prev::before, .custom-prev::after,
.custom-next::before,
.custom-next::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 20px;
  height: 3px;
  right: 35%;
  transform-origin: right;
  background-color: white;
  border-radius: 4px;
}

.custom-prev.disabled,
.custom-next.disabled {
  opacity: 0.7;
  pointer-events: none;
}

.custom-prev::before {
  top: initial;
  bottom: 64%;
  right: 40%;
  transform: rotate(-40deg) translateY(-1px);
}
.custom-prev::after {
  top: 68%;
  right: 40%;
  transform: rotate(40deg) translateY(1px);
}

.custom-next::before {
  transform: rotate(-40deg) translateY(-1px);
}
.custom-next::after {
  transform: rotate(40deg) translateY(1px);
}

.slick-dots li button::before {
  display: none;
  font-size: 0;
}

.p-schedule {
  position: relative;
  background: #EBF6F2;
  position: relative;
}
.p-schedule .p-event-hero__write {
  position: absolute;
  top: -64px;
  left: 0;
  width: 112px;
  height: 141px;
}
.p-schedule__inner {
  max-width: 480px;
  margin-inline: auto;
  position: relative;
}
.p-schedule__header {
  text-align: right;
  margin-bottom: 16px;
  margin-right: -40px;
}
.p-schedule__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-schedule__comingsoon {
  max-width: 214px;
  margin: 40px 0 0;
}
.p-schedule__comingsoon-img {
  position: relative;
}
.p-schedule__comingsoon-bubble {
  width: 214px;
  height: 163px;
  display: block;
}
.p-schedule__comingsoon-bubble-icon {
  position: absolute;
  right: 0;
  bottom: -54px;
  width: 112px;
  height: 139px;
}
.p-schedule__comingsoon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  font-size: 24px;
  color: #1C1C1C;
  white-space: nowrap;
}

.timetable {
  text-align: center;
}
.timetable ul {
  display: flex;
  justify-content: center;
  gap: 4px;
}
.timetable ul li {
  background-color: white;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 6px 19.5px;
  display: flex;
  align-items: center;
  font-weight: 900;
  opacity: 0.4;
  cursor: pointer;
}
.timetable ul li.active {
  opacity: 1;
}
.timetable ul li span {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: white;
  line-height: 30px;
  margin-left: 9px;
}
.timetable ul li .sut {
  background-color: #255c9d;
}
.timetable ul li .sun {
  background-color: #DC7687;
}
.timetable .panel-area {
  background-color: #fbf8f5;
  height: 700px;
  position: relative;
}
.timetable .panel-area .panel {
  display: none;
  overflow-x: auto;
}
.timetable .panel-area .panel img {
  height: 100%;
  max-width: initial;
}
.timetable .panel-area .panel.active {
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
}
.timetable .cta-parent {
  padding-top: 32px;
}

.p-map {
  position: relative;
}
.p-map .p-event-hero__hyokkori {
  position: absolute;
  top: 24px;
  right: 0;
  width: 88px;
  height: 154px;
  z-index: 1;
}
.p-map__inner {
  max-width: 480px;
  margin-inline: auto;
  position: relative;
}
.p-map__header {
  position: relative;
  z-index: 11;
  text-align: left;
  margin-bottom: 16px;
  margin-left: -40px;
}
.p-map__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-map__image {
  margin-top: 32px;
  margin-bottom: 0;
}
.p-map__image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.p-map__comingsoon {
  position: relative;
  max-width: 214px;
  margin: 40px 0 80px auto;
}
.p-map__comingsoon-bubble {
  width: 100%;
  height: auto;
  display: block;
}
.p-map__comingsoon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  font-size: 24px;
  color: #1C1C1C;
  white-space: nowrap;
}
.p-map__comingsoon-bubble-icon {
  position: absolute;
  left: 0;
  bottom: 88px;
  width: 112px;
  height: 139px;
}
.p-map .cta {
  margin-top: 32px;
}

main .map {
  text-align: center;
  background-color: white;
  padding-inline: 24px;
  position: relative;
}
main .map .img1 {
  width: 100%;
}
main .map .b {
  position: absolute;
  right: 16px;
  bottom: -120px;
  width: 88px;
  z-index: 1;
}

.p-supporter {
  text-align: center;
  position: relative;
  padding-top: 42px;
}
.p-supporter__inner {
  max-width: 480px;
  margin-inline: auto;
}
.p-supporter__header {
  position: relative;
  z-index: 11;
  text-align: left;
  margin-bottom: 16px;
  margin-left: -40px;
}
.p-supporter__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-supporter__slider-wrap {
  position: relative;
}
.p-supporter__slider-wrap .custom-prev--supporter,
.p-supporter__slider-wrap .custom-next--supporter {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
}
.p-supporter__slider-wrap .custom-prev--supporter::before, .p-supporter__slider-wrap .custom-prev--supporter::after,
.p-supporter__slider-wrap .custom-next--supporter::before,
.p-supporter__slider-wrap .custom-next--supporter::after {
  width: 14px;
  height: 2px;
}
.p-supporter__slider-wrap .custom-prev--supporter {
  left: 0;
}
.p-supporter__slider-wrap .custom-next--supporter {
  right: 0;
}
.p-supporter .slick-supporter {
  overflow-x: hidden;
}
.p-supporter .slick-supporter .slick-list {
  overflow: visible;
}
.p-supporter .slick-supporter .slick-track {
  display: flex !important;
  align-items: flex-start;
}
.p-supporter__slide {
  flex: 0 0 auto;
  background: #EBF6F2;
  width: 240px !important;
  height: 401px;
  padding: 24px;
  margin-inline: 12px;
  outline: none;
  text-align: left;
}
.p-supporter__slide img {
  height: 127px;
  object-fit: cover;
}
.p-supporter__slide p {
  text-align: center;
}
.p-supporter__slide .font-ZMGothic-16px-900 {
  font-size: 18px;
}
.p-supporter__slide .font-ZMGothic-15px-500 {
  line-height: 24px;
  text-align: left;
}
.p-supporter__slide .cta {
  width: 100%;
  height: 34px;
  font-size: 14px;
  font-weight: bold;
}
.p-supporter__photo {
  width: 100%;
  height: 160px;
  border-radius: 4px;
  object-fit: cover;
  display: block;
}
.p-supporter__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}
.p-supporter__pagination-dot {
  width: 8px;
  height: 8px;
  border: 1px solid #1C1C1C;
  border-radius: 50%;
  background-color: #ffffff;
}
.p-supporter__pagination-dot.is-active {
  background-color: #1C1C1C;
}
.p-supporter .img1 {
  position: absolute;
  left: 24px;
  bottom: -50px;
  width: 112px;
  z-index: 1;
}

.p-access {
  position: relative;
  background: #EBF6F2;
}
.p-access .p-event-hero__run-access {
  position: absolute;
  top: -60px;
  left: 0;
  width: 176px;
  max-width: 124px;
  z-index: 1;
}
.p-access__inner {
  max-width: 480px;
  margin-inline: auto;
}
.p-access__header {
  text-align: right;
  margin-bottom: 16px;
  margin-right: -40px;
}
.p-access__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-access__marquee {
  overflow-x: hidden;
  margin-inline: -24px;
}
.p-access__track {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: p-access-marquee 20s linear infinite;
}
.p-access__photo {
  flex: 0 0 auto;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  overflow: hidden;
}
.p-access__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes p-access-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 6px));
  }
}
.p-access h3 {
  text-align: center;
}
.p-access__external-icon {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 16px;
  vertical-align: baseline;
}
.p-access dl {
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.p-access dl .icon {
  margin-left: 16px;
  transform: translateY(-3px);
}
.p-access dl dt {
  width: 20%;
  border-top: 1px solid #1C1C1C;
  padding-block: 16px;
}
.p-access dl dt:last-of-type {
  border-bottom: 1px solid;
}
.p-access dl dd {
  width: 80%;
  border-top: 1px solid #1C1C1C;
  padding-block: 16px;
}
.p-access dl dd:last-of-type {
  border-bottom: 1px solid;
}
.p-access dl > img {
  position: absolute;
  right: -30px;
  bottom: -30px;
}
.p-access iframe {
  display: block;
  width: 100%;
  margin-inline: auto;
}
.p-access .y {
  position: absolute;
  bottom: -47px;
  left: 10px;
  z-index: 1;
  width: 130px;
}

.p-coop {
  text-align: center;
  background-color: #EBF6F2;
}
.p-coop__inner {
  max-width: 480px;
  margin-inline: auto;
}
.p-coop__header {
  text-align: right;
  margin-bottom: 16px;
  margin-right: -40px;
}
.p-coop__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-coop .coop-tabs {
  display: flex;
  justify-content: space-between;
}
.p-coop .tab-button {
  padding: 10px 30px 9px 31px;
  background-color: white;
  opacity: 0.6;
  border-radius: 4px;
  margin-bottom: 8px;
  cursor: pointer;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 900;
  font-style: normal;
  line-height: 24px;
  color: #1C1C1C;
}
.p-coop .tab-button.active {
  opacity: 10;
  border-radius: 4px 4px 0 0;
  margin: 0;
  font-size: 20px;
  line-height: 30px;
  color: #1C1C1C;
}
.p-coop .tab-content {
  display: none;
}
.p-coop .tab-content.active {
  display: block;
}
.p-coop .coop-group {
  background-color: white;
  padding: 26px;
  border-radius: 0 4px 4px 4px;
}
.p-coop .coop-group.radius-coop1 {
  border-radius: 0 4px 4px 4px;
}
.p-coop .coop-group.radius-coop2 {
  border-radius: 4px 4px 4px 4px;
}
.p-coop .coop-group.radius-coop3 {
  border-radius: 4px 0 4px 4px;
}
.p-coop .logos {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  align-items: center;
}
.p-coop .logos img {
  width: 76px;
}
.p-coop .jka img {
  margin-top: 24px;
}
.p-coop .decent-work-labo .decent-container {
  background-color: white;
  padding: 24px;
  border-radius: 4px;
}
.p-coop .decent-work-labo .decent-container .content-text {
  text-align: left;
}

.p-organizers {
  text-align: center;
}
.p-organizers__inner {
  max-width: 480px;
  margin-inline: auto;
}
.p-organizers__header {
  position: relative;
  z-index: 11;
  text-align: left;
  margin-bottom: 16px;
  margin-left: -40px;
}
.p-organizers__header img {
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-top: -10px;
}
.p-organizers .sec-title {
  font-size: 20px;
  line-height: 30px;
}
.p-organizers__logo {
  width: 201px;
  height: 80px;
  object-fit: cover;
  margin-inline: auto;
  margin-block: 16px 32px;
}
.p-organizers p {
  text-align: left;
}

/*# sourceMappingURL=style.css.map */
