/**
 * Album Sweet - Landing Page CSS (lp-home.css)
 * LP専用スタイル。shared-common.css には手を入れない。
 * 全クラス名は .lp- プレフィックス（他ページとの衝突防止）
 *
 * 作成: Agent 3 (SSR Frontend) 2026-03-21
 */

/* ============================================================
   BASE / UTILITY
   ============================================================ */

.page-home {
    background-color: #1a1410;
}

/* 横はみ出し防止: body/html ではなくラッパーに適用（iOS Safari で fixed がガタつく問題回避） */
.lp-wrapper {
    overflow-x: hidden;
}

/* --- iOS Safari 自動ズーム防止: input/select/textarea は 16px 以上 --- */
.page-home input,
.page-home select,
.page-home textarea {
    font-size: 16px;
}

/* --- ボタン・リンクのテキスト選択不可 --- */
.page-home button,
.page-home a,
.page-home .lp-searchbtn,
.page-home .lp-fv__cta,
.page-home .lp-fv__nav-link,
.page-home .lp-fv__lang-trigger,
.page-home .scroll-to-top {
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.lp-w1000 {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .lp-w1000 {
        width: 95%;
    }
}

.lp-w100 {
    max-width: 100%;
    height: auto;
}

.lp-pc-hidden {
    display: none;
}
@media screen and (max-width: 767px) {
    .lp-pc-hidden {
        display: block;
    }
}

.lp-sp-only {
    display: none;
}
@media screen and (max-width: 767px) {
    .lp-sp-only {
        display: inline;
    }
}

.lp-sp-hidden {
    display: inline;
}
@media screen and (max-width: 767px) {
    .lp-sp-hidden {
        display: none;
    }
}

/* --- 共通テキストスタイル --- */
.lp-desc p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.875rem, 0.851rem + 0.1vw, 0.938rem);
    line-height: 2;
    text-align: center;
    color: #222;
    margin: 0 0 1em;
}
.lp-desc p:last-child {
    margin-bottom: 0;
}
.lp-desc--light p {
    color: #fff;
}
.lp-desc--dark p {
    color: #222;
}

/* --- LP固有ヘッダー上書き（FVと重なる時は透過） --- */
.page-home .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: transparent;
    transition: background 0.3s ease;
}
.page-home .site-header.lp-header-scrolled {
    background: rgba(26, 20, 16, 0.92);
    backdrop-filter: blur(8px);
}

/* --- CTA ボタン共通 --- */
.lp-searchbtn {
    max-width: 215px;
    width: 100%;
    border-radius: 50px;
    background: #1d1a16;
    border: 1px solid #65513f;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px 15px 24px;
    gap: 15px;
    text-decoration: none;
    transition: opacity 0.4s ease;
}
.lp-searchbtn:hover {
    opacity: 0.7;
}
.lp-searchbtn__text {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.1em;
    text-align: center;
    color: #bd9770;
}
.lp-searchbtn__icon {
    width: 17px;
    height: 17px;
}
@media screen and (min-width: 768px) {
    .lp-searchbtn__icon {
        width: 1.245vw;
        height: 1.245vw;
    }
}
.lp-searchbtn--beige {
    background: transparent;
    border: 1px solid #7e6836;
    margin: 0 auto;
}
.lp-searchbtn--beige .lp-searchbtn__text {
    color: #7e6836;
}

/* ============================================================
   SEC-FV: ファーストビュー
   ============================================================ */

.lp-fv {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background: #1a1410;
}

/* --- Drift 背景グリッド --- */
.lp-fv__drift {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.5s ease;
}
.lp-fv__drift--loaded {
    opacity: 0.55;
}
.lp-fv__drift-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    animation: lp-drift-float 120s linear infinite;
}
.lp-fv__drift-item {
    aspect-ratio: 1;
    background-size: cover;
    background-position: center;
    background-color: #2a2218;
}
@keyframes lp-drift-float {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}
@media screen and (max-width: 767px) {
    .lp-fv__drift-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* --- 暗いグラデーションオーバーレイ --- */
.lp-fv__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(26,20,16,0.15) 0%, rgba(26,20,16,0.55) 100%);
    z-index: 2;
    pointer-events: none;
}

