@charset "UTF-8";
/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #FFFDF0;
  color: #383435;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
  font-feature-settings: "palt";
}

input, button, textarea, select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

*:before, *:after {
  display: block;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (max-width: 768px) {
  .pc-br {
    display: none;
  }
}
@media (min-width: 769px) {
  .sp-br {
    display: none;
  }
}
@container (max-width: 768px) {
  .cont-pc-br {
    display: none;
  }
}
@container (min-width: 769px) {
  .cont-sp-br {
    display: none;
  }
}
@media (max-width: 768px) {
  .pc-disp {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }

  .opacity-link:hover {
    opacity: 0.6;
  }
}
.txt-link {
  color: #67B5AE;
  text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
  .txt-link:hover {
    text-decoration: none;
  }
}
.wrapper {
  min-width: 320px;
}

@media (min-width: 1025px) {
  .wrapper {
    padding: 0 260px 0 0;
  }
}
.main-cont {
  container-type: inline-size;
}

.main-cont > *:nth-child(odd) {
  background: #FEF4E8;
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
title
------------------------------------------*/
.c-ttl01 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.c-ttl01 .en {
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 1;
}

@media (max-width: 768px) {
  .c-ttl01 .en {
    font-size: clamp(1px, 8vw, 30px);
  }
}
@media (min-width: 769px) {
  .c-ttl01 .en {
    font-size: 55px;
  }
}
.c-ttl01 .ja {
  margin: 1em auto 0;
}

@media (max-width: 768px) {
  .c-ttl01 .ja {
    font-size: clamp(1px, 3.2vw, 12px);
  }
}
@media (min-width: 769px) {
  .c-ttl01 .ja {
    font-size: 16px;
  }
}
.c-ttl01 .badtzmaru {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-ttl01 .badtzmaru {
    width: 65px;
    left: calc(100% + 10px);
    top: -16px;
  }
}
@media (min-width: 769px) {
  .c-ttl01 .badtzmaru {
    width: 138px;
    left: calc(100% + 15px);
    top: -38px;
  }
}
.c-ttl01 .hangyodon {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-ttl01 .hangyodon {
    width: 78px;
    left: calc(100% + 15px);
    top: -20px;
  }
}
@media (min-width: 769px) {
  .c-ttl01 .hangyodon {
    width: 168px;
    left: calc(100% + 24px);
    top: -53px;
  }
}
.c-ttl01 .pochacco {
  position: absolute;
  pointer-events: none;
  right: calc(100% + 10px);
}

@media (max-width: 768px) {
  .c-ttl01 .pochacco {
    width: 53px;
    top: -29px;
  }
}
@media (min-width: 769px) {
  .c-ttl01 .pochacco {
    width: 114px;
    top: -66px;
  }
}
.c-ttl01 .keroppi {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-ttl01 .keroppi {
    width: 50px;
    top: -6px;
    right: calc(100% + 8px);
  }
}
@media (min-width: 769px) {
  .c-ttl01 .keroppi {
    width: 114px;
    top: -29px;
    right: calc(100% + 16px);
  }
}
.c-ttl01 .pekkle {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-ttl01 .pekkle {
    width: 65px;
    top: -15px;
    right: calc(100% + 10px);
  }
}
@media (min-width: 769px) {
  .c-ttl01 .pekkle {
    width: 141px;
    top: -56px;
    right: calc(100% + 18px);
  }
}
.c-ttl01 .tuxedosam {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-ttl01 .tuxedosam {
    width: 77px;
    top: -16px;
    right: calc(100% + 10px);
  }
}
@media (min-width: 769px) {
  .c-ttl01 .tuxedosam {
    width: 166px;
    top: -50px;
    right: calc(100% + 22px);
  }
}
.c-ttl01.is-active .badtzmaru,
.c-ttl01.is-active .hangyodon,
.c-ttl01.is-active .pochacco,
.c-ttl01.is-active .keroppi,
.c-ttl01.is-active .pekkle,
.c-ttl01.is-active .tuxedosam {
  animation: bounce 0.8s linear;
}

@keyframes bounce {
  0%, 50%, 100% {
    transform: translateY(0);
  }
  25%, 75% {
    transform: translateY(-10px);
  }
}
/*------------------------------------------
button
------------------------------------------*/
@media (max-width: 768px) {
  .c-btn01 {
    width: 129px;
  }
}
@media (min-width: 769px) {
  .c-btn01 {
    width: 150px;
  }
}
.c-btn01 a,
.c-btn01 button {
  display: block;
  background: #EA5533;
  border-radius: 40px;
  color: #fff;
  text-align: center;
  position: relative;
}

@media (max-width: 768px) {
  .c-btn01 a,
.c-btn01 button {
    padding: 11px 25px 11px 0;
  }
}
@media (min-width: 769px) {
  .c-btn01 a,
.c-btn01 button {
    padding: 12px 30px 13px 0;
  }
}
.c-btn01 .no-link {
  pointer-events: none;
}

.c-btn01 .cross {
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .c-btn01 .cross {
    width: 12px;
    height: 2px;
    right: 13px;
  }
}
@media (min-width: 769px) {
  .c-btn01 .cross {
    width: 14px;
    height: 3px;
    right: 15px;
  }
}
.c-btn01 .cross::before {
  content: "";
  background: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  .c-btn01 .cross::before {
    width: 2px;
    height: 12px;
  }
}
@media (min-width: 769px) {
  .c-btn01 .cross::before {
    width: 3px;
    height: 14px;
  }
}
.c-btn01.en {
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
}

.c-btn01.en a,
.c-btn01.en button {
  line-height: 1;
}

@media (max-width: 768px) {
  .c-btn01.en a,
.c-btn01.en button {
    font-size: 12px;
  }
}
@media (min-width: 769px) {
  .c-btn01.en a,
.c-btn01.en button {
    font-size: 15px;
  }
}
.c-btn02 a,
.c-btn02 button {
  display: block;
  width: 100%;
  background: #67B5AE;
  border-radius: 80px;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
  position: relative;
}

@media (max-width: 768px) {
  .c-btn02 a,
.c-btn02 button {
    min-height: 50px;
    padding: 7px 65px 7px 25px;
    font-size: 13px;
    line-height: 1.23;
  }
}
@media (min-width: 769px) {
  .c-btn02 a,
.c-btn02 button {
    min-height: 80px;
    padding: 16px 100px 16px 50px;
    font-size: 16px;
    line-height: 1.5;
  }
}
.c-btn02 .arrow {
  display: block;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 768px) {
  .c-btn02 .arrow {
    width: 19px;
    padding: 6px 0 0 6px;
  }
}
@media (min-width: 769px) {
  .c-btn02 .arrow {
    width: 30px;
    padding: 11px 0 0 10px;
  }
}
.c-btn02 .arrow::before {
  content: "";
  aspect-ratio: 1/1;
  border-top: 2px solid #67B5AE;
  border-right: 2px solid #67B5AE;
}

@media (max-width: 768px) {
  .c-btn02 .arrow::before {
    width: 7px;
  }
}
@media (min-width: 769px) {
  .c-btn02 .arrow::before {
    width: 10px;
  }
}
/*------------------------------------------
list
------------------------------------------*/
.c-list01 .bundle {
  display: flex;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .c-list01 .bundle {
    gap: 10px;
  }
}
@media (min-width: 769px) {
  .c-list01 .bundle {
    gap: 18px;
  }
}
@media (max-width: 768px) {
  .c-list01 .bundle + .bundle {
    margin: 8px auto 0;
  }
}
@media (min-width: 769px) {
  .c-list01 .bundle + .bundle {
    margin: 12px auto 0;
  }
}
.c-list01 dt {
  flex: none;
  background: #67B5AE;
  border-radius: 26px;
  color: #fff;
  font-weight: 500;
  line-height: 1;
}

@media (max-width: 768px) {
  .c-list01 dt {
    padding: 4px 9px 5px;
    font-size: 11px;
  }
}
@media (min-width: 769px) {
  .c-list01 dt {
    padding: 5px 12px 6px;
    font-size: 14px;
  }
}
.c-list01 dd {
  flex: 1;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .c-list01 dd {
    font-size: 13px;
  }
}
@media (min-width: 769px) {
  .c-list01 dd {
    font-size: 16px;
  }
}
/*------------------------------------------
card
------------------------------------------*/
.c-card01 {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .c-card01 {
    padding: 0 5.33vw 30px;
  }
}
@media (min-width: 769px) {
  .c-card01 {
    padding: 0 40px 30px;
    display: flex;
    gap: clamp(1px, 2.92vw, 40px);
  }
}
.c-card01::before {
  content: "";
  width: 100%;
  background: #fff;
  border: 2px solid #383435;
  border-radius: 10px;
  box-shadow: 3px 3px 0 #D93838;
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 768px) {
  .c-card01::before {
    height: calc(100% - 20px);
  }
}
@media (min-width: 769px) {
  .c-card01::before {
    height: calc(100% - 30px);
  }
}
.c-card01__anchor {
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .c-card01__anchor {
    top: -60px;
  }
}
@media (min-width: 769px) {
  .c-card01__anchor {
    top: -80px;
  }
}
.c-card01__first {
  margin: 0 auto;
  max-width: 400px;
}

@media (min-width: 769px) {
  .c-card01__first {
    width: 43%;
  }
}
.c-card01__slider {
  aspect-ratio: 1/1;
  position: relative;
}

.c-card01__slider:has(.c-close)::before {
  content: "";
  aspect-ratio: 1/1;
  width: 100%;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.c-card01__slider .c-close {
  z-index: 3;
}

.c-card01__slider .swiper {
  border: 2px solid #383435;
}

@media (max-width: 768px) {
  .c-card01__slider .c-controls__pagination {
    justify-content: flex-end;
    position: absolute;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    bottom: auto;
    left: auto;
    z-index: 10;
  }
}
@media (min-width: 769px) {
  .c-card01__slider .c-controls__pagination {
    margin: 14px auto 0;
  }
}
.c-card01 button {
  display: flex;
  flex-direction: column;
}

.c-card01 button.no-active {
  pointer-events: none;
}

.c-card01__second {
  position: relative;
}

@media (max-width: 768px) {
  .c-card01__second {
    padding: 35px clamp(1px, 3.2vw, 12px) 0;
  }
}
@media (min-width: 769px) {
  .c-card01__second {
    flex: 1;
    padding: 60px 0;
  }
}
@media (max-width: 768px) {
  .c-card01__second > * + * {
    margin: 15px 0 0;
  }
}
@media (min-width: 769px) {
  .c-card01__second > * + * {
    margin: 20px 0 0;
  }
}
.c-card01__tag {
  padding: 4px 10px;
  border: 2px solid #383435;
  background: #E95C6A;
  color: #fff;
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  position: absolute;
  z-index: 2;
}

@media (max-width: 768px) {
  .c-card01__tag {
    top: -5px;
    left: clamp(1px, 3.2vw, 12px);
  }
}
@media (min-width: 769px) {
  .c-card01__tag {
    top: 15px;
    left: 0;
  }
}
.c-card01__ttl {
  margin: 0;
}

@media (max-width: 768px) {
  .c-card01__ttl {
    font-size: 18px;
    line-height: 1.55;
  }
}
@media (min-width: 769px) {
  .c-card01__ttl {
    font-size: 26px;
    line-height: 1.46;
  }
}
.c-card01__txt01 {
  font-weight: 500;
}

@media (max-width: 768px) {
  .c-card01__txt01 {
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (min-width: 769px) {
  .c-card01__txt01 {
    font-size: 16px;
    line-height: 1.81;
  }
}
.c-card01__txt02 {
  font-weight: 400;
}

@media (max-width: 768px) {
  .c-card01__txt02 {
    font-size: 11px;
    line-height: 1.81;
  }
}
@media (min-width: 769px) {
  .c-card01__txt02 {
    font-size: 13px;
    line-height: 1.53;
  }
}
@media (min-width: 769px) {
  .c-card01 .c-btn01 {
    margin: 0;
    position: absolute;
    bottom: 0;
  }
}
@media (min-width: 769px) {
  .c-card01:nth-child(odd) .c-btn01 {
    right: 0;
  }
}
.c-card01:nth-child(even) {
  flex-direction: row-reverse;
}

@media (min-width: 769px) {
  .c-card01:nth-child(even) .c-btn01 {
    left: 0;
  }
}
/*------------------------------------------
swiper
------------------------------------------*/
[class*=c-controls__btn] {
  width: 30px;
  padding: 11px 0 0 11px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #67B5AE;
  position: absolute;
  z-index: 2;
}

@media (max-width: 768px) {
  [class*=c-controls__btn] {
    top: 50%;
  }
}
@media (min-width: 769px) {
  [class*=c-controls__btn] {
    top: calc(50% - 15px);
  }
}
[class*=c-controls__btn]::before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

.c-controls__btn--prev {
  left: -15px;
  transform: translateY(-50%) rotate(-45deg);
}

.c-controls__btn--next {
  right: -15px;
  transform: translateY(-50%) rotate(135deg);
}

.c-controls__pagination {
  position: relative;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .c-controls__pagination {
    gap: 10px;
  }
}
@media (min-width: 769px) {
  .c-controls__pagination {
    gap: 16px;
  }
}
.c-controls__pagination .swiper-pagination-bullet {
  margin: 0 !important;
  background: #67B5AE;
  opacity: 1;
}

@media (max-width: 768px) {
  .c-controls__pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
  }
}
@media (min-width: 769px) {
  .c-controls__pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }
}
.c-controls__pagination .swiper-pagination-bullet-active {
  background: #fff;
  border: 2px solid #383435;
}

/*------------------------------------------
close
------------------------------------------*/
.c-close {
  width: -moz-max-content;
  width: max-content;
  background: #E95C6A;
  color: #fff;
  line-height: 1.3;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

@media (max-width: 768px) {
  .c-close {
    padding: 4px 6px;
    font-size: clamp(1px, 3.46vw, 13px);
  }
}
@media (min-width: 769px) {
  .c-close {
    padding: 6px 10px;
    font-size: 16px;
  }
}
/*------------------------------------------
accordion
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s linear;
  transition: grid-template-rows 0.4s linear, -ms-grid-rows 0.4s linear;
}

.js-accarea.is-open {
  grid-template-rows: 1fr;
}

.js-accarea__in {
  overflow: hidden;
}

/*------------------------------------------
はぴだんぶい
------------------------------------------*/
.badtzmaru {
  aspect-ratio: 51/49;
}

.hangyodon {
  aspect-ratio: 62/53;
}

.pochacco {
  aspect-ratio: 42/59;
}

.keroppi {
  aspect-ratio: 51/49;
}

.pekkle {
  aspect-ratio: 52/54;
}

.tuxedosam {
  aspect-ratio: 61/53;
}

/* =========================================================
common layout
========================================================= */
@media (max-width: 768px) {
  .c-cont01 {
    padding: 40px 6.66vw 0;
  }
}
@media (min-width: 769px) {
  .c-cont01 {
    padding: 90px clamp(10px, 5.42cqw, 60px);
  }
}
.c-cont01__in {
  max-width: 990px;
  margin: 0 auto;
}

.c-cont01__lead {
  text-align: center;
}

@media (max-width: 768px) {
  .c-cont01__lead {
    margin: 30px auto 0;
    font-size: clamp(1px, 3.73vw, 14px);
    line-height: 1.7;
  }
}
@media (min-width: 769px) {
  .c-cont01__lead {
    margin: 50px auto 0;
    font-size: 18px;
    line-height: 2;
  }
}
@media (max-width: 768px) {
  .c-cont01__lead + * {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .c-cont01__lead + * {
    margin: 55px auto 0;
  }
}
/*------------------------------------------
splash
------------------------------------------*/
.splash {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background: #FFFDF0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}

@media (max-width: 768px) {
  .splash {
    gap: 40px;
  }
}
@media (min-width: 769px) {
  .splash {
    gap: 45px;
  }
}
@media (max-width: 768px) {
  .splash__logo {
    width: clamp(10px, 30.29vh, 246px);
  }
}
@media (min-width: 769px) {
  .splash__logo {
    width: clamp(1px, 57.83vw, 790px);
  }
}
.splash__hapidanbui {
  position: relative;
}

@media (max-width: 768px) {
  .splash__hapidanbui {
    aspect-ratio: 336/250;
    width: clamp(10px, 41.3vh, 336px);
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui {
    aspect-ratio: 867/170;
    width: clamp(1px, 63.46vw, 867px);
  }
}
.splash__hapidanbui > * {
  position: absolute;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

@media (max-width: 768px) {
  .splash__hapidanbui .badtzmaru {
    width: 30%;
    top: 8.4%;
    left: 0;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .badtzmaru {
    width: 16.7%;
    bottom: 0;
    left: 0;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .hangyodon {
    width: 37.5%;
    top: 4.4%;
    right: 0;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .hangyodon {
    width: 20.5%;
    top: 8.8%;
    left: 16.1%;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .pochacco {
    width: 26.1%;
    top: 0;
    left: 35.4%;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .pochacco {
    width: 14%;
    top: 0;
    left: 37.7%;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .keroppi {
    width: 23.5%;
    bottom: 0;
    left: 38%;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .keroppi {
    width: 13.1%;
    bottom: 1.1%;
    left: 50.4%;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .pekkle {
    width: 31.5%;
    bottom: 0;
    right: 2.9%;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .pekkle {
    width: 17.3%;
    bottom: 0;
    left: 63.5%;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .tuxedosam {
    width: 36.6%;
    bottom: 0;
    left: 0;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .tuxedosam {
    width: 20.2%;
    bottom: 1.1%;
    right: 0;
  }
}
.splash {
  transition: opacity 0.5s ease 3.5s;
}

.splash__logo {
  opacity: 0;
}

.splash__hapidanbui > * {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.splash__hapidanbui .badtzmaru {
  transition-delay: 0.2s;
}

@media (max-width: 768px) {
  .splash__hapidanbui .hangyodon {
    transition-delay: 1s;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .hangyodon {
    transition-delay: 0.5s;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .pochacco {
    transition-delay: 0.5s;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .pochacco {
    transition-delay: 1s;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .keroppi {
    transition-delay: 2s;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .keroppi {
    transition-delay: 1.5s;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .pekkle {
    transition-delay: 2.5s;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .pekkle {
    transition-delay: 2s;
  }
}
@media (max-width: 768px) {
  .splash__hapidanbui .tuxedosam {
    transition-delay: 1.5s;
  }
}
@media (min-width: 769px) {
  .splash__hapidanbui .tuxedosam {
    transition-delay: 2.5s;
  }
}
.splash.is-active {
  opacity: 0;
}

.splash.is-active .splash__logo {
  opacity: 1;
}

.splash.is-active .splash__hapidanbui > * {
  opacity: 1;
  transform: translateY(0);
}

/*------------------------------------------
modal
------------------------------------------*/
.c-modal01 {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background: rgba(234, 85, 51, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: auto;
  display: none;
}

@media (max-width: 768px) {
  .c-modal01__in {
    padding: 50px 6.66vw 100px;
  }
}
@media (min-width: 769px) {
  .c-modal01__in {
    padding: 110px 100px 50px;
  }
}
.c-modal01__cont {
  max-width: 987px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .c-modal01__cont {
    padding: 0 5.33vw 30px;
  }
}
@media (min-width: 769px) {
  .c-modal01__cont {
    padding: 0 40px 50px;
  }
}
@media (min-width: 1025px) {
  .c-modal01__cont {
    display: flex;
    gap: clamp(1px, 2.92vw, 40px);
  }
}
.c-modal01__cont::before {
  content: "";
  width: 100%;
  background: #fff;
  border: 2px solid #383435;
  border-radius: 10px;
  box-shadow: 3px 3px 0 #D93838;
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 768px) {
  .c-modal01__cont::before {
    height: calc(100% - 20px);
  }
}
@media (min-width: 769px) {
  .c-modal01__cont::before {
    height: calc(100% - 30px);
  }
}
.c-modal01__close--top {
  position: absolute;
  z-index: 2;
}

@media (max-width: 768px) {
  .c-modal01__close--top {
    top: -20px;
    right: -15px;
  }
}
@media (min-width: 769px) {
  .c-modal01__close--top {
    top: 0;
    left: calc(100% + 20px);
  }
}
.c-modal01__close--top button {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #67B5AE;
  position: relative;
}

@media (max-width: 768px) {
  .c-modal01__close--top button {
    width: 40px;
  }
}
@media (min-width: 769px) {
  .c-modal01__close--top button {
    width: 50px;
  }
}
.c-modal01__close--top button::before, .c-modal01__close--top button::after {
  content: "";
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-modal01__close--top button::before {
  width: 50%;
  height: 3px;
}

.c-modal01__close--top button::after {
  width: 3px;
  height: 50%;
}

.c-modal01__close--bottom {
  width: 120px;
}

@media (max-width: 768px) {
  .c-modal01__close--bottom {
    margin: 10px auto 0;
  }
}
@media (min-width: 769px) {
  .c-modal01__close--bottom {
    margin: 20px auto 0;
  }
}
.c-modal01__close--bottom button {
  width: 100%;
  height: 40px;
  padding: 0 30px 0 20px;
  border-radius: 40px;
  background: #fff;
  color: #DA3539;
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  font-size: 17px;
  line-height: 1;
  position: relative;
}

.c-modal01__close--bottom .ico {
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.c-modal01__close--bottom .ico::before, .c-modal01__close--bottom .ico::after {
  content: "";
  width: 2px;
  height: 141%;
  background: #DA3539;
  position: absolute;
  top: 50%;
  left: 50%;
}

.c-modal01__close--bottom .ico::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-modal01__close--bottom .ico::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-modal01__first {
  margin: 0 auto;
  max-width: 400px;
}

@media (min-width: 1025px) {
  .c-modal01__first {
    width: 45%;
  }
}
.c-modal01__slider {
  position: relative;
}

.c-modal01__slider .swiper {
  border: 2px solid #383435;
}

@media (max-width: 768px) {
  .c-modal01__slider .c-controls {
    margin: 10px auto 0;
  }
}
@media (min-width: 769px) {
  .c-modal01__slider .c-controls {
    margin: 14px auto 0;
  }
}
.c-modal01__slider .c-controls__pagination {
  justify-content: flex-end;
}

@media (min-width: 1025px) {
  .c-modal01__slider .c-controls__pagination {
    justify-content: center;
  }
}
.c-modal01__second {
  position: relative;
}

@media (max-width: 768px) {
  .c-modal01__second {
    padding: 35px clamp(1px, 3.2vw, 12px) 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-modal01__second {
    padding: 35px 20px 0;
  }
}
@media (min-width: 1025px) {
  .c-modal01__second {
    flex: 1;
    padding: 70px 0 0;
  }
}
@media (max-width: 768px) {
  .c-modal01__second > * + * {
    margin: 15px auto 0;
  }
}
@media (min-width: 769px) {
  .c-modal01__second > * + * {
    margin: 20px auto 0;
  }
}
.c-modal01__second .tag {
  padding: 4px 10px;
  border: 2px solid #383435;
  background: #E95C6A;
  color: #fff;
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  position: absolute;
  z-index: 1;
}

@media (max-width: 768px) {
  .c-modal01__second .tag {
    top: -5px;
    left: clamp(1px, 3.2vw, 12px);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-modal01__second .tag {
    top: -15px;
    left: 0;
  }
}
@media (min-width: 1025px) {
  .c-modal01__second .tag {
    top: 15px;
    left: 0;
  }
}
.c-modal01__second .ttl {
  margin: 0;
}

@media (max-width: 768px) {
  .c-modal01__second .ttl {
    font-size: 18px;
    line-height: 1.55;
  }
}
@media (min-width: 769px) {
  .c-modal01__second .ttl {
    font-size: 26px;
    line-height: 1.46;
  }
}
.c-modal01__second .price {
  color: #81797B;
}

@media (max-width: 768px) {
  .c-modal01__second .price {
    font-size: 14px;
    line-height: 1.85;
  }
}
@media (min-width: 769px) {
  .c-modal01__second .price {
    font-size: 16px;
    line-height: 1.81;
  }
}
.c-modal01__second .price small {
  font-size: 12px;
}

.c-modal01__second .txt01 {
  font-weight: 500;
}

@media (max-width: 768px) {
  .c-modal01__second .txt01 {
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (min-width: 769px) {
  .c-modal01__second .txt01 {
    font-size: 16px;
    line-height: 1.81;
  }
}
.c-modal01__second .txt02 {
  font-weight: 400;
}

@media (max-width: 768px) {
  .c-modal01__second .txt02 {
    font-size: 11px;
    line-height: 1.81;
  }
}
@media (min-width: 769px) {
  .c-modal01__second .txt02 {
    font-size: 13px;
    line-height: 1.53;
  }
}
.wysiwyg {
  word-break: break-all;
}

.wysiwyg *,
.wysiwyg ::before,
.wysiwyg ::after {
  box-sizing: content-box;
}

.wysiwyg h1 {
  font-size: 2em;
  font-weight: 600;
}

.wysiwyg h2 {
  font-size: 1.5em;
  font-weight: 600;
}

.wysiwyg h3 {
  font-size: 1.17em;
  font-weight: 600;
}

.wysiwyg h4 {
  font-weight: 600;
}

.wysiwyg h5 {
  font-size: 0.83em;
  font-weight: 600;
}

.wysiwyg h6 {
  font-size: 0.67em;
  font-weight: 600;
}

.wysiwyg hr {
  display: block;
}

.wysiwyg a {
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .wysiwyg a:hover {
    opacity: 0.6;
  }
}
.wysiwyg strong,
.wysiwyg b {
  font-weight: 600;
}

.wysiwyg em {
  font-style: italic;
}

.wysiwyg ul,
.wysiwyg ol {
  padding-left: 1.5em;
}

.wysiwyg ul {
  list-style: disc;
}

.wysiwyg ol {
  list-style: decimal;
}

.wysiwyg table {
  border-collapse: separate;
}

/* =========================================================
header
========================================================= */
/*------------------------------------------
header
------------------------------------------*/
@media (max-width: 768px) {
  .page-hd__mv {
    aspect-ratio: 258/365;
  }
}
@media (min-width: 769px) {
  .page-hd__mv {
    aspect-ratio: 365/258;
  }
}
@media (max-width: 768px) {
  .page-hd__main {
    padding: 40px 0;
  }
}
@media (min-width: 769px) {
  .page-hd__main {
    padding: 80px 0;
  }
}
.page-hd__ttl {
  margin: 0 auto;
}

@media (max-width: 768px) {
  .page-hd__ttl {
    width: clamp(1px, 86.66vw, 325px);
  }
}
@media (min-width: 769px) {
  .page-hd__ttl {
    width: clamp(1px, 57.83vw, 790px);
  }
}
.page-hd__date {
  width: clamp(1px, 52vw, 325px);
  margin: clamp(1px, 6.66vw, 40px) auto 0;
}

.page-hd__txt {
  text-align: center;
}

@media (max-width: 768px) {
  .page-hd__txt {
    margin: 28px auto 0;
    font-size: 14px;
    line-height: 1.71;
  }
}
@media (min-width: 769px) {
  .page-hd__txt {
    margin: 40px auto 0;
    font-size: 18px;
    line-height: 2;
  }
}
/*------------------------------------------
PC navigation
------------------------------------------*/
.pc-nav {
  width: 260px;
  height: 100vh;
  padding: 40px 0 clamp(10px, 7.7vh, 60px);
  background: #F4D190;
  border-left: 2px solid #383435;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
}

@media (max-width: 1024px) {
  .pc-nav {
    display: none;
  }
}
.pc-nav__logo {
  width: 188px;
}

.pc-nav__logo a {
  display: block;
}

.pc-nav__list {
  width: -moz-fit-content;
  width: fit-content;
}

@media (hover: hover) {
  [class*=pc-nav__item--] a {
    transition: color 0.2s ease;
  }

  [class*=pc-nav__item--] a:hover {
    color: #DA3539;
  }
}
[class*=pc-nav__item--] span {
  display: block;
}

[class*=pc-nav__item--] .en {
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  font-size: 22px;
  line-height: 1;
}

[class*=pc-nav__item--] .ja {
  margin: 10px auto 0;
  font-size: 12px;
  line-height: 1;
}

[class*=pc-nav__item--] + [class*=pc-nav__item--] {
  margin: clamp(10px, 2.5vh, 20px) auto 0;
}

body.page-home .pc-nav__item--home a,
body.page-present .pc-nav__item--present a,
body.page-event .pc-nav__item--event a,
body.page-concept .pc-nav__item--concept a {
  color: #DA3539;
}

/*------------------------------------------
sticky navigation
------------------------------------------*/
.sticky-nav {
  position: relative;
}

.sticky-nav::before {
  width: 100%;
  height: 3px;
  background: #383435;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (min-width: 1025px) {
  .sticky-nav::before {
    content: "";
    height: 3px;
  }
}
.sticky-nav__list {
  display: flex;
  align-items: flex-end;
}

@media (max-width: 768px) {
  .sticky-nav__list {
    height: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav__list {
    height: 80px;
  }
}
@media (min-width: 1025px) {
  .sticky-nav__list {
    padding: 0 clamp(10px, 5.42cqw, 60px);
    gap: 1.8cqw;
  }
}
[class*=sticky-nav__item--] {
  flex: 1;
}

@media (max-width: 768px) {
  [class*=sticky-nav__item--] {
    border: 2px solid #383435;
    border-right: none;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  [class*=sticky-nav__item--] {
    border: 3px solid #383435;
    border-right: none;
  }
}
@media (min-width: 1025px) {
  [class*=sticky-nav__item--] {
    border: 3px solid #383435;
    border-bottom: none;
  }
}
[class*=sticky-nav__item--] a {
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}

@media (max-width: 768px) {
  [class*=sticky-nav__item--] a {
    height: 50px;
  }
}
@media (min-width: 769px) {
  [class*=sticky-nav__item--] a {
    height: 80px;
  }
}
@media (hover: hover) and (pointer: fine) {
  [class*=sticky-nav__item--] a {
    transition: color 0.2s ease, height 0.2s ease, background 0.2s ease;
  }

  [class*=sticky-nav__item--] a:hover {
    box-sizing: content-box;
    background: #FEF4E8;
    color: #DA3539;
    position: relative;
    z-index: 1;
  }
}
@media (hover: hover) and (pointer: fine) and (max-width: 768px) {
  [class*=sticky-nav__item--] a:hover {
    height: 60px;
    border-right: 2px solid #383435;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 769px) {
  [class*=sticky-nav__item--] a:hover {
    height: 90px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 769px) and (max-width: 1024px) {
  [class*=sticky-nav__item--] a:hover {
    border-right: 3px solid #383435;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  [class*=sticky-nav__item--]:has(a:hover) {
    border-bottom: none;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  [class*=sticky-nav__item--]:has(a:hover) + * {
    border-left: none;
  }
}
[class*=sticky-nav__item--] span {
  white-space: pre-wrap;
  word-break: keep-all;
}

[class*=sticky-nav__item--] .en {
  font-family: "tomarik-display", sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 1;
}

@media (max-width: 768px) {
  [class*=sticky-nav__item--] .en {
    font-size: 15px;
  }
}
@media (min-width: 769px) {
  [class*=sticky-nav__item--] .en {
    font-size: 22px;
  }
}
[class*=sticky-nav__item--] .ja {
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 768px) {
  [class*=sticky-nav__item--] .ja {
    display: none;
  }
}
.sticky-nav__item--home a {
  background: #DA3539;
}

.sticky-nav__item--present a {
  background: #E95C6A;
}

.sticky-nav__item--event a {
  background: #EA5533;
}

.sticky-nav__item--concept a {
  background: #ED746D;
}

@media (max-width: 768px) {
  .sticky-nav.is-sticky {
    width: 100vw;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky {
    width: 100vw;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
  }
}
@media (max-width: 768px) {
  .sticky-nav.is-sticky .sticky-nav__list {
    align-items: flex-start;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky .sticky-nav__list {
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] {
    border-top: none;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] {
    border-top: none;
  }
}
@media (max-width: 768px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] a {
    height: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] a {
    height: 60px;
  }
}
@media (hover: hover) and (pointer: fine) and (max-width: 768px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] a:hover {
    height: 50px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--] a:hover {
    height: 70px;
  }
}
@media (max-width: 768px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--]:has(a:hover) {
    border-bottom: 2px solid #383435;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-nav.is-sticky [class*=sticky-nav__item--]:has(a:hover) {
    border-bottom: 3px solid #383435;
  }
}
@media (max-width: 768px) {
  body.page-home .sticky-nav__item--home,
body.page-present .sticky-nav__item--present,
body.page-event .sticky-nav__item--event,
body.page-concept .sticky-nav__item--concept {
    border-bottom: none;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  body.page-home .sticky-nav__item--home,
body.page-present .sticky-nav__item--present,
body.page-event .sticky-nav__item--event,
body.page-concept .sticky-nav__item--concept {
    border-bottom: none;
  }
}
@media (min-width: 1025px) {
  body.page-home .sticky-nav__item--home,
body.page-present .sticky-nav__item--present,
body.page-event .sticky-nav__item--event,
body.page-concept .sticky-nav__item--concept {
    border-right: none;
  }
}
@media (max-width: 1024px) {
  body.page-home .sticky-nav__item--home + *,
body.page-present .sticky-nav__item--present + *,
body.page-event .sticky-nav__item--event + *,
body.page-concept .sticky-nav__item--concept + * {
    border-left: none;
  }
}
body.page-home .sticky-nav__item--home a,
body.page-present .sticky-nav__item--present a,
body.page-event .sticky-nav__item--event a,
body.page-concept .sticky-nav__item--concept a {
  box-sizing: content-box;
  background: #FEF4E8;
  color: #DA3539;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  body.page-home .sticky-nav__item--home a,
body.page-present .sticky-nav__item--present a,
body.page-event .sticky-nav__item--event a,
body.page-concept .sticky-nav__item--concept a {
    height: 60px;
    border-right: 2px solid #383435;
  }
}
@media (min-width: 769px) {
  body.page-home .sticky-nav__item--home a,
body.page-present .sticky-nav__item--present a,
body.page-event .sticky-nav__item--event a,
body.page-concept .sticky-nav__item--concept a {
    height: 90px;
    border-right: 3px solid #383435;
  }
}
@media (max-width: 768px) {
  body.page-home .sticky-nav.is-sticky .sticky-nav__item--home,
body.page-present .sticky-nav.is-sticky .sticky-nav__item--present,
body.page-event .sticky-nav.is-sticky .sticky-nav__item--event,
body.page-concept .sticky-nav.is-sticky .sticky-nav__item--concept {
    border-bottom: 2px solid #383435;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  body.page-home .sticky-nav.is-sticky .sticky-nav__item--home,
body.page-present .sticky-nav.is-sticky .sticky-nav__item--present,
body.page-event .sticky-nav.is-sticky .sticky-nav__item--event,
body.page-concept .sticky-nav.is-sticky .sticky-nav__item--concept {
    border-bottom: 3px solid #383435;
  }
}
@media (max-width: 768px) {
  body.page-home .sticky-nav.is-sticky .sticky-nav__item--home a,
body.page-present .sticky-nav.is-sticky .sticky-nav__item--present a,
body.page-event .sticky-nav.is-sticky .sticky-nav__item--event a,
body.page-concept .sticky-nav.is-sticky .sticky-nav__item--concept a {
    height: 50px;
    border-right: 2px solid #383435;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  body.page-home .sticky-nav.is-sticky .sticky-nav__item--home a,
body.page-present .sticky-nav.is-sticky .sticky-nav__item--present a,
body.page-event .sticky-nav.is-sticky .sticky-nav__item--event a,
body.page-concept .sticky-nav.is-sticky .sticky-nav__item--concept a {
    height: 70px;
    border-right: 3px solid #383435;
  }
}
/* =========================================================
footer
========================================================= */
.page-ft {
  background: #EA5533;
  position: relative;
}

@media (max-width: 768px) {
  .page-ft {
    padding: 40px 0 20px;
  }
}
@media (min-width: 769px) {
  .page-ft {
    padding: 75px 0 30px;
  }
}
.page-ft__img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .page-ft__img {
    width: 301px;
    top: -50px;
  }
}
@media (min-width: 769px) {
  .page-ft__img {
    width: 728px;
    top: -112px;
  }
}
.page-ft__parco {
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .page-ft__parco {
    gap: 17px;
  }
}
@media (min-width: 769px) {
  .page-ft__parco {
    gap: 30px;
  }
}
@media (max-width: 768px) {
  .page-ft__parco .parco {
    width: 120px;
  }
}
@media (min-width: 769px) {
  .page-ft__parco .parco {
    width: 178px;
  }
}
@media (max-width: 768px) {
  .page-ft__copyright {
    width: 227px;
    margin: 20px auto 0;
  }
}
@media (min-width: 769px) {
  .page-ft__copyright {
    width: 310px;
    margin: 40px auto 0;
  }
}