/* ========================================
等身大ベビーフォト撮影会 LP
======================================== */
/* ========================================
LP 全幅表示・余白リセット
======================================== */
.life-size-lp {
width: 100vw !important;
max-width: 100vw !important;
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
padding-left: 0 !important;
padding-right: 0 !important;
box-sizing: border-box !important;
}
html,
body {
overflow-x: hidden;
}
/* ========================================
PC / SP 表示切り替え
======================================== */
.life-size-lp .lp-sp-only {
display: none !important;
}
@media (max-width: 767px) {
.life-size-lp .lp-pc-only {
display: none !important;
}
.life-size-lp .lp-sp-only {
display: block !important;
}
}
/* ========================================
HERO + ABOUT 完全整理版
======================================== */
/* ========================================
HERO｜PC
======================================== */
.life-size-lp .lp-hero {
display: flex !important;
flex-direction: row !important;
align-items: stretch !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
background: #ecf2f7 !important;
}
/* PC：左コピー */
.life-size-lp .lp-hero > .lp-hero-copy {
width: 42% !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
padding: 60px 20px 60px 120px !important;
box-sizing: border-box !important;
}
/* PC：右写真 */
.life-size-lp .lp-hero > .lp-hero-photo {
position: static !important;
width: 58% !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-hero > .lp-hero-photo img {
display: block !important;
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
margin: 0 !important;
padding: 0 !important;
}
/* PC HERO文字 */
.life-size-lp .lp-hero-copy h1,
.life-size-lp .lp-hero-copy h2,
.life-size-lp .lp-hero-copy h3 {
margin: 0 !important;
color: #69c1e8 !important;
line-height: 1.15 !important;
}
.life-size-lp .lp-hero-copy h1 {
font-size: 34px !important;
font-weight: 700 !important;
margin-bottom: 12px !important;
}
.life-size-lp .lp-hero-copy p {
margin: 0 0 8px !important;
line-height: 1.7 !important;
}
/* ========================================
SP専用HEROはPCでは非表示
======================================== */
.life-size-lp .lp-hero-sp {
display: none !important;
}
/* ========================================
ABOUT｜PC
======================================== */
.life-size-lp .lp-about {
width: 100% !important;
display: flex !important;
flex-direction: row !important;
align-items: center !important;
justify-content: center !important;
gap: 60px !important;
margin: 0 !important;
padding: 70px 80px !important;
box-sizing: border-box !important;
background: #ecf2f7 !important;
}
.life-size-lp .lp-about-copy {
width: 48% !important;
}
.life-size-lp .lp-about-photo {
position: static !important;
width: 38% !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-about-photo img {
display: block !important;
width: 100% !important;
height: auto !important;
margin: 0 !important;
}
/* ========================================
SP
======================================== */
@media (max-width: 767px) {
/* ========================================
PC HEROを消す
======================================== */
.life-size-lp .lp-hero {
display: none !important;
}
/* ========================================
SP HERO
======================================== */
.life-size-lp .lp-hero-sp {
display: flex !important;
flex-direction: column !important;

position: relative !important;

width: 100% !important;
height: auto !important;

margin: 0 !important;
padding: 0 !important;

background: #ecf2f7 !important;

overflow: visible !important;

}
/* SP文字入り画像 */
.life-size-lp .lp-hero-sp > .lp-hero-photo {
position: static !important;

display: block !important;

width: 100% !important;
height: auto !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-hero-sp
.lp-hero-photo .elementor-widget-image,
.life-size-lp .lp-hero-sp
.lp-hero-photo .elementor-widget-container {
display: block !important;

width: 100% !important;
height: auto !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-hero-sp
.lp-hero-photo img {
display: block !important;

width: 100% !important;
max-width: none !important;
height: auto !important;

margin: 0 !important;
padding: 0 !important;

}
}
/* ========================================
   FV SP｜上の謎の余白だけ消す
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-hero-sp {
margin-top: 0 !important;
padding-top: 0 !important;

min-height: 0 !important;
height: auto !important;

justify-content: flex-start !important;

}
.life-size-lp .lp-hero-sp > .lp-hero-photo {
margin-top: 0 !important;
padding-top: 0 !important;

min-height: 0 !important;

}
}
/* ========================================
ABOUT｜PC + SP 完全整理版
★ABOUTの古いCSSは全部削除してこれだけ
======================================== */
/* ========================================
ABOUT｜PC
======================================== */
@media (min-width: 768px) {
.life-size-lp .lp-about {
position: relative !important;

display: flex !important;
flex-direction: row !important;
align-items: center !important;
justify-content: center !important;

width: 100% !important;
min-height: 0 !important;

gap: 70px !important;

margin: 0 !important;
padding: 55px 40px !important;

box-sizing: border-box !important;

background: #ecf2f7 !important;
overflow: hidden !important;

}
/* ------------------------------
左：文章
\------------------------------ */
.life-size-lp .lp-about-copy {
position: static !important;

width: 560px !important;
max-width: 55% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-copy
.elementor-widget-heading {
width: 100% !important;

margin: 0 0 20px !important;
padding: 0 !important;

}
.life-size-lp .lp-about-copy
.elementor-heading-title {
margin: 0 !important;

font-size: 27px !important;
line-height: 1.25 !important;
font-weight: 700 !important;

color: #69c1e8 !important;

}
.life-size-lp .lp-about-copy
.elementor-widget-text-editor {
width: 100% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-copy p {
margin: 0 !important;

font-size: 15px !important;
line-height: 1.85 !important;

color: #666666 !important;

}
/* ------------------------------
右：赤ちゃん写真
\------------------------------ */
.life-size-lp .lp-about-photo {
position: static !important;

display: block !important;

width: 240px !important;
max-width: 240px !important;

flex: 0 0 240px !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-photo
.elementor-widget-image,
.life-size-lp .lp-about-photo
.elementor-widget-container {
width: 100% !important;
max-width: 100% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-photo img {
display: block !important;

width: 100% !important;
max-width: 240px !important;

height: auto !important;
max-height: 300px !important;

object-fit: contain !important;
object-position: center bottom !important;

margin: 0 auto !important;
padding: 0 !important;

}
}
/* ========================================
ABOUT｜SP 最終微調整
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-about {
position: relative !important;
display: block !important;

width: 100% !important;
height: auto !important;
min-height: 255px !important;

margin: 0 !important;
padding: 62px 16px 42px !important;

box-sizing: border-box !important;

background: #ecf2f7 !important;
overflow: hidden !important;

}
.life-size-lp .lp-about-copy {
position: relative !important;
z-index: 2 !important;

width: 68% !important;
max-width: 68% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-copy
.elementor-widget-heading {
width: 100% !important;
margin: 0 0 16px !important;
padding: 0 !important;
}
.life-size-lp .lp-about-copy
.elementor-heading-title {
margin: 0 !important;
padding: 0 !important;

font-size: 17px !important;
line-height: 1.15 !important;
font-weight: 700 !important;

color: #69c1e8 !important;

}
.life-size-lp .lp-about-copy
.elementor-widget-text-editor {
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-about-copy p {
margin: 0 !important;
padding: 0 !important;

font-size: 10.5px !important;
line-height: 1.65 !important;

color: #666666 !important;

}
.life-size-lp .lp-about-photo {
position: absolute !important;
z-index: 1 !important;

right: 10px !important;
bottom: 38px !important;

width: 24% !important;
max-width: 24% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-about-photo
.elementor-widget-image,
.life-size-lp .lp-about-photo
.elementor-widget-container {
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-about-photo img {
display: block !important;

width: 100% !important;
max-width: none !important;
height: auto !important;

margin: 0 !important;
padding: 0 !important;

object-fit: contain !important;

}
}
/* ========================================
ALBUM｜PC 修正版
★SPは触らない
======================================== */
@media (min-width: 768px) {
.life-size-lp .lp-album {
width: 100% !important;

margin: 0 !important;
padding: 55px 30px 70px !important;

box-sizing: border-box !important;

background: #ffffff !important;
background-image: none !important;

}
/* 見出し */
.life-size-lp .lp-album > .elementor-widget-heading {
width: 100% !important;

margin: 0 0 22px !important;
padding: 0 !important;

text-align: center !important;

}
.life-size-lp .lp-album > .elementor-widget-heading
.elementor-heading-title {
margin: 0 !important;

font-size: 24px !important;
line-height: 1.2 !important;
font-weight: 600 !important;
letter-spacing: .14em !important;

color: #69c1e8 !important;
text-align: center !important;

}
/* 説明文 */
.life-size-lp .lp-album > .elementor-widget-text-editor {
width: 100% !important;
max-width: 700px !important;

margin: 0 auto 35px !important;
padding: 0 !important;

text-align: center !important;

}
.life-size-lp .lp-album > .elementor-widget-text-editor p {
margin: 0 !important;

font-size: 14px !important;
line-height: 1.8 !important;

text-align: center !important;

}
/* ========================================
メイン画像
PCは大きくしすぎない
======================================== */
.life-size-lp .lp-album-visual {
width: 100% !important;
max-width: 650px !important;

margin: 0 auto !important;
padding: 0 !important;

}
.life-size-lp .lp-album-visual .elementor-widget-image,
.life-size-lp .lp-album-visual .elementor-widget-container {
width: 100% !important;
max-width: 100% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-album-visual img {
display: block !important;

width: 100% !important;
max-width: 650px !important;
height: auto !important;

margin: 0 auto !important;
padding: 0 !important;

object-fit: contain !important;

}
}
/* ========================================
ALBUM｜SP
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-album {
width: 100% !important;

margin: 0 !important;
padding: 32px 8px 38px !important;

box-sizing: border-box !important;

/* 背景を白に */
background: #ffffff !important;
background-image: none !important;

}
/* 見出し */
.life-size-lp .lp-album > .elementor-widget-heading {
width: 100% !important;

margin: 0 0 18px !important;
padding: 0 !important;

text-align: center !important;

}
.life-size-lp .lp-album > .elementor-widget-heading
.elementor-heading-title {
margin: 0 !important;

font-size: 20px !important;
line-height: 1.2 !important;
font-weight: 600 !important;
letter-spacing: .14em !important;

color: #69c1e8 !important;
text-align: center !important;

}
/* 説明文 */
.life-size-lp .lp-album > .elementor-widget-text-editor {
width: 100% !important;
max-width: none !important;

margin: 0 auto 28px !important;
padding: 0 8px !important;

box-sizing: border-box !important;
text-align: center !important;

}
.life-size-lp .lp-album > .elementor-widget-text-editor p {
margin: 0 !important;

font-size: 12px !important;
line-height: 1.75 !important;

text-align: center !important;

}
/* メイン画像 */
.life-size-lp .lp-album-visual {
width: 100% !important;
max-width: none !important;

margin: 0 auto !important;
padding: 0 !important;

}
.life-size-lp .lp-album-visual .elementor-widget-image,
.life-size-lp .lp-album-visual .elementor-widget-container {
width: 100% !important;

margin: 0 !important;
padding: 0 !important;

}
.life-size-lp .lp-album-visual img {
display: block !important;

width: 100% !important;
max-width: 100% !important;
height: auto !important;

margin: 0 auto !important;
padding: 0 !important;

}
}
/* ========================================
PRICE｜PC + SP 完全版
======================================== */
/* ========================================
PC 共通
======================================== */
.life-size-lp .lp-price {
width: 100%;
margin: 0;
padding: 55px 40px 60px;
box-sizing: border-box;
text-align: center;
background: #f5f1eb;
}
/* 見出し・説明 */
.life-size-lp .lp-price > .elementor-widget-heading,
.life-size-lp .lp-price > .elementor-widget-text-editor {
width: 100%;
text-align: center;
}
.life-size-lp .lp-price h2,
.life-size-lp .lp-price h3 {
margin: 0 0 16px;
}
.life-size-lp .lp-price .elementor-widget-text-editor {
margin-bottom: 0;
}
/* ========================================
PRICE メイン画像
======================================== */
.life-size-lp .lp-price-visual {
width: 100%;
margin: 24px auto 24px;
text-align: center;
}
.life-size-lp .lp-price-visual img {
display: block;
width: 950px;
max-width: 90%;
height: auto;
margin: 0 auto;
}
/* ========================================
電話・LINEボタン
======================================== */
.life-size-lp .lp-price-cta {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
gap: 14px;
margin: 0 auto;
}
/* ========================================
PRICE｜SP
======================================== */
@media (max-width: 767px) {
/* PRICE全体 */
.life-size-lp .lp-price {
width: 100% !important;
margin: 0 !important;
padding: 34px 12px 32px !important;
box-sizing: border-box !important;
text-align: center !important;
background: #f5f1eb !important;
}
/* 見出し */
.life-size-lp .lp-price h2,
.life-size-lp .lp-price h3,
.life-size-lp .lp-price .elementor-heading-title {
margin: 0 !important;
text-align: center !important;
}
.life-size-lp .lp-price .elementor-heading-title {
font-size: 20px !important;
line-height: 1.2 !important;
}
/* 「いまなら期間限定で～」 */
.life-size-lp .lp-price > .elementor-widget-text-editor {
width: 100% !important;
margin: 14px auto 0 !important;
text-align: center !important;
}
.life-size-lp .lp-price > .elementor-widget-text-editor p {
margin: 0 !important;
font-size: 11px !important;
line-height: 1.6 !important;
text-align: center !important;
}
/* ========================================
PRICE画像
======================================== */
.life-size-lp .lp-price-visual {
width: 100% !important;
margin: 24px auto 22px !important;
padding: 0 !important;
text-align: center !important;
}
.life-size-lp .lp-price-visual img {
display: block !important;
width: 92% !important;
max-width: 360px !important;
height: auto !important;
margin: 0 auto !important;
}
/* ========================================
電話・LINEボタン
======================================== */
.life-size-lp .lp-price-cta {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
justify-content: center !important;
align-items: center !important;

width: 100% !important;
gap: 8px !important;

margin: 0 auto !important;
padding: 0 !important;

}
.life-size-lp .lp-price-cta > \* {
width: calc(50% - 4px) !important;
flex: 0 0 calc(50% - 4px) !important;
margin: 0 !important;
}
.life-size-lp .lp-price-cta .elementor-button {
width: 100% !important;
min-width: 0 !important;

padding: 12px 5px !important;
border-radius: 999px !important;

font-size: 11px !important;
font-weight: 600 !important;

color: #fff !important;
text-decoration: none !important;

}
/* 電話 */
.life-size-lp .lp-price-cta
.elementor-widget-button
.elementor-button {
background: #ff4777 !important;
}
/* LINE */
.life-size-lp .lp-price-cta
.elementor-widget-button
.elementor-button {
background: #1fc58b !important;
}
}
/* ========================================
SIMPLE
======================================== */
.life-size-lp .lp-simple {
background: #b7ded4;
padding: 70px 0 80px;
}
/* 上段：説明＋5枚の見本 */
.life-size-lp .lp-simple .lp-theme-inner {
width: 100%;
max-width: 1100px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 60px;
}
/* 左：説明 */
.life-size-lp .lp-simple .lp-theme-copy {
width: 32%;
}
/* 右：5枚画像 */
.life-size-lp .lp-simple .lp-theme-gallery {
width: 60%;
}
.life-size-lp .lp-simple .lp-theme-gallery img {
display: block;
width: 100%;
height: auto;
}
/* ========================================
中身をもっと見る
======================================== */
.life-size-lp .lp-simple-accordion {
width: 100%;
max-width: 1100px;
margin: 55px auto 0;
}
.life-size-lp .lp-simple-accordion .elementor-button {
width: 100%;
cursor: pointer;
}
/* ========================================
展開部分
======================================== */
/* 初期状態は非表示 */
.life-size-lp .lp-simple-panel {
display: none;
width: 100%;
max-width: 1300px;
margin: 55px auto 0;
}
/* ボタンを押して開いた状態 */
.life-size-lp .lp-simple-panel.is-open {
display: block;
}
/* 元画像をそのまま100%で表示 */*
.life-size-lp .lp-simple-panel img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto;
}
/* ========================================
   SIMPLE｜SP 完全版
   ★このブロックにまるごと差し替え
======================================== */

@media (max-width: 767px) {

  /* =========================
     SIMPLE全体
  ========================= */
  .life-size-lp .lp-simple {
    width: 100% !important;
    padding: 36px 14px 24px !important;
    box-sizing: border-box !important;
  }


  /* =========================
     中身
  ========================= */
  .life-size-lp .lp-simple .lp-theme-inner {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    box-sizing: border-box !important;
  }


  /* =========================
     タイトル・説明文ブロック
  ========================= */
  .life-size-lp .lp-simple .lp-theme-copy {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    text-align: center !important;
    box-sizing: border-box !important;
  }


  /* SIMPLE */
  .life-size-lp .lp-simple .lp-theme-title {
    width: 100% !important;

　　margin: 0 auto !important;
　　padding: 0 0 28px !important;

    text-align: center !important;
  }

  .life-size-lp .lp-simple
  .lp-theme-title .elementor-heading-title {
    font-size: 20px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* SIMPLE下の横棒 */
  .life-size-lp .lp-simple
  .lp-theme-title .elementor-heading-title::after {
    content: "" !important;

    display: block !important;

    width: 28px !important;
    height: 1px !important;

    background: #222222 !important;

    /* SIMPLE → 棒 → シンプル */
    margin: 8px auto 10px !important;
  }


  /* シンプル */
  .life-size-lp .lp-simple .lp-theme-subtitle {
    width: 100% !important;

    /* ★説明文との間隔 */
    margin: 0 auto 32px !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-simple
  .lp-theme-subtitle .elementor-heading-title {
    font-size: 13px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* 説明文 */
  .life-size-lp .lp-simple
  .lp-theme-copy .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 290px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-simple
  .lp-theme-copy .elementor-widget-text-editor p {
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* =========================
     5枚画像
  ========================= */
  .life-size-lp .lp-simple .lp-theme-gallery {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-simple .lp-theme-gallery
  .elementor-widget-image,
  .life-size-lp .lp-simple .lp-theme-gallery
  .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-simple .lp-theme-gallery img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =========================
     中身をもっと見る
  ========================= */
  .life-size-lp .lp-simple .lp-simple-accordion {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-simple .lp-simple-accordion
  .elementor-widget-button {
    width: 100% !important;
    margin: 0 !important;
  }

  .life-size-lp .lp-simple .lp-simple-accordion
  .elementor-button {
    width: 100% !important;
    min-width: 0 !important;

    border-radius: 999px !important;
  }


  /* =========================
     展開後
  ========================= */
  .life-size-lp .lp-simple .lp-simple-panel {
    width: calc(100% + 28px) !important;
    max-width: none !important;

    margin: 18px -14px -24px !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-simple .lp-simple-panel
  .elementor-widget-image,
  .life-size-lp .lp-simple .lp-simple-panel
  .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-simple .lp-simple-panel img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}
/* ========================================
COLORFUL｜PC + SP 完全版
======================================== */
/* COLORFUL全体 */
.life-size-lp .lp-colorful {
width: 100%;
background: #efb7a7;
padding: 70px 0 80px;
}
/* 上段：左説明＋右6枚画像 */
.life-size-lp .lp-colorful .lp-theme-inner {
width: 100%;
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 60px;
}
/* 左：説明 */
.life-size-lp .lp-colorful .lp-theme-copy {
width: 32%;
}
/* 右：6枚画像 */
.life-size-lp .lp-colorful .lp-theme-gallery {
width: 60%;
}
.life-size-lp .lp-colorful .lp-theme-gallery img {
display: block;
width: 100%;
height: auto;
}
/* ========================================
中身をもっと見る
======================================== */
.life-size-lp .lp-colorful-accordion {
width: 100%;
max-width: 1100px;
margin: 55px auto 0;
}
.life-size-lp .lp-colorful-accordion .elementor-button {
width: 100%;
cursor: pointer;
}
/* ========================================
展開部分
======================================== */
.life-size-lp .lp-colorful-panel {
display: none !important;
width: 100%;
max-width: 1300px;
margin: 55px auto 0;
}
.life-size-lp .lp-colorful-panel.is-open {
display: flex !important;
flex-direction: column;
align-items: center;
}
.life-size-lp .lp-colorful-panel img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto;
}
/* ========================================
   COLORFUL｜SP 完全版
   ★このブロックにまるごと差し替え
======================================== */

@media (max-width: 767px) {

  /* =========================
     COLORFUL全体
  ========================= */
  .life-size-lp .lp-colorful {
    width: 100% !important;
    padding: 36px 14px 24px !important;
    box-sizing: border-box !important;
  }


  /* =========================
     上段
  ========================= */
  .life-size-lp .lp-colorful .lp-theme-inner {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    flex-direction: column !important;

    margin: 0 auto !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    box-sizing: border-box !important;
  }


  /* =========================
     タイトル・説明文ブロック
  ========================= */
  .life-size-lp .lp-colorful .lp-theme-copy {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    text-align: center !important;
    box-sizing: border-box !important;
  }


  /* COLORFUL */
  .life-size-lp .lp-colorful .lp-theme-title {
    width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-colorful
  .lp-theme-title .elementor-heading-title {
    font-size: 20px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* COLORFUL下の横棒 */
  .life-size-lp .lp-colorful
  .lp-theme-title .elementor-heading-title::after {
    content: "" !important;

    display: block !important;

    width: 28px !important;
    height: 1px !important;

    background: #222222 !important;

    /* COLORFUL → 棒 → カラフル */
    margin: 8px auto 10px !important;
  }


  /* カラフル */
  .life-size-lp .lp-colorful .lp-theme-subtitle {
    width: 100% !important;

    /* ★説明文との間隔 */
    margin: 0 auto 32px !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-colorful
  .lp-theme-subtitle .elementor-heading-title {
    font-size: 13px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* 説明文 */
  .life-size-lp .lp-colorful
  .lp-theme-copy .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 290px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-colorful
  .lp-theme-copy .elementor-widget-text-editor p {
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* =========================
     6枚まとめ画像
  ========================= */
  .life-size-lp .lp-colorful .lp-theme-gallery {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-colorful .lp-theme-gallery
  .elementor-widget-image,
  .life-size-lp .lp-colorful .lp-theme-gallery
  .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-colorful .lp-theme-gallery img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =========================
     中身をもっと見る
  ========================= */
  .life-size-lp .lp-colorful-accordion {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-colorful-accordion
  .elementor-widget-button {
    width: 100% !important;
    margin: 0 !important;
  }

  .life-size-lp .lp-colorful-accordion
  .elementor-button {
    width: 100% !important;
    min-width: 0 !important;

    border-radius: 999px !important;
  }


  /* =========================
     展開部分
  ========================= */
  .life-size-lp .lp-colorful-panel {
    display: none !important;

    width: calc(100% + 28px) !important;
    max-width: none !important;

    margin: 18px -14px -24px !important;
    padding: 0 !important;

    gap: 0 !important;
  }

  .life-size-lp .lp-colorful-panel.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }


  /* 展開画像が入っているコンテナ */
  .life-size-lp .lp-colorful-panel > .e-con {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
  }


  .life-size-lp .lp-colorful-panel
  .elementor-widget-image,
  .life-size-lp .lp-colorful-panel
  .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-colorful-panel img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}
/* ========================================
CASUAL
======================================== */
.life-size-lp .lp-casual {
width: 100%;
background: #c9b59c;
padding: 70px 0 80px;
}
/* 上段：左説明＋右4枚画像 */
.life-size-lp .lp-casual .lp-theme-inner {
width: 100%;
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 60px;
}
/* 左：説明 */
.life-size-lp .lp-casual .lp-theme-copy {
width: 32%;
}
/* 右：通常表示の画像 */
.life-size-lp .lp-casual .lp-theme-gallery {
width: 60%;
}
.life-size-lp .lp-casual .lp-theme-gallery img {
display: block;
width: 100%;
height: auto;
}
/* ========================================
中身をもっと見る
======================================== */
.life-size-lp .lp-casual-accordion {
width: 100%;
max-width: 1100px;
margin: 55px auto 0;
}
.life-size-lp .lp-casual-accordion .elementor-button {
width: 100%;
cursor: pointer;
}
/* ========================================
展開部分
======================================== */
/* 閉じている状態 */
.life-size-lp .lp-casual-panel {
display: none !important;
width: 100%;
max-width: 1300px;
margin: 55px auto 0;
}
/* 開いた時 */
.life-size-lp .lp-casual-panel.is-open {
display: flex !important;
flex-direction: column;
align-items: center;
}
/* 展開画像は100%表示 */*
.life-size-lp .lp-casual-panel img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto;
}
/* ========================================
   CASUAL｜SP 完全版
   ★SIMPLE / COLORFUL と同じ余白ルール
======================================== */

@media (max-width: 767px) {

  /* =========================
     CASUAL全体
  ========================= */
  .life-size-lp .lp-casual {
    width: 100% !important;
    max-width: 100% !important;

    padding: 36px 14px 24px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
  }


  /* =========================
     上段
  ========================= */
  .life-size-lp .lp-casual .lp-theme-inner {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    margin: 0 auto !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    box-sizing: border-box !important;
  }


  /* =========================
     タイトル・説明文ブロック
  ========================= */
  .life-size-lp .lp-casual .lp-theme-copy {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    text-align: center !important;
    box-sizing: border-box !important;
  }


  /* CASUAL */
  .life-size-lp .lp-casual .lp-theme-title {
    width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-casual
  .lp-theme-title .elementor-heading-title {
    font-size: 20px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* CASUAL下の横棒 */
  .life-size-lp .lp-casual
  .lp-theme-title .elementor-heading-title::after {
    content: "" !important;

    display: block !important;

    width: 28px !important;
    height: 1px !important;

    background: #222222 !important;

    /* CASUAL → 棒 → カジュアル */
    margin: 8px auto 10px !important;
  }


  /* カジュアル */
  .life-size-lp .lp-casual .lp-theme-subtitle {
    width: 100% !important;

    /* ★説明文との間隔 */
    margin: 0 auto 32px !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-casual
  .lp-theme-subtitle .elementor-heading-title {
    font-size: 13px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* 説明文 */
  .life-size-lp .lp-casual
  .lp-theme-copy .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 290px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
  }

  .life-size-lp .lp-casual
  .lp-theme-copy .elementor-widget-text-editor p {
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  /* =========================
     通常表示画像
  ========================= */
  .life-size-lp .lp-casual .lp-theme-gallery {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    text-align: center !important;
  }

  .life-size-lp .lp-casual .lp-theme-gallery img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =========================
     中身をもっと見る
  ========================= */
  .life-size-lp .lp-casual-accordion {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .life-size-lp .lp-casual-accordion
  .elementor-widget-button {
    width: 100% !important;
    margin: 0 !important;
  }

  .life-size-lp .lp-casual-accordion
  .elementor-button {
    width: 100% !important;
    min-width: 0 !important;

    border-radius: 999px !important;
  }


  /* =========================
     展開部分
  ========================= */
  .life-size-lp .lp-casual-panel {
    display: none !important;

    width: calc(100% + 28px) !important;
    max-width: none !important;

    margin: 18px -14px -24px !important;
    padding: 0 !important;

    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    box-sizing: border-box !important;
  }


  /* 開いた時 */
  .life-size-lp .lp-casual-panel.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }


  /* 展開部分の中のコンテナ */
  .life-size-lp .lp-casual-panel .e-con,
  .life-size-lp .lp-casual-panel .elementor-element,
  .life-size-lp .lp-casual-panel .elementor-widget-image,
  .life-size-lp .lp-casual-panel .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  /* 展開後の画像 */
  .life-size-lp .lp-casual-panel img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}
/* ========================================
OUTLINE
======================================== */
.life-size-lp .lp-outline {
width: 100%;
background: #ffffff;
padding: 70px 0 80px;
}
/* 見出し */
.life-size-lp .lp-outline > .elementor-widget-heading,
.life-size-lp .lp-outline > .elementor-widget-text-editor {
width: 100%;
margin-left: auto;
margin-right: auto;
text-align: center;
}
/* ========================================
OUTLINE SP
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-outline {
width: 100% !important;
padding: 45px 0 50px !important;
}
/* OUTLINE・開催概要 */
.life-size-lp .lp-outline > .elementor-widget-heading,
.life-size-lp .lp-outline > .elementor-widget-text-editor {
width: calc(100% - 36px) !important;
margin-left: auto !important;
margin-right: auto !important;
text-align: center !important;
}
/* 「開催概要」の下余白を詰める */
.life-size-lp .lp-outline > .elementor-widget-text-editor {
margin-bottom: 15px !important;
}
/* 開催概要画像 */
.life-size-lp .lp-outline .elementor-widget-image {
width: 100% !important;
max-width: none !important;
margin-top: 0 !important;
margin-left: 0 !important;
margin-right: 0 !important;
}
.life-size-lp .lp-outline .elementor-widget-image .elementor-widget-container {
width: 100% !important;
}
.life-size-lp .lp-outline .elementor-widget-image img {
display: block !important;
width: 100% !important;
max-width: none !important;
height: auto !important;
margin: 0 !important;
}
}
/* ========================================
開催概要画像
======================================== */
.life-size-lp .lp-outline-visual {
width: 100%;
margin: 45px auto 0;
text-align: center;
}
.life-size-lp .lp-outline-visual .elementor-widget-image {
width: 100%;
text-align: center;
}
.life-size-lp .lp-outline-visual img {
display: block;
width: 65% !important;
max-width: none !important;
height: auto !important;
margin: 0 auto;
}
/* ========================================
カジュアル衣装はこちら
======================================== */
.life-size-lp .lp-outline .elementor-widget-button {
width: 65%;
margin: 35px auto 0;
}
.life-size-lp .lp-outline .elementor-button {
width: 100%;
}
/* ========================================
OUTLINE SP
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-outline {
padding: 45px 18px 55px;
}
.life-size-lp .lp-outline-visual {
width: 100%;
margin: 30px auto 0;
}
.life-size-lp .lp-outline-visual .elementor-widget-image {
width: 100%;
}
.life-size-lp .lp-outline-visual img {
display: block;
width: 100% !important;
max-width: none !important;
height: auto !important;
margin: 0 auto;
}
}
/* ========================================
ATTENTION
======================================== */
.life-size-lp .lp-attention {
width: 100%;
background: #ffffff;
padding: 45px 20px 50px;
box-sizing: border-box;
}
.life-size-lp .lp-attention-content {
width: 100%;
max-width: 1100px;
margin: 0 auto;
}
.life-size-lp #attention-pc {
width: 100%;
margin: 0 auto;
}
.life-size-lp #attention-pc img {
display: block;
width: 100%;
height: auto;
margin: 0 auto;
}
/* ========================================
ATTENTION SP
======================================== */
@media (max-width: 767px) {
.life-size-lp .lp-attention {
width: 100% !important;
padding: 0 8px 20px !important;
margin-top: -55px !important;
box-sizing: border-box !important;
}
.life-size-lp .lp-attention-content {
width: 100% !important;
max-width: none !important;
margin: 0 auto !important;
padding: 0 !important;
gap: 0 !important;
}
.life-size-lp .lp-attention-content > .e-con {
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-attention-content .elementor-widget-image {
width: 100% !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-attention-content .elementor-widget-image .elementor-widget-container {
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.life-size-lp .lp-attention-content .elementor-widget-image img {
display: block !important;
width: 100% !important;
max-width: none !important;
height: auto !important;
margin: 0 !important;
}
}


/* ========================================
   FV CTA｜PC + SP 完全整理版
   画像ボタン専用
======================================== */

/* ========================================
   PC
======================================== */
@media (min-width: 768px) {

  .life-size-lp .lp-hero .lp-hero-cta {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 520px !important;
    gap: 12px !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .life-size-lp .lp-hero .lp-hero-cta > .elementor-widget-image {
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-hero .lp-hero-cta .elementor-widget-container,
  .life-size-lp .lp-hero .lp-hero-cta a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-hero .lp-hero-cta img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ========================================
   SP
======================================== */
@media (max-width: 767px) {

  .life-size-lp .lp-hero-sp .lp-hero-cta {
    position: relative !important;
    z-index: 20 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    gap: 4px !important;
    margin: -32px 6px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .life-size-lp .lp-hero-sp .lp-hero-cta > .elementor-widget-image {
    width: calc((100% - 4px) / 2) !important;
    max-width: calc((100% - 4px) / 2) !important;
    flex: 0 0 calc((100% - 4px) / 2) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .life-size-lp .lp-hero-sp .lp-hero-cta .elementor-widget-container,
  .life-size-lp .lp-hero-sp .lp-hero-cta a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .life-size-lp .lp-hero-sp .lp-hero-cta img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
}
/* ========================================
   FINAL CTA｜PC + SP 完全版
======================================== */


/* ========================================
   FINAL CTA 本体
======================================== */

#final-cta,
.lp-final-cta {
  width: 100% !important;
  background: #efe1d8 !important;

  padding: 38px 20px 42px !important;

  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
}


/* ========================================
   小さい文章
======================================== */

#final-cta .elementor-widget-text-editor,
.lp-final-cta .elementor-widget-text-editor {
  width: 100% !important;
  max-width: 900px !important;

  margin: 0 auto 16px !important;
  padding: 0 !important;

  text-align: center !important;
}

#final-cta .elementor-widget-text-editor p,
.lp-final-cta .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
  line-height: 1.6 !important;

  text-align: center !important;
}


/* ========================================
   見出し
======================================== */

#final-cta .elementor-widget-heading,
.lp-final-cta .elementor-widget-heading {
  width: 100% !important;
  max-width: 900px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}

#final-cta .elementor-heading-title,
.lp-final-cta .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;

  text-align: center !important;
}


/* ========================================
   PC｜画像ボタン
======================================== */

@media (min-width: 768px) {

  .life-size-lp .lp-final-buttons-pc {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 430px !important;

    gap: 12px !important;

    margin: 24px auto 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  .life-size-lp .lp-final-buttons-pc
  > .elementor-widget-image {
    width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
    flex: 0 0 calc((100% - 12px) / 2) !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-pc
  .elementor-widget-container,
  .life-size-lp .lp-final-buttons-pc a {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-pc img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}


/* ========================================
   SP
======================================== */

@media (max-width: 767px) {

  #final-cta,
  .lp-final-cta {
    padding: 28px 12px 26px !important;
  }


  /* 小さい文章 */

  #final-cta .elementor-widget-text-editor,
  .lp-final-cta .elementor-widget-text-editor {
    margin: 0 auto 12px !important;
  }

  #final-cta .elementor-widget-text-editor p,
  .lp-final-cta .elementor-widget-text-editor p {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }


  /* 見出し */

  #final-cta .elementor-widget-heading,
  .lp-final-cta .elementor-widget-heading {
    margin: 0 auto !important;
  }

  #final-cta .elementor-heading-title,
  .lp-final-cta .elementor-heading-title {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }


  /* ========================================
     SP｜画像ボタン
  ======================================== */

  .life-size-lp .lp-final-buttons-sp {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 6px !important;

    margin: 20px auto 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    position: static !important;
    left: auto !important;
    transform: none !important;
  }


  .life-size-lp .lp-final-buttons-sp
  > .elementor-widget-image {
    width: calc((100% - 6px) / 2) !important;
    max-width: calc((100% - 6px) / 2) !important;
    flex: 0 0 calc((100% - 6px) / 2) !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-sp
  .elementor-widget-container,
  .life-size-lp .lp-final-buttons-sp a {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-sp img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}


/* ========================================
   PC
======================================== */
@media (min-width: 768px) {

  .life-size-lp .lp-final-buttons-pc {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 430px !important;

    gap: 12px !important;

    margin: 24px auto 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .life-size-lp .lp-final-buttons-pc
  > .elementor-widget-image {
    width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
    flex: 0 0 calc((100% - 12px) / 2) !important;

    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-final-buttons-pc
  .elementor-widget-container,
  .life-size-lp .lp-final-buttons-pc a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .life-size-lp .lp-final-buttons-pc img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
}

/* SIMPLE｜画像アコーディオン */
#simple-close-img {
  display: none !important;
}

.lp-simple-accordion.is-open #simple-open-img {
  display: none !important;
}

.lp-simple-accordion.is-open #simple-close-img {
  display: block !important;
}
/* COLORFUL｜画像アコーディオン */
#colorful-close-img {
  display: none !important;
}

.lp-colorful-accordion.is-open #colorful-open-img {
  display: none !important;
}

.lp-colorful-accordion.is-open #colorful-close-img {
  display: block !important;
}


/* CASUAL｜画像アコーディオン */
#casual-close-img {
  display: none !important;
}

.lp-casual-accordion.is-open #casual-open-img {
  display: none !important;
}

.lp-casual-accordion.is-open #casual-close-img {
  display: block !important;
}
/* ========================================
   テーマ開閉画像ボタン｜PC
   ボタン400px ＋ 展開画像を通常幅に戻す
======================================== */

@media (min-width: 768px) {

  /* =====================================
     開く・閉じるボタンだけ400px
  ===================================== */

  .lp-simple-accordion,
  .lp-colorful-accordion,
  .lp-casual-accordion {
    width: 100% !important;
    max-width: none !important;
  }

  .lp-simple-accordion .elementor-widget-image,
  .lp-colorful-accordion .elementor-widget-image,
  .lp-casual-accordion .elementor-widget-image {
    width: 400px !important;
    max-width: 400px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lp-simple-accordion img,
  .lp-colorful-accordion img,
  .lp-casual-accordion img {
    display: block !important;

    width: 100% !important;
    max-width: 400px !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =====================================
     展開後の中身
     ここは400pxにしない
  ===================================== */

  .life-size-lp .lp-simple-panel,
  .life-size-lp .lp-colorful-panel,
  .life-size-lp .lp-casual-panel {
    width: 100% !important;
    max-width: 1100px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    align-items: stretch !important;
  }


  /* Elementor内側コンテナも横いっぱい */
  .life-size-lp .lp-simple-panel > .e-con,
  .life-size-lp .lp-colorful-panel > .e-con,
  .life-size-lp .lp-casual-panel > .e-con {
    width: 100% !important;
    max-width: none !important;

    flex: 0 0 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* 展開画像ウィジェット */
  .life-size-lp .lp-simple-panel .elementor-widget-image,
  .life-size-lp .lp-colorful-panel .elementor-widget-image,
  .life-size-lp .lp-casual-panel .elementor-widget-image {
    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* 展開画像そのもの */
  .life-size-lp .lp-simple-panel img,
  .life-size-lp .lp-colorful-panel img,
  .life-size-lp .lp-casual-panel img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 auto !important;
  }

}
/* ========================================
   カジュアル衣裳はこちら
======================================== */

/* PC */
@media (min-width: 768px) {

  #casual-costume-btn {
    width: 400px !important;
    max-width: 400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #casual-costume-btn img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}


/* SP */
@media (max-width: 767px) {

  #casual-costume-btn {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #casual-costume-btn img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}
/* ========================================
   FV TYPOGRAPHY ＋ POSITION｜PC ONLY
   ★このブロックにまるごと差し替え
======================================== */

@media (min-width: 768px) {

  /* --------------------------------
     FV左側全体の位置
     → 上へ45px・右へ40px
  -------------------------------- */
  .life-size-lp .lp-hero-copy {
    transform: translate(40px, -45px) !important;
  }


  /* --------------------------------
     メインコピー
     いつか懐かしくなる『今』を、そのまま。
     → 明朝
  -------------------------------- */
  .life-size-lp .lp-hero-title,
  .life-size-lp .lp-hero-title .elementor-heading-title {
    color: #222222 !important;

    font-family:
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif !important;

    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0.12em !important;
  }


  /* --------------------------------
     小さいコピー
     等身大で残す今だけのたからもの。
  -------------------------------- */
  .life-size-lp .lp-hero-sub,
  .life-size-lp .lp-hero-sub p {
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;

    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    letter-spacing: 0.04em !important;
  }


  /* --------------------------------
     赤ちゃん・キッズ 等身大アルバム撮影会
  -------------------------------- */
  .life-size-lp .lp-hero-event,
  .life-size-lp .lp-hero-event .elementor-heading-title {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;

    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.05em !important;
  }


  /* --------------------------------
     9.14〜9.30／平日限定／先着20名
  -------------------------------- */
  .life-size-lp .lp-hero-date,
  .life-size-lp .lp-hero-date p {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;

    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.03em !important;
  }

}
/* ========================================
   ABOUT TYPOGRAPHY
   ★このブロックにまるごと差し替え
======================================== */


/* ========================================
   PC｜今のまま
======================================== */
@media (min-width: 768px) {

  .life-size-lp .lp-about h2,
  .life-size-lp .lp-about h3,
  .life-size-lp .lp-about .elementor-heading-title {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.04em !important;
  }

  .life-size-lp .lp-about p {
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    letter-spacing: 0.03em !important;
  }

}


/* ========================================
   SP
======================================== */
@media (max-width: 767px) {

  /* 見出し */
  .life-size-lp .lp-about h2,
  .life-size-lp .lp-about h3,
  .life-size-lp .lp-about .elementor-heading-title {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.03em !important;
    margin: 0 !important;
  }

  /* ★見出しウィジェット自体の下余白を縮める */
  .life-size-lp .lp-about-copy > .elementor-widget-heading {
    margin-bottom: 10px !important;
  }

  /* 説明文 */
  .life-size-lp .lp-about p {
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.02em !important;
    margin-top: 0 !important;
  }

  /* ★見出しと説明文のコンテナ間隔も詰める */
  .life-size-lp .lp-about-copy {
    gap: 10px !important;
  }

}
/* ========================================
   ALBUM + PRICE 共通 TYPOGRAPHY
   ★このブロックにまるごと差し替え
======================================== */


/* ==============================
   共通：タイトルを黒に強制
============================== */

html body .life-size-lp .lp-album-title,
html body .life-size-lp .lp-album-title *,
html body .life-size-lp .lp-price .elementor-heading-title,
html body .life-size-lp .lp-price .elementor-heading-title * {
  color: #222222 !important;
  -webkit-text-fill-color: #222222 !important;
  background-image: none !important;
  text-shadow: none !important;
}


/* ==============================
   PC
============================== */
@media (min-width: 768px) {

  /* ---------- タイトル ---------- */
  html body .life-size-lp .lp-album-title .elementor-heading-title,
  html body .life-size-lp .lp-price .elementor-heading-title {
    color: #222222 !important;
    -webkit-text-fill-color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* ---------- タイトル下の横棒 ---------- */
  html body .life-size-lp .lp-album-title .elementor-heading-title::after,
  html body .life-size-lp .lp-price .elementor-heading-title::after {
    content: "" !important;
    display: block !important;
    width: 42px !important;
    height: 2px !important;
    background: #222222 !important;
    margin: 12px auto 0 !important;
  }

  /* ---------- タイトルウィジェット ---------- */
  html body .life-size-lp .lp-album-title,
  html body .life-size-lp .lp-price .elementor-widget-heading {
    width: 100% !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* ---------- 説明文ウィジェット ---------- */
  html body .life-size-lp .lp-album .elementor-widget-text-editor,
  html body .life-size-lp .lp-price .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
    align-self: center !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* ---------- 説明文の中身 ---------- */
  html body .life-size-lp .lp-album .elementor-widget-text-editor .elementor-widget-container,
  html body .life-size-lp .lp-price .elementor-widget-text-editor .elementor-widget-container,
  html body .life-size-lp .lp-album .elementor-widget-text-editor p,
  html body .life-size-lp .lp-price .elementor-widget-text-editor p {
    width: 100% !important;
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.03em !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }
}


/* ==============================
   SP
============================== */
@media (max-width: 767px) {

  /* ---------- タイトル ---------- */
  html body .life-size-lp .lp-album-title .elementor-heading-title,
  html body .life-size-lp .lp-price .elementor-heading-title {
    color: #222222 !important;
    -webkit-text-fill-color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* ---------- タイトル下の横棒 ---------- */
  html body .life-size-lp .lp-album-title .elementor-heading-title::after,
  html body .life-size-lp .lp-price .elementor-heading-title::after {
    content: "" !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: #222222 !important;
    margin: 8px auto 0 !important;
  }

  /* ---------- タイトル → 説明文 ---------- */
  html body .life-size-lp .lp-album-title,
  html body .life-size-lp .lp-price .elementor-widget-heading {
    width: 100% !important;
    margin: 0 auto 6px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* ---------- 説明文 ---------- */
  html body .life-size-lp .lp-album .elementor-widget-text-editor,
  html body .life-size-lp .lp-price .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
    align-self: center !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* ---------- 説明文の中身 ---------- */
  html body .life-size-lp .lp-album .elementor-widget-text-editor .elementor-widget-container,
  html body .life-size-lp .lp-price .elementor-widget-text-editor .elementor-widget-container,
  html body .life-size-lp .lp-album .elementor-widget-text-editor p,
  html body .life-size-lp .lp-price .elementor-widget-text-editor p {
    width: 100% !important;
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  /* ---------- 要素間隔もALBUM・PRICE共通 ---------- */
  html body .life-size-lp .lp-album,
  html body .life-size-lp .lp-price {
    gap: 8px !important;
    --gap: 8px !important;
    --row-gap: 8px !important;
  }
}
/* ========================================
   OUTLINE TYPOGRAPHY
   ★OUTLINE専用
======================================== */


/* ==============================
   PC
============================== */
@media (min-width: 768px) {

  /* OUTLINE メインタイトル */
  html body .life-size-lp .lp-outline-title .elementor-heading-title {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* OUTLINE下の横棒 */
  html body .life-size-lp .lp-outline-title .elementor-heading-title::after {
    content: "" !important;
    display: block !important;
    width: 42px !important;
    height: 2px !important;
    background: #222222 !important;
    margin: 12px auto 0 !important;
  }

  /* 開催概要 */
  html body .life-size-lp .lp-outline-subtitle .elementor-heading-title {
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* OUTLINE → 開催概要 */
  html body .life-size-lp .lp-outline-title {
    margin-bottom: 20px !important;
  }

}


/* ==============================
   SP
============================== */
@media (max-width: 767px) {

  /* OUTLINE メインタイトル */
  html body .life-size-lp .lp-outline-title .elementor-heading-title {
    color: #222222 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.20em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* OUTLINE下の横棒 */
  html body .life-size-lp .lp-outline-title .elementor-heading-title::after {
    content: "" !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: #222222 !important;
    margin: 8px auto 0 !important;
  }

  /* 開催概要 */
  html body .life-size-lp .lp-outline-subtitle .elementor-heading-title {
    color: #333333 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* OUTLINE → 開催概要 */
  html body .life-size-lp .lp-outline-title {
    margin-bottom: 14px !important;
  }

}
/* ========================================
   SIMPLE / COLORFUL / CASUAL
   SP + PC 共通
   ★文字色はElementor側で設定
   ★SPの余白を3テーマ完全統一
======================================== */


/* ========================================
   共通
======================================== */

/* 英字タイトル */
html body .life-size-lp .lp-simple .lp-theme-title,
html body .life-size-lp .lp-colorful .lp-theme-title,
html body .life-size-lp .lp-casual .lp-theme-title {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 英字タイトル文字 */
html body .life-size-lp .lp-simple .lp-theme-title .elementor-heading-title,
html body .life-size-lp .lp-colorful .lp-theme-title .elementor-heading-title,
html body .life-size-lp .lp-casual .lp-theme-title .elementor-heading-title {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;
  text-align: center !important;
  margin: 0 !important;
}


/* 横棒 */
html body .life-size-lp .lp-simple .lp-theme-title .elementor-heading-title::after,
html body .life-size-lp .lp-colorful .lp-theme-title .elementor-heading-title::after,
html body .life-size-lp .lp-casual .lp-theme-title .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 28px !important;
  height: 1px !important;
  background: #222222 !important;
  margin: 8px auto 6px !important;
}


/* 日本語サブタイトル */
html body .life-size-lp .lp-simple .lp-theme-subtitle,
html body .life-size-lp .lp-colorful .lp-theme-subtitle,
html body .life-size-lp .lp-casual .lp-theme-subtitle {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body .life-size-lp .lp-simple .lp-theme-subtitle .elementor-heading-title,
html body .life-size-lp .lp-colorful .lp-theme-subtitle .elementor-heading-title,
html body .life-size-lp .lp-casual .lp-theme-subtitle .elementor-heading-title {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400 !important;
  text-align: center !important;
  margin: 0 !important;
}


/* 説明文 */
html body .life-size-lp .lp-simple .elementor-widget-text-editor,
html body .life-size-lp .lp-colorful .elementor-widget-text-editor,
html body .life-size-lp .lp-casual .elementor-widget-text-editor {
  text-align: center !important;
}

html body .life-size-lp .lp-simple .elementor-widget-text-editor p,
html body .life-size-lp .lp-colorful .elementor-widget-text-editor p,
html body .life-size-lp .lp-casual .elementor-widget-text-editor p {
  text-align: center !important;
  margin: 0 !important;
}


/* ========================================
   SP｜767px以下
   SIMPLE / COLORFUL / CASUAL
   ★共通の最低限設定のみ
======================================== */

@media (max-width: 767px) {

  /* 英字タイトル */
  html body .life-size-lp .lp-simple .lp-theme-title,
  html body .life-size-lp .lp-colorful .lp-theme-title,
  html body .life-size-lp .lp-casual .lp-theme-title {
    width: 100% !important;
    text-align: center !important;
  }

  html body .life-size-lp .lp-simple .lp-theme-title .elementor-heading-title,
  html body .life-size-lp .lp-colorful .lp-theme-title .elementor-heading-title,
  html body .life-size-lp .lp-casual .lp-theme-title .elementor-heading-title {
    font-size: 20px !important;
    text-align: center !important;
  }


/* 日本語サブタイトル */
html body .life-size-lp .lp-simple .lp-theme-subtitle,
html body .life-size-lp .lp-colorful .lp-theme-subtitle,
html body .life-size-lp .lp-casual .lp-theme-subtitle {
  width: 100% !important;
  text-align: center !important;

  /* サブタイトル → 説明文の間隔 */
  margin-bottom: 32px !important;
}

  html body .life-size-lp .lp-simple .lp-theme-subtitle .elementor-heading-title,
  html body .life-size-lp .lp-colorful .lp-theme-subtitle .elementor-heading-title,
  html body .life-size-lp .lp-casual .lp-theme-subtitle .elementor-heading-title {
    font-size: 13px !important;
    text-align: center !important;
  }


  /* 説明文 */
  html body .life-size-lp .lp-simple .elementor-widget-text-editor,
  html body .life-size-lp .lp-colorful .elementor-widget-text-editor,
  html body .life-size-lp .lp-casual .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 290px !important;
    text-align: center !important;
  }

  html body .life-size-lp .lp-simple .elementor-widget-text-editor p,
  html body .life-size-lp .lp-colorful .elementor-widget-text-editor p,
  html body .life-size-lp .lp-casual .elementor-widget-text-editor p {
    text-align: center !important;
  }

}


/* ========================================
   PC｜768px以上
   ★今の左右配置は触らない
======================================== */

@media (min-width: 768px) {

  /* 英字タイトル */
  html body .life-size-lp .lp-simple .lp-theme-title .elementor-heading-title,
  html body .life-size-lp .lp-colorful .lp-theme-title .elementor-heading-title,
  html body .life-size-lp .lp-casual .lp-theme-title .elementor-heading-title {
    font-size: 24px !important;
  }


  /* 日本語サブタイトル */
  html body .life-size-lp .lp-simple .lp-theme-subtitle,
  html body .life-size-lp .lp-colorful .lp-theme-subtitle,
  html body .life-size-lp .lp-casual .lp-theme-subtitle {
    margin-bottom: 18px !important;
  }

  html body .life-size-lp .lp-simple .lp-theme-subtitle .elementor-heading-title,
  html body .life-size-lp .lp-colorful .lp-theme-subtitle .elementor-heading-title,
  html body .life-size-lp .lp-casual .lp-theme-subtitle .elementor-heading-title {
    font-size: 15px !important;
  }


  /* 左側文字エリアの中だけ中央揃え */
  html body .life-size-lp .lp-simple .lp-theme-inner,
  html body .life-size-lp .lp-colorful .lp-theme-inner,
  html body .life-size-lp .lp-casual .lp-theme-inner {
    text-align: center !important;
  }


  /* 説明文 */
  html body .life-size-lp .lp-simple .elementor-widget-text-editor,
  html body .life-size-lp .lp-colorful .elementor-widget-text-editor,
  html body .life-size-lp .lp-casual .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ========================================
   SP｜テーマ説明文の上余白
======================================== */
@media (max-width: 767px) {

  html body .life-size-lp .lp-simple .lp-theme-copy
  > .elementor-widget-text-editor
  + .elementor-widget-text-editor,

  html body .life-size-lp .lp-colorful .lp-theme-copy
  > .elementor-widget-text-editor
  + .elementor-widget-text-editor,

  html body .life-size-lp .lp-casual .lp-theme-copy
  > .elementor-widget-text-editor
  + .elementor-widget-text-editor {
    margin-top: 24px !important;
  }

}
/* ========================================
   ATTENTION → FINAL CTA
   参考画像に合わせた最終調整
======================================== */


/* ========================================
   PC｜ATTENTION下の余白を詰める
======================================== */
@media (min-width: 768px) {

  .life-size-lp .lp-attention {
    width: 100% !important;

    margin: 0 !important;
    padding: 35px 20px 30px !important;

    min-height: 0 !important;
    height: auto !important;

    box-sizing: border-box !important;
  }

  .life-size-lp .lp-attention-content {
    width: 100% !important;
    max-width: 1100px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    gap: 0 !important;
  }

  .life-size-lp .lp-attention-content > .e-con {
    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
    height: auto !important;
  }

}


/* ========================================
   FINAL CTA｜共通
======================================== */

#final-cta,
.life-size-lp .lp-final-cta {
  width: 100% !important;

  margin: 0 !important;

  background: #efe1d8 !important;

  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;

  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;

  min-height: 0 !important;
  height: auto !important;
}


/* ========================================
   FINAL CTA｜小さい文章
======================================== */

#final-cta .elementor-widget-text-editor,
.life-size-lp .lp-final-cta .elementor-widget-text-editor {
  width: 100% !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}

#final-cta .elementor-widget-text-editor p,
.life-size-lp .lp-final-cta .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;

  color: #555555 !important;

  text-align: center !important;
}


/* ========================================
   FINAL CTA｜見出し
======================================== */

#final-cta .elementor-widget-heading,
.life-size-lp .lp-final-cta .elementor-widget-heading {
  width: 100% !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}


#final-cta .elementor-heading-title,
.life-size-lp .lp-final-cta .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: #222222 !important;

  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 500 !important;

  text-align: center !important;
}


/* 左右の ＼ ／ をCSSで追加 */

#final-cta .elementor-heading-title::before,
.life-size-lp .lp-final-cta .elementor-heading-title::before {
  content: "＼ " !important;
}

#final-cta .elementor-heading-title::after,
.life-size-lp .lp-final-cta .elementor-heading-title::after {
  content: " ／" !important;
}


/* ========================================
   PC｜FINAL CTA
======================================== */

@media (min-width: 768px) {

  #final-cta,
  .life-size-lp .lp-final-cta {
    padding: 34px 20px 38px !important;
  }


  /* 先着20名 */

  #final-cta .elementor-widget-text-editor,
  .life-size-lp .lp-final-cta .elementor-widget-text-editor {
    margin-bottom: 15px !important;
  }

  #final-cta .elementor-widget-text-editor p,
  .life-size-lp .lp-final-cta .elementor-widget-text-editor p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }


  /* ご予約・お問合せ */

  #final-cta .elementor-heading-title,
  .life-size-lp .lp-final-cta .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.4 !important;
    letter-spacing: .04em !important;
  }


  /* 電話・LINE */

  .life-size-lp .lp-final-buttons-pc {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 430px !important;

    gap: 12px !important;

    margin: 24px auto 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  .life-size-lp .lp-final-buttons-pc
  > .elementor-widget-image {
    width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;

    flex: 0 0 calc((100% - 12px) / 2) !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-pc
  .elementor-widget-container,
  .life-size-lp .lp-final-buttons-pc a {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-pc img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}


/* ========================================
   SP｜FINAL CTA 完全版
   ★外側の上下余白は広めのまま
   ★中の要素間だけ詰める
======================================== */

@media (max-width: 767px) {

  /* ========================================
     ATTENTION
  ======================================== */

  .life-size-lp .lp-attention {
    width: 100% !important;

    margin-bottom: 0 !important;
    padding-bottom: 18px !important;

    min-height: 0 !important;
    height: auto !important;

    box-sizing: border-box !important;
  }


  /* ========================================
     FINAL CTA 本体
     ★外側の上下余白は広めに残す
  ======================================== */

  #final-cta,
  .life-size-lp .lp-final-cta {
    width: 100% !important;

    margin: 0 !important;
    padding: 38px 8px 40px !important;

    min-height: 0 !important;
    height: auto !important;

    gap: 0 !important;
    row-gap: 0 !important;

    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    background: #efe1d8 !important;

    text-align: center !important;
  }


  /* ========================================
     Elementor内部
     ★余計な自動余白だけ消す
  ======================================== */

  #final-cta > .e-con,
  .life-size-lp .lp-final-cta > .e-con {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    gap: 0 !important;
    row-gap: 0 !important;

    box-sizing: border-box !important;
  }


  /* ========================================
     先着20名
  ======================================== */

  #final-cta .elementor-widget-text-editor,
  .life-size-lp .lp-final-cta
  .elementor-widget-text-editor {
    width: 100% !important;

    margin: 0 auto 8px !important;
    padding: 0 !important;

    min-height: 0 !important;

    text-align: center !important;
  }


  #final-cta .elementor-widget-text-editor
  .elementor-widget-container,
  .life-size-lp .lp-final-cta
  .elementor-widget-text-editor
  .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }


  #final-cta .elementor-widget-text-editor p,
  .life-size-lp .lp-final-cta
  .elementor-widget-text-editor p {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    line-height: 1.5 !important;

    color: #555555 !important;

    text-align: center !important;
  }


  /* ========================================
     ご予約・お問合せ
  ======================================== */

  #final-cta .elementor-widget-heading,
  .life-size-lp .lp-final-cta
  .elementor-widget-heading {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;

    text-align: center !important;
  }


  #final-cta .elementor-widget-heading
  .elementor-widget-container,
  .life-size-lp .lp-final-cta
  .elementor-widget-heading
  .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }


  #final-cta .elementor-heading-title,
  .life-size-lp .lp-final-cta
  .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    letter-spacing: .03em !important;

    color: #222222 !important;

    text-align: center !important;
  }


  /* ========================================
     電話・LINE
  ======================================== */

  .life-size-lp .lp-final-buttons-sp {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 5px !important;
    row-gap: 0 !important;

    margin: 28px auto 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    position: static !important;
    left: auto !important;
    transform: none !important;

    box-sizing: border-box !important;
  }


  .life-size-lp .lp-final-buttons-sp
  > .elementor-widget-image {
    width: calc((100% - 5px) / 2) !important;
    max-width: calc((100% - 5px) / 2) !important;

    flex: 0 0 calc((100% - 5px) / 2) !important;

    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
  }


  .life-size-lp .lp-final-buttons-sp
  .elementor-widget-container,
  .life-size-lp .lp-final-buttons-sp a {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .life-size-lp .lp-final-buttons-sp img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

}