/* --- FV ナビ（右上リンク） --- */
.lp-fv__nav {
    position: fixed;
    top: 20px;
    right: 30px;
    z-index: 100;
    display: flex;
    gap: 24px;
    align-items: center;
}
.lp-fv__nav-link {
    font-family: 'Playfair Display', 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.08em;
    color: rgba(236, 230, 221, 0.85);
    text-decoration: none;
    transition: color 0.3s ease;
}
.lp-fv__nav-link:hover {
    color: #c9b78e;
}
/* --- 言語切替ドロップダウン --- */
.lp-fv__lang {
    position: relative;
}
.lp-fv__lang-trigger {
    background: none;
    border: none;
    color: #ece6dd;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    transition: color 0.3s ease;
}
.lp-fv__lang-trigger:hover {
    color: #c9b78e;
}
.lp-fv__lang-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: rgba(26, 20, 16, 0.92);
    backdrop-filter: blur(8px);
    border-radius: 8px;
    padding: 8px 0;
    min-width: 140px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    z-index: 20;
}
.lp-fv__lang-dropdown.lp-fv__lang-dropdown--open {
    display: flex;
    flex-direction: column;
}
.lp-fv__lang-option {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    color: #ece6dd;
    text-decoration: none;
    padding: 8px 20px;
    transition: background 0.2s ease;
}
.lp-fv__lang-option:hover {
    background: rgba(201, 183, 142, 0.15);
    color: #c9b78e;
}
@media screen and (max-width: 767px) {
    .lp-fv__nav {
        top: 10px;
        right: 12px;
        gap: 10px;
    }
    .lp-fv__nav-link {
        font-size: 11px;
    }
}

/* --- FV コンテンツ --- */
.lp-fv__inner {
    position: relative;
    z-index: 5;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 32px;
}
.lp-fv__text {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* --- Album Sweet ロゴテキスト --- */
.lp-fv__logo {
    font-family: 'Playfair Display', 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    letter-spacing: 0.02em;
    color: #ede6dc;
    margin: 0 0 0.3em;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

/* --- サブテキスト --- */
.lp-fv__sub {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.813rem, 0.77rem + 0.18vw, 0.938rem);
    letter-spacing: 0.15em;
    color: rgba(255,255,255,0.85);
    margin: 0 0 0.6em;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

/* --- メインコピー「アルバムを、味わう。」 --- */
.lp-fv__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(2.5rem, 1.5rem + 4vw, 5rem);
    letter-spacing: 0.3em;
    color: #fff;
    line-height: 1.2;
    margin: 0;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

/* --- FV CTA ボタン強化 --- */
/* --- FV CTA ボタン（/sweet の .search-btn と同じスタイル） --- */
.lp-fv__cta {
    display: inline-block;
    font-family: 'Playfair Display', 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 16px;
    color: #1a1a1a;
    background: #c4956a;
    padding: 0.8rem 1.5rem;
    border: none;
    border-radius: 6px;
    text-decoration: none;
    cursor: pointer;
}
.lp-fv__cta:hover {
    color: #1a1a1a;
}

/* --- スクロールインジケーター --- */
.lp-fv__scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 5;
}
.lp-fv__scroll img {
    transform: rotate(-90deg);
}
.lp-fv__scroll-text {
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: #ece6dd;
}
@media screen and (max-width: 767px) {
    .lp-fv__main {
        letter-spacing: 0.15em;
    }
    .lp-fv__scroll {
        right: 16px;
        bottom: 20px;
    }
}

/* ============================================================
   SEC-02: 問題提起「何か足りない」
   ============================================================ */

.lp-sec02 {
    position: relative;
    background: linear-gradient(to bottom, #1a1410 0%, #e6e3d8 8%);
    overflow: hidden;
}
.lp-sec02::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
    background: url(/img/lp/bg02.png) no-repeat center/cover;
    opacity: 0.1;
    z-index: 1;
}
/* --- 線画イラスト背景 --- */
.lp-sec02__illustration {
    position: absolute;
    z-index: 1;
    color: #a08050;
    opacity: 0.45;
}
.lp-sec02__illustration--left {
    width: 260px;
    height: 260px;
    left: 10%;
    top: 60%;
    transform: translateY(-50%);
}
.lp-sec02__illustration--right {
    width: 200px;
    height: 250px;
    right: 10%;
    top: 40%;
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .lp-sec02__illustration {
        opacity: 0.25;
    }
}
/* --- sec02 inner --- */
.lp-sec02__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 80px 0 70px;
}
@media screen and (max-width: 767px) {
    .lp-sec02__inner {
        padding: 60px 0 50px;
        align-items: center;
    }
}
/* --- 見出し「何か足りない」— PC左寄せ、大きく --- */
.lp-sec02__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.2rem + 2.5vw, 3rem);
    color: #7e6836;
    letter-spacing: 0.3em;
    line-height: 1.2;
    margin: 0;
    text-align: left;
}
@media screen and (max-width: 767px) {
    .lp-sec02__main {
        text-align: center;
        font-size: clamp(1.4rem, 1rem + 1.5vw, 2rem);
    }
}
/* --- 本文 --- */
.lp-sec02__body {
    max-width: 640px;
    margin: 0 auto;
}
.lp-sec02__body p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.875rem, 0.851rem + 0.1vw, 0.938rem);
    line-height: 2;
    text-align: center;
    color: #333;
    margin: 0 0 1em;
}
.lp-sec02__body p:last-child {
    margin-bottom: 0;
}
/* --- 締め「便利になった。でも、何かが足りない。」— PC右寄せ、大きく --- */
.lp-sec02__closing {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.3rem, 0.9rem + 1.5vw, 2rem);
    color: #555;
    margin: 0.5em 0 0;
    line-height: 1.6;
    text-align: right;
}
@media screen and (max-width: 767px) {
    .lp-sec02__closing {
        text-align: center;
        font-size: clamp(1.1rem, 0.9rem + 0.8vw, 1.4rem);
    }
}
.lp-sec02__closing strong {
    font-weight: 700;
    color: #7e6836;
}

