@charset "UTF-8";
/* ===================
 オリジナル
==================== */
/* ===================
 MIXIN
==================== */
/* ====================
design SIZE SET
==================== */
/* ====================
header height
==================== */
/*----------------------------------------
	COMMON
-----------------------------------------*/
/* 画面サイズ
===================================*/
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
.c-full {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.c-outer {
  width: 100%;
  max-width: 1280px;
  padding: 0 20px;
}

.c-inner {
  width: 700px;
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 910px) {
  .c-outer {
    padding: 0 calc(15 / 767 * 100vw);
  }
}
.c-link-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 230px;
  height: 38px;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.67;
  font-weight: 700;
  color: #fff;
  background: #3e3a39;
  border-radius: 100vmax;
  -webkit-box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5);
}
.c-link-buy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 150px;
  height: 52px;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  background: #3e3a39;
  border-radius: 20px;
  -webkit-box-shadow: 3px 3px 0 #dcdddd;
          box-shadow: 3px 3px 0 #dcdddd;
}
.c-link-happy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 200px;
  height: 25px;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #fff;
  background: #f1621c;
  border-radius: 20px;
  -webkit-box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.14);
          box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.14);
}
.c-link-happy.is-soon {
  pointer-events: none;
}

@media only screen and (max-width: 910px) {
  .c-link-button {
    width: calc(600 / 767 * 100vw);
    height: calc(100 / 767 * 100vw);
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.02em;
    line-height: 1;
    border-radius: calc(40 / 767 * 100vw);
    -webkit-box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 rgba(0, 0, 0, 0.5);
            box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 rgba(0, 0, 0, 0.5);
  }
  .c-link-buy {
    width: calc(300 / 767 * 100vw);
    height: calc(100 / 767 * 100vw);
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1;
    border-radius: calc(40 / 767 * 100vw);
    -webkit-box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 #dcdddd;
            box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 #dcdddd;
  }
  .c-link-happy {
    width: calc(400 / 767 * 100vw);
    height: calc(50 / 767 * 100vw);
    font-size: calc(25 / 767 * 100vw);
    letter-spacing: 0.02em;
    line-height: 1;
    border-radius: calc(20 / 767 * 100vw);
    -webkit-box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 rgba(0, 0, 0, 0.14);
            box-shadow: calc(6 / 767 * 100vw) calc(6 / 767 * 100vw) 0 rgba(0, 0, 0, 0.14);
  }
}
/* 共通テキスト
-----------------------------------------*/
.c-text-sans {
  font-family: "Open Sans", sans-serif;
}
.c-text-english {
  font-family: "Instrument Serif", serif;
}
.c-text-green {
  color: #197a4c;
  border-color: #197a4c;
}
.c-text-green::after {
  background-color: #197a4c;
}
.c-text-orange {
  color: #f1621c;
  border-color: #f1621c;
}
.c-text-orange::after {
  background-color: #f1621c;
}

