@charset "UTF-8";
/* 
//////////////////////////////////////////////////////////////////////////////////////////
common settings
//////////////////////////////////////////////////////////////////////////////////////////
*/
#Contents {
  background: var(--color-gray);
}

#Contents .main-area {
  overflow-x: visible;
}

#Contents .bredlist {
  margin-bottom: 0;
  /* position: relative;
  border-top: none;
  border-bottom: none; */
}
/* 
#Contents .bredlist.lp::before,
#Contents .bredlist.lp::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background-color: #000;
  pointer-events: none;
}

#Contents .bredlist.lp::before {
  top: 0;
}

#Contents .bredlist.lp::after {
  bottom: 0;
} */

#footer_emmi {
  margin-top: 0;
  padding-top: 0;
}

#em260801SUMMERlimited {
  --pc-width: 1400;
  --sp-width: 750;
  --pc-artboard-width: 460;
  --sp-artboard-width: 750;
  --formula: calc(var(--variable) * var(--ratio));
  --formula_pc: calc(var(--variable) * 1);
}

@media (min-width: 1401px) {
  #em260801SUMMERlimited {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width));
    --variable: 1px;
  }
}

@media (min-width: 768px) and (max-width: 1400px) {
  #em260801SUMMERlimited {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width));
    --variable: calc(100vw / var(--pc-width));
  }
}

@media (max-width: 767px) {
  #em260801SUMMERlimited {
    --ratio: 1;
    --variable: calc(100vw / var(--sp-width));
  }
}

#em260801SUMMERlimited img {
  display: block;
  width: 100%;
  height: auto;
}

#em260801SUMMERlimited h2,
#em260801SUMMERlimited h3,
#em260801SUMMERlimited p,
#em260801SUMMERlimited li {
  margin-block: calc((1em - 1lh) / 2);
}

#em260801SUMMERlimited {
  --yu-gochic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --font-goldenbook: goldenbook, serif;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-gray: #222222;
  font-feature-settings: "palt";
  position: relative;
  width: 100%;
  display: flex;
  background-color: var(--color-white);
}
#em260801SUMMERlimited .sec-set {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(460 * var(--formula_pc));
}
#em260801SUMMERlimited [class*="__credit"] {
  font-family: var(--font-goldenbook);
  color: var(--color-gray);
  font-size: calc(23 * var(--formula));
  line-height: 1.9;
  letter-spacing: 0.025em;
  font-weight: var(--font-regular);
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--formula));
}

#em260801SUMMERlimited [class*="__credit"] li {
  display: flex;
  gap: calc(10 * var(--formula));
}

#em260801SUMMERlimited [class*="__credit"] li span:not(:last-child)::after {
  content: "/";
  margin-left: calc(10 * var(--formula));
}

#em260801SUMMERlimited [class*="__img-cont"] {
  position: relative;
  display: flex;
  flex-direction: column;
}
/* #em260801SUMMERlimited [class*="-obj-"] {
  position: absolute;
  z-index: 5;
  pointer-events: none;
} */
#em260801SUMMERlimited [class*="-mdl-"] {
  z-index: 1;
  background: #ffffff;
}

/* 
//////////////////////////////////////////////////////////////////////////////////////////
layout settings
//////////////////////////////////////////////////////////////////////////////////////////
*/

/* -----------------------------------
  ベース / 共通（またはモバイル向け）
----------------------------------- */
#em260801SUMMERlimited .lp-mv-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  top: 0;
  position: sticky;
  height: 100vh;
  overflow: clip;
  min-width: 0;
}

#em260801SUMMERlimited .visual-wrapper {
  height: 100vh;
  width: 100%; /* fit-contentから100%へ変更し、親要素に対して安定させる */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* space-evenlyから変更：全体を中央に寄せる */
  padding: 0; /* 上下のpaddingがあると100vhから溢れる原因になるため削除推奨 */
}