/* ============================================================
   SEC-03: 原体験
   ============================================================ */

.lp-sec03 {
    background-color: #514029;
    position: relative;
}
.lp-sec03::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
    background: url(/img/lp/bg03.png) no-repeat center/cover;
    opacity: 0.1;
    z-index: 1;
}
.lp-sec03 {
    overflow: hidden;
}
.lp-sec03__inner {
    position: relative;
    z-index: 2;
    width: 95%;
    margin-left: auto;
    padding: 67px 0 60px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4.173vw;
}
@media screen and (max-width: 767px) {
    .lp-sec03__inner {
        flex-direction: column-reverse;
        width: 95%;
        margin: 0 auto;
        gap: 40px;
        padding: 50px 0 60px;
    }
}
.lp-sec03__text {
    max-width: 566px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
@media screen and (max-width: 1240px) {
    .lp-sec03__text {
        /* max-width: 566px; */
    }
}
.lp-sec03__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    line-height: 1.706;
    color: #c9b78e;
    margin: 0;
}
.lp-sec03__text .lp-desc p {
    text-align: left;
    color: #fff;
}
.lp-sec03__img {
    max-width: 44.363vw;
    width: 70%;
    position: relative;
    height: 46.852vw;
    z-index: 5;
}
@media screen and (max-width: 767px) {
    .lp-sec03__img {
        max-width: 100%;
        height: auto;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 16px;
        position: static;
    }
}
.lp-sec03__img img {
    width: 100%;
    height: auto;
}
.lp-sec03__img-main {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 32.87vw;
    width: 75%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .lp-sec03__img-main {
        position: static;
        width: 100%;
        max-width: 100%;
    }
}
.lp-sec03__img-main::before {
    content: '';
    width: 32.943vw;
    height: 36.603vw;
    background: linear-gradient(#461524 0%, #845b24 100%);
    opacity: 0.26;
    z-index: -1;
    position: absolute;
    left: -5.124vw;
    bottom: -1.903vw;
}
@media screen and (max-width: 767px) {
    .lp-sec03__img-main::before {
        display: none;
    }
}
.lp-sec03__img-sub {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 9.37vw;
    width: 22%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .lp-sec03__img-sub {
        position: static;
        width: 60%;
        max-width: 60%;
        align-self: center;
    }
}

/* ============================================================
   SEC-04: ソリューション
   ============================================================ */

.lp-sec04 {
    background: url(/img/lp/bg04.png) no-repeat center/cover;
    position: relative;
}
.lp-sec04::before {
    content: '';
    width: 88.653vw;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: linear-gradient(to right, rgba(41, 47, 51, 0) 0%, rgba(0, 0, 0, 0.71) 100%);
}
@media screen and (max-width: 767px) {
    .lp-sec04::before {
        width: 100%;
        background: linear-gradient(to left, rgba(41, 47, 51, 0) 0%, rgba(0, 0, 0, 0.71) 100%);
    }
}
.lp-sec04__inner {
    padding: 130px 0;
    position: relative;
    z-index: 5;
}
@media screen and (max-width: 767px) {
    .lp-sec04__inner {
        padding: 80px 0;
    }
}
.lp-sec04__text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: fit-content;
    margin-left: auto;
    gap: 40px;
}
@media screen and (max-width: 767px) {
    .lp-sec04__text {
        width: 100%;
        margin: 0 auto;
    }
}
.lp-sec04__sub {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 0.905rem + 0.4vw, 1.25rem);
    color: #fff;
    padding-left: 20px;
    border-left: 1px solid #fff;
    text-align: left;
    width: 100%;
}
.lp-sec04__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    line-height: 1.706;
    color: #c9b78e;
    text-align: left;
    width: 100%;
    margin: 0;
}
.lp-sec04__text .lp-desc p {
    color: #fff;
    text-align: left;
}

