@charset "UTF-8";

/* ==========================================
   Root & Reset
   ========================================== */
:root {
  --lpSetSize: calc(100vw / 750);
  --color-sec01: #F4EDF0;
  --color-sec02: #DEE4F2;
  --color-sec03: #EDE1EB;
}

/* ---------- 768px 〜 1399px：等比縮小 ---------- */
@media screen and (min-width: 768px) {
  :root {
    --pcSetSize: calc(100vw / 1400);
    --lpSetSize: calc(40vw / 750); /* 560px * (100vw / 1400) / 750 ＝ 40vw / 750 */
  }
}

/* ---------- 1400px 以上：1400px基準で完全固定 ---------- */
@media screen and (min-width: 1400px) {
  :root {
    --pcSetSize: 1px; /* 1px単位を持たせることで calc(560 * 1px) = 560px になる */
    --lpSetSize: calc(560px / 750); /* 約 0.746667px で完全固定 */
  }
}

.l-footer {
  padding: 0;
}
.pc-footer {
  margin: 0;
}

/* ==========================================
   共通ヘッダー・フッターの背景色保護
   ========================================== */
.l-header,
.l-footer,
.pc-header,
.pc-header-main,
.pc-header-bar {
  background-color: #ffffff !important;
  position: relative;
  z-index: 100;
}

/* ==========================================
   .l-container 配下のみに適用するスタイル
   ========================================== */
.l-container {
  overflow-x: clip;
  width: 100%;
}

/* SP時はPCサイド非表示 */
.l-container .pc-side {
  display: none !important;
}

.l-container .lp-container {
  width: 100%;
  margin: 0 auto;
  background-color: #ffffff;
  overflow-x: clip; 
  transition: background-color 0.5s ease;
}

.l-container .lp-main {
  width: 100%;
  overflow-x: clip; /* position: sticky を保持しつつ横溢れをカット */
}

/* ==========================================
   クリック可能要素（ホバーアニメーション）
   ========================================== */
.l-container a,
.movie-btn-toggle,
.pagetop,
.sec__box {
  transition: opacity 0.3s ease;
  cursor: pointer;
}

.l-container a:hover,
.movie-btn-toggle:hover,
.pagetop:hover,
.sec__box:hover {
  opacity: 0.7;
}

/* ==========================================
   アニメーション共通（Hero / Fade Up / Wipe）
   ========================================== */

/* Hero アニメーション初期スタイル */
.l-container .sec-hero .hero-bg-wrap {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}
.l-container .sec-hero .hero-bg-wrap.is-animated {
  opacity: 1;
  transform: translateY(0);
}