#em260801SUMMERlimited .mv_title {
  width: calc(581 * var(--formula));
  margin: 0 auto;
}

#em260801SUMMERlimited .visual-list {
  width: calc(695 * var(--formula));
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: calc(10 * var(--formula));
  margin: calc(44 * var(--formula)) auto 0;
}

#em260801SUMMERlimited .visual-list .visual_img {
  width: calc(225 * var(--formula));
  margin: 0 auto;
}

#em260801SUMMERlimited .mv_date {
  width: calc(285 * var(--formula));
  margin: calc(40 * var(--formula)) auto 0; /* モバイル時の余白もここで指定 */
}

/* #em260801SUMMERlimited .lp-mv-01 {
  width: fit-content;
  z-index: 1;
  background: #ffffff;
  height: 85.6svh;
}

#em260801SUMMERlimited .lp-mv-01 img {
  height: 100%;
  width: 100%;
  object-position: top center;
  object-fit: cover;
} */

#em260801SUMMERlimited .lp-main-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: calc(90 * var(--formula)) 0 0 0;
  overflow-x: clip;
  min-width: 0;
}

#em260801SUMMERlimited .sec1 {
  margin: calc(55 * var(--formula)) 0 0 0;
}
#em260801SUMMERlimited .sec1-mdl-01 {
  width: calc(690 * var(--formula));
}

#em260801SUMMERlimited .sec1-mdl-02 {
  width: calc(690 * var(--formula));
  margin: calc(16 * var(--formula)) auto 0;
}

#em260801SUMMERlimited .sec1-obj-01 {
  width: calc(586 * var(--formula));
  margin: calc(86 * var(--formula)) auto 0
}

#em260801SUMMERlimited .sec1-obj-02 {
  width: calc(569 * var(--formula));
  margin: calc(48 * var(--formula)) auto 0;
}

#em260801SUMMERlimited .sec1__credit {
  margin: calc(66 * var(--formula)) auto 0;
  align-items: center;
}

#em260801SUMMERlimited .sec2 {
  margin: calc(160 * var(--formula)) 0 0 0;
}
#em260801SUMMERlimited .sec2-mdl-01 {
  width: calc(590 * var(--formula));
  margin-left: calc(160 * var(--formula));
}
#em260801SUMMERlimited #sec2-slide {
  width: calc(590 * var(--formula));
  overflow: hidden;
}

#em260801SUMMERlimited #sec2-slide .splide__slide {
  width: calc(540 * var(--formula));
}

#em260801SUMMERlimited .sec2-obj-01 {
  width: calc(28 * var(--formula));
  position: absolute;
  left: calc(104 * var(--formula));
  top: calc(0 * var(--formula));
  pointer-events: none;
}

#em260801SUMMERlimited .sec2-obj-02 {
  width: calc(49 * var(--formula));
  position: absolute;
  left: calc(26 * var(--formula));
  top: calc(0 * var(--formula));
  pointer-events: none;
}

#em260801SUMMERlimited .sec2__credit {
  margin: calc(50 * var(--formula)) auto 0;
  align-items: unset;
}

#em260801SUMMERlimited .sec3 {
  margin: calc(160 * var(--formula)) 0 0 0;
}

#em260801SUMMERlimited .sec3__img-cont1 {
  width: calc(630 * var(--formula));
  margin-left: calc(120 * var(--formula));
}

#em260801SUMMERlimited .sec3-mdl-01 {
  width: 100%;
}

#em260801SUMMERlimited .sec3-mdl-02 {
  width: 100%;
  margin-top: calc(15 * var(--formula));
}

#em260801SUMMERlimited .sec3-obj-01 {
  width: calc(463 * var(--formula));
  margin: calc(86 * var(--formula)) auto 0 calc(8 * var(--formula));
}

#em260801SUMMERlimited .sec3-obj-02 {
  width: calc(550 * var(--formula));
  margin: calc(48 * var(--formula)) auto 0  calc(2 * var(--formula));
}