/* ============================================================
   SEC-05: 3つの体験（カード型）
   ============================================================ */

.lp-sec05 {
    background: #1a1410;
    padding: 80px 0;
}
@media screen and (max-width: 767px) {
    .lp-sec05 {
        padding: 50px 0;
    }
}
.lp-sec05__column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
@media screen and (max-width: 767px) {
    .lp-sec05__column {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
.lp-sec05__card {
    border-radius: 8px;
    overflow: hidden;
    background: #231d17;
    transition: transform 0.3s ease;
}
.lp-sec05__card:hover {
    transform: translateY(-4px);
}
.lp-sec05__card-img {
    position: relative;
    overflow: hidden;
}
.lp-sec05__card-img img {
    width: 100%;
    height: auto;
    display: block;
}
.lp-sec05__card-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 100%);
}
.lp-sec05__card-title {
    position: absolute;
    bottom: 16px;
    left: 20px;
    z-index: 2;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 1rem + 2vw, 2.2rem);
    letter-spacing: 0.15em;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.6);
    margin: 0;
}
.lp-sec05__card-body {
    padding: 20px 24px 28px;
}
.lp-sec05__card-body p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 0.9rem;
    line-height: 1.9;
    color: #ccc;
    margin: 0;
}

/* ============================================================
   SEC-06: 機能紹介
   ============================================================ */

.lp-sec06 {
    background: #e6e3d8;
    overflow: hidden;
}
.lp-sec06__inner {
    padding: 120px 0 160px;
}
@media screen and (max-width: 767px) {
    .lp-sec06__inner {
        padding: 80px 0;
    }
}
.lp-sec06__label {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 0.905rem + 0.4vw, 1.25rem);
    color: #7e6836;
    padding-left: 20px;
    border-left: 1px solid #7e6836;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto 50px;
}
.lp-sec06__column {
    display: flex;
    flex-direction: column;
    gap: 110px;
}
@media screen and (max-width: 767px) {
    .lp-sec06__column {
        gap: 60px;
    }
}
.lp-sec06__item {
    display: flex;
    gap: 10%;
    align-items: center;
    width: 95%;
    margin-right: auto;
}
@media screen and (max-width: 1240px) {
    .lp-sec06__item {
        gap: 5%;
    }
}
@media screen and (max-width: 767px) {
    .lp-sec06__item {
        flex-direction: column;
        width: 100%;
        gap: 30px;
    }
}
.lp-sec06__item--reverse {
    flex-direction: row-reverse;
    margin-left: auto;
    margin-right: 0;
}
@media screen and (max-width: 767px) {
    .lp-sec06__item--reverse {
        flex-direction: column;
    }
}
.lp-sec06__img {
    max-width: 42.46vw;
    width: 100%;
    position: relative;
    z-index: 5;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .lp-sec06__img {
        max-width: none;
    }
}
.lp-sec06__img img {
    width: 100%;
    height: auto;
    display: block;
}
.lp-sec06__img::before {
    content: '';
    max-width: 42.46vw;
    width: 100%;
    height: 100%;
    background: linear-gradient(#461524 0%, #845b24 100%);
    opacity: 0.06;
    position: absolute;
    top: 1.5vw;
    left: 1.5vw;
    z-index: -1;
}
@media screen and (max-width: 767px) {
    .lp-sec06__img::before {
        display: none;
    }
}
.lp-sec06__item--reverse .lp-sec06__img::before {
    left: auto;
    right: 1.5vw;
}
.lp-sec06__text {
    max-width: 37.335vw;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.196vw;
}
@media screen and (max-width: 1240px) {
    .lp-sec06__text {
        max-width: 486px;
    }
}
@media screen and (max-width: 767px) {
    .lp-sec06__text {
        width: 95%;
        margin: 0 auto;
        gap: 20px;
    }
}
.lp-sec06__title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem);
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-align: left;
    color: #7e6836;
    margin: 0;
}
.lp-sec06__text .lp-desc p {
    text-align: left;
    color: #222;
}