.l-container .sec-hero .hero-txt-wrap {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.l-container .sec-hero .hero-txt-wrap.is-animated {
  opacity: 1;
  transform: translateY(0);
}

/* フェードアップ（下から上へ昇りつつフェードイン） */
.l-container .fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.l-container .fade-up.is-animated {
  opacity: 1;
  transform: none !important; /* position: sticky の干渉を防ぐためtransformを解除 */
}

/* ワイプ（右から左へ開く） */
.l-container .wipe-rl {
  clip-path: inset(0 0 0 100%);
  transition: clip-path 1.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.l-container .wipe-rl.is-animated {
  clip-path: inset(0);
}

/* ワイプ（左から右へ開く） */
.l-container .wipe-lr {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.l-container .wipe-lr.is-animated {
  clip-path: inset(0);
}

/* ページトップへ戻るボタン */
/* .pagetop {
  position: fixed;
  bottom: calc(30 * var(--lpSetSize));
  right: calc(30 * var(--lpSetSize));
  width: calc(90 * var(--lpSetSize));
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  cursor: pointer;
}
.pagetop.is-show {
  opacity: 1;
  visibility: visible;
}
.pagetop img {
  width: 100%;
  height: auto;
  display: block;
} */

@media screen and (min-width: 768px) {
  .pagetop {
    bottom: calc(30 * var(--pcSetSize));
    right: calc(30 * var(--pcSetSize));
    width: calc(60 * var(--pcSetSize));
  }
}

/* smooth アニメーション */
.l-container .smooth {
  display: inline-block;
  line-height: 1;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}

.l-container .smooth-rl { clip-path: inset(0 0 0 100%); }
.l-container .smooth-lr { clip-path: inset(0 100% 0 0); }
.l-container .smooth.is-animated { clip-path: inset(0); }

/* タイトル共通 */
.l-container .sec-title-wrap {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.l-container .title-line {
  position: relative;
  width: 100%;
  text-align: center;
}

/* クレジット ＆ オーバレイ */
.l-container .sec__box { position: relative; }

.l-container .sec__box::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  background-color: rgba(255, 255, 255, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.l-container .sec__credit {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
  pointer-events: none;
  transition: opacity 0.3s ease;
  font-family: "Noto Sans JP", "noto-sans-cjk-jp", sans-serif;
  font-size: calc(23 * var(--lpSetSize));
  font-weight: 400;
  font-style: normal;
  line-height: calc(42 / 23);
  letter-spacing: 0;
  color: #000000;
  text-align: center;
  width: 80%;
}

.l-container .sec__credit ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.l-container .sec__credit li {
  list-style: none;
}

.l-container .sec__box.clicked::after { opacity: 1; }
.l-container .sec__box.clicked .sec__credit { opacity: 1; pointer-events: auto; }

/* クレジット指定箇所の空行挿入 */
.l-container .credit-05 .item:nth-child(2),
.l-container .credit-14 .item:nth-child(5),
.l-container .credit-21 .item:nth-child(1),
.l-container .credit-24 .item:nth-child(3),
.l-container .credit-27 .item:nth-child(1),
.l-container .credit-30 .item:nth-child(1),
.l-container .credit-40 .item:nth-child(1),
.l-container .credit-42 .item:nth-child(1),
.l-container .credit-45 .item:nth-child(2) {
  margin-bottom: 1em !important;
}

/* 横スライド共通設定 */
.l-container .horizontal_scroll {
  --sticky-container-height: 200vh;
  height: var(--sticky-container-height);
  min-height: 200vh;
  box-sizing: border-box;
  position: relative;
  width: 100%;
}

.l-container .horizontal_scroll .sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  min-height: 100vh;
  width: 100%;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .l-container .horizontal_scroll .sticky {
    max-height: calc(1000 * var(--lpSetSize));
  }
}

.l-container .horizontal_scroll .scroller {
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: calc(100% - calc(40 * var(--lpSetSize)));
  margin: 0 auto;
}

.l-container .horizontal_scroll .scroller.nobar {
  overflow: hidden;
}

.l-container .horizontal_scroll .card-box {
  flex: 0 0 auto;
  width: auto;
  box-sizing: border-box;
}

.l-container .horizontal_scroll .sec__img,
.l-container .horizontal_scroll .sec__img a {
  width: auto;
  display: block;
}

.l-container .horizontal_scroll .sec__img img {
  width: auto;
  height: auto;
  max-height: none !important;
  display: block;
  margin: 0;
}

.l-container .overlap-txt {
  position: absolute;
  z-index: 30;
  pointer-events: none;
}

.l-container .overlap-txt img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.l-container .single-container {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.l-container .single-container .sec__img {
  margin: 0 auto !important;
}

.l-container .single-container .sec__img img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
}

/* ==========================================
   個別ブロック設定エリア（01〜48個別調整用）
   ========================================== */

/* ---------- Block 01 & 02 (横スライド) ---------- */
.l-container .wrapper_01_02 {
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: calc(3 * var(--lpSetSize)) !important;
}
.l-container .wrapper_01_02 .scroller {
  width: calc(600 * var(--lpSetSize)) !important;
  margin-top: calc(40 * var(--lpSetSize)) !important;
}
.l-container .wrapper_01_02 .sec__img img {
  height: calc(800 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-01 { margin: 0 auto 0 !important; }
.l-container .img-wrap-02 { margin: 0 auto 0 !important; }

/* ---------- Block 03 & 04 (横スライド) ---------- */
.l-container .wrapper_03_04 {
  margin-top: calc(-135 * var(--lpSetSize)) !important;
  margin-left: calc(121 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_03_04 .scroller {
  width: calc(506 * var(--lpSetSize)) !important;
}
.l-container .wrapper_03_04 .sec__img img {
  height: calc(670 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-03 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-04 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 05 (単一画像) ---------- */
.l-container .wrapper_05 {
  margin: calc(-246 * var(--lpSetSize)) auto 0 calc(-4 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-05 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 06 & 07 (横スライド) ---------- */
.l-container .wrapper_06_07 {
  margin-top: calc(-173 * var(--lpSetSize)) !important;
  margin-left: calc(-123 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_06_07 .scroller {
  width: calc(504 * var(--lpSetSize)) !important;
}
.l-container .wrapper_06_07 .sec__img img {
  height: calc(670 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-06 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-07 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 08 (単一画像) ---------- */
.l-container .wrapper_08 {
  margin: calc(-248 * var(--lpSetSize)) auto calc(331 * var(--lpSetSize)) calc(121 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-08 {
  width: calc(510 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 09 (単一画像) ---------- */
.l-container .wrapper_09 {
  margin: calc(-247 * var(--lpSetSize)) auto calc(-251 * var(--lpSetSize)) calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-09 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 10 (単一画像) ---------- */
.l-container .wrapper_10 {
  margin: calc(393 * var(--lpSetSize)) auto 0 calc(-120 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-10 {
  width: calc(509 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 11 (単一画像) ---------- */
.l-container .wrapper_11 {
  margin: calc(96 * var(--lpSetSize)) auto calc(96 * var(--lpSetSize)) calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-11 {
  width: calc(660 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 12 & 13 (横スライド) ---------- */
.l-container .wrapper_12_13 {
  margin-top: calc(-276 * var(--lpSetSize)) !important;
  margin-left: calc(124 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_12_13 .scroller {
  width: calc(510 * var(--lpSetSize)) !important;
}
.l-container .wrapper_12_13 .sec__img img {
  height: calc(670 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-12 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-13 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 14 (単一画像) ---------- */
.l-container .wrapper_14 {
  margin: calc(-251 * var(--lpSetSize)) auto 0 calc(-2 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-14 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 15 & 16 (横スライド) ---------- */
.l-container .wrapper_15_16 {
  margin-top: calc(-256 * var(--lpSetSize)) !important;
  margin-left: calc(-4 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_15_16 .scroller {
  width: calc(600 * var(--lpSetSize)) !important;
}
.l-container .wrapper_15_16 .sec__img img {
  height: calc(544 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-15 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-16 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 17 & 18 (横スライド) ---------- */
.l-container .wrapper_17_18 {
  margin-top: calc(-540 * var(--lpSetSize)) !important;
  margin-left: calc(123 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_17_18 .scroller {
  width: calc(506 * var(--lpSetSize)) !important;
}
.l-container .wrapper_17_18 .sec__img img {
  height: calc(666 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-17 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-18 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 19 (単一画像) ---------- */
.l-container .wrapper_19 {
  margin: calc(-248 * var(--lpSetSize)) auto 0 calc(-121 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-19 {
  width: calc(509 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 20 (単一画像) ---------- */
.l-container .wrapper_20 {
  margin: calc(79 * var(--lpSetSize)) auto calc(79 * var(--lpSetSize)) calc(1 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-20 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 21 (単一画像) ---------- */
.l-container .wrapper_21 {
  margin: calc(42 * var(--lpSetSize)) auto calc(42 * var(--lpSetSize)) calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-21 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 22 & 23 (横スライド) ---------- */
.l-container .wrapper_22_23 {
  margin-top: calc(-174 * var(--lpSetSize)) !important;
  margin-left: calc(121 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_22_23 .scroller {
  width: calc(508 * var(--lpSetSize)) !important;
}
.l-container .wrapper_22_23 .sec__img img {
  height: calc(670 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-22 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-23 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 24 (単一画像) ---------- */
.l-container .wrapper_24 {
  margin: calc(-248 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-24 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 25 & 26 (横スライド) ---------- */
.l-container .wrapper_25_26 {
  margin-top: calc(-174 * var(--lpSetSize)) !important;
  margin-left: calc(-119 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_25_26 .scroller {
  width: calc(512 * var(--lpSetSize)) !important;
}
.l-container .wrapper_25_26 .sec__img img {
  height: calc(680 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-25 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-26 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 27 (単一画像) ---------- */
.l-container .wrapper_27 {
  margin: calc(-252 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-27 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 28 (単一画像) ---------- */
.l-container .wrapper_28 {
  margin: calc(152 * var(--lpSetSize)) auto 0 calc(120 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-28 {
  width: calc(509 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 29 (単一画像) ---------- */
.l-container .wrapper_29 {
  margin: calc(81 * var(--lpSetSize)) auto 0 calc(-120 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-29 {
  width: calc(510 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 30 & 31 (横スライド) ---------- */
.l-container .wrapper_30_31 {
  margin-top: calc(173 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_30_31 .scroller {
  width: calc(600 * var(--lpSetSize)) !important;
}
.l-container .wrapper_30_31 .sec__img img {
  height: calc(866 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-30 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-31 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 32 (単一画像) ---------- */
.l-container .wrapper_32 {
  margin: calc(0 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-32 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 33 & 34 (横スライド) ---------- */
.l-container .wrapper_33_34 {
  margin-top: calc(-165 * var(--lpSetSize)) !important;
  margin-left: calc(121 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_33_34 .scroller {
  width: calc(508 * var(--lpSetSize)) !important;
}
.l-container .wrapper_33_34 .sec__img img {
  height: calc(668 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-33 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-34 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 35 & 36 (横スライド) ---------- */
.l-container .wrapper_35_36 {
  margin-top: calc(-540 * var(--lpSetSize)) !important;
  margin-left: calc(-123 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_35_36 .scroller {
  width: calc(510 * var(--lpSetSize)) !important;
}
.l-container .wrapper_35_36 .sec__img img {
  height: calc(668 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-35 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-36 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 37 & 38 (横スライド) ---------- */
.l-container .wrapper_37_38 {
  margin-top: calc(-540 * var(--lpSetSize)) !important;
  margin-left: calc(121 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_37_38 .scroller {
  width: calc(508 * var(--lpSetSize)) !important;
}
.l-container .wrapper_37_38 .sec__img img {
  height: calc(668 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-37 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-38 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 39 (単一画像) ---------- */
.l-container .wrapper_39 {
  margin: calc(-250 * var(--lpSetSize)) auto 0 calc(-120 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-39 {
  width: calc(510 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 40 (単一画像) ---------- */
.l-container .wrapper_40 {
  margin: calc(80 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-40 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 41 (単一画像) ---------- */
.l-container .wrapper_41 {
  margin: calc(144 * var(--lpSetSize)) auto 0 calc(122 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-41 {
  width: calc(509 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 42 (単一画像) ---------- */
.l-container .wrapper_42 {
  margin: calc(80 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-42 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 43 & 44 (横スライド) ---------- */
.l-container .wrapper_43_44 {
  margin-top: calc(-184 * var(--lpSetSize)) !important;
  margin-left: calc(-123 * var(--lpSetSize)) !important;
  margin-bottom: 0 !important;
}
.l-container .wrapper_43_44 .scroller {
  width: calc(510 * var(--lpSetSize)) !important;
}
.l-container .wrapper_43_44 .sec__img img {
  height: calc(668 * var(--lpSetSize)) !important;
  width: auto !important;
}
.l-container .img-wrap-43 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }
.l-container .img-wrap-44 { margin: 0 auto calc(40 * var(--lpSetSize)) !important; }

/* ---------- Block 45 (単一画像) ---------- */
.l-container .wrapper_45 {
  margin: calc(-250 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-45 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 46 (単一画像) ---------- */
.l-container .wrapper_46 {
  margin: calc(146 * var(--lpSetSize)) auto 0 calc(120 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-46 {
  width: calc(509 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 47 (単一画像) ---------- */
.l-container .wrapper_47 {
  margin: calc(77 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-47 {
  width: calc(600 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ---------- Block 48 (単一画像) ---------- */
.l-container .wrapper_48 {
  margin: calc(265 * var(--lpSetSize)) auto 0 calc(0 * var(--lpSetSize)) !important;
}
.l-container .single-container .img-wrap-48 {
  width: calc(469 * var(--lpSetSize)) !important;
  margin: 0 auto calc(40 * var(--lpSetSize)) !important;
}

/* ==========================================
   セクション別要素 & タイトル & テキスト指定
   ========================================== */

/* <hero> */
.l-container .sec-hero, 
.l-container .hero-wrap, 
.l-container .hero-bg-wrap { position: relative; width: 100%; margin: 0; }
.l-container .hero-img { width: 100%; }
.l-container .hero-txt-wrap { position: absolute; z-index: 2; }

.l-container .hero-txt-wrap img,
.l-container .hero-txt-img-01,
.l-container .hero-txt-img-02,
.l-container .hero-txt-img-03 {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.l-container .hero-txt-01 { width: calc(25 * var(--lpSetSize)) !important; top: calc(35 * var(--lpSetSize)) !important; left: calc(27 * var(--lpSetSize)) !important; margin: 0 !important; }
.l-container .hero-txt-02 { width: calc(614 * var(--lpSetSize)) !important; top: calc(630 * var(--lpSetSize)) !important; left: calc(68 * var(--lpSetSize)) !important; margin: 0 !important; }
.l-container .hero-txt-03 { width: calc(348 * var(--lpSetSize)) !important; bottom: calc(65 * var(--lpSetSize)) !important; left: calc(200 * var(--lpSetSize)) !important; margin: 0 !important; }

/* <lead> */
.l-container .sec-lead {
  padding: calc(68 * var(--lpSetSize)) calc(40 * var(--lpSetSize)) calc(64 * var(--lpSetSize));
  text-align: center;
  background-color: #ffffff;
}
.l-container .lead_title p {
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: calc(32 * var(--lpSetSize));
  line-height: 1.5;
  color: #000000;
  margin-bottom: calc(22 * var(--lpSetSize));
}
.l-container .lead_text p {
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: calc(21 * var(--lpSetSize));
  line-height: 1.8;
  color: #000000;
  letter-spacing: 0.01em;
}

/* <movie> */
.l-container .sec-movie { position: relative; width: 71.5%; margin: 0 auto; }
.l-container .movie-wrap, 
.l-container .movie-player { width: 100%; }
.l-container .movie-btn-toggle {
  position: absolute;
  bottom: calc(23 * var(--lpSetSize));
  left: calc(25 * var(--lpSetSize));
  z-index: 3;
  width: calc(160 * var(--lpSetSize));
  background: none;
  border: none;
  cursor: pointer;
}
.l-container .movie-btn-img { width: 100%; }

/* <release_info> */
.l-container .sec-release { 
  width: 100%; 
  margin: calc(72 * var(--lpSetSize)) auto 0; 
}
.l-container .release-img-wrap { 
  width: calc(400 * var(--lpSetSize)) !important; 
  margin: 0 auto; 
}
.l-container .release-img-wrap img,
.l-container .release-img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* 各セクションタイトル */
.l-container .sec01-title-wrap { margin-top: calc(-68 * var(--lpSetSize)); }
.l-container .sec01-title-img-01 {
  width: calc(108 * var(--lpSetSize));
  margin: calc(160 * var(--lpSetSize)) 0 calc(22 * var(--lpSetSize));
}
.l-container .sec01-title-img-02 { width: calc(300 * var(--lpSetSize)); }
.l-container .sec01-title-img-03 { width: calc(280 * var(--lpSetSize)); }
.l-container .sec01-title-img-04 {
  width: calc(436 * var(--lpSetSize));
  margin: calc(38 * var(--lpSetSize)) auto 0 calc(2 * var(--lpSetSize));
}

.l-container .sec02-title-wrap { margin-top: calc(260 * var(--lpSetSize)); }
.l-container .sec02-title-img-01 { width: calc(128 * var(--lpSetSize)); }
.l-container .sec02-title-img-02 { width: calc(356 * var(--lpSetSize)); margin: calc(21 * var(--lpSetSize)) auto calc(26 * var(--lpSetSize)); }
.l-container .sec02-title-img-03 { width: calc(280 * var(--lpSetSize)); margin: calc(-9 * var(--lpSetSize)) auto 0; }
.l-container .sec02-title-img-04 { width: calc(436 * var(--lpSetSize)); margin: calc(21 * var(--lpSetSize)) auto 0; }

.l-container .sec03-title-wrap {
  margin-top: calc(-154 * var(--lpSetSize)) !important;
  margin-bottom: calc(57 * var(--lpSetSize)) !important;
}
.l-container .sec03-title-wrap > .title-line + .title-line { margin-top: calc(-25 * var(--lpSetSize)); }
.l-container .sec03-title-img-01 {
  width: calc(128 * var(--lpSetSize));
  margin: 0 auto calc(40 * var(--lpSetSize));
}
.l-container .sec03-title-img-02 { width: calc(286 * var(--lpSetSize)); margin: calc(0 * var(--lpSetSize)) auto 0; }
.l-container .sec03-title-img-03 { width: calc(466 * var(--lpSetSize)); margin: calc(0 * var(--lpSetSize)) auto 0; }
.l-container .sec03-title-img-04 {
  width: calc(436 * var(--lpSetSize));
  margin: calc(46 * var(--lpSetSize)) auto 0;
}

/* 重ね合わせテキストの位置指定 */
.l-container .overlap-sec01-txt-01 {
  width: calc(419 * var(--lpSetSize));
  top: auto;
  bottom: calc(-77 * var(--lpSetSize));
  left: calc(163 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-02 { width: calc(35 * var(--lpSetSize)); top: auto; bottom: calc(376 * var(--lpSetSize)); left: calc(57 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-03 {
  width: calc(254 * var(--lpSetSize));
  top: auto;
  bottom: calc(-77 * var(--lpSetSize));
  left: calc(254 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-04 {
  width: calc(48 * var(--lpSetSize));
  top: auto;
  bottom: calc(435 * var(--lpSetSize));
  right: calc(47 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-05 { width: calc(48 * var(--lpSetSize)); top: auto; bottom: calc(76 * var(--lpSetSize)); left: calc(50 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-06 {
  width: calc(290 * var(--lpSetSize));
  top: auto;
  bottom: calc(-61 * var(--lpSetSize));
  left: calc(231 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-07 {
  width: calc(354 * var(--lpSetSize));
  top: auto;
  bottom: calc(-30 * var(--lpSetSize));
  left: calc(200 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-08 { width: calc(48 * var(--lpSetSize)); top: auto; bottom: calc(490 * var(--lpSetSize)); left: calc(48 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-09 {
  width: calc(470 * var(--lpSetSize));
  top: auto;
  bottom: calc(-77 * var(--lpSetSize));
  left: calc(143 * var(--lpSetSize));
}
.l-container .overlap-sec01-txt-10 { width: calc(321 * var(--lpSetSize)); top: auto; bottom: calc(330 * var(--lpSetSize)); left: calc(220 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-11 { width: calc(48 * var(--lpSetSize)); top: auto; bottom: calc(456 * var(--lpSetSize)); left: calc(43 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-12 { width: calc(35 * var(--lpSetSize)); top: auto; bottom: calc(252 * var(--lpSetSize)); right: calc(54 * var(--lpSetSize)); }
.l-container .overlap-sec01-txt-13 { width: calc(255 * var(--lpSetSize)); top: auto; bottom: calc(-78 * var(--lpSetSize)); left: calc(249 * var(--lpSetSize)); }

.l-container .overlap-sec02-txt-01 {
  width: calc(511 * var(--lpSetSize));
  top: auto;
  bottom: calc(-75 * var(--lpSetSize));
  left: calc(120 * var(--lpSetSize));
}
.l-container .overlap-sec02-txt-02 { width: calc(469 * var(--lpSetSize)); top: auto; bottom: calc(-75 * var(--lpSetSize)); left: calc(139 * var(--lpSetSize)); }
.l-container .overlap-sec02-txt-03 {    
  width: calc(307 * var(--lpSetSize));
  top: auto;
  bottom: calc(-76 * var(--lpSetSize));
  left: calc(222 * var(--lpSetSize));
}
.l-container .overlap-sec02-txt-04 {
  width: calc(35 * var(--lpSetSize));
  top: auto;
  bottom: calc(24 * var(--lpSetSize));
  right: calc(58 * var(--lpSetSize));
}

.l-container .overlap-sec03-txt-01 { width: calc(606 * var(--lpSetSize)); top: auto; bottom: calc(60 * var(--lpSetSize)); left: calc(70 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-02 { width: calc(403 * var(--lpSetSize)); top: auto; bottom: calc(-78 * var(--lpSetSize)); left: calc(173 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-03 { width: calc(35 * var(--lpSetSize)); top: auto; bottom: calc(584 * var(--lpSetSize)); left: calc(658 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-04 { width: calc(30 * var(--lpSetSize)); top: auto; bottom: calc(545 * var(--lpSetSize)); left: calc(64 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-05 { width: calc(30 * var(--lpSetSize)); top: auto; bottom: calc(243 * var(--lpSetSize)); left: calc(660 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-06 { width: calc(158 * var(--lpSetSize)); top: auto; bottom: calc(-65 * var(--lpSetSize)); left: calc(297 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-07 { width: calc(35 * var(--lpSetSize)); top: auto; bottom: calc(114 * var(--lpSetSize)); left: calc(64 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-08 { width: calc(440 * var(--lpSetSize)); top: auto; bottom: calc(-67 * var(--lpSetSize)); left: calc(155 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-09 { width: calc(35 * var(--lpSetSize)); top: auto; bottom: calc(462 * var(--lpSetSize)); left: calc(656 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-10 {
  width: calc(492 * var(--lpSetSize));
  top: auto;
  bottom: calc(-77 * var(--lpSetSize));
  left: calc(136 * var(--lpSetSize));
}
.l-container .overlap-sec03-txt-11 { width: calc(447 * var(--lpSetSize)); top: auto; bottom: calc(-65 * var(--lpSetSize)); left: calc(150 * var(--lpSetSize)); }
.l-container .overlap-sec03-txt-12 { width: calc(390 * var(--lpSetSize)); top: auto; bottom: calc(482 * var(--lpSetSize)); left: calc(174 * var(--lpSetSize)); }

/* <bottom> フッター上部エリア */
.l-container .sec-bottom {
  padding: calc(66 * var(--lpSetSize)) calc(40 * var(--lpSetSize));
  text-align: center;
  background-color: #ffffff;
}

.l-container .bottom-title-img-wrap { width: calc(270 * var(--lpSetSize)); margin: 0 auto calc(16 * var(--lpSetSize)); }
.l-container .check-all-items-wrap { width: calc(350 * var(--lpSetSize)); margin: calc(-12 * var(--lpSetSize)) auto calc(80 * var(--lpSetSize)); }
.l-container .staff-img-wrap { width: calc(342 * var(--lpSetSize)); margin: calc(-54 * var(--lpSetSize)) auto 0; }

.l-container .bottom-title-img-wrap img,
.l-container .bottom-title-img,
.l-container .check-all-items-wrap img,
.l-container .check-all-items-img,
.l-container .staff-img-wrap img,
.l-container .staff-img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

.l-container .bottom_title p {
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: calc(24 * var(--lpSetSize));
  line-height: 1.5;
  color: #000000;
  margin-bottom: calc(30 * var(--lpSetSize));
}

.l-container .bottom_text p {
  font-family: "shippori-mincho", sans-serif;
  font-weight: 400;
  font-size: calc(20 * var(--lpSetSize));
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #000000;
  margin: 0 calc(70 * var(--lpSetSize)) calc(120 * var(--lpSetSize));
  text-align: left;
}

/* ==========================================
   PCレイアウト用の限定記述 (768px以上)
   ========================================== */
@media screen and (min-width: 768px) {
  
  .l-container .lp-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    background-color: transparent;
  }

  /* 中央メインエリア：1400px以上で 560px 固定、1399px以下で 100vw 連動縮小 */
  .l-container .lp-main {
    width: calc(560 * var(--pcSetSize));
    max-width: 560px;
    flex-shrink: 0;
    background-color: #ffffff;
    position: relative;
    z-index: 10;
    overflow-x: clip;
  }

  .l-container .pc-side {
    display: block !important;
    flex: 1;
    position: relative;
    background-color: var(--color-sec01);
    transition: background-color 0.5s ease;
  }

  .l-container .pc-side:has(.pc-logo-01.is-active),
  .l-container .pc-side:has(.pc-txt-01.is-active) {
    background-color: var(--color-sec01);
  }

  .l-container .pc-side:has(.pc-logo-02.is-active),
  .l-container .pc-side:has(.pc-txt-02.is-active) {
    background-color: var(--color-sec02);
  }

  .l-container .pc-side:has(.pc-logo-03.is-active),
  .l-container .pc-side:has(.pc-txt-03.is-active) {
    background-color: var(--color-sec03);
  }

  .l-container .pc-side__inner {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .l-container .pc-logo-box,
  .l-container .pc-txt-box {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .l-container .pc-logo,
  .l-container .pc-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(294 * var(--pcSetSize));
    opacity: 0;
    transition: opacity 0.5s ease;
  }

  .l-container .pc-txt {
    width: calc(164 * var(--pcSetSize));
  }

  .l-container .pc-logo.is-active,
  .l-container .pc-txt.is-active {
    opacity: 1;
    z-index: 2;
  }
}

/* 1400px以上で中央を560pxに直接完全固定 */
@media screen and (min-width: 1400px) {
  .l-container .lp-main {
    width: 560px !important;
  }
}

/* 枠外飛び出しテキストを持つ親コンテナの重なり順を前面化 */
.l-container .wrapper_05,
.l-container .wrapper_09,
.l-container .wrapper_14,
.l-container .wrapper_21,
.l-container .wrapper_27,
.l-container .wrapper_40,
.l-container .wrapper_45 {
  position: relative !important;
  z-index: 15 !important;
}

.wrapper_11 {
  z-index: 100 !important;
}

/* ==========================================
   wrapper_48（リンクなし）の除外設定
   ========================================== */
.l-container .wrapper_48 {
  cursor: default !important;
}

.l-container .wrapper_48:hover {
  opacity: 1 !important;
}

/* ==========================================
   wrapper_48（リンクなし）のクリック時透過除外設定
   ========================================== */
.l-container .wrapper_48.clicked::after {
  opacity: 0 !important;
}

.efs-system-notification { display: none !important; }