/* MODAL
===================================*/
html.is-modal-open,
body.is-modal-open {
  overflow: hidden;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100dvh;
  opacity: 0;
  pointer-events: none;
  z-index: 1000;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
.c-modal.is-open {
  opacity: 1;
  pointer-events: visible;
}
.c-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
}
.c-modal__close {
  position: absolute;
  top: 30px;
  right: 30px;
  display: block;
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 100vmax;
  z-index: 100;
}
.c-modal__close::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #197a4c;
  -webkit-mask-image: url("../img/icon_button_plus.svg");
          mask-image: url("../img/icon_button_plus.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-modal__content {
  position: relative;
  width: 1024px;
  background: #fff;
}
.c-modal-slide__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-modal-slide__visual {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 510px;
  height: 600px;
}
.c-modal-slide__visual * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-modal-slide__text {
  width: calc(100% - 510px);
  padding: 260px 70px 0 60px;
}
.c-modal-slide__number {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
}
.c-modal-slide__number span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  top: -15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 60px;
  height: 60px;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #197a4c;
  background: #fff;
  margin-bottom: -33px;
}
.c-modal-slide__number strong {
  font-size: 32px;
  letter-spacing: 0.08em;
  line-height: 0.81;
  font-weight: 400;
}
.c-modal-slide__number::before, .c-modal-slide__number::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #197a4c;
}
.c-modal-slide__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 15px;
  letter-spacing: 0.03em;
  line-height: 1.47;
  text-align: center;
  padding-top: 25px;
  color: #197a4c;
  border-top: 1px solid #197a4c;
}
.c-modal-slide__name span {
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1.31;
}
.c-modal-slide-credit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 30px;
}
.c-modal-slide-credit__size {
  font-size: 10px;
  letter-spacing: 0.03em;
  line-height: 2;
}
.c-modal-slide-credit__size:nth-of-type(n+2) {
  margin-top: 20px;
}
.c-modal-slide-credit__table {
  font-size: 9px;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: left;
  margin-top: 5px;
}
.c-modal-slide-credit__table td {
  padding-left: 2em;
  font-family: "Open Sans", sans-serif;
}
.c-modal-slide-credit__table small {
  font-size: 0.8em;
}
.c-modal-slide-credit__table a {
  text-decoration: underline;
}
.c-modal-slide .splide img,
.c-modal-slide .splide video {
  width: 100%;
  max-width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-modal-slide .splide__arrow {
  top: 273px;
  width: 24px;
  height: 24px;
}
.c-modal-slide .splide__arrow svg {
  display: none;
}
.c-modal-slide .splide__arrow--prev {
  left: auto;
  right: 108px;
  background: url(../img/slide_prev.svg) no-repeat center center/contain;
}
.c-modal-slide .splide__arrow--next {
  right: 80px;
  background: url(../img/slide_next.svg) no-repeat center center/contain;
}
.c-modal-thumbnail {
  position: absolute;
  top: 105px;
  right: 250px;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  pointer-events: none;
}
.c-modal-thumbnail .splide__list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.c-modal-thumbnail .splide__slide {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 85px;
  height: 100px;
  border: none !important;
  pointer-events: visible;
}
.c-modal-thumbnail .splide__slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
.c-modal-thumbnail .splide__slide img,
.c-modal-thumbnail .splide__slide video {
  width: 85px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-modal-thumbnail .splide__slide.is-active {
  pointer-events: none !important;
}
.c-modal-thumbnail .splide__slide.is-active::before {
  opacity: 1;
  pointer-events: none !important;
}
.c-modal-thumbnail .splide__track {
  overflow: hidden;
}
.c-modal-thumbnail .splide__list {
  -webkit-transform: translateX(0) !important;
          transform: translateX(0) !important;
}
.c-modal-fraction {
  position: absolute;
  top: 268px;
  right: 422px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #197a4c;
}

@media only screen and (max-width: 910px) {
  .c-modal {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-modal__close {
    position: fixed;
    top: calc(30 / 767 * 100vw);
    right: calc(30 / 767 * 100vw);
    width: calc(80 / 767 * 100vw);
    height: calc(80 / 767 * 100vw);
  }
  .c-modal__content {
    width: 100%;
    height: 100dvh;
    overflow: auto;
    padding-bottom: calc(80 / 767 * 100vw);
  }
  .c-modal-slide__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-modal-slide__visual {
    width: 100%;
    height: calc(900 / 767 * 100vw);
  }
  .c-modal-slide__text {
    width: 100%;
    padding: 0;
  }
  .c-modal-slide__number {
    border-top: 1px solid #197a4c;
  }
  .c-modal-slide__number span {
    top: calc(-30 / 767 * 100vw);
    width: calc(150 / 767 * 100vw);
    height: calc(150 / 767 * 100vw);
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    margin: 0 auto calc(-70 / 767 * 100vw);
    border-radius: 100vmax;
  }
  .c-modal-slide__number strong {
    font-size: calc(80 / 767 * 100vw);
    letter-spacing: 0.08em;
    line-height: 1;
  }
  .c-modal-slide__number::before, .c-modal-slide__number::after {
    display: none;
  }
  .c-modal-slide__name {
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.13;
    padding-top: calc(70 / 767 * 100vw);
    color: #197a4c;
    border-top: 1px solid #197a4c;
  }
  .c-modal-slide__name span {
    font-size: calc(25 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.4;
  }
  .c-modal-slide-credit {
    gap: calc(55 / 767 * 100vw);
    margin-top: calc(30 / 767 * 100vw);
    padding-left: calc(55 / 767 * 100vw);
  }
  .c-modal-slide-credit__size {
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.43;
  }
  .c-modal-slide-credit__size:nth-of-type(n+2) {
    margin-top: calc(40 / 767 * 100vw);
  }
  .c-modal-slide-credit__table {
    font-size: calc(21 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 2.71;
    margin-top: calc(5 / 767 * 100vw);
  }
  .c-modal-slide-credit__table td {
    padding-left: 1em;
  }
  .c-modal-slide .splide__arrow {
    top: calc(943 / 767 * 100vw);
    width: calc(50 / 767 * 100vw);
    height: calc(50 / 767 * 100vw);
  }
  .c-modal-slide .splide__arrow--prev {
    right: calc(120 / 767 * 100vw);
  }
  .c-modal-slide .splide__arrow--next {
    right: calc(40 / 767 * 100vw);
  }
  .c-modal-thumbnail {
    display: none !important;
  }
  .c-modal-fraction {
    top: calc(925 / 767 * 100vw);
    width: calc(50 / 767 * 100vw);
    height: calc(50 / 767 * 100vw);
    right: auto;
    left: calc(40 / 767 * 100vw);
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.17;
  }
}
/* =========================================
   Component: Confetti Canvas
========================================= */
.c-confetti {
  position: fixed;
  top: 0;
  left: 0;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 0 !important;
}

.u-inview {
  -webkit-animation: none !important;
          animation: none !important;
}

.u-delay-02 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}
.u-delay-04 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}
.u-delay-05 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}
.u-delay-06 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
}
.u-delay-08 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}
.u-delay-10 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}
.u-delay-12 {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
}
.u-delay-15 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
}
.u-delay-20 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
}

