/* ============================================================
   リセット & 共通
   ============================================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}

body {
    font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", "Noto Serif JP", serif;
    -webkit-font-smoothing: antialiased;
    background-image: url('img/main-bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-color: #0b0d16;
}

html {
    font-size: calc(100vw / 750 * 10);
}

@media (min-width: 751px) {
    html {
        font-size: 10px;
    }

    .lp-container {
        width: 750px;
    }
}


/* ============================================================
   lp-container
   ============================================================ */
.lp-container {
    width: 75rem;
    margin: 0 auto;
    background-color: #1a1512;
    box-shadow: 0 0 3.6rem rgba(0, 0, 0, 0.7);
    transform-origin: top center;
}

.lp-container__header {
    background-color: #fff;
    margin: auto;
    text-align: center;
}

.lp-container__logo {
    height: 4.12rem;
    margin: auto;
    text-align: center;
    width: auto;
}

.lp-container__fv {
    width: 100%;
}

.lp-container__fv-image {
    width: 100%;
    display: block;
}


/* ============================================================
   lp-content（FV直下テキストエリア）
   ============================================================ */
.lp-content {
    width: 100%;
    padding-top: 1.24rem;
    padding-bottom: 5.36rem;
    background: #24221F;
}

.lp-content__inner {
    width: 90%;
    margin: 0 auto;
}

.lp-content__catch {
    font-size: 2.3rem;
    margin-bottom: 0;
    color: #FFFFFF;
}

.lp-content__sub-catch {
    font-size: 2.3rem;
    margin-bottom: 0rem;
    color: #FFFFFF;
}

.lp-content__title {
    font-size: 5.7rem;
    font-weight: bold;
    font-family: "YuMincho", "Yu Mincho", serif;
    color: #D7912F;
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
    text-shadow:
        0.05rem 0.05rem 0 #D7912F,
        -0.05rem 0.05rem 0 #D7912F,
        0.05rem -0.05rem 0 #D7912F,
        -0.05rem -0.05rem 0 #D7912F,
        0.2rem 0.4rem 0.2rem rgba(0, 0, 0, 1),
        0 0 0.6rem rgba(0, 0, 0, 1);
}

.fv-line-deco {
    width: 100%;
    margin-top: -1.5rem;
}

.lp-content__lead-title {
    font-size: 3.1rem;
    font-weight: normal;
    margin-top: 1.52rem;
    color: #ffffff;
}

.lp-content__lead-text {
    line-height: 2;
    font-size: 2.25rem;
    color: #FFFFFF;
    margin-bottom: 3.2rem;
}


/* ============================================================
   lp-features（3つの特徴アイコン）
   ============================================================ */