/* ============================================================
   SEC-07: データの信頼性
   ============================================================ */

.lp-sec07 {
    background: #514029;
    position: relative;
    overflow: hidden;
}
.lp-sec07::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
    background: url(/img/lp/bg05.png) no-repeat center/cover;
    opacity: 0.1;
    z-index: 1;
}
/* --- sec07 線画背景 --- */
.lp-sec07__illustration {
    position: absolute;
    z-index: 1;
    color: #c9b78e;
    opacity: 0.6;
}
.lp-sec07__illustration--left {
    width: 220px;
    height: 220px;
    left: 5%;
    top: 18%;
}
.lp-sec07__illustration--right {
    width: 180px;
    height: 220px;
    right: 10%;
    bottom: 10%;
}
.lp-sec07__illustration--bottom-left {
    width: 140px;
    height: 230px;
    left: 15%;
    top: 20%;
}
.lp-sec07__illustration--top-right {
    width: 160px;
    height: 180px;
    right: 12%;
    top: 8%;
}
@media screen and (max-width: 767px) {
    .lp-sec07__illustration--left {
        width: 150px;
        height: 150px;
        left: -5%;
    }
    .lp-sec07__illustration--right {
        width: 120px;
        height: 150px;
        right: -3%;
    }
    .lp-sec07__illustration--bottom-left {
        width: 100px;
        height: 160px;
        left: 3%;
    }
    .lp-sec07__illustration--top-right {
        width: 110px;
        height: 120px;
        right: 2%;
    }
    .lp-sec07__column {
        display: block;
    }
    .lp-sec07__item {
        display: block;
        border-right: none;
    }
    .lp-sec07__num {
        display: inline-block;
    }
    .lp-sec07__item-txt {
        display: inline-block;
        margin: 0 0 0 0.5em;
    }
}
.lp-sec07__inner {
    position: relative;
    z-index: 2;
    padding: 130px 0 100px;
}
@media screen and (max-width: 767px) {
    .lp-sec07__inner {
        padding: 80px 0;
    }
}
.lp-sec07__title {
    display: flex;
    flex-direction: column;
    gap: 36px;
    align-items: center;
    justify-content: center;
    margin-bottom: 45px;
}
.lp-sec07__sub {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 0.905rem + 0.4vw, 1.25rem);
    text-align: center;
    color: #fff;
}
.lp-sec07__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    line-height: 1.706;
    text-align: center;
    color: #fff;
    margin: 0;
}
/* SP の .lp-sec07__main / __num-large は末尾のメディアクエリに集約 */
.lp-sec07__column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
    .lp-sec07__column {
        grid-template-columns: repeat(3, 1fr);
        margin-bottom: 40px;
    }
}
.lp-sec07__item {
    text-align: center;
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(201, 183, 142, 0.4);
}
.lp-sec07__item:last-child {
    border-right: none;
}
.lp-sec07__num {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.lp-sec07__num-large {
    font-family: 'Libre Caslon Text', serif;
    font-weight: 400;
    font-size: clamp(3.75rem, 2.567rem + 5.05vw, 6.875rem);
    line-height: 1.236;
    text-align: center;
    color: #c9b78e;
}
.lp-sec07__num-small {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 23px;
    text-align: center;
    color: #fff;
    margin-bottom: 25px;
}
@media screen and (max-width: 1024px) {
    .lp-sec07__num-small {
        margin-bottom: 10px;
    }
}
.lp-sec07__item-txt {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.875rem, 0.851rem + 0.1vw, 0.938rem);
    line-height: 2;
    text-align: center;
    color: #fff;
}
.lp-sec07__inner > .lp-desc p {
    color: #fff;
}