/*===================================
original
===================================*/
.u-anime-bound {
  opacity: 0;
  -webkit-animation: animate-fadeBound 0.8s forwards;
          animation: animate-fadeBound 0.8s forwards;
}

@-webkit-keyframes animate-fadeBound {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes animate-fadeBound {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
/*===================================
filter
===================================*/
.u-blur-in {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation: animate-filter 1.2s 0.2s forwards;
          animation: animate-filter 1.2s 0.2s forwards;
}

@-webkit-keyframes animate-filter {
  to {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
  }
}

@keyframes animate-filter {
  to {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
  }
}
/*===================================
translate
===================================*/
.u-fade-in {
  opacity: 0;
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}
.u-fade-up {
  opacity: 0;
  -webkit-transform: translate(0, 25px);
          transform: translate(0, 25px);
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}
.u-fade-down {
  opacity: 0;
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}
.u-fade-left {
  opacity: 0;
  -webkit-transform: translate(-50px, 0);
          transform: translate(-50px, 0);
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}
.u-fade-right {
  opacity: 0;
  -webkit-transform: translate(50px, 0);
          transform: translate(50px, 0);
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}

.u-zoom-in {
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: animate-translate 0.8s forwards;
          animation: animate-translate 0.8s forwards;
}

.u-role-in {
  opacity: 0;
  -webkit-transform: translate(-150px, 0) rotate(-360deg);
          transform: translate(-150px, 0) rotate(-360deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: animate-translate 1.3s forwards;
          animation: animate-translate 1.3s forwards;
}

@-webkit-keyframes animate-translate {
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes animate-translate {
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
/*===================================
mask
===================================*/
.u-mask-up {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-animation: animate-maskUp 2s ease-out forwards;
          animation: animate-maskUp 2s ease-out forwards;
}
.u-mask-down {
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: bottom;
          mask-position: bottom;
  -webkit-animation: animate-maskDown 2s ease-out forwards;
          animation: animate-maskDown 2s ease-out forwards;
}
@media only screen and (max-width: 910px) {
  .u-mask-down-sp {
    -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
    -webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
            mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
            mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
    -webkit-mask-size: 100% 300%;
            mask-size: 100% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: bottom;
            mask-position: bottom;
    -webkit-animation: animate-maskDown 2s ease-out forwards;
            animation: animate-maskDown 2s ease-out forwards;
  }
}
.u-mask-left {
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to right, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left;
          mask-position: left;
  -webkit-animation: animate-maskLeft 2s ease-out forwards;
          animation: animate-maskLeft 2s ease-out forwards;
}
.u-mask-right {
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to left, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to left, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right;
          mask-position: right;
  -webkit-animation: animate-maskRight 2s ease-out forwards;
          animation: animate-maskRight 2s ease-out forwards;
}

/* アニメーション定義 */
@-webkit-keyframes animate-maskUp {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}
@keyframes animate-maskUp {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}
@-webkit-keyframes animate-maskDown {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
@keyframes animate-maskDown {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
@-webkit-keyframes animate-maskLeft {
  to {
    -webkit-mask-position: right;
            mask-position: right;
  }
}
@keyframes animate-maskLeft {
  to {
    -webkit-mask-position: right;
            mask-position: right;
  }
}
@-webkit-keyframes animate-maskRight {
  to {
    -webkit-mask-position: left;
            mask-position: left;
  }
}
@keyframes animate-maskRight {
  to {
    -webkit-mask-position: left;
            mask-position: left;
  }
}
/*===================================
回転
===================================*/
.rotateX {
  -webkit-animation: animate-rotateX 8s forwards;
          animation: animate-rotateX 8s forwards;
}

.rotateXcenter {
  -webkit-animation: animate-rotateX 8s forwards;
          animation: animate-rotateX 8s forwards;
}

@-webkit-keyframes animate-rotateX {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes animate-rotateX {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes animate-rotateXcenter {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes animate-rotateXcenter {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
/*==================================================
スーッ
===================================*/
.slideIn {
  -webkit-animation: animate-slideIn 0.4s linear forwards;
          animation: animate-slideIn 0.4s linear forwards;
}

@-webkit-keyframes animate-slideIn {
  from {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes animate-slideIn {
  from {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
/*==================================================
滑らかに変形して出現
===================================*/
.smooth {
  -webkit-animation: animate-smooth 1s forwards;
          animation: animate-smooth 1s forwards;
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
}

@-webkit-keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}

@keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
#early-summer2026 {
  width: 1024px;
  font-family: dnp-shuei-gothic-kin-std, sans-serif;
  font-weight: 400;
  margin: 0 auto;
  padding-top: 90px;
  overflow: hidden;
}
#early-summer2026 .c-outer {
  padding: 0 30px;
}
#early-summer2026 .is-sp {
  display: none !important;
}
#early-summer2026 .is-soon {
  display: none !important;
}
#early-summer2026 .is-coming {
  position: relative;
  text-decoration: none !important;
  pointer-events: none !important;
}
#early-summer2026 .is-coming::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 21px;
  height: 10px;
  background: url(../img/icon_coming.svg) no-repeat center/contain;
  -webkit-transform: translate(-110%, -50%);
          transform: translate(-110%, -50%);
}
#early-summer2026 .p-page-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  pointer-events: none;
}
#early-summer2026 .p-page-header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1030px;
  height: 90px;
  margin: 0 auto;
}
#early-summer2026 .p-page-header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 200px;
  margin: 0 calc(8 / 767 * 100vw);
  pointer-events: visible;
}
#early-summer2026 .p-page-header__hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 50px;
  height: 10px;
  background: none;
  border: none;
  border-radius: none;
  pointer-events: visible;
}
#early-summer2026 .p-page-header__hamburger span {
  display: block;
  width: 100%;
  height: 1px;
  background: #000000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#early-summer2026 .p-page-header__hamburger.is-open span:nth-of-type(1) {
  -webkit-transform: translateY(5px) rotate(20deg);
          transform: translateY(5px) rotate(20deg);
}
#early-summer2026 .p-page-header__hamburger.is-open span:nth-of-type(2) {
  -webkit-transform: translateY(-5px) rotate(-20deg);
          transform: translateY(-5px) rotate(-20deg);
}
#early-summer2026 .p-page-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  -webkit-transform: translateY(-101%);
          transform: translateY(-101%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 2;
}
#early-summer2026 .p-page-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  z-index: 2;
}
#early-summer2026 .p-page-menu-overlay.is-open {
  opacity: 1;
  pointer-events: visible;
}
#early-summer2026 .p-page-menu__wrap {
  position: relative;
  width: 1024px;
  margin: 0 auto;
  padding-top: 135px;
  padding-bottom: 35px;
  background: #fff;
  z-index: 1;
}
#early-summer2026 .p-page-menu__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 25px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin: 0 auto;
  padding: 0 0.2em;
  color: #197a4c;
  border-bottom: 1px solid #197a4c;
}
#early-summer2026 .p-page-menu__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  margin-top: 70px;
}
#early-summer2026 .p-page-menu__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  width: 100px;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1;
  text-align: center;
  color: #197a4c;
}
#early-summer2026 .p-page-menu__button span {
  font-size: 10px;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-top: 5px;
}
#early-summer2026 .p-page-menu__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-size: 8px;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  margin-top: 77px;
}
#early-summer2026 .p-page-menu__sns dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 18px;
}
#early-summer2026 .p-page-menu__sns img {
  width: 24px;
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
#early-summer2026 .p-page-menu__copy {
  font-size: 8px;
  letter-spacing: 0.03em;
  line-height: 1;
  text-align: center;
  margin-top: 20px;
}
#early-summer2026 .p-page-menu.is-open {
  -webkit-transform: none;
          transform: none;
}
#early-summer2026 .p-page-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
}
#early-summer2026 .p-page-links__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8em;
  font-size: 15px;
  letter-spacing: 0.03em;
  line-height: 3.67;
}
#early-summer2026 .p-page-links__vol {
  padding-bottom: 1px;
}
#early-summer2026 .p-page-hero {
  position: relative;
}
#early-summer2026 .p-page-hero__title {
  position: absolute;
  top: 50px;
  left: 80px;
  width: 300px;
}
#early-summer2026 .p-page-hero__lead {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.29;
  text-align: center;
  font-weight: 500;
  margin-top: 120px;
}
#early-summer2026 .p-page-item {
  position: relative;
  max-width: 767px;
  margin: 135px auto 0;
}
#early-summer2026 .p-page-item__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
#early-summer2026 .p-page-item__number span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  top: -35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 130px;
  height: 130px;
  font-size: 20px;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #197a4c;
  background: #fff;
  margin-bottom: -35px;
  border-radius: 100vmax;
}
#early-summer2026 .p-page-item__number strong {
  font-size: 60px;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
}
#early-summer2026 .p-page-item__number::before, #early-summer2026 .p-page-item__number::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #197a4c;
}
#early-summer2026 .p-page-item__lead {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.45;
  text-align: center;
  margin-top: 16px;
}
#early-summer2026 .p-page-item__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  font-size: 30px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 20px;
}
#early-summer2026 .p-page-item__name span {
  font-size: 25px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #197a4c;
}
#early-summer2026 .p-page-item__slide {
  width: 500px;
  margin: 50px auto 0;
  padding-bottom: 55px;
}
#early-summer2026 .p-page-item__slide .splide__slide {
  cursor: pointer;
}
#early-summer2026 .p-page-item__slide .splide__pagination {
  bottom: 25px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  padding: 0;
}
#early-summer2026 .p-page-item__slide .splide__pagination__page {
  margin: 0;
  -webkit-transform: scale(1) !important;
          transform: scale(1) !important;
  width: 30px;
  height: 8px;
  border-radius: 100vmax;
}
#early-summer2026 .p-page-item__slide .splide__pagination__page.is-active {
  background-color: #197a4c !important;
}
#early-summer2026 .p-page-item__slide img,
#early-summer2026 .p-page-item__slide video {
  width: 100%;
  height: 750px;
  -o-object-fit: cover;
     object-fit: cover;
}
#early-summer2026 .p-page-item__more {
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 30px;
  letter-spacing: 0.03em;
  line-height: 1.17;
  border-bottom: 1px solid #000;
}
#early-summer2026 .p-page-item__more::after {
  content: "";
  position: absolute;
  top: 60%;
  right: -25px;
  display: block;
  width: 16px;
  height: 16px;
  background-color: #000;
  -webkit-mask-image: url("../img/icon_button_plus.svg");
          mask-image: url("../img/icon_button_plus.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#early-summer2026 .p-page-item__content {
  position: relative;
  width: 700px;
  margin: 75px auto 0;
}
#early-summer2026 .p-page-item__text {
  position: absolute;
  top: -25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 232px;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 2.31;
  text-align: center;
  font-weight: 500;
}
#early-summer2026 .p-page-item__text p span {
  position: relative;
}
#early-summer2026 .p-page-item__text p span::after {
  content: "";
  position: absolute;
  bottom: -0.5em;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #fbb916;
}
#early-summer2026 .p-page-item__text--01bottom, #early-summer2026 .p-page-item__text--02bottom, #early-summer2026 .p-page-item__text--03bottom, #early-summer2026 .p-page-item__text--04bottom, #early-summer2026 .p-page-item__text--05bottom, #early-summer2026 .p-page-item__text--06bottom {
  right: 0;
}
#early-summer2026 .p-page-item__icon {
  width: 82px;
}
#early-summer2026 .p-page-item__circle {
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
#early-summer2026 .p-page-item__circle img {
  display: block;
  width: 65px;
}
#early-summer2026 .p-page-item__buy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 500px;
  margin: 20px auto 0;
  font-size: 17px;
  letter-spacing: 0.05em;
  line-height: 1.65;
  font-width: 500;
}
#early-summer2026 .p-page-item__buy span {
  font-weight: 400;
}
#early-summer2026 .p-page-item__buy small {
  font-size: 0.6em;
}
#early-summer2026 .p-page-item__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 45px;
  margin-top: 25px;
}
#early-summer2026 .p-page-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 182px;
  font-size: 20px;
  letter-spacing: 0.03em;
  line-height: 1.75;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