.lp-features {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.lp-features__item {
    width: 32%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lp-features__icon {
    width: 11.76rem;
    height: 11.76rem;
    object-fit: contain;
    margin-bottom: 2.52rem;
}

.lp-features__item-title {
    font-size: 2.25rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #D1891C;
    margin-bottom: 1.56rem;
    height: 4.56rem;
    display: flex;
    align-items: end;
    justify-content: center;
}

.lp-features__item-text {
    font-size: 1.49rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #fff;
    text-align: left;
}

.lp-features__item-text-last {
    margin-left: -5rem;
}


/* ============================================================
   lp-cta（CTAボタン & コンタクトセクション）
   ============================================================ */
.lp-cta {
    width: 100%;
    background-color: #1a1512;
    text-align: center;
    box-sizing: border-box;
}

.lp-cta__inner {
    width: 100%;
}

.lp-cta__buttons {
    padding: 5.0rem 4.0rem;
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    box-sizing: border-box;
    background-color: #E5DED1;
}

.lp-cta__btn {
    display: block;
    width: 100%;
    text-decoration: none;
    box-sizing: border-box;
    padding: 0.6rem;
    transition: opacity 0.3s ease;
}

.lp-cta__btn:hover {
    opacity: 0.9;
}

.lp-cta__btn-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.5rem;
    border: 1.4px solid #B49662;
    box-sizing: border-box;
}

.lp-cta__btn-inner-contact {
    border: 1.4px solid #fff;
}

.lp-cta__btn--dark {
    background-color: #24221F;
    border: 2px solid #E5DED1;
    outline: 7px solid #24221F;
}

.lp-cta__btn--dark .lp-cta__btn-note {
    color: #B49662;
}

.lp-cta__btn--dark .lp-cta__btn-text {
    color: #B49662;
}

.lp-cta__btn--dark-fv {
    outline: 4px solid #24221F;
    border: 0;
}

.lp-cta__btn--gold {
    background-color: #B49662;
    outline: 4px solid #B49662;
}

.lp-cta__btn--gold .lp-cta__btn-note {
    color: #ffffff;
}

.lp-cta__btn--gold .lp-cta__btn-text {
    color: #ffffff;
}

.lp-cta__btn-note {
    font-size: 2.3rem;
    font-weight: bold;
}

.lp-cta__btn-text {
    font-size: 3.4rem;
    font-weight: bold;
}

.lp-cta__illustration {
    width: 100%;
    line-height: 0;
}

.lp-cta__img {
    width: 100%;
    height: auto;
    display: block;
}

.lp-cta__description {
    background-color: #A4896B;
    padding: 5.0rem 2.5rem 4.5rem 4.5rem;
    color: #3D362F;
    margin-top: -1rem;
}

.lp-cta__lead-main {
    font-size: 5rem;
    font-weight: bold;
    margin-bottom: 2.496rem;
    color: #E5DED1;
}

.lp-cta__lead-small {
    font-size: 4rem;
    color: #3D362F;
    font-weight: bold;
    margin: 0 0.624rem;
    text-shadow:
        0.01rem 0.01em 0 #3D362F,
        -0.01rem 0.01em 0 #3D362F,
        0.01rem -0.01rem 0 #3D362F,
        -0.01rem -0.01rem 0 #3D362F;
}

.lp-cta__text {
    font-size: 3.3rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin-bottom: 1.872rem;
    font-weight: bold;
    text-shadow:
        0.01rem 0.01em 0 #3D362F,
        -0.01rem 0.01em 0 #3D362F,
        0.01rem -0.01rem 0 #3D362F,
        -0.01rem -0.01rem 0 #3D362F;
}

.lp-cta__text--bottom {
    margin-bottom: 0;
}

.lp-cta__highlight {
    font-weight: bold;
    margin-bottom: 1.872rem;
    font-size: 3rem;
}

.lp-cta__underline {
    border-bottom: 2px solid #E5DED1;
    padding-bottom: 0.24rem;
    font-size: 4.2rem;
    text-shadow: 0.01rem 0.01em 0 #3D362F, -0.01rem 0.01em 0 #3D362F, 0.01rem -0.01rem 0 #3D362F, -0.01rem -0.01rem 0 #3D362F;
}

.lp-cta__lead-sub {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow:
        0.01rem 0.01em 0 #3D362F,
        -0.01rem 0.01em 0 #3D362F,
        0.01rem -0.01rem 0 #3D362F,
        -0.01rem -0.01rem 0 #3D362F;
}

.lp-cta__card {
    margin: auto;
    width: 91%;
    box-sizing: border-box;
    margin-bottom: 3.4rem;
    padding: 1.44rem;
}

.lp-cta__card:last-child {
    margin-bottom: 5rem;
}

.lp-cta__card--beige {
    background-color: #e5dfd5;
}

.lp-cta__card--gold {
    background-color: #B49662;
}

.lp-cta__card-inner {
    width: 100%;
    box-sizing: border-box;
    padding: 2.6rem 3.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lp-cta__card--beige .lp-cta__card-inner {
    border: 1.5px solid #24221F;
}

.lp-cta__card--gold .lp-cta__card-inner {
    border: 1.2px solid #E5DED1;
}

.lp-cta__card-inner-last {
    padding: 2.6rem 3.6rem 3.2rem;
}

.lp-cta__card-title {
    font-size: 4rem;
    font-weight: bold;
    color: #24221F;
    margin: 0 0 1rem 0;
    letter-spacing: 0.05em;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-cta__card-title--white {
    color: #E5DED1;
    text-shadow: none;
}

.lp-cta__card-desc {
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.6;
    color: #24221F;
    margin: 0 0 4.8rem 0;
    letter-spacing: 0.03em;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-cta__card--beige .lp-cta__card-desc {
    margin-bottom: 4rem;
}

.lp-cta__card-desc--white {
    color: #E5DED1;
    text-shadow: none;
}

.lp-cta__btn-last {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem;
    font-size: 3.2rem;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s ease;
    color: #E5DED1;
    outline: 7px solid #24221F;
    border: 1.4px solid #E5DED1;
}

.lp-cta__btn--trans {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem;
    font-size: 3.2rem;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s ease;
    background-color: #E5DED1;
    color: #72604C;
    border: 1.5px solid #72604C;
    outline: 7px solid #E5DED1;
}

.lp-cta__tel-num {
    font-size: 5.64rem;
    font-weight: bold;
    color: #24221F;
    line-height: 1;
    margin: 0;
    text-decoration: none;
}

.lp-cta__tel-time {
    font-size: 2rem;
    color: #24221F;
    margin: 0;
    font-weight: bold;
}


/* ============================================================
   lp-summary-message（カギカッコメッセージボックス）
   ============================================================ */
.lp-summary-message__box {
    position: relative;
    width: 66rem;
    padding: 2.12rem 3.744rem;
    margin: auto;
}

.lp-summary-message__box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3.12rem;
    height: 5.12rem;
    border-top: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
}

.lp-summary-message__box::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 3.12rem;
    height: 5.12rem;
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
}

.lp-summary-message__text {
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1.5;
    color: #24221F;
    text-shadow:
        0.01rem 0.01em 0 #24221F,
        -0.01rem 0.01em 0 #24221F,
        0.01rem -0.01rem 0 #24221F,
        -0.01rem -0.01rem 0 #24221F;
}

.lp-summary-message__highlight {
    color: #ffffff;
    text-shadow: none;
}


/* ============================================================
   lp-problems（お悩みセクション）
   ============================================================ */
.lp-problems {
    width: 100%;
    text-align: center;
}

.lp-problems__inner {
    width: 100%;
}

.lp-problems__images {
    display: flex;
    width: 100%;
    line-height: 0;
}

.lp-problems__img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-problems__content {
    padding: 10.24rem 3.992rem 8.5rem 3.992rem;
    background-color: #3D362F;
}

.lp-problems__box {
    background-color: rgba(26, 21, 18, 0.3);
    overflow: hidden;
}

.lp-problems-arrow-wrapper {
    position: relative;
}

.lp-problems-arrow {
    position: absolute;
    width: 3.8rem;
    left: 1rem;
    top: -1rem;
}

.lp-problems__box-title {
    background-color: #B49662;
    color: #E5DED1;
    font-size: 3.5rem;
    padding: 1.248rem 0;
    font-weight: bold;
}

.lp-problems__list {
    list-style: none;
    padding: 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 1.872rem;
    border: 1.5px dotted #bfa26f;
    border-top: none;
    background: #3D362F;
}

.lp-problems__list-item {
    gap: 1.5rem;
    display: flex;
    align-items: center;
    text-align: left;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="2"><circle cx="1" cy="1" r="0.7" fill="%23a0885b"/></svg>');
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    padding-bottom: 1.872rem;
}

.lp-problems__list-item-last {
    background: none;
}

.lp-problems__list-first {
    width: 3rem;
    background: none;
}

.lp-problems__list-num {
    width: 4rem;
    background: none;
}

.lp-problems__list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.lp-problems__list-text {
    font-size: 3.1rem;
    color: #E5DED1;
    letter-spacing: 0.05em;
}

.lp-problems__arrow-wrapper {
    text-align: left;
    padding-left: 3.12rem;
    margin-top: 1.248rem;
    margin-bottom: 5.248rem;
}

.lp-problems__arrow {
    width: 4.992rem;
    height: auto;
}


/* ============================================================
   lp-solution（解決策ボックス）
   ============================================================ */
.lp-solution {
    border: 1.5px solid #A4896B;
    padding: 2.744rem 1.496rem;
    position: relative;
}

.lp-solution::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    border: 1px solid #A4896B;
    z-index: 0;
    pointer-events: none;
    padding: 3.744rem 2.496rem;
}

.lp-solution__lead {
    font-size: 3.8rem;
    color: #E5DED1;
    margin-bottom: 0.872rem;
    font-weight: bold;
}

.lp-solution__catch {
    font-size: 2.496rem;
    color: #E5DED1;
    font-weight: normal;
    letter-spacing: 0.05em;
    margin-bottom: 3.12rem;
}

.lp-solution__bg-text {
    background-color: #61534b;
    padding: 0.24rem 0.96rem;
    margin-right: 0.624rem;
}

.lp-solution-catch-img {
    width: 61rem;
}

.lp-solution__main {
    font-size: 5.744rem;
    font-weight: bold;
    color: #B49662;
    text-shadow:
        0.01rem 0.01em 0 #B49662,
        -0.01rem 0.01em 0 #B49662,
        0.01rem -0.01rem 0 #B49662,
        -0.01rem -0.01rem 0 #B49662;
}

.lp-solution__main-sub {
    font-size: 4rem;
    color: #B49662;
    font-weight: normal;
}

.lp-solution__summary {
    font-size: 3.75rem;
    font-weight: bold;
    color: #E5DED1;
}


/* ============================================================
   lp-why（なぜ宝探しがセクション）
   ============================================================ */
.lp-why {
    position: relative;
    width: 100%;
    background-color: #FBF7F3;
    padding: 7.5rem 3rem 3rem 3rem;
    text-align: center;
    overflow: hidden;
}

.lp-why__inner {
    position: relative;
    width: 100%;
    z-index: 2;
}

.lp-why__bg-title {
    position: absolute;
    top: -10.56rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 7.5rem;
    font-weight: bold;
    color: #A4896B;
    white-space: nowrap;
    z-index: 1;
}

.lp-why__title {
    position: relative;
    font-size: 4.6rem;
    font-weight: bold;
    line-height: 1.5;
    color: #3D362F;
    margin-bottom: 4.992rem;
    z-index: 2;
    padding-top: 3rem;
    text-shadow:
        0.01rem 0.01em 0 #3D362F,
        -0.01rem 0.01em 0 #3D362F,
        0.01rem -0.01rem 0 #3D362F,
        -0.01rem -0.01rem 0 #3D362F;
}

.lp-why__flow {
    width: 63.68rem;
    margin: 0 auto 6.24rem auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lp-why__flow-step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.lp-why__flow-label {
    font-size: 2.5rem;
    color: #a88d67;
    letter-spacing: 0.05em;
    text-align: left;
    width: 19rem;
    font-weight: bold;
}

.lp-why__flow-line {
    flex-grow: 1;
    height: 1.2px;
    background-color: #a88d67;
    margin: 0 2.5rem;
}

.lp-why__flow-value {
    font-size: 3.7rem;
    font-weight: bold;
    color: #3D362F;
    text-align: left;
    width: 32.92rem;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.why-arrow {
    width: 3rem;
    text-align: left;
    margin-left: 6.5rem;
    margin-right: auto;
}

.lp-why__card {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    text-align: left;
    margin-top: 2.496rem;
}

.lp-why__card-number {
    position: absolute;
    top: 1.248rem;
    left: 1.872rem;
    font-size: 6.24rem;
    line-height: 1;
    color: #dcbfa2;
}

.lp-why__card-content {
    padding: 4.992rem 6.6rem 4.2rem 6.6rem;
    position: relative;
    margin-bottom: 12.8rem;
}

.lp-why__card-title {
    font-size: 3.7rem;
    font-weight: bold;
    color: #3D362F;
    margin-bottom: 2.496rem;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-why__card-text {
    font-size: 2.35rem;
    font-weight: bold;
    line-height: 1.8;
    color: #3D362F;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-why__card-illustration1 {
    position: absolute;
    bottom: -18.8rem;
    right: 0;
    width: 36.08rem;
    line-height: 0;
}

.lp-why__card-illustration2 {
    position: absolute;
    bottom: -20rem;
    right: 0;
    width: 36.08rem;
    line-height: 0;
}

.lp-why__card-illustration3 {
    position: absolute;
    bottom: -20rem;
    right: 0;
    width: 36.08rem;
    line-height: 0;
}

.lp-why__card-img {
    width: 100%;
    height: auto;
    display: block;
}

.num-border {
    position: absolute;
}

.num-border-1 {
    width: 5rem;
    top: -2.2rem;
}

.num-border-2 {
    top: -10.2rem;
    width: 8rem;
}

.num-border-3 {
    top: -10.2rem;
    width: 8rem;
}


/* ============================================================
   lp-achievement（実績セクション）
   ============================================================ */
.lp-achievement {
    width: 100%;
    background-color: #FBF7F3;
    padding: 6.24rem 2.7rem 7.36rem 2.7rem;
    text-align: center;
}

.lp-achievement__inner {
    width: 100%;
}

.lp-achievement__decor {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 3.744rem;
}

.lp-achievement__decor-line {
    width: 24.6rem;
    height: 1.4px;
    background-color: #A4896B;
}

.star {
    width: 4rem;
    margin: 0 3rem;
}

.lp-achievement__lead {
    font-size: 3.616rem;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #3D362F;
    margin-bottom: 1.744rem;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-achievement__lead-bold {
    font-weight: bold;
    padding-bottom: 0.24rem;
    color: #A4896B;
    font-size: 4.6rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-achievement__lead-bold-first {
    font-size: 4.6rem;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.dot-arrow {
    width: 70rem;
}

.lp-achievement__counter {
    margin-top: 2rem;
}

.lp-achievement__counter-title {
    font-size: 3.7rem;
    font-weight: bold;
    color: #3D362F;
    margin-bottom: 1.248rem;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-achievement__number-box {
    display: inline-block;
    position: relative;
    margin-bottom: 1.872rem;
}

.lp-achievement__number {
    font-size: 11.748rem;
    color: #A4896B;
    line-height: 1;
    position: relative;
    z-index: 2;
}

.lp-achievement__number-box::after {
    content: "";
    position: absolute;
    left: -0.624rem;
    bottom: 0.624rem;
    width: calc(100% + 1.248rem);
    height: 3rem;
    background-color: #FBF0CA;
    z-index: 1;
}

.lp-achievement__unit {
    font-size: 3.8rem;
    color: #3D362F;
    font-weight: bold;
    margin-left: 0.624rem;
    position: relative;
    z-index: 2;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-achievement__counter-sub {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #3D362F;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-achievement__message-box {
    position: relative;
    width: 57.04rem;
    margin: 0 auto;
    padding: 3.744rem 2.496rem;
}

.lp-achievement__message-box::before {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 2.496rem;
    height: 27.496rem;
    border-top: 1.5px solid #bfa26f;
    border-bottom: 1.5px solid #bfa26f;
    border-left: 1.5px solid #bfa26f;
}

.lp-achievement__message-box::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 0;
    width: 2.496rem;
    height: 27.496rem;
    border-top: 1.5px solid #bfa26f;
    border-bottom: 1.5px solid #bfa26f;
    border-right: 1.5px solid #bfa26f;
}

.lp-achievement__message-text {
    font-size: 2.6rem;
    line-height: 2;
    color: #3D362F;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-achievement__text-large {
    font-size: 3.244rem;
    color: #A4896B;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-achievement__text-marker {
    font-size: 3.244rem;
    font-weight: bold;
    color: #A4896B;
    background: linear-gradient(transparent 60%, #FBF0CA 60%);
    padding: 0 0.24rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-achievement__text-bold {
    font-weight: bold;
    font-size: 3.4rem;
}

.lp-achievement__text-wo {
    font-size: 3.2rem;
}


/* ============================================================
   lp-about（プレミアムオーダーメイドとは）
   ============================================================ */
.lp-about {
    width: 100%;
    background-color: #262420;
    padding: 7.5rem 3.992rem 6.9rem 3.992rem;
    text-align: center;
}

.lp-about__inner {
    width: 100%;
}

.lp-about__header {
    margin-bottom: 6.992rem;
}

.lp-about__main-title {
    font-size: 4.2em;
    font-weight: bold;
    color: #A4896B;
    margin-bottom: 1.248rem;
}

.lp-about__decor {
    display: flex;
    justify-content: center;
    align-items: center;
}

.lp-about__decor-line {
    width: 26rem;
    height: 1.2px;
    background-color: #A4896B;
}

.lp-about__decor-star {
    font-size: 1.248rem;
    color: #bfa26f;
    margin: 0 1.248rem;
}

.lp-about-points__sub-title {
    color: #A4896B !important;
}

.lp-about__features {
    display: flex;
    flex-direction: column;
    gap: 2.496rem;
    width: 100%;
    max-width: 69.4rem;
    margin: 0 auto 6.24rem auto;
}

.lp-about__feature-box {
    display: flex;
    align-items: center;
    width: 100%;
    height: 23.6rem;
    padding: 0 6.3rem 0 6.3rem;
    box-sizing: border-box;
    text-align: left;
    background-image: url('img/frame.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.lp-about__feature-icon-wrap {
    width: 9.24rem;
    margin-right: 3.12rem;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lp-about__feature-icon {
    width: 100%;
    height: auto;
}

.lp-about__feature-title {
    font-size: 3.5rem;
    font-weight: bold;
    color: #B49662;
    margin-bottom: 0.624rem;
}

.lp-about__feature-text {
    font-size: 2.2rem;
    line-height: 1.6;
    color: #E5DED1;
}

.lp-about__feature-content {
    flex-grow: 1;
    padding-left: 2.5rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="2" height="6"><circle cx="1" cy="1" r="0.7" fill="%23a0885b"/></svg>');
    background-size: 2px 6px;
    background-repeat: repeat-y;
    background-position: left center;
    margin: 4rem auto;
}

.lp-about__lead-area {
    width: 100%;
    margin-top: 2.496rem;
}

.lp-about__lead-catch {
    font-size: 2.7rem;
    line-height: 1.8;
    color: #E5DED1;
    letter-spacing: 0.05em;
    margin: 2rem 4rem;
    padding-bottom: 14px;
    margin-bottom: 14px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="2"><circle cx="1" cy="1" r="0.7" fill="%23a0885b"/></svg>');
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}

.lp-about__catch-highlight {
    color: #A4896B;
    font-weight: bold;
    font-size: 3.3rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-about__lead-text {
    font-size: 2.6rem;
    line-height: 1.8;
    color: #E5DED1;
    margin-bottom: 2.496rem;
}

.lp-about__arrow-down {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 2.496rem;
    margin: 0 auto 3.744rem auto;
}

.lp-about__v-arrow {
    position: relative;
    display: block;
    width: 9.492rem;
    height: 100%;
}

.lp-about__v-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 50%;
    height: 1.3px;
    background-color: #A4896B;
    transform: translateY(-50%) skewY(30deg);
    transform-origin: right bottom;
}

.lp-about__v-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 50%;
    height: 1.3px;
    background-color: #A4896B;
    transform: translateY(-50%) skewY(-30deg);
    transform-origin: left bottom;
}

.lp-about__conclusion {
    margin-top: 2.496rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lp-about__conclusion-badge {
    background-color: #A4896B;
    color: #3D362F;
    font-size: 3.74rem;
    font-weight: bold;
    padding: 0 0.5rem;
    margin-bottom: 1.872rem;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-about__conclusion-main {
    font-size: 3.8rem;
    color: #E5DED1;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.lp-about__conclusion-highlight {
    font-size: 5rem;
    margin-right: 0.48rem;
    color: #A4896B;
    text-shadow: 0.005rem 0.005em 0 #A4896B, -0.005rem 0.005em 0 #A4896B, 0.005rem -0.005rem 0 #A4896B, -0.005rem -0.005rem 0 #A4896B;
}


/* ============================================================
   lp-points（プランのポイント）
   ============================================================ */
.lp-points {
    width: 100%;
    background-color: #A4896B;
    padding: 7.5rem 2.992rem 11.36rem 2.992rem;
    text-align: center;
}

.lp-points__inner {
    width: 100%;
    max-width: 68.4rem;
    margin: 0 auto;
}

.lp-points__header {
    margin-bottom: 4.992rem;
}

.lp-points__sub-title {
    font-size: 2.1rem;
    font-family: "Noto Sans JP";
    color: #E5DED1;
    letter-spacing: 0.4em;
    margin-bottom: 0.624rem;
    padding-top: 2rem;
}

.lp-points__main-title {
    font-size: 4rem;
    line-height: 5.2rem;
    font-weight: bold;
    color: #E5DED1;
    margin-bottom: 1.248rem;
}

.lp-points__decor {
    display: flex;
    justify-content: center;
    align-items: center;
}

.lp-points__decor-line {
    width: 27rem;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.6);
}

.lp-points__decor-star {
    font-size: 0.96rem;
    color: #E5DED1;
    margin: 0 1.248rem;
}

.lp-points__summary-box {
    position: relative;
    width: 100%;
    padding: 4.12rem 4.992rem;
    box-sizing: border-box;
    background-image: url('img/summary_frame.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.lp-points__summary-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.48rem;
}

.lp-points__summary-text {
    font-size: 1.872rem;
    color: #E5DED1;
    letter-spacing: 0.05em;
}

.lp-points__summary-text--highlight {
    font-weight: bold;
    border-bottom: 1.7px dotted #CEB27F;
    display: inline-block;
    font-size: 2.8rem;
}


/* ============================================================
   features-container / classic-card（3枚カード）
   ============================================================ */
.features-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto 4.616rem auto;
}

.classic-card {
    box-sizing: border-box;
    position: relative;
    width: 34.5%;
    height: auto;
    background-image: url("img/bg-frame.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
}

.classic-card--overlap {
    margin-left: -1.75rem;
}

.features-container .classic-card:nth-child(2) {
    z-index: 10;
    background-image: url("img/bg-frame-mid.png");
}

.classic-card__content {
    box-sizing: border-box;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.8rem 1.2rem;
    text-align: center;
    color: #24221F;
}

.classic-card__number {
    font-size: 4.2rem;
    font-weight: bold;
    display: inline-block;
    border-bottom: 1px solid #24221F;
    line-height: 1.1;
    margin-bottom: 1.2rem;
    padding: 0 0.2rem;
}

.classic-card__icon {
    width: 100%;
    height: 10.5rem;
    margin-bottom: 2rem;
}

.classic-card__icon img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.classic-card__icon-divider {
    border-bottom: 1.2px solid #B49662;
    width: 7rem;
    margin: auto;
    margin-top: 2rem;
}

.classic-card__title {
    margin: 0;
    margin-top: 2rem;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.classic-card__title-divider {
    width: 70%;
    height: 0.2rem;
    margin: 0.5rem auto 1.2rem auto;
    background-image: radial-gradient(#B49662 25%, transparent 30%);
    background-size: 0.6rem 0.2rem;
    background-repeat: repeat-x;
}

.classic-card__description {
    margin: 0;
    font-size: 2rem;
    line-height: 1.6;
    color: #72604C;
    font-weight: bold;
}


/* ============================================================
   lp-cases（代表事例）
   ============================================================ */
.lp-cases {
    width: 100%;
    background-color: #262420;
    padding: 8.5rem 0 13.372rem 0;
    font-family: "Yu Mincho", "YuMincho", "MS PMincho", serif;
    box-sizing: border-box;
}

.lp-cases__inner {
    width: 100%;
    max-width: 71rem;
    margin: 0 auto;
    padding: 0 1.872rem;
    box-sizing: border-box;
}

.lp-cases__header {
    text-align: center;
    margin-bottom: 4.992rem;
}

.lp-cases__sub-title {
    font-size: 1.62rem;
    color: #E5DED1;
    letter-spacing: 0.15em;
    margin: 0 0 0.624rem 0;
}

.lp-cases__main-title {
    font-size: 4.2rem;
    font-weight: normal;
    color: #E5DED1;
    line-height: 1.3;
    margin: 0 0 1.248rem 0;
    letter-spacing: 2.06px;
    text-shadow:
        0.005rem 0.005em 0 #E5DED1,
        -0.005rem 0.005em 0 #E5DED1,
        0.005rem -0.005rem 0 #E5DED1,
        -0.005rem -0.005rem 0 #E5DED1;
}

.lp-cases__decor {
    display: flex;
    justify-content: center;
    align-items: center;
}

.lp-cases__decor-line {
    width: 26.248rem;
    height: 0.8px;
    background-color: #B49662;
}

.lp-cases__decor-diamond {
    font-size: 0.876rem;
    color: #B49662;
    margin: 0 1.248rem;
}

.lp-cases__list {
    display: flex;
    flex-direction: column;
    gap: 6.12rem;
    width: 100%;
}

.lp-cases__item {
    width: 100%;
    box-sizing: border-box;
    padding: 4.368rem 4.744rem 4.368rem 4.744rem;
    background-image: url('img/case-frame.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.lp-cases__item-wrapper {
    display: flex;
    margin-bottom: 3rem;
}

.lp-cases__left {
    width: 15rem;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lp-cases__num {
    font-size: 4.496rem;
    color: #24221F;
    border-bottom: 1.5px solid #24221F;
    margin-bottom: 1.872rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.3rem;
}

.lp-cases__thumb-wrap {
    width: 15.492rem;
    overflow: hidden;
}

.lp-cases__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-cases__right {
    flex: 1;
    padding-left: 3.12rem;
    text-align: left;
    margin-top: 1.5rem;
}

.lp-cases__company-name {
    font-size: 3rem;
    font-weight: bold;
    color: #24221F;
    margin: 0 0 2.872rem 0;
    line-height: 1.2;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-cases__section {
    margin-bottom: 1.872rem;
}

.lp-cases__section:last-child {
    margin-bottom: 0;
}

.lp-cases__label {
    font-size: 2.8rem;
    font-weight: bold;
    color: #72604C;
    background-color: #D9C5A4;
    padding: 0 1.248rem;
    margin: 0 0 1.5rem 0;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    gap: 1.624rem;
}

.lp-cases__label::before {
    content: "";
    width: 3.5rem;
    height: 3.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.lp-cases__label--purpose {
    width: auto;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-cases__label--purpose::before {
    background-image: url('img/target-icon.png');
}

.lp-cases__label--solution {
    display: flex;
    justify-content: center;
    width: 100%;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-cases__label--solution::before {
    background-image: url('img/light.png');
}

.lp-cases__text-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lp-cases__text-list li {
    font-size: 2.2rem;
    line-height: 1.6;
    color: #24221F;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-cases__text-list li:last-child {
    margin-bottom: 0;
}


/* ============================================================
   lp-gimmick（オリジナルギミック事例）
   ============================================================ */
.lp-gimmick {
    width: 100%;
    background-color: #A4896B;
    padding: 9rem 0 7.5rem 0;
    box-sizing: border-box;
}

.lp-gimmick__inner {
    width: 100%;
    max-width: 71.124rem;
    margin: 0 auto;
    padding: 0 1.872rem;
    box-sizing: border-box;
}

.lp-gimmick__decor-diamond {
    color: #E5DED1;
    font-size: 0.876rem;
    margin: 0 1.248rem;
}

.lp-gimmick__decor-line {
    background-color: #E5DED1;
    width: 25.6rem;
    height: 1px;
}

.lp-gimmick__header {
    text-align: center;
    margin-bottom: 5.744rem;
}

.lp-gimmick__sub-title {
    font-size: 1.368rem;
    color: #E5DED1;
    letter-spacing: 0.15em;
    margin: 0 0 0.48rem 0;
}

.lp-gimmick__main-title {
    font-size: 4.1rem;
    font-weight: bold;
    color: #E5DED1;
    margin: 0;
}

.lp-gimmick__main-card {
    width: 100%;
    background-image: url(img/gimmick-frame.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 4.992rem 3.744rem 7rem;
    box-sizing: border-box;
}

.lp-gimmick__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.lp-gimmick__block-title {
    font-size: 3.2rem;
    color: #E5DED1;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 0.996rem 0;
}

.lp-gimmick__block-decor {
    font-size: 0.876rem;
    color: #E5DED1;
    margin-bottom: 2.496rem;
    transform: scaleX(0.8);
}

.lp-decor-line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44%;
    max-width: 38.748rem;
    margin: 1.872rem auto 3.5rem;
    border-bottom: 1.4px solid rgba(230, 222, 211, 0.6);
}

.lp-decor-line::before {
    content: "";
    position: absolute;
    left: -9px;
    top: 50%;
    width: 0.624rem;
    height: 0.624rem;
    background-color: #E5DED1;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}

.lp-decor-line::after {
    content: "";
    position: absolute;
    right: -9px;
    top: 50%;
    width: 0.624rem;
    height: 0.624rem;
    background-color: #E5DED1;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}

.lp-gimmick__image-wrap {
    width: 100%;
    max-width: 58.368rem;
    margin-bottom: 1rem;
}

.lp-gimmick__media-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.248rem;
    width: 100%;
    max-width: 57.5rem;
    margin-bottom: 3.12rem;
}

.lp-gimmick__media-photo {
    width: 100%;
}

.lp-gimmick__img {
    width: 100%;
    height: auto;
    display: block;
}

.lp-gimmick__desc-box {
    width: 93%;
    min-height: 14rem;
    align-items: center;
    justify-content: center;
    padding: 1rem 4rem;
    box-sizing: border-box;
    background-size: 100% 100%;
    background-image: url('img/gimmick-box.png');
    background-repeat: no-repeat;
}

.lp-gimmick__desc-text {
    display: block;
    font-size: 2rem;
    line-height: 2.0;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
    color: #24221F;
    margin: 0;
    width: 100%;
    text-align: center;
    font-weight: bold;
    background-image: linear-gradient(to right, #72604C 33%, rgba(255, 255, 255, 0) 0%);
    background-position: 0 3.95rem;
    background-size: 3px 1.5px;
    background-repeat: repeat-x;
}

.lp-gimmick__desc-text-last {
    background: none;
}

.lp-gimmick__text-red {
    color: #C40000;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #C40000,
        -0.005rem 0.005em 0 #C40000,
        0.005rem -0.005rem 0 #C40000,
        -0.005rem -0.005rem 0 #C40000;
}

.lp-gimmick__wave-frame {
    width: 100%;
    max-width: 55.748rem;
    box-sizing: border-box;
    margin-top: 4rem;
    background-image: url('img/gimmick-content-frame.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0.312rem;
}

.lp-gimmick__wave-frame-inner {
    width: 100%;
    padding: 2.3rem 3.12rem;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.248rem;
}

.lp-gimmick__frame-text {
    font-size: 2.6rem;
    line-height: 1.5;
    color: #24221F;
    font-weight: bold;
    margin: 0;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-gimmick__text-gold {
    color: #A4896B;
    font-weight: bold;
    font-size: 3.1rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-gimmick__divider {
    width: 100%;
    margin: 6rem 0;
    border-bottom: none;
    height: 2px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZHRoPSIyIj48Y2lyY2xlIGN4PSIxIiBjeT0iMSIgcj0iMC43IiBmaWxsPSIjRTVERUQxIi8+PC9zdmc+");
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: center;
}

.lp-gimmick__desc {
    text-align: center;
    font-size: 2.3rem;
    color: #24221F;
    font-weight: bold;
    margin-top: 4rem;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-gimmick__desc span {
    font-size: 3.2rem;
    color: #E5DED1;
    font-weight: bold;
    text-shadow: none;
}


/* ============================================================
   lp-roadmap（実施までの流れ）
   ============================================================ */
.lp-roadmap {
    position: relative;
    width: 100%;
    background-color: #FBF7F3;
    padding: 4.24rem 0 4.372rem 0;
    box-sizing: border-box;
    overflow: hidden;
}

.lp-roadmap__bg-title {
    position: absolute;
    top: -2.4rem;
    left: 35%;
    transform: translateX(-50%);
    font-size: 6.252rem;
    color: #A4896B;
    font-weight: bold;
    white-space: nowrap;
    z-index: 1;
}

.lp-roadmap__inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    z-index: 2;
}

.lp-roadmap__header {
    text-align: center;
    margin-bottom: 8.24rem;
    margin-top: 4.38rem;
}

.lp-roadmap__main-title {
    font-size: 4rem;
    font-weight: bold;
    color: #3D362F;
    letter-spacing: 0.05em;
    margin: 0;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}

.lp-roadmap__container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.lp-roadmap__phase {
    display: flex;
    width: 100%;
    box-sizing: border-box;
}

.lp-roadmap__left {
    width: 68%;
    border-top: 1.5px solid #B49662;
    padding: 3.12rem 0 2.744rem 10.628rem;
    box-sizing: border-box;
}

.lp-roadmap__right {
    width: 32%;
    border-top: 1px solid transparent;
    padding: 0 0 3.744rem 3.744rem;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    margin-top: -2rem;
}

.lp-roadmap__phase-title {
    font-size: 3.8rem;
    font-weight: bold;
    color: #B49662;
    margin: 0;
    line-height: 1.2;
    white-space: nowrap;
    text-shadow:
        0.005rem 0.005em 0 #B49662,
        -0.005rem 0.005em 0 #B49662,
        0.005rem -0.005rem 0 #B49662,
        -0.005rem -0.005rem 0 #B49662;
}

.lp-roadmap__step-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lp-roadmap__step-item {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.lp-roadmap__step-num {
    font-size: 3rem;
    color: #B49662;
    font-weight: bold;
    width: 3.744rem;
    flex-shrink: 0;
    letter-spacing: 0.25rem;
}

.lp-roadmap__step-text {
    font-size: 2.9rem;
    font-weight: bold;
    color: #3D362F;
    letter-spacing: 0.02em;
    text-shadow:
        0.005rem 0.005em 0 #3D362F,
        -0.005rem 0.005em 0 #3D362F,
        0.005rem -0.005rem 0 #3D362F,
        -0.005rem -0.005rem 0 #3D362F;
}


/* ============================================================
   lp-summary-banner（費用まとめバナー）
   ============================================================ */
.lp-summary-banner {
    width: 100%;
    background-color: #71573B;
    padding: 3.8rem 0;
    font-family: "Yu Mincho", "YuMincho", "MS PMincho", serif;
    box-sizing: border-box;
}

.lp-summary-banner__inner {
    width: 100%;
    max-width: 56.256rem;
    margin: 0 auto;
    padding: 0 1.872rem;
    text-align: center;
    box-sizing: border-box;
}

.lp-summary-banner__lead {
    font-size: 3rem;
    color: #E5DED1;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 1.872rem 0;
}

.lp-summary-banner__highlight {
    color: #CEB27F;
    font-weight: bold;
    font-size: 4rem;
}

.lp-summary-banner__decor .lp-cases__decor-line {
    background-color: #E5DED1;
}

.lp-summary-banner__decor .lp-cases__decor-diamond {
    color: #E5DED1;
}

.lp-summary-banner__subtext {
    font-size: 2.2rem;
    color: #CEB27F;
    line-height: 1.7;
    letter-spacing: 0.03em;
    font-weight: bold;
    margin-top: 2rem;
}


/* ============================================================
   lp-intro（タカラッシュのご紹介）
   ============================================================ */
.lp-intro {
    width: 100%;
    background-color: #3D362F;
    padding: 4.5rem 0 9.372rem 0;
    box-sizing: border-box;
}

.lp-intro__inner {
    width: 100%;
    max-width: 72.124rem;
    margin: 0 auto;
    padding: 0 1.872rem;
    box-sizing: border-box;
}

.lp-intro__header {
    text-align: center;
    color: #ffffff;
    margin-bottom: 7.992rem;
}

.lp-intro__title {
    font-size: 4.5rem;
    color: #CEB27F;
    font-weight: normal;
    text-align: center;
    margin: 0;
    text-shadow:
        0.005rem 0.005em 0 #CEB27F,
        -0.005rem 0.005em 0 #CEB27F,
        0.005rem -0.005rem 0 #CEB27F,
        -0.005rem -0.005rem 0 #CEB27F;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.lp-intro__title::before,
.lp-intro__title::after {
    content: "";
    height: 1px;
    background-color: #CEB27F;
    width: 7.5rem;
    position: relative;
}

.lp-intro__title::before {
    content: "◆";
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    left: 0;
    background: linear-gradient(to right, transparent 1.6rem, #CEB27F 1.6rem);
}

.lp-intro__title::after {
    margin: 0 2rem;
    content: "◆";
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    background: linear-gradient(to left, transparent 1.6rem, #CEB27F 1.6rem);
}

.lp-intro__sub-lead {
    font-size: 3.7rem;
    line-height: 1.4;
    font-weight: bold;
    margin: 4rem 0 0.872rem 0;
    color: #CEB27F;
}

.lp-intro__decor .lp-cases__decor-line {
    width: 7rem;
    height: 1px;
    background: #CEB27F;
}

.lp-intro__decor .lp-cases__decor-diamond {
    font-size: 1rem;
    color: #CEB27F;
}

.lp-intro__header-desc {
    font-size: 2.2rem;
    line-height: 1.6;
    color: #E5DED1;
    margin: 0;
    letter-spacing: 0.03em;
    margin-top: 1.5rem;
    font-weight: bold;
}

.lp-intro__main-card {
    width: 100%;
    background-image: url('img/about-frame.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0 4.992rem 6rem;
    box-sizing: border-box;
}

.lp-intro__block {
    display: flex;
    flex-direction: column;
}

.lp-intro__image-wrap {
    width: 100%;
    margin: auto;
    max-width: 47.368rem;
    margin-bottom: 2.496rem;
}

.lp-intro__img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: -3rem;
}

.lp-intro__img2 {
    margin-top: -11rem;
}

.lp-intro__img3 {
    margin-top: -8rem;
}

.lp-intro__block-title {
    font-size: 3.7rem;
    font-weight: bold;
    color: #CEB27F;
    line-height: 1.4;
    margin: 0 0 1rem 0;
    margin-top: -5rem;
    text-shadow:
        0.005rem 0.005em 0 #CEB27F,
        -0.005rem 0.005em 0 #CEB27F,
        0.005rem -0.005rem 0 #CEB27F,
        -0.005rem -0.005rem 0 #CEB27F;
}

.lp-intro__block-title2 {
    margin-top: -10rem;
}

.lp-intro__block-title3 {
    margin-top: -9rem;
}

.lp-intro__block-text {
    font-size: 2.2rem;
    line-height: 1.7;
    color: #E5DED1;
    margin: 0;
    font-weight: bold;
}

.lp-intro__divider {
    width: 100%;
    margin: 4.38rem 0;
    background-size: 4px 2px;
}

.lp-intro__divider2 {
    margin: 4rem 0;
}


/* ============================================================
   lp-creators（制作者について）
   ============================================================ */
.lp-creators {
    width: 100%;
    background-color: #3D362F;
    padding: 0 0 9.36rem 0;
    font-family: "YuMincho", "Yu Mincho", serif;
    box-sizing: border-box;
}

.lp-creators__inner {
    width: 100%;
    padding: 0 3.8rem;
    box-sizing: border-box;
}

.lp-creators__header {
    text-align: center;
    margin-bottom: 1rem;
}

.lp-creators__title {
    font-size: 3.5rem;
    font-weight: bold;
    color: #CEB27F;
    margin-bottom: 2rem;
}

.lp-creator__decor {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4rem;
}

.lp-creator__decor-line {
    width: 6.248rem;
    height: 1.2px;
    background-color: #CEB27F;
}

.lp-creator__decor-diamond {
    font-size: 0.876rem;
    color: #CEB27F;
    margin: 0 1.248rem;
}

.lp-creators__cards {
    display: flex;
    flex-direction: column;
    gap: 4.744rem;
}

.lp-creators__card {
    width: 100%;
    background-image: url('img/director-frame.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    padding: 4.24rem 4.616rem;
    box-sizing: border-box;
    text-align: left;
}

.lp-creators__profile-top {
    gap: 3.12rem;
    margin-bottom: 3.12rem;
}

.lp-creators__thumb-wrap {
    width: 100%;
    height: auto;
    line-height: 0;
    overflow: hidden;
}

.lp-creators__thumb {
    width: 100%;
    height: auto;
    display: block;
}

.lp-creators__meta {
    flex-grow: 1;
    padding-top: 4.624rem;
}

.lp-creators__meta-row {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.624rem;
    margin-top: -1.5rem;
}

.lp-creators__label {
    font-size: 2.4rem;
    color: #B49662;
    font-weight: bold;
    text-shadow:
        0.005rem 0.005em 0 #B49662,
        -0.005rem 0.005em 0 #B49662,
        0.005rem -0.005rem 0 #B49662,
        -0.005rem -0.005rem 0 #B49662;
}

.lp-creators__experience {
    font-size: 2.5rem;
    font-weight: bold;
    color: #72604C;
    letter-spacing: 0.03em;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-creators__name-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.lp-creators__name {
    font-size: 4.628rem;
    font-weight: bold;
    color: #72604C;
    line-height: 1.1;
    margin-top: -3.5rem;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-creators__years {
    font-size: 2.628rem;
    margin-top: -1rem;
    color: #72604C;
    font-weight: bold;
    text-align: right;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-creators__wrapper {
    flex-direction: column;
    display: flex;
}

.lp-creators__profile-bottom {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.lp-creators__section {
    width: 100%;
}

.lp-creators__section-experience {
    border-bottom: 1.5px solid #CEB27F;
}

.lp-creators__desc {
    margin-bottom: 1.5rem;
    font-size: 2.248rem;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}

.lp-creators__section-title {
    font-size: 2.4rem;
    font-weight: bold;
    color: #72604C;
    margin-bottom: 0.936rem;
    letter-spacing: 0.05em;
    text-shadow:
        0.005rem 0.005em 0 #72604C,
        -0.005rem 0.005em 0 #72604C,
        0.005rem -0.005rem 0 #72604C,
        -0.005rem -0.005rem 0 #72604C;
}

.lp-creators__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lp-creators__list li {
    font-size: 2.15rem;
    font-weight: bold;
    line-height: 1.7;
    color: #24221F;
    text-shadow:
        0.005rem 0.005em 0 #24221F,
        -0.005rem 0.005em 0 #24221F,
        0.005rem -0.005rem 0 #24221F,
        -0.005rem -0.005rem 0 #24221F;
}


/* ============================================================
   lp-proposal-msg（提案メッセージ）
   ============================================================ */
.lp-proposal-msg {
    width: 100%;
    background-color: #3D362F;
    padding: 0 4.2rem 9.2rem 4.2rem;
    text-align: center;
    box-sizing: border-box;
}

.lp-proposal-msg__inner {
    width: 100%;
    margin: 0 auto;
}

.lp-proposal-msg__color-gold {
    color: #A4896B;
    font-weight: bold;
    font-size: 4.2rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-proposal-msg__color-gold-line {
    color: #A4896B;
    font-weight: bold;
    font-size: 3.9rem;
    text-shadow:
        0.005rem 0.005em 0 #A4896B,
        -0.005rem 0.005em 0 #A4896B,
        0.005rem -0.005rem 0 #A4896B,
        -0.005rem -0.005rem 0 #A4896B;
}

.lp-proposal-msg__lead-top {
    margin-bottom: 3.4rem;
}

.lp-proposal-msg__lead-top p {
    font-size: 3rem;
    color: #E5DED1;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin: 0 0 0.96rem 0;
    font-weight: bold;
}

.lp-proposal-msg__lead-top p:last-child {
    margin-bottom: 0;
}

.lp-proposal-msg__photo-wrap {
    width: 100%;
    line-height: 0;
    margin-bottom: 4.6rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.lp-proposal-msg__photo {
    width: 100%;
    height: auto;
    display: block;
}

.lp-proposal-msg__lead-middle {
    margin-bottom: 3.8rem;
}

.lp-proposal-msg__lead-middle p {
    font-size: 3rem;
    font-weight: bold;
    color: #E5DED1;
    line-height: 1.5;
}

.lp-proposal-msg__lead-middle p:last-child {
    margin-bottom: 0;
}

.lp-proposal-msg__desc {
    width: 96%;
    margin: 0 auto;
    text-align: left;
}

.lp-proposal-msg__desc p {
    font-size: 2.39rem;
    color: #E5DED1;
    line-height: 1.8;
    letter-spacing: 0.03em;
    margin: 0;
    word-break: break-all;
    font-weight: bold;
}


/* ============================================================
   announcement-banner（お問い合わせ案内バナー）
   ============================================================ */
.announcement-banner {
    box-sizing: border-box;
    margin: auto;
    width: 80%;
    padding: 8rem 0 10rem;
    text-align: center;
}

.announcement-banner__text {
    margin: 0;
    color: #E5DED1;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.5;
    border-bottom: 1.4px solid #CEB27F;
    margin-bottom: 13px;
}


/* ============================================================
   lp-footer
   ============================================================ */
.lp-footer {
    width: 100%;
    background-color: #ffffff;
    padding: 3.2rem 4.8rem 3.8rem 4.8rem;
    text-align: center;
    box-sizing: border-box;
}

.lp-footer__inner {
    width: 100%;
    margin: 0 auto;
}

.lp-footer__logo-wrap {
    width: 45rem;
    margin: 0 auto 1.84rem auto;
    line-height: 0;
}

.lp-footer__logo {
    width: 100%;
    height: auto;
    display: block;
}

.lp-footer__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lp-footer__copyright {
    font-size: 1.92rem;
    color: #24221F;
    font-weight: bold;
}

.lp-footer__lead {
    font-size: 1.74rem;
    color: #24221F;
    line-height: 1.4;
    font-weight: bold;
}

.lp-footer__company {
    font-size: 1.86rem;
    color: #24221F;
    line-height: 1.4;
    margin: 0;
    font-weight: bold;
}





/* ============================================================
   非表示
   ============================================================ */

.is-hidden {
    display: none !important;
}