/* ============================================================
   SEC-07b: THE ORIGIN
   ============================================================ */

.lp-sec07b {
    background: #1a1410;
    position: relative;
    overflow: hidden;
}
/* --- アルバムジャケット背景 --- */
.lp-sec07b__albums {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    opacity: 0;
    transition: opacity 2s ease;
}
.lp-sec07b__albums--loaded {
    opacity: 0.7;
}
.lp-sec07b__albums-item {
    aspect-ratio: 1;
    background-size: cover;
    background-position: center;
    background-color: #2a2218;
}
@media screen and (max-width: 767px) {
    .lp-sec07b__albums {
        grid-template-columns: repeat(4, 1fr);
    }
}
.lp-sec07b__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(26,20,16,0.6) 0%, rgba(26,20,16,0.95) 70%);
    z-index: 1;
    pointer-events: none;
}
.lp-sec07b__inner {
    position: relative;
    z-index: 2;
    padding: 120px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .lp-sec07b__inner {
        padding: 80px 0;
    }
    /* SP の .lp-sec07b__main は末尾のメディアクエリに集約 */
}
.lp-sec07b__label {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 0.828rem + 0.2vw, 1rem);
    letter-spacing: 0.2em;
    color: #c9b78e;
    text-align: center;
    margin-bottom: 30px;
}
.lp-sec07b__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.15em;
    line-height: 1.6;
    color: #fff;
    text-align: center;
    margin: 0 0 60px;
}
.lp-sec07b__body {
    max-width: 680px;
    width: 100%;
}
.lp-sec07b__body p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.875rem, 0.851rem + 0.1vw, 0.938rem);
    line-height: 2.2;
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
    margin: 0 0 1.8em;
}
.lp-sec07b__body p:last-child {
    margin-bottom: 0;
}
.lp-sec07b__signature {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(0.813rem, 0.789rem + 0.1vw, 0.875rem);
    color: #c9b78e;
    text-align: center;
    margin-top: 50px;
    letter-spacing: 0.1em;
}
.lp-sec07b__cta {
    margin-top: 50px;
}

/* ============================================================
   SEC-08: 無料で始めよう
   ============================================================ */

.lp-sec08 {
    position: relative;
    z-index: 5;
}
.lp-sec08::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/img/lp/bg06.png) no-repeat center/cover;
    z-index: -1;
}
.lp-sec08__inner {
    padding: 200px 0 220px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .lp-sec08__inner {
        padding: 80px 0;
    }
}
.lp-sec08__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    line-height: 1.706;
    text-align: center;
    color: #c9b78e;
    margin: 0;
}
.lp-sec08__inner .lp-desc p {
    color: #fff;
}
.lp-sec08__logos {
    display: flex;
    align-items: center;
    gap: 4.758vw;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .lp-sec08__logos {
        flex-wrap: wrap;
    }
}

/* ============================================================
   SEC-09: はじめかた
   ============================================================ */

.lp-sec09 {
    background: #e6e3d8;
}
.lp-sec09__inner {
    padding: 120px 0 115px;
}
@media screen and (max-width: 767px) {
    .lp-sec09__inner {
        padding: 80px 0;
    }
}
.lp-sec09__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    text-align: center;
    color: #222;
    margin: 0 0 40px;
}
.lp-sec09__column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.66vw;
    margin-bottom: 40px;
    list-style: none;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .lp-sec09__column {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
}
.lp-sec09__item {
    position: relative;
    padding-top: 30px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.lp-sec09__img img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}
.lp-sec09__num {
    font-family: 'Libre Caslon Text', serif;
    font-weight: 400;
    font-size: clamp(3.5rem, 2.5rem + 3vw, 5rem);
    line-height: 1;
    text-align: center;
    color: rgba(132, 108, 82, 0.85);
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -30px;
    z-index: -1;
}
.lp-sec09__title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
    letter-spacing: 0.2em;
    text-align: center;
    color: #7e6836;
    margin: 0;
}
.lp-sec09__item .lp-desc p {
    text-align: center;
    line-height: 1.733;
    color: #222;
}
/* CTA 中央寄せ（トップ以外） */
.lp-sec09__inner > .lp-fv__cta {
    display: block;
    text-align: center;
    max-width: 220px;
    margin: 0 auto;
}

/* ============================================================
   SEC-10: 読みもの（ブログ）
   ============================================================ */