#early-summer2026 .p-page-item__link::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url("../img/icon_button_plus.svg");
          mask-image: url("../img/icon_button_plus.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
#early-summer2026 .p-page-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 95px;
}
#early-summer2026 .p-page-footer-happy {
  position: relative;
  width: 50%;
}
#early-summer2026 .p-page-footer-happy__text {
  position: absolute;
  top: 47px;
  left: 66px;
  display: block;
  width: 203px;
}
#early-summer2026 .p-page-footer-happy__bavk {
  display: block;
}
#early-summer2026 .p-page-footer-happy__links {
  position: absolute;
  bottom: 60px;
  left: 66px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
#early-summer2026 .p-page-footer-happy__note {
  color: #f1621c;
  font-size: 13px;
  letter-spacing: 0.08em;
  line-height: 3.46;
}
#early-summer2026 .p-page-footer-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 50%;
  background-color: #d6e7e5;
}
#early-summer2026 .p-page-footer-links__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  gap: 40px;
  text-align: center;
}
#early-summer2026 .p-page-footer-links__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.03em;
  line-height: 1.67;
  font-weight: 600;
}
#early-summer2026 .p-page-footer-links__block a {
  font-size: 16px !important;
  font-weight: 400 !important;
  padding-top: 2px;
}
#early-summer2026 .p-page-footer-links__official {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-size: 8px;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 600;
  text-align: center;
}
#early-summer2026 .p-page-footer-links__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 18px;
}
#early-summer2026 .p-page-footer-links__sns img {
  width: 24px;
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
#early-summer2026 .p-page-footer-links__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  background-color: #fff;
}
#early-summer2026 .p-page-footer-links__logo {
  width: 150px;
}
#early-summer2026 .p-page-footer-links__text {
  font-size: 8px;
  letter-spacing: 0.03em;
  line-height: 1;
  padding-top: 1em;
}