#em260801SUMMERlimited .sec3__credit {
  margin: calc(60 * var(--formula)) auto 0 0;
  align-items: unset;
}

#em260801SUMMERlimited .sec4 {
  margin: calc(160 * var(--formula)) 0 0 0;
}
#em260801SUMMERlimited .sec4-mdl-01 {
  width: calc(630 * var(--formula));
  margin: 0 auto;
}

#em260801SUMMERlimited .sec4-obj-01 {
  width: calc(26 * var(--formula));
  position: absolute;
  left: calc(45 * var(--formula));
  top: calc(-22 * var(--formula));
  pointer-events: none;
  z-index: 2;
}

#em260801SUMMERlimited .sec4-obj-02 {
  width: calc(50 * var(--formula));
  position: absolute;
  left: calc(-36 * var(--formula));
  top: calc(-23 * var(--formula));
  pointer-events: none;
  z-index: 2;
}

#em260801SUMMERlimited .sec4-obj-03 {
  width: calc(50 * var(--formula));
  position: absolute;
  right: calc(-40 * var(--formula));
  bottom: calc(92 * var(--formula));
  pointer-events: none;
  z-index: 2;
}

#em260801SUMMERlimited .sec4__credit {
  margin: calc(50 * var(--formula)) auto 0;
  align-items: center;
}

#em260801SUMMERlimited #sec4-slide {
  position: relative; /* 位置調整の基準 */
  width: calc(630 * var(--formula));
}

#em260801SUMMERlimited #sec4-slide .splide__slide {
  width: calc(630 * var(--formula));
}

/* ページネーション全体の配置（画像右上に配置） */
#em260801SUMMERlimited #sec4-slide .splide__pagination {
  position: absolute;
  top: calc(20 * var(--formula));    /* 上からの位置 */
  right: calc(20 * var(--formula));  /* 右からの位置 */
  left: auto;
  bottom: auto;
  padding: 0;
  gap: calc(12 * var(--formula));     /* ドット同士の間隔 */
  z-index: 2;
}

/* 丸型ドットの共通スタイル（非アクティブ：枠線のみ） */
#em260801SUMMERlimited #sec4-slide .splide__pagination__page {
  width: calc(12 * var(--formula));  /* ドットのサイズ */
  height: calc(12 * var(--formula));
  border-radius: 50%;                /* 正円にする */
  background: transparent;           /* 中を透明に */
  border: 1.5px solid #20207d;       /* 枠線の色と太さ */
  opacity: 1;                        /* 薄くしない */
  padding: 0;
  margin: 0;
  transition: all 0.3s ease;
}

/* アクティブ時のドット（塗りつぶし） */
#em260801SUMMERlimited #sec4-slide .splide__pagination__page.is-active {
  background-color: #20207d;         /* 枠線と同じ色で塗りつぶす */
  transform: scale(1);
}

/* 不要な疑似要素をリセット */
#em260801SUMMERlimited #sec4-slide .splide__pagination__page::before {
  display: none;
}

#em260801SUMMERlimited .sec5 {
  margin: calc(162 * var(--formula)) 0 0 0;
}
#em260801SUMMERlimited .sec5-mdl-01 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
}
#em260801SUMMERlimited #sec5-slide {
  width: calc(750 * var(--formula));
  overflow: hidden;
}

#em260801SUMMERlimited #sec5-slide .splide__slide {
  width: calc(585 * var(--formula));
}

#em260801SUMMERlimited .sec5-obj-01 {
  width: calc(498 * var(--formula));
  margin: calc(86 * var(--formula)) auto 0;
}

#em260801SUMMERlimited .sec5-obj-02 {
  width: calc(587 * var(--formula));
  margin: calc(47 * var(--formula)) auto 0;
}

#em260801SUMMERlimited .sec5__credit {
  margin: calc(65 * var(--formula)) auto 0;
  align-items: center;
}