.lp-sec10 {
    background: #1a1410;
}
.lp-sec10__inner {
    padding: 125px 0;
}
@media screen and (max-width: 767px) {
    .lp-sec10__inner {
        padding: 80px 0;
    }
}
.lp-sec10__title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin-bottom: 40px;
}
.lp-sec10__title-main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.919rem + 1.41vw, 2.125rem);
    letter-spacing: 0.2em;
    color: #c9b78e;
    padding-right: 30px;
    position: relative;
    margin: 0;
}
.lp-sec10__title-main::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 29px;
    background: #fff;
}
.lp-sec10__title-sub {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 0.905rem + 0.4vw, 1.25rem);
    color: #fff;
}
.lp-sec10__column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.928vw;
    margin-bottom: 38px;
    list-style: none;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .lp-sec10__column {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }
}
.lp-sec10__item a {
    text-decoration: none;
    color: inherit;
    transition: filter 0.3s ease;
    display: block;
}
.lp-sec10__item a:hover {
    filter: brightness(1.15);
}
.lp-sec10__item-img img {
    width: 100%;
    height: auto;
    display: block;
}
.lp-sec10__item-text {
    padding: 15px 20px 28px;
    background: #f5f4f2;
}
@media screen and (max-width: 1024px) {
    .lp-sec10__item-text {
        padding: 15px 17px 28px;
    }
}
@media screen and (max-width: 767px) {
    .lp-sec10__item-text {
        padding: 15px 8px 28px;
    }
}
.lp-sec10__item-title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.375rem, 1.233rem + 0.61vw, 1.75rem);
    line-height: 2.071;
    color: #7e6836;
    margin: 0;
}
.lp-sec10__item-text .lp-desc p {
    line-height: 1.733;
    color: #222;
    text-align: left;
}
.lp-sec10__more {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1em;
    text-decoration: none;
    transition: opacity 0.4s ease;
}
.lp-sec10__more:hover {
    filter: brightness(1.15);
}
.lp-sec10__more-text {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #fff;
}

/* ============================================================
   SEC-11: 最終CTA
   ============================================================ */

.lp-sec11 {
    background: url(/img/lp/bg07.png) no-repeat center/cover;
}
.lp-sec11__inner {
    padding: 252px 0 285px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}
@media screen and (max-width: 767px) {
    .lp-sec11__inner {
        padding: 80px 0;
    }
}
.lp-sec11__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 48px;
}
.lp-sec11__sub {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(0.875rem, 0.851rem + 0.1vw, 0.938rem);
    text-align: center;
    color: #fff;
}
.lp-sec11__main {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: clamp(1.125rem, 0.747rem + 1.61vw, 2.125rem);
    letter-spacing: 0.2em;
    text-align: center;
    color: #fff;
    margin: 0;
}

/* ============================================================
   ページトップボタン（/sweet の ScrollToTop と同じスタイル・位置）
   ============================================================ */
/* ページトップボタンは shared-common.css の .scroll-to-top をそのまま使用 */

/* ============================================================
   セクション H2 統一（sec02〜sec11）
   ※ この後に SP メディアクエリを配置すること（上書き順序を守る）
   ============================================================ */
.lp-sec02__main,
.lp-sec03__main,
.lp-sec04__main,
.lp-sec07__main,
.lp-sec07b__main,
.lp-sec08__main,
.lp-sec09__main,
.lp-sec11__main {
    font-size: 2.5em;
    font-weight: 700;
}

/* ============================================================
   SP メディアクエリ（末尾に集約 — 上書き順序を保証）
   ============================================================ */
@media screen and (max-width: 767px) {
    .lp-sec02__main {
        font-size: 1.8em;
    }
    .lp-sec03__main {
        font-size: 1.5em;
    }
    .lp-sec04__main {
        font-size: 1.8em;
        line-height: 1.4;
    }
    .lp-sec07__main {
        font-size: 1.3rem;
        letter-spacing: 0.1em;
        line-height: 1.5;
    }
    .lp-sec07__num-large {
        font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem);
    }
    .lp-sec07b__main {
        font-size: 2.2em;
    }
    .lp-sec08__main {
        font-size: 2.2em;
        line-height: 1.4;
    }
    .lp-sec04__main {
        font-size: 1.8em;
    }
}

/* フッターは shared-common.css のスタイルをそのまま使用（LP 専用上書きなし） */