@media only screen and (max-width: 910px) {
  #early-summer2026 {
    width: 100%;
    padding-top: calc(150 / 767 * 100vw);
  }
  #early-summer2026 .c-outer {
    padding: 0 calc(30 / 767 * 100vw);
  }
  #early-summer2026 .is-pc {
    display: none !important;
  }
  #early-summer2026 .is-sp {
    display: block !important;
  }
  #early-summer2026 .is-coming::before {
    width: calc(38 / 767 * 100vw);
    height: calc(18 / 767 * 100vw);
    background: url(../img/icon_coming_sp.svg) no-repeat center/contain;
  }
  #early-summer2026 .p-page-header__wrap {
    width: 100%;
    height: calc(110 / 767 * 100vw);
  }
  #early-summer2026 .p-page-header__logo {
    width: calc(280 / 767 * 100vw);
    margin: 0;
  }
  #early-summer2026 .p-page-header__hamburger {
    width: calc(100 / 767 * 100vw);
    height: calc(20 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__wrap {
    width: 100%;
    padding-top: calc(135 / 767 * 100vw);
    padding-bottom: calc(35 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__title {
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.18;
  }
  #early-summer2026 .p-page-menu__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(30 / 767 * 100vw);
    margin-top: calc(45 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: calc(5 / 767 * 100vw);
    width: calc(180 / 767 * 100vw);
    font-size: 0;
  }
  #early-summer2026 .p-page-menu__button span {
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    margin-top: calc(5 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__sns {
    gap: calc(20 / 767 * 100vw);
    font-size: calc(18 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    margin: calc(155 / 767 * 100vw) 0 calc(0 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__sns dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(32 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__sns dd img {
    width: calc(34 / 767 * 100vw);
    height: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-menu__copy {
    font-size: calc(18 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    padding-top: 0;
  }
  #early-summer2026 .p-page-links {
    gap: calc(40 / 767 * 100vw);
  }
  #early-summer2026 .p-page-links__button {
    gap: 0.5em;
    font-size: calc(20 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.5;
  }
  #early-summer2026 .p-page-links__button .c-text-english {
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
  }
  #early-summer2026 .p-page-hero {
    margin-top: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-hero__title {
    top: calc(65 / 767 * 100vw);
    left: calc(50% - 200 / 767 * 100vw);
    width: calc(400 / 767 * 100vw);
  }
  #early-summer2026 .p-page-hero__lead {
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.73;
    margin-top: calc(88 / 767 * 100vw);
  }
  #early-summer2026 .p-page-hero__text {
    margin-top: calc(20 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item {
    margin: calc(155 / 767 * 100vw) auto 0;
  }
  #early-summer2026 .p-page-item:nth-of-type(n+2) {
    margin-top: calc(170 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__number {
    gap: calc(20 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__number span {
    top: calc(-25 / 767 * 100vw);
    width: calc(130 / 767 * 100vw);
    height: calc(130 / 767 * 100vw);
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    margin-bottom: calc(-50 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__number strong {
    font-size: calc(80 / 767 * 100vw);
    letter-spacing: 0.08em;
    line-height: 1;
  }
  #early-summer2026 .p-page-item__lead {
    font-size: calc(27 / 767 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin-top: calc(60 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(16 / 767 * 100vw);
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: calc(50 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__name span {
    font-size: calc(33 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.06;
  }
  #early-summer2026 .p-page-item__slide {
    width: calc(600 / 767 * 100vw);
    margin: calc(35 / 767 * 100vw) auto 0;
    padding-bottom: calc(55 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__slide .splide__track {
    overflow: visible;
  }
  #early-summer2026 .p-page-item__slide .splide__pagination {
    bottom: calc(15 / 767 * 100vw);
    right: calc(-45 / 767 * 100vw);
    gap: calc(15 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__slide .splide__pagination__page {
    width: calc(70 / 767 * 100vw);
    height: calc(10 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__slide img,
  #early-summer2026 .p-page-item__slide video {
    width: 100%;
    height: calc(840 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__more {
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.13;
    margin-left: calc(-45 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__more::after {
    top: 60%;
    right: calc(-45 / 767 * 100vw);
    width: calc(30 / 767 * 100vw);
    height: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__content {
    width: 100%;
    margin: calc(200 / 767 * 100vw) auto;
  }
  #early-summer2026 .p-page-item__text {
    position: absolute;
    top: calc(-95 / 767 * 100vw);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(25 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.8;
  }
  #early-summer2026 .p-page-item__text p {
    position: absolute;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  #early-summer2026 .p-page-item__text p span {
    position: relative;
  }
  #early-summer2026 .p-page-item__text p span::after {
    content: "";
    position: absolute;
    bottom: -0.5em;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fbb916;
  }
  #early-summer2026 .p-page-item__text--01top, #early-summer2026 .p-page-item__text--02top, #early-summer2026 .p-page-item__text--03top, #early-summer2026 .p-page-item__text--04top, #early-summer2026 .p-page-item__text--05top, #early-summer2026 .p-page-item__text--06top {
    left: 25px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: calc(25 / 767 * 100vw);
    text-align: left;
  }
  #early-summer2026 .p-page-item__text--01top p, #early-summer2026 .p-page-item__text--02top p, #early-summer2026 .p-page-item__text--03top p, #early-summer2026 .p-page-item__text--04top p, #early-summer2026 .p-page-item__text--05top p, #early-summer2026 .p-page-item__text--06top p {
    top: calc(-20 / 767 * 100vw);
    left: calc(180 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--01bottom, #early-summer2026 .p-page-item__text--02bottom, #early-summer2026 .p-page-item__text--03bottom, #early-summer2026 .p-page-item__text--04bottom, #early-summer2026 .p-page-item__text--05bottom, #early-summer2026 .p-page-item__text--06bottom {
    top: auto;
    bottom: -35px;
    right: 20px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: calc(25 / 767 * 100vw);
    text-align: left;
  }
  #early-summer2026 .p-page-item__text--01bottom p, #early-summer2026 .p-page-item__text--02bottom p, #early-summer2026 .p-page-item__text--03bottom p, #early-summer2026 .p-page-item__text--04bottom p, #early-summer2026 .p-page-item__text--05bottom p, #early-summer2026 .p-page-item__text--06bottom p {
    top: calc(85 / 767 * 100vw);
    left: calc(-120 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--02bottom {
    bottom: -25px;
  }
  #early-summer2026 .p-page-item__text--02bottom p {
    top: calc(95 / 767 * 100vw);
    left: calc(-200 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--03bottom p {
    top: calc(75 / 767 * 100vw);
    left: calc(-230 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--04bottom p {
    top: calc(75 / 767 * 100vw);
    left: calc(-270 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--05bottom p {
    top: calc(85 / 767 * 100vw);
    left: calc(-200 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__text--06bottom p {
    top: calc(75 / 767 * 100vw);
    left: calc(-240 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__icon {
    width: calc(165 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__circle {
    left: auto;
    right: calc(25 / 767 * 100vw);
    bottom: calc(-320 / 767 * 100vw);
    gap: calc(0 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__circle img {
    width: calc(130 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__circle img:nth-of-type(n+2) {
    margin-left: calc(-20 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__buy {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(40 / 767 * 100vw);
    width: calc(700 / 767 * 100vw);
    margin: calc(20 / 767 * 100vw) auto 0;
    font-size: calc(30 / 767 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.83;
  }
  #early-summer2026 .p-page-item__buy a {
    margin: 0 auto;
  }
  #early-summer2026 .p-page-item__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(45 / 767 * 100vw);
    margin-top: calc(-70 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__link {
    width: calc(324 / 767 * 100vw);
    font-size: calc(40 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.75;
    margin-bottom: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-item__link::after {
    width: calc(30 / 767 * 100vw);
    height: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: calc(100 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-happy {
    width: 100%;
  }
  #early-summer2026 .p-page-footer-happy__text {
    top: calc(65 / 767 * 100vw);
    left: calc(65 / 767 * 100vw);
    width: calc(350 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-happy__links {
    position: absolute;
    bottom: calc(80 / 767 * 100vw);
    left: calc(50% - 350 / 767 * 100vw);
    width: calc(700 / 767 * 100vw);
    gap: calc(16 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-happy__links a {
    margin: 0 auto;
  }
  #early-summer2026 .p-page-footer-happy__note {
    font-size: calc(20 / 767 * 100vw);
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-align: right;
  }
  #early-summer2026 .p-page-footer-links {
    width: 100%;
    padding: calc(100 / 767 * 100vw) 0;
  }
  #early-summer2026 .p-page-footer-links__wrap {
    gap: calc(40 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__block {
    gap: calc(24 / 767 * 100vw);
    font-size: calc(25 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.6;
  }
  #early-summer2026 .p-page-footer-links__block a {
    font-size: calc(40 / 767 * 100vw) !important;
  }
  #early-summer2026 .p-page-footer-links__official {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(20 / 767 * 100vw);
    font-size: calc(18 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    margin: calc(55 / 767 * 100vw) 0 calc(15 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(32 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__sns img {
    width: calc(34 / 767 * 100vw);
    height: calc(30 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__copy {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
    height: auto;
    padding: calc(20 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__logo {
    display: block;
    width: calc(280 / 767 * 100vw);
  }
  #early-summer2026 .p-page-footer-links__text {
    font-size: calc(18 / 767 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1;
    padding-top: 0.5em;
  }
  #item03 .p-page-item__circle,
  #item04 .p-page-item__circle {
    bottom: calc(-370 / 767 * 100vw);
  }
}