#em260801SUMMERlimited .lp-footer {
  margin: calc(151 * var(--formula)) 0 calc(174 * var(--formula)) 0;
}

#em260801SUMMERlimited .footer-btn-01 {
  width: calc(640 * var(--formula));
}

#em260801SUMMERlimited .footer__staff-credit {
  font-family: var(--font-goldenbook);
  color: var(--black);
  font-size: calc(22 * var(--formula));
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: var(--font-light);
  margin: calc(132 * var(--formula)) 0 0 0;
  display: flex;
  flex-direction: column;
  gap: calc(26 * var(--formula));
}
@media (max-width: 767px) {
  #em260801SUMMERlimited {
    flex-direction: column;
  }
  #em260801SUMMERlimited .lp-mv-area {
    position: relative;
    height: unset;
  }
  #em260801SUMMERlimited .visual-wrapper {
    height: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(40 * var(--formula)) 0; /* モバイルで必要な場合はここでpaddingを付与 */
  }

  #em260801SUMMERlimited .sec-set {
    width: 100%;
  }
  #em260801SUMMERlimited .lp-main-area {
    margin: calc(62 * var(--formula)) 0 0 0;
  }
  #em260801SUMMERlimited .lp-footer {
    margin: calc(128 * var(--formula)) 0 calc(160 * var(--formula)) 0;
  }
  #em260801SUMMERlimited #sec3-slide .splide__pagination {
    bottom: calc(-26 * var(--formula));
    right: calc(6 * var(--formula));
  }
  /* mv_date の margin は共通側に移動しました */
}

@media (min-width: 768px) {
  #em260801SUMMERlimited .mv_title {
    width: calc(503 * var(--formula_pc));
    margin: calc(20 * var(--formula_pc)) auto 0;
  }
  
  #em260801SUMMERlimited .visual-list {
    width: calc(602 * var(--formula_pc));
    gap: calc(8 * var(--formula_pc));
    /* タイトルと画像リストの間の余白を固定 */
    margin: calc(38 * var(--formula_pc)) auto 0; 
  }
  
  #em260801SUMMERlimited .visual-list .visual_img {
    width: calc(195 * var(--formula_pc));
  }

  #em260801SUMMERlimited .mv_date {
    width: calc(248 * var(--formula_pc));
    /* 画像リストと日付の間の余白を固定 */
    margin: calc(33 * var(--formula_pc)) auto 0; 
  }

  #em260801SUMMERlimited .lp-footer {
    margin: calc(129 * var(--formula_pc)) 0 calc(158 * var(--formula_pc)) 0;
  }
}
/* 
//////////////////////////////////////////////////////////////////////////////////////////
animation settings
//////////////////////////////////////////////////////////////////////////////////////////
*/

.animate-item {
  transition: all 1s ease-out;
  transition-delay: 0.3s;
}
.fade-in {
  opacity: 0;
}
.is-visible.fade-in {
  opacity: 1;
}
.wipe-right {
  clip-path: inset(0 100% 0 0);
}
.is-visible.wipe-right {
  clip-path: inset(0 0 0 0);
}

.slide-up {
  opacity: 0;
  transform: translateY(calc(40 * var(--formula)));
}
.is-visible.slide-up {
  opacity: 1;
  transform: translateY(0);
}

.slide-right {
  opacity: 0;
  transform: translateX(calc(-40 * var(--formula)));
}
.is-visible.slide-right {
  opacity: 1;
  transform: translateX(0);
}
.slide-left {
  opacity: 0;
  transform: translateX(calc(40 * var(--formula)));
}
.is-visible.slide-left {
  opacity: 1;
  transform: translateX(0);
}

.animate-item.delay01 {
  transition-delay: 0.5s;
}
.animate-item.delay02 {
  transition-delay: 0.7s;
}
.animate-item.delay03 {
  transition-delay: 0.9s;
}
.animate-item.delay04 {
  transition-delay: 1.1s;
}
.animate-item.delay05 {
  transition-delay: 1.3s;
}
