@charset "UTF-8";

/* ======================================================================
   lp_partition_test.html / Smartphone additions
   breakpoint: max-width 750px

   Existing legacy sections are handled by sp_lp_partition.css.
   This file mainly covers components added/changed in lp_partition_test.css.
====================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

@media screen and (max-width: 750px) {

  .pagetop {
    bottom: 90px !important;
}

  /* ------------------------------------------------------------------
     Common
  ------------------------------------------------------------------ */
    .sp-br-none {
    display: none;
  }

  .lp .pc_none {
    display: block !important;
  }

  .lp img.pc_none {
    display: inline-block !important;
  }

  .lp .sp_none,
  .lp img.sp_none {
    display: none !important;
  }

  .hpcs-header *,
  .pt-jumpnav-wrap *,
  .uniq-fv-wrapper *,
  .office-lp-wrapper-main *,
  .ocpcta-copy *,
  .ocpfq-section *,
  .lp-partition-reason01 * {
    box-sizing: border-box;
  }

  @media screen and (max-width: 767px) {

    body.lp {
        padding-top: 0 !important;
    }

}

@media screen and (max-width: 750px) {

    /* PCヘッダー非表示 */
    .hpcs-header {
        display: none !important;
    }

    /* SP追従ヘッダー */
    .hpcs-sp-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;

        z-index: 10000;

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        height: 48px;

        padding: 0 8px 0 12px;

        box-sizing: border-box;

        background: #fff;
    }

}

@media screen and (max-width: 750px) {

  /* FV全体を基準にする */
  .uniq-fv-stage {
    position: relative;
    width: 100%;
    height: auto;
  }

  /* FV画像 */
  .uniq-fv-main-img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* CTA */
  .uniq-fv-cta-area {
    position: absolute;

    /* 横中央 */
    left: 50%;
    transform: translateX(-50%);

    /* 青背景部分に合わせて調整 */
    bottom: 3%;

    width: 90%;
    max-width: 400px;

    z-index: 10;
  }

  .uniq-fv-cta-area img {
    display: block;
    width: 100%;
    height: auto;
  }

}

  /* ------------------------------------------------------------------
     Header
     SPでは電話番号・PCナビを省略し、ロゴだけの軽いヘッダーにする
  ------------------------------------------------------------------ */
  .hpcs-header {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #e3e3e3;
    /* position: relative;
    z-index: 20; */
  }

  .hpcs-top-row {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
  }

  .hpcs-logo,
  .hpcs-logo a {
    display: block;
    line-height: 1;
  }

  .hpcs-logo-primary {
    display: block;
    width: 210px;
    max-width: 62vw;
    height: 14px;
    background: url(../img/lp_partition_v2/officecom_logo.png) center center / contain no-repeat;
  }

  .hpcs-contact-info,
  .hpcs-bottom-row {
    display: none !important;
  }

  /* =========================================================
   SP専用ヘッダー
========================================================= */

/* PCではSPヘッダーを非表示 */
.hpcs-sp-header {
    display: none;
}


/* =========================================================
   SP専用ヘッダー
========================================================= */

.hpcs-sp-header {
    display: none;
}


@media screen and (max-width: 767px) {

    /* PCヘッダー非表示 */
    .hpcs-header {
        display: none !important;
    }


    /* SPヘッダー */
    .hpcs-sp-header {
        /* position: relative;
        z-index: 1000; */

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        height: 48px;

        padding: 0 8px 0 12px;

        box-sizing: border-box;

        background: #fff;
    }

    /* ========================================
   SP HEADER FIX
======================================== */
@media screen and (max-width: 750px) {

    .hpcs-sp-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;

        display: flex !important;

        width: 100% !important;
        height: 48px;

        z-index: 999999 !important;

        background: #fff;
    }

}


    /* =========================
       ロゴ
    ========================= */

    .hpcs-sp-logo {
        display: flex;
        align-items: center;

        flex: 1;

        min-width: 0;
        height: 100%;
    }

    .hpcs-sp-logo a {
        display: flex;
        align-items: center;

        height: 100%;

        text-decoration: none;
    }

    .hpcs-sp-logo .hpcs-logo-primary {
        display: block;

        width: 205px;
        height: 32px;

        background-size: contain;
        background-position: left center;
        background-repeat: no-repeat;
    }


    /* =========================
       ボタンエリア
    ========================= */

    .hpcs-sp-actions {
        display: flex;
        align-items: center;

        flex-shrink: 0;

        gap: 4px;

        margin-left: 8px;
    }


    /* ボタン共通 */
    .hpcs-sp-action-btn {
        display: block;

        width: 40px;
        height: 36px;

        padding: 0;
        margin: 0;

        border: none;

        box-sizing: border-box;

        line-height: 0;

        text-decoration: none;
    }


    /* =========================
       電話
    ========================= */

    .hpcs-sp-phone-wrap {
        position: relative;

        margin: 0;
        padding: 0;
    }

    .hpcs-sp-phone-wrap summary {
        list-style: none;
        cursor: pointer;
    }

    .hpcs-sp-phone-wrap summary::-webkit-details-marker {
        display: none;
    }

    .hpcs-sp-phone-btn {
        background: transparent;
    }

    .hpcs-sp-phone-img {
        display: block;

        width: 40px;
        height: 36px;

        object-fit: contain;
    }


    /* =========================
       メール
    ========================= */

    .hpcs-sp-mail-btn {
        background: transparent;
    }

    .hpcs-sp-mail-img {
        display: block;

        width: 40px;
        height: 36px;

        object-fit: contain;
    }


    /* =========================
       電話番号メニュー
    ========================= */

    .hpcs-sp-phone-menu {
        position: absolute;

        top: calc(100% + 8px);
        right: -44px;

        width: 250px;

        overflow: hidden;

        background: #fff;

        border-radius: 8px;

        box-shadow: 0 3px 15px rgba(0, 0, 0, 0.18);
    }

    .hpcs-sp-phone-link {
        display: block;

        padding: 12px 15px;

        box-sizing: border-box;

        color: #222;

        text-decoration: none;

        background: #fff;
    }

    .hpcs-sp-phone-link + .hpcs-sp-phone-link {
        border-top: 1px solid #e5e5e5;
    }

    .hpcs-sp-phone-label {
        display: block;

        margin-bottom: 2px;

        font-size: 12px;
        font-weight: 700;

        color: #555;
    }

    .hpcs-sp-phone-number {
        display: block;

        font-size: 20px;
        font-weight: 700;
        line-height: 1.3;

        color: #e54b15;
    }

    .hpcs-sp-phone-hours {
        display: block;

        margin-top: 2px;

        font-size: 10px;

        color: #777;
    }

}


    /* =====================================================
       ロゴ
    ===================================================== */

    .hpcs-sp-logo {
        display: flex;
        align-items: center;

        flex: 1;

        height: 100%;
    }


    .hpcs-sp-logo a {
        display: flex;
        align-items: center;

        height: 100%;

        text-decoration: none;
    }


    /*
      PC版ですでに .hpcs-logo-primary に
      background-image が設定されている想定です。

      SPではサイズのみ調整します。
    */
    .hpcs-sp-logo .hpcs-logo-primary {
        display: block;

        width: 205px;
        height: 32px;

        background-size: contain;
        background-position: left center;
        background-repeat: no-repeat;
    }


    /* =====================================================
       右側ボタン
    ===================================================== */

    .hpcs-sp-actions {
        display: flex;
        align-items: center;

        flex-shrink: 0;

        gap: 8px;

        margin-left: 10px;
    }


    /* -----------------------------
       共通ボタン
    ----------------------------- */
    .hpcs-sp-action-btn {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 40px;
        height: 36px;

        padding: 0;
        margin: 0;

        box-sizing: border-box;

        text-decoration: none;

        cursor: pointer;
    }


    /* =====================================================
       電話ボタン
    ===================================================== */

    .hpcs-sp-phone-wrap {
        position: relative;

        margin: 0;
        padding: 0;
    }


    /* detailsの標準三角を削除 */
    .hpcs-sp-phone-wrap summary {
        list-style: none;
    }


    .hpcs-sp-phone-wrap summary::-webkit-details-marker {
        display: none;
    }


    .hpcs-sp-phone-btn {
        background: #fff;

        border: 1.5px solid #222;
        border-radius: 7px;
    }


    .hpcs-sp-phone-icon {
        margin: 0;

        font-size: 21px;

        color: #ff4b00;
    }


    /* =====================================================
       メールボタン
    ===================================================== */

    .hpcs-sp-mail-btn {
        background: linear-gradient(
            135deg,
            #ff7900 0%,
            #ff4b00 100%
        );

        border-radius: 7px;
    }


    .hpcs-sp-mail-icon {
        margin: 0;

        font-size: 22px;

        color: #fff;
    }


    /* =====================================================
       電話番号選択メニュー
    ===================================================== */

    .hpcs-sp-phone-menu {
        position: absolute;

        top: calc(100% + 8px);
        right: -48px;

        width: 250px;

        overflow: hidden;

        background: #fff;

        border-radius: 8px;

        box-shadow:
            0 3px 15px rgba(0, 0, 0, 0.18);
    }


    /* 上部三角 */
    .hpcs-sp-phone-menu::before {
        content: "";

        position: absolute;

        top: -6px;
        right: 62px;

        width: 12px;
        height: 12px;

        background: #fff;

        transform: rotate(45deg);
    }


    .hpcs-sp-phone-link {
        position: relative;
        z-index: 1;

        display: block;

        padding: 12px 15px;

        box-sizing: border-box;

        color: #222;

        text-decoration: none;

        background: #fff;
    }


    .hpcs-sp-phone-link + .hpcs-sp-phone-link {
        border-top: 1px solid #e5e5e5;
    }


    .hpcs-sp-phone-label {
        display: block;

        margin-bottom: 2px;

        font-size: 12px;
        font-weight: 700;

        color: #555;
    }


    .hpcs-sp-phone-number {
        display: block;

        font-size: 20px;
        font-weight: 700;
        line-height: 1.3;

        color: #e54b15;
    }


    .hpcs-sp-phone-hours {
        display: block;

        margin-top: 2px;

        font-size: 10px;

        color: #777;
    }

}

  /* FV 最新 */
  /* =========================
   PC
========================= */

.pc_none {
  display: none !important;
}

.sp_none {
  display: block;
}

.uniq-fv-wrapper {
  width: 100%;
}

.uniq-fv-stage {
  width: 100%;
  margin: 0 auto;
}

.uniq-fv-main-img {
  display: block;
  width: 100%;
  height: auto;
}

.uniq-fv-cta-area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 100%;
}

.uniq-fv-media img,
.uniq-fv-cta-btn img {
  display: block;
  max-width: 100%;
  height: auto;
}


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

@media screen and (max-width: 767px) {

  .sp_none {
    display: none !important;
  }

  .pc_none {
    display: block !important;
  }

  .uniq-fv-wrapper {
    width: 100%;
  }

  .uniq-fv-stage {
    width: 100%;
  }

  .uniq-fv-main-img {
    width: 100%;
    height: auto;
  }

  .uniq-fv-cta-area {
    flex-direction: column;
    gap: 12px;
    padding: 15px;
    box-sizing: border-box;
  }

  .uniq-fv-media {
    width: 100%;
    text-align: center;
  }

  .uniq-fv-media img {
    width: 100%;
    height: auto;
  }

  .uniq-fv-cta-btn {
    display: block;
    width: 100%;
  }

  .uniq-fv-cta-btn img {
    width: 100%;
    height: auto;
  }

}

  /* ------------------------------------------------------------------
     FV
     PC画像をそのまま縮小すると文字が小さくなるため、中央をやや拡大して表示
  ------------------------------------------------------------------ */
  @media screen and (max-width: 750px) {

  .uniq-fv-wrapper {
    position: relative;
    width: 100%;
    margin: 53px 0px 0px 0px;

    /* 固定heightをやめる */
    height: auto;

    /* 元画像と同じ縦横比 */
    aspect-ratio: 750 / 1180;

    overflow: hidden;

    background-image:
      url("../img/lp_partition_v2/sp/sp_main02_fv.jpg");

    background-repeat: no-repeat;
    background-position: center top;

    /* coverではなく画像全体を基準にする */
    background-size: 100% auto;

    box-sizing: border-box;
  }

  .uniq-fv-stage {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    transform: none;
    aspect-ratio: auto;
  }

  .uniq-fv-main-img.sp_none {
    display: none !important;
  }

  .uniq-fv-cta-area {
    position: absolute;

    left: 50%;

    /* 画像全体に対する位置 */
    top: 80%;

    width: 88%;

    transform: translate(-50%, -50%);

    z-index: 10;
  }

  .uniq-fv-cta-btn {
    display: block;
    width: 100%;
  }

  .uniq-fv-cta-btn img {
    display: block;
    width: 100%;
    height: auto;
  }
}


  /* ========================================
     メディア実績 + CTA
  ======================================== */
  .uniq-fv-cta-area {
    position: absolute;

    /* topではなくbottom基準にする */
    top: auto;
    right: 15px;
    bottom: 20px;
    left: 15px;

    width: auto;

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

    gap: 0;

    transform: none;

    z-index: 10;

    box-sizing: border-box;
  }


  /* メディア掲載実績 */
  .uniq-fv-media {
    width: 80%;
    max-width: 340px;

    margin: 0 auto;
  }

  .uniq-fv-media img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0 auto;
  }


  /* CTA */
  .uniq-fv-cta-btn {
    display: block;

    width: 100%;
    max-width: 570px;

    margin: 0 auto;

    text-decoration: none;
  }

  .uniq-fv-cta-btn picture {
    display: block;
    width: 100%;
  }

  .uniq-fv-cta-btn img {
    display: block;

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

    margin: 0 auto;
  }

/* ==========================================
   よくいただくご相談
========================================== */
@media screen and (max-width: 750px) {

    body.lp #select-faq.faq > .inner {
        padding: 8vw 0 2.667vw !important;
    }

}

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

  .lp #select-faq {
    position: relative;
    z-index: 1;
    background: url(../img/lp_partition/bg_faq.png) no-repeat center bottom;
    background-size: cover;
  }

  .lp #select-faq .inner {
    width: auto;
    margin: 0 15px;
    padding: 60px 0 80px;
  }

  /* 上部タイトル画像 */
  .lp #select-faq .tit {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
  }

  .lp #select-faq .tit img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  /* 見出し */
  .lp #select-faq h2 {
    margin: 0 0 35px;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.5;
    color: #ffffff;
    font-weight: 700;
    padding: 0.933vw 5.333vw 1.333vw;
    background: #111;
  }

  .lp #select-faq h2 .hl {
    display: inline;
  }

  /* FAQ一覧 */
  .lp #select-faq .list {
    display: block;
    margin: 0 0 35px;
  }

  .lp #select-faq .list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 0 0 24px;
    box-sizing: border-box;
  }

  .lp #select-faq .list li:last-child {
    margin-bottom: 0;
  }

  /* アイコン */
  .lp #select-faq .list li .ico {
    flex: 0 0 64px;
    width: 64px;
    margin: 0 15px 0 0;
  }

  .lp #select-faq .list li .ico img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* テキスト */
  .lp #select-faq .list li .txt {
    flex: 1;
    width: auto;
    margin: 0;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 1.55;
  }

  .lp #select-faq .list li .txt .em {
    color: #d20000;
  }

  /* 下部「すべて解決」画像 */
  .lp #select-faq .tac {
    width: 100%;
    margin: 0;
    text-align: center;
  }

  .lp #select-faq .tac img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

}

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

.lp .cv {
    background: url(../img/lp_partition_v2/bg_cv.gif) no-repeat center center;
    background-size: cover;
}

.lp .cv .inner {
    width: 100%;
    margin: 0 auto;
    padding: 35px 15px 40px;
    box-sizing: border-box;
    position: relative;
}

/* 日本全国で対応中 */
.lp .cv .inner .ico {
    position: absolute;
    top: -30px;
    left: 15px;
}

.lp .cv .inner .ico img {
    width: 115px;
    height: auto;
}

/* 見出し */
.lp .cv .inner .tit {
    margin: 0 0 20px;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 900;
    text-align: center;
    color: #fff;
    line-height: 1.4;
}

/* チェック項目 */
.lp .cv .inner .check {
    display: block ;
    margin: 0 0 30px ;
    font-size: 16px ;
    font-size: 1.6rem ;
    color: #fff ;
    line-height: 1.5 ;
}

.lp .cv .inner .check li {
    margin: 0 0 12px ;
    padding: 0 0 0 35px ;
    background: url(../img/lp_partition_v2/ico_cv_check.png) no-repeat 0 0.25em !important;
    background-size: 24px auto ;
}

.lp .cv .inner .check li:first-child {
    margin-left: 0;
}

/* CTAエリア */
.lp .cv .inner .btn {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
}

.lp .cv .inner .btn li {
    width: 100%;
    margin: 0 0 20px;
    background: #f0f0f0;
}

.lp .cv .inner .btn li:last-child {
    margin-bottom: 0;
}

.lp .cv .inner .btn li dl {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lp .cv .inner .btn li dl dt {
    padding: 10px 8px;
    background: #111;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
}

.lp .cv .inner .btn li dl dd {
    flex: none;
    display: block;
    min-height: 0;
    padding: 15px;
    box-sizing: border-box;
}

/* 無料見積りボタン */
.lp .cv .inner .btn li dl dd .overimg {
    display: block;
    width: 100%;
}

.lp .cv .inner .btn li dl dd .overimg img {
    display: block;
    width: 100%;
    height: auto;
}

/* 電話番号 */
.lp .cv .inner .btn li .tel_txt {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 0 10px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #111;
    line-height: 1.4;
}

.lp .cv .inner .btn li .tel_txt:last-child {
    margin-bottom: 0;
}

.lp .cv .inner .btn li .tel_txt span {
    display: block;
    flex-shrink: 0;
    width: 115px;
    padding: 6px 4px;
    margin: 0 10px 0 0;
    background: #dbdbdb;
    box-sizing: border-box;
    text-align: center;
    font-size: 12px;
    font-size: 1.2rem;
}

.lp .cv .inner .btn li .tel_txt a {
    display: block;
    padding: 0 0 0 22px;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    color: #111;
    line-height: 1;
    text-decoration: none;
    background: url(../img/lp_partition_v2/ico_tel.png) no-repeat 0 center;
    background-size: 17px auto;

    /* SPではタップで電話できるようにする */
    pointer-events: auto;
}

/* 注釈 */
.lp .cv .inner .btn li .notes {
    font-size: 12px;
    font-size: 1.2rem;
    color: #111;
    font-weight: normal;
}

/* 1カラム */
.lp .cv .inner .btn_1col .btn {
    display: block;
    letter-spacing: 0;
}

.lp .cv .inner .btn_1col .btn li {
    width: 100%;
    margin: 0 0 20px;
}

.lp .cv .inner .btn_1col .btn li:last-child {
    margin-bottom: 0;
}

.lp .cv .inner .btn_1col .btn li dl dd {
    display: block;
    padding: 15px;
    text-align: left;
}

.lp .cv .inner .btn_1col .btn li .tel_txt span {
    width: 115px;
    margin-right: 10px;
    text-align: center;
}

@media screen and (max-width: 767px) {

  /* タイトル */
  .lp .cv .inner .tit {
    margin: 0 0 20px;
    font-size: 2.8rem;
    line-height: 1.35;
    text-align: center;
    word-break: keep-all;
  }

  /* チェックリスト全体 */
  .lp .cv .inner .check {
    display: block;
    margin: 0 0 30px;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  /* 各項目 */
  .lp .cv .inner .check li {
    margin: 0 0 14px;
    padding: 0 0 0 51px;
    background: url(../img/lp_partition_v2/ico_cv_check.png) no-repeat left 0.2em;
    background-size: 28px auto;
    word-break: keep-all;
  }

  /* 「相見積りのご依頼も」を1行で保つ */
  .lp .cv .inner .check li .check-nowrap {
    display: inline-block;
    white-space: nowrap;
  }

}

  /* ------------------------------------------------------------------
     Jump navigation
  ------------------------------------------------------------------ */
  .pt-jumpnav-wrap {
    width: 100%;
    padding: 14px 10px 16px;
    background: #d7d7d7;
  }

  .pt-jumpnav-inner {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 auto;
  }

  .pt-jumpnav-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    color: #fff !important;
    text-decoration: none !important;
    border: 0 !important;
  }

  .pt-jumpnav-label {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 5px;
    background: #222;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }

  .pt-jumpnav-arrow {
    position: relative;
    display: block;
    width: 100%;
    height: 24px;
    background: #145b98;
  }

  .pt-jumpnav-arrow::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 50%;
    width: 11px;
    height: 11px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateX(-50%) rotate(45deg);
  }

  /* ========================================
   パーテーションLP ジャンプナビ SP
======================================== */
@media screen and (max-width: 767px) {

  .pt-jumpnav-wrap {
    width: 100%;
    padding: 15px 12px;
    box-sizing: border-box;
    background: #d7d7d7;
  }

  .pt-jumpnav-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  /* 各ボタン */
  .pt-jumpnav-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    text-decoration: none !important;
    box-sizing: border-box;
  }

  /* SPではhover不要 */
  .pt-jumpnav-item:hover {
    opacity: 1;
  }

  /* 黒背景部分 */
  .pt-jumpnav-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 10px 5px;
    box-sizing: border-box;
    background: #222222;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }

  /* 青帯部分 */
  .pt-jumpnav-arrow {
    position: relative;
    display: block;
    width: 100%;
    height: 24px;
    background: #145b98;
  }

  /* 下向き矢印 */
  .pt-jumpnav-arrow::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 50%;
    width: 11px;
    height: 11px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: translateX(-50%) rotate(45deg);
  }

    .pt-jumpnav-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

}

  /* ------------------------------------------------------------------
     Office solution / gallery
  ------------------------------------------------------------------ */
  .lp .office-lp-wrapper-main {
    margin: 0;
    overflow: hidden;
    background: url(../img/lp_partition_v2/bg_office-lp-wrapper.jpg) center center / cover no-repeat;
  }

  .lp .office-lp-wrapper {
    width: 100%;
    margin: 0;
    padding: 42px 0 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }

  .office-lp-main-container {
    width: 100%;
    padding: 0 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .office-lp-text-section {
    width: 100%;
    max-width: none;
  }

  .office-lp-title-banner {
    display: inline-block;
    margin: 0 auto 18px;
    padding: 9px 12px;
    background: #cb0303;
    color: #fff;
    font-size: clamp(24px, 4vw, 20px);
    font-weight: 700;
    line-height: 1.55;
  }

  .office-lp-description-text {
    margin: 0;
    color: #fff;
    font-size: clamp(23px, 7vw, 34px);
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: -.02em;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .55);
  }

  .office-lp-description-text span {
    display: block;
  }

  .office-lp-person-image-container {
    width: 100%;
    margin: 18px 0 -3px;
    text-align: center;
  }

  .office-lp-person-image {
    display: block;
    width: min(64vw, 280px);
    height: auto;
    margin: 0 auto;
  }

  .office-lp-gallery-section {
    width: 100%;
    padding: 18px 12px 6px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  /* 5枚目以降を非表示 */
  .office-lp-gallery-section > *:nth-child(n+5) {
    display: none;
  }

  .office-lp-gallery-item {
    width: 100%;
    overflow: hidden;
  }

  .office-lp-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .office-lp-gallery-item:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 3.5px);
    justify-self: center;
  }

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

  .lp .door {
    text-align: center;
    overflow: hidden;
    background: url(../img/lp_partition/bg_door.gif) center center;
  }

  .lp .door .inner {
    width: auto;
    margin: 0 15px;
    padding: 50px 0 60px;
  }

  /* 見出し */
  .lp .door .inner .txt {
    margin: 0 0 30px;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.5;
  }

  .lp .door .inner .txt .em {
    font-size: 30px;
    font-size: 3.0rem;
    font-style: italic;
    color: #d20000;
    background:
      linear-gradient(
        transparent 0%,
        transparent 50%,
        #fff 50%,
        #fff 100%
      );
  }

  /* 画像一覧 */
  .lp .door .inner .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 0;
  }

  .lp .door .inner .list li {
    width: 100%;
    margin: 0;
  }

  .lp .door .inner .list li img {
    display: block;
    width: 100%;
    height: auto;
  }

}

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

  /* セクション全体 */
  .lp #select-about {
    overflow: hidden;
    background:
      url(../img/lp_partition/bg_about01.png) no-repeat center top,
      url(../img/lp_partition/bg_about04.png) no-repeat center bottom;
    background-size: auto 282px, auto 600px;
  }

  .lp #select-about .inner {
    width: auto;
    margin: 0 15px;
    padding: 40px 0 60px;
  }


  /* ========================================
     メイン見出し
  ======================================== */

  .lp #select-about .inner h2 {
    margin: 0 0 84px;
    padding: 0;
    font-size: 28px;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.45;
    text-align: center;
    color: #ffffff;
  }

  .lp #select-about .inner h2 img {
    position: static;
    display: block;
    width: 166px;
    max-width: 65%;
    height: auto;
    margin: 0;
  }


  /* ========================================
     REASON 01〜03
  ======================================== */

  .lp #select-about .inner .col_wrap .col {
    display: block;
    width: 100%;
    padding: 35px 0;
    border-top: 2px solid #bd1515;
    box-sizing: border-box;
  }

  /* PC用装飾をSPでは解除 */
  .lp #select-about .inner .col_wrap .col::before,
  .lp #select-about .inner .col_wrap .col::after {
    display: none;
    content: none;
  }

  .lp #select-about .inner .col_wrap .col .txt,
  .lp #select-about .inner .col_wrap .col:nth-child(even) .txt {
    width: 100%;
    order: initial;
  }


  /* REASON画像 */
  .lp #select-about .inner .col_wrap .col .txt .tit {
    margin: 0 0 12px;
  }

  .lp #select-about .inner .col_wrap .col .txt .tit img {
    display: block;
    width: 125px;
    height: auto;
  }


  /* 見出し */
  .lp #select-about .inner .col_wrap .col .txt h3 {
    margin: 0 0 20px;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0;
  }

  /* 赤文字 */
  .lp #select-about .inner .col_wrap .col .txt h3 .em {
    display: block;
    margin: 0px 0 0;
    font-size: 34px;
    font-size: 3.4rem;
    /* line-height: 1.25; */
    color: #d20000;
  }

  .lp #select-about .inner .col_wrap .col .txt h3 .normal {
    font-size: 20px;
    font-size: 2rem;
  }

  .lp #select-about .inner .col_wrap .col .txt h3 .small {
    font-size: 11px;
    font-size: 1.1rem;
  }


  /* 説明部分 */
  .lp #select-about .inner .col_wrap .col .txt .txt_in,
  .lp #select-about .inner .col_wrap .col:nth-child(even) .txt .txt_in {
    position: relative;
    z-index: 0;
    padding: 20px;
    background: #f2f2f2;
    box-sizing: border-box;
  }

  /* PC用に横へ広げている背景を解除 */
  .lp #select-about .inner .col_wrap .col .txt .txt_in::before,
  .lp #select-about .inner .col_wrap .col:nth-child(even) .txt .txt_in::before {
    display: none;
    content: none;
  }

  .lp #select-about .inner .col_wrap .col .txt .txt_in > p:not(.img) {
    margin: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
  }


  /* SP用施工画像 */
  .lp #select-about .inner .col_wrap .col .txt .txt_in .img {
    width: 100%;
    margin: 20px 0 0;
  }

  .lp #select-about .inner .col_wrap .col .txt .txt_in .img img {
    display: block;
    width: 100%;
    height: auto;
  }


  /* PC用画像の設定をSPで解除 */
  .lp #select-about .inner .col_wrap .col > .img,
  .lp #select-about .inner .col_wrap .col:nth-child(even) > .img {
    width: 100%;
    margin: 0;
    order: initial;
  }


  /* ========================================
     REASON 04〜09
  ======================================== */

  .lp #select-about .inner .col_list {
    display: block;
    margin: 20px 0 0;
  }

  .lp #select-about .inner .col_list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 125px;
    margin: 0 0 15px;
    padding: 25px 10px 20px;
    box-sizing: border-box;
    color: #fff;
    background: #bd1515;
  }

  .lp #select-about .inner .col_list li:last-child {
    margin-bottom: 0;
  }


  /* カード背景装飾 */
  .lp #select-about .inner .col_list li::before,
  .lp #select-about .inner .col_list li:nth-child(2)::before,
  .lp #select-about .inner .col_list li:nth-child(3)::before,
  .lp #select-about .inner .col_list li:nth-child(5)::before {
    width: 130px;
    height: 55px;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    background-size: contain;
  }


  /* REASON04〜09 */
  .lp #select-about .inner .col_list li .tit {
    top: 0;
    left: 0;
  }

  .lp #select-about .inner .col_list li .tit img {
    display: block;
    width: 150px !important;
    height: auto;
  }


  /* アイコン */
  .lp #select-about .inner .col_list li .img {
    flex: 0 0 70px;
    width: 70px;
    margin: 0 15px 0 0;
  }

  .lp #select-about .inner .col_list li .img img {
    display: block;
    width: 100%;
    height: auto;
  }


  /* テキスト */
  .lp #select-about .inner .col_list li .txt {
    flex: 1;
    width: auto;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.45;
  }

  .lp #select-about .inner .col_list li .txt .em {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.4;
  }

}

/* about */

.lp .about {
    overflow: hidden;
    background: url(../img/lp_partition/sp/bg_about01.png) no-repeat center top, url(../img/lp_partition/bg_about04.png) no-repeat center bottom -40px;
    background-size: 100% 618px, 100% 1049px;
    background-size: 100% 82.4vw, auto 200vw;
}

.lp .about .inner {
    margin: 0 auto;
    padding: 66px 0 80px;
    padding: 8.8vw 0 10.667vw;
}

.lp .about .inner h2 {
    margin: 0 0 100px;
    padding: 150px 0 0;
    padding: 20vw 0 0;
    font-size: 4.0rem;
    font-size: 7.467vw;
    line-height: 1.5;
    position: relative;
}

.lp .about .inner h2 img {
    position: absolute;
    top: 0px;
    left: 23px;
    left: 3.067vw;
    max-width: 90%;
    height: auto;
    width: 54.133vw;
    height: 20.133vw;
}

.lp .about .inner .col_wrap .col {
    padding: 60px 0 40px;
    position: relative;
    z-index: 1;
}

.lp .about .inner .col_wrap .col:before {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 1;
    width: 175px;
    height: 73px;
    background: url(../img/lp_partition/bg_about02.png) no-repeat 0 0;
}

.lp .about .inner .col_wrap .col:nth-child(even):before {
    top: -2px;
    bottom: auto;
    left: auto;
    right: 0;
}

.lp .about .inner .col_wrap .col:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 95.733%;
    height: calc( 100% - 40px );
    background: transparent;
    border-top: 2px solid #bd1515;
    border-right: 2px solid #bd1515;
}

.lp .about .inner .col_wrap .col:nth-child(even):after {
    left: auto;
    right: 0;
    border-right: none;
    border-left: 2px solid #bd1515;
}

.lp .about .inner .col_wrap .col .txt {
    position: relative;
    /* padding: 0 0 0 4%; */
}

.lp .about .inner .col_wrap .col:nth-child(even) .txt {
    order: 1;
    padding: 0 4% 0 0;
}

.lp .about .inner .col_wrap .col .txt .tit {
    width: 32.9%;
    margin: 0 0 15px;
}

.lp .about .inner .col_wrap .col .txt h3 {
    margin: 0 0 30px;
    font-size: 3.8rem;
    font-size: 5.067vw;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: -1px;
}

.lp .about .inner .col_wrap .col:nth-child(even) .txt .tit,
.lp .about .inner .col_wrap .col:nth-child(even) .txt h3 {
    /* padding: 0 0 0 6.667%; */
}

.lp .about .inner .col_wrap .col .txt h3 .em {
    margin: 0 0 0 20px;
    font-size: 5.4rem;
    font-size: 7.2vw;
    color: #d20000;
}

.lp .about .inner .col_wrap .col .txt h3 .normal {
    font-size: 3.0rem;
    font-size: 4vw;
}

.lp .about .inner .col_wrap .col .txt h3 .small {
    font-size: 1.5rem;
    font-size: 2vw;
}

.lp .about .inner .col_wrap .col .txt .txt_in {
    padding: 32px 50px 40px;
    padding: 4.267vw 6.667vw 5.333vw;
    position: relative;
    z-index: 0;
}

.lp .about .inner .col_wrap .col .txt .txt_in:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: calc(50vw + 550px);
    height: 100%;
    background: #f2f2f2;
}

.lp .about .inner .col_wrap .col:nth-child(even) .txt .txt_in:before {
    left: auto;
    right: 0;
}

.lp .about .inner .col_wrap .col .txt .txt_in p {
    font-size: 1.5rem;
    font-size: 4vw;
    font-weight: 500;
    line-height: 2.0;
}

.lp .about .inner .col_wrap .col .img {
    margin: 22px  0;
    position: relative;
    z-index: 1;
    text-align: center;
}

.lp .about .inner .col_wrap .col:nth-child(even) .img {
    order: 0;
}

.lp .about .inner .col_list {
    margin: 0;
    padding: 0 4%;
}

.lp .about .inner .col_list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 8vw 6.66vw 5.33vw;
    margin: 0 0 2.66vw;
    box-sizing: border-box;
    color: #fff;
    background: #bd1515;
    position: relative;
    z-index: 0;
}

.lp .about .inner .col_list li:last-child {
    margin: 0;
}

.lp .about .inner .col_list li:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 26vw;
    height: 10.5vw;
    background: url(../img/lp_partition/bg_about03.png) no-repeat right top;
    background-size: 100% auto;
}

.lp .about .inner .col_list li:nth-child(2):before,
.lp .about .inner .col_list li:nth-child(3):before,
.lp .about .inner .col_list li:nth-child(5):before {
    width: 28.4vw;
    height: 11.3vw;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    background-position: left bottom;
    background-size: 100% auto;
}

.lp .about .inner .col_list li .tit {
    position: absolute;
    top: -4px;
    left: 0;
    width: 21.7%;
}

.lp .about .inner .col_list li .img {
    width: 17%;
}

.lp .about .inner .col_list li .txt {
    width: 79%;
    font-size: 4.26vw;
    font-weight: 900;
    line-height: 1.2;
}

.lp .about .inner .col_list li .txt .em {
    font-size: 5.86vw;
}

/* =========================================
   REASON01 低価格・コスト重視 専用
========================================= */

.reason01_price {
  display: flex;
  align-items: flex-start;
  position: relative;
  gap: 40px;
}

.reason01_price > .txt {
  flex: 1;
  min-width: 0;
}


/* REASON01 */
.reason01_price > .txt > .tit {
  margin: 0 0 55px;
}

.reason01_price > .txt > .tit img {
  display: block;
  max-width: 100%;
  height: auto;
}


/* 見出し */
.reason01_price > .txt > h3 {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 28px;

  margin: 0 0 50px;

  color: #2d2d2d;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}


/* 価格 */
.reason01_price > .txt > h3 > .em {
  position: relative;
  display: inline-flex;
  align-items: baseline;

  margin-bottom: -3px;

  color: #d60000;
  font-size: 68px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}


/* 1スパン */
.reason01_price > .txt > h3 > .em::before {
  content: "1スパン";

  position: absolute;
  top: -22px;
  left: 4px;

  min-width: 69px;
  box-sizing: border-box;
  padding: 4px 14px 5px;

  border-radius: 30px;
  background: #3abf1c;

  color: #fff;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}


/* 円～ */
.reason01_price > .txt > h3 > .em > .normal {
  margin-left: 3px;

  color: #d60000;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}


/* 税込 */
.reason01_price > .txt > h3 > .em > .small {
  margin-left: 8px;

  color: #d60000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}


/* 説明文 */
.reason01_price > .txt > .txt_in {
  box-sizing: border-box;
  padding: 62px 62px 42px;

  background: #f3f3f3;
}

.reason01_price > .txt > .txt_in > p:first-child {
  margin: 0;

  color: #222;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}


/* 右側画像 */
.reason01_price > .img {
  flex: 0 0 400px;
  margin: 15px 0 0;
}

.reason01_price > .img img {
  display: block;
  width: 100%;
  height: auto;
}

  /* ------------------------------------------------------------------
     CTA copy added above the one-column contact button
  ------------------------------------------------------------------ */
  .inner_cta {
    /* width: 100%; */
    margin: 0 auto;
    padding: 0 16px;
  }

  .ocpcta-copy {
    margin: 0;
    text-align: center;
  }

  .ocpcta-copy-text {
    margin: 0;
    padding: 0px 0 28px;
    color: #fff;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: clamp(19px, 5.5vw, 27px);
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .01em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .4);
  }

  .ocpcta-highlight-red,
  .ocpcta-highlight-yellow {
    display: inline-block;
    padding: 0 3px 1px;
    font-weight: 900;
    text-shadow: none;
  }

  .ocpcta-highlight-red {
    color: #fff500;
    background: #f00000;
  }

  .ocpcta-highlight-yellow {
    color: #f00000;
    background: #fff500;
  }

  /* ocpcta-section を後から使用する場合にも対応 */
  .ocpcta-section {
    width: 100%;
    min-height: auto;
    padding: 30px 15px 35px;
    background: #286295;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }

  .ocpcta-inner,
  .ocpcta-contact {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .ocpcta-contact-heading {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: #fff;
    background: #000;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
  }

  .ocpcta-contact-body {
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 17px 20px;
    background: #fff;
  }

  .ocpcta-contact-button {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    color: #fff !important;
    background: linear-gradient(to bottom, #17d400 0%, #10bd00 100%);
    border-radius: 5px;
    text-decoration: none !important;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .22);
  }

  .ocpcta-contact-button-text {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
  }

  .ocpcta-mail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
  }

  .ocpcta-mail-icon svg {
    display: block;
    width: 26px;
    height: auto;
  }

  /* ------------------------------------------------------------------
     FAQ (ocpfq-)
  ------------------------------------------------------------------ */
  .ocpfq-section {
    width: 100%;
    background: #fefefe;
    color: #333;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }

  .ocpfq-heading {
    width: 100%;
    min-height: 105px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    background: #1e5a99;
  }

  .ocpfq-heading-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(21px, 6vw, 28px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .04em;
    text-align: center;
  }

  .ocpfq-heading-en {
    margin: 3px 0 0;
    color: #fff226;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .05em;
  }

  .ocpfq-inner {
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 38px 0 26px;
  }

  .ocpfq-list {
    width: 100%;
  }

  .ocpfq-item {
    margin: 0 0 28px;
  }

  .ocpfq-item:last-child {
    margin-bottom: 0;
  }

  .ocpfq-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 9px;
    align-items: start;
  }

  .ocpfq-row-question {
    margin-bottom: 8px;
  }

  .ocpfq-label {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
  }

  .ocpfq-label-q {
    color: #fff;
    background: #1e5a99;
  }

  .ocpfq-label-a {
    color: #1e5a99;
    background: #fff;
    border: 1px solid #1e5a99;
  }

  .ocpfq-question,
  .ocpfq-answer {
    margin: 0;
    padding: 0;
  }

  .ocpfq-question {
    color: #333;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.75;
  }

  .ocpfq-answer {
    color: #444;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
  }

  .ocpfq-more {
    display: flex;
    justify-content: flex-end;
    margin-top: 28px;
  }

  .ocpfq-more-link,
  .ocpfq-more-link:hover,
  .ocpfq-more-link:focus,
  .ocpfq-more-link:visited {
    display: inline-flex;
    align-items: center;
    color: #555;
    font-size: 11px;
    text-decoration: none !important;
    border-bottom: 0 !important;
  }

  .ocpfq-more-arrow {
    margin-right: 4px;
    color: #e43d38;
    font-size: 18px;
    line-height: 1;
  }

  /* ------------------------------------------------------------------
     REASON 01 custom price block
     Base SP CSS has stronger selectors, so specificity is intentionally raised.
  ------------------------------------------------------------------ */
  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 {
    position: relative;
    width: 100%;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .tit {
    margin: 0 0 24px;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .tit img {
    display: block;
    width: 145px;
    max-width: 46vw;
    height: auto;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 {
    display: block;
    margin: 0 0 28px;
    color: #292929;
    font-size: clamp(26px, 7vw, 34px);
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: -.03em;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    margin: 24px 0 0;
    padding-top: 23px;
    color: #d90000;
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: clamp(47px, 14vw, 66px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.05em;
    white-space: nowrap;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em::before {
    content: "1スパン";
    position: absolute;
    top: -3px;
    left: 1px;
    min-width: 60px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    background: #d90000;
    border-radius: 20px;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em .normal {
    margin-left: 3px;
    color: #d90000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(20px, 6vw, 28px);
    font-weight: 700;
    letter-spacing: 0;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em .small {
    margin-left: -13px;
    color: #d90000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 26px 46px 39px 17px;
    background: #f2f2f2;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in::before {
    display: none;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: -4px;
    width: 36px;
    height: 8px;
    background: #e60012;
    transform: rotate(-28deg) skewX(-15deg);
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in > p:not(.img) {
    margin: 0;
    color: #282828;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: .01em;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in .img {
    width: 100%;
    margin: 22px 0 0;
  }

  .lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > .txt_in .img img {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0 auto;
  }

  /* --------------------------------------------
   REASON 01 見出し＋価格
-------------------------------------------- */

.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;

  width: 100%;
  margin: 0 0 28px;

  color: #292929;
  font-size: clamp(26px, 7vw, 34px);
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: -.03em;
}


/* 左側：見出し */
.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .reason-title {
  flex: 1;
  min-width: 0;
}


/* 右側：価格 */
.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em {
  position: relative;

  display: inline-flex;
  align-items: baseline;
  flex-shrink: 0;

  margin: 0;
  padding-top: 30px;

  color: #d90000;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(47px, 14vw, 66px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.05em;

  white-space: nowrap;
}


/* 1スパン */
.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em::before {
  content: "1スパン";

  position: absolute;
  top: 0;
  left: 0;

  min-width: 110px;
  height: 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0 12px;

  background: #d90000;
  border-radius: 20px;

  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}


/* 円〜 */
.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em .normal {
  margin-left: 3px;

  color: #d90000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(20px, 6vw, 28px);
  font-weight: 700;
  letter-spacing: 0;
}


/* 税込 */
.lp .about .inner .col_wrap .col .txt.lp-partition-reason01 > h3 .em .small {
  margin-left: 6px;

  color: #d90000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}



  /* ------------------------------------------------------------------
     Fixed CTA: base SP CSSを尊重しつつ、端末幅からはみ出さないよう補助
  ------------------------------------------------------------------ */
.lp .fix_cv {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;

    background: transparent !important;
    box-sizing: border-box;
  }

  .lp .fix_cv img.pc_none {
    width: 100%;
    height: auto;
  }

/* inner02 */
.inner{
  width: auto;
  margin: 0 15px;
}

.inner02{
	position: relative;
	padding: 30px 0 60px;
	z-index: 1;
	background: url(../img/partition02/bg_merit02.jpg) 50% 0 no-repeat;
	background-size: auto 30%;
}

.inner02::before{
	content: "";
	position: absolute;
	display: none;
	top:0;
	left:0;
	width: 100%;
	height: 530px;
	background: url(../img/partition02/bg_merit02.jpg) 0 0 no-repeat;
	background-size: 100% auto;
	z-index: -1;
}

.inner02 .txt{
	margin: 0 0 40px;
	font-size: 14px;
	line-height: 1.7;
	color: #fff;
}

.inner02 .color_box{
	margin: 0 0 40px;
	padding: 20px 5%;
	background: #fff;
}

.inner02 .color_box .txt_area{
	line-height: 1.8;
}

.inner02 .color_box .intit{
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: bold;
	color: #a30000;
}

.inner02 .color_box .intxt{
	line-height: 1.8;
}

.inner02 .color_box .color{
	padding: 15px 0 5px;
	text-align: center;
}

.inner02 .color_box .color p{
	display: inline-block;
	position: relative;
	width: 50px;
	margin: 0 5px 10px;
	padding: 58px 0 0;
	font-size: 10px;
	color: #1d1c22;
	text-align: center;
	white-space: nowrap;
}

.inner02 .color_box .color p:nth-child(4n){
	margin-right: 0;
}
.inner02 .color_box .color p:nth-child(-n+4){
	margin-top: 0;
}

.inner02 .color_box .color p::before{
	content: "";
	position: absolute;
	top:0;
	left:0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
}

.inner02 .color_box .color p.white::before{
	background: #fff;
	border: 1px solid #e9e7e4;
	box-sizing: border-box;
}
.inner02 .color_box .color p.offwhite{
	letter-spacing: -0.05em;
}
.inner02 .color_box .color p.offwhite::before{
	background: #f2e9dd;
}
.inner02 .color_box .color p.silver::before{
	background: #ccc;
}
.inner02 .color_box .color p.black::before{
	background: #333;
}
.inner02 .color_box .color p.blue::before{
	background: #406bcd;
}
.inner02 .color_box .color p.red::before{
	background: #df3f29;
}
.inner02 .color_box .color p.lime::before{
	background: #a6d23e;
}
.inner02 .color_box .color p.green::before{
	background: #4dae50;
}
.inner02 .color_box .color p.yellow::before{
	background: #fce835;
}
.inner02 .color_box .color p.orange::before{
	background: #fe9801;
}
.inner02 .color_box .color p.maple::before{
	background: #dda971;
}
.inner02 .color_box .color p.brown::before{
	background: #946f51;
}

.inner02 .color_box .caution{
	clear: both;
	font-size: 12px;
	color: #6a696e;
}

.inner02 .captures p{
	float: left;
	width: calc(33.3% - 4px);
	margin: 0 4px 4px 0;
	text-align: center;
}
.inner02 .captures p:last-child{
	margin-right: 0;
}

.inner02 .captures p:nth-child(7) {
  display: none;
}

/* case */

.lp .case {
    background: url(../img/lp_partition/bg_case.png) no-repeat center top;
    background-size: auto 72vw;
}

.lp .case .inner {
    padding: 6.656vw 4% 0;
}

.lp .case .inner h2 {
    margin: 0 0 20vw;
    padding: 18.6vw 0 0;
    font-size: 7.46vw;
    line-height: 1.3;
    position: relative;
}

.lp .case .inner h2 .ico {
    position: absolute;
    top: 0;
    left: -1vw;
    width: 60vw;
}

.lp .case .inner h2 .img {
    display: block;
    margin: 0 auto;
    width: 73.3vw;
}

.lp .case .inner .lead {
    margin: 0 0 9.3vw;
    font-size: 4vw;
    line-height: 1.6;
    text-align: center;
}

.lp .case .inner .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}

.lp .case .inner .list li {
    width: 48%;
    margin: 0 0 6.66vw;
    position: relative;
}

.lp .case .inner .list li .anc {
    position: absolute;
    top: -80px;
    left: 0;
}

.lp .case .inner .list li .img {
    margin: 0 0 4vw;
    position: relative;
}

.lp .case .inner .list li .img .ico {
    position: absolute;
    top: -4vw;
    left: 1vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 14vw;
    height: 14vw;
    font-size: 2.5vw;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 50%;
}

.lp .case .inner .list li .img .ico.color01 {
    background: #d10d3b;
}

.lp .case .inner .list li .img .ico.color02 {
    background: #2e7a96;
}

.lp .case .inner .list li .img .ico.color03 {
    background: #9c6300;
}

.lp .case .inner .list li .img .ico.color04 {
    background: #1a8036;
}

.lp .case .inner .list li .img .slider_main{
    position: relative;
    margin: 0 0 20px;
}

.lp .case .inner .list li .img .slider_main ul{
    max-height: 220px;
    overflow: hidden;
}

.lp .case .inner .list li .img .slider_main .arw_prev a ,
.lp .case .inner .list li .img .slider_main .arw_next a{
    position: absolute;
    display:block;
    width:29px;
    height:0;
    padding-top: 65px;
    background: url(../img/lp_partition/slidearw_m_l.png) 0 0 no-repeat;
    top: calc( 50% - 32.5px );
    left: 0;
    margin-top: 0;
    overflow: hidden;
    transition: 0.4s;
}

.lp .case .inner .list li .img .slider_main .arw_next a{
    background: url(../img/lp_partition/slidearw_m_r.png) 0 0 no-repeat;
    left: auto;
    right: 0;
}

.lp .case .inner .list li .img .slider_main .arw_prev a:hover ,
.lp .case .inner .list li .img .slider_main .arw_next a:hover {
    opacity: 0.7;
}

.lp .case .inner .list li .img .slider_thumb{
    margin: 0;
    padding: 0;
    list-style-type: none;
    max-height: 70px;
    overflow: hidden;
}

.lp .case .inner .list li .img .slider_thumb li a img{
    width: 100%;
    height: auto;
}

.lp .case .inner .list li .img .slider_thumb li a{
    transition: 0.4s;
}

.lp .case .inner .list li .img .slider_thumb li a:hover {
    opacity: 0.7;
}


.lp .case .inner .list li .txt {
    margin: 0 0 2.66vw;
    font-size: 3vw;
    font-weight: bold;
    line-height: 1.6;
}

.lp .case .inner .list li .detail {
    padding: 2.66vw;
    background: #f2f2f2;
}

.lp .case .inner .list li .detail p {
    font-size: 2vw;
}

.lp .case .inner .list li .detail .em {
    font-weight: bold;
    color: #a60000;
}

/*.lp .case .inner .list li .detail .info {
    padding: 0 0 0 5.8em;
    text-indent: -5.8em;
}*/

.lp .case .inner .list li .detail .company {
    margin: 1.3vw 0 0;
    color: #9a9a9a;
}

/*無料で3Dパーツをご提案*/

.lp .reco_sub {
    margin: 0vw 0 0;
    padding: 14vw 0 13.3vw;
    background: url(../img/lp_partition_v2/sp/bg_reco_sp.png) no-repeat center top;
    background-size: auto 100%;
}

.lp .reco_sub .reco_in {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 20px 0;
    background: #fff;
    text-align: center;
}

.lp .reco_sub .reco_in:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin: 0 0 0 -6.6vw;
    border-top: 5vw solid #fff;
    border-left: 6.6vw solid transparent;
    border-right: 6.6vw solid transparent;
}

.lp .reco_sub .tit{
    display: inline-block;
    position: relative;
    margin: 0 0 20px;
    padding: 0 30px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}

.lp .reco_sub .tit strong{
    color: #a30000;
}
.lp .reco_sub .tit span{
    font-size: 18px;
}

.lp .reco_sub .tit::before,
.lp .reco_sub .tit::after{
    content: "";
    position: absolute;
    left: 10px;
    bottom: 0;
    width: 20px;
    height: 30px;
    background: url(../img/partition/ico_reco_tit.png) 0 0 no-repeat;
    background-size: contain;
}
.lp .reco_sub .tit::after{
    left: auto;
    right: 10px;
    transform: rotateY(180deg);
}

.lp .reco_sub .ico{
    position: absolute;
    right: -1%;
    top: -20px;
    width: 20%;
    max-width: 75px;
}

.lp .reco_sub .bar{
    width: calc(100% + 16px);
    transform: translateX(-8px);
    margin: 0 0 20px;
    padding: 10px 5%;
    box-sizing: border-box;
    background: #a30000;
}

.lp .reco_sub .bar p{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    color: #fff;
}

.lp .reco_sub .txt{
    margin: 0 0 20px;
    padding: 0 5%;
    text-align: left;
}

.lp .reco_sub .img_box{
    padding: 0 5%;
}

.lp .reco_sub .img_box .img{
    float: left;
    width: 48%;
    margin: 10px 4% 0 0;
}

.lp .reco_sub .img_box .img img{
    width: 100%;
}

.lp .reco_sub .img_box .img:nth-child(2n){
    margin-right: 0;
}
.lp .reco_sub .img_box .img:nth-child(-n+2){
    margin-top: 0;
}

/*ズームアイコン*/
.lp .zoom{
    position: relative;
}

.lp .zoom a::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: url(../img/partition/ico_case_zoom.gif) 50% 50% no-repeat #fff;
    background-size: 14px auto;
    cursor: pointer;
}

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

  .lp #select-type {
    background: url(../img/lp_partition/bg_type.gif) center top;
  }

  .lp #select-type .inner {
    width: auto;
    margin: 0 15px;
    padding: 60px 0;
    box-sizing: border-box;
  }

  /* 見出し */
  .lp #select-type .inner h2 {
    margin: 0 0 20px;
    text-align: center;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.4;
  }

  /* リード文 */
  .lp #select-type .inner .lead {
    margin: 0 0 35px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7;
    text-align: center;
  }

  /* 一覧 */
  .lp #select-type .inner > .list {
    display: block;
    margin: 0;
  }

  .lp #select-type .inner > .list > li {
    width: 100%;
    margin: 0 0 35px;
    box-sizing: border-box;
  }

  .lp #select-type .inner > .list > li:last-child {
    margin-bottom: 0;
  }

  /* 各タイトル */
  .lp #select-type .inner > .list > li > .tit {
    margin: 0 0 15px;
    padding: 18px 0 0 35px;
    font-size: 23px;
    font-size: 2.3rem;
    font-weight: 900;
    line-height: 1.4;
  }

  /* タイトル左の斜めライン */
  .lp #select-type .inner > .list > li > .tit::before {
    top: 0;
    left: 10px;
    width: 12px;
    height: 38px;
    transform: skewX(-35deg);
  }

  /* 写真 */
  .lp #select-type .inner > .list > li > .img {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }

  .lp #select-type .inner > .list > li > .img img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* テキストエリア */
  .lp #select-type .inner > .list > li > .txt {
    margin: -30px 0 0;
    padding: 55px 20px 20px;
    box-sizing: border-box;
    background: #f2f2f2;
  }

  /* ポイント一覧 */
  .lp #select-type .inner > .list > li .point {
    margin: 0 0 18px;
    padding: 0 0 20px;
    border-bottom: 1px solid #ccc;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .lp #select-type .inner > .list > li .point li {
    margin: 0 0 12px;
    padding: 0 0 0 28px;
    background-size: 18px auto;
  }

  .lp #select-type .inner > .list > li .point li:last-child {
    margin-bottom: 0;
  }

  /* 各カラーのチェックアイコン */
  .lp #select-type .inner > .list > li.color01 .point li {
    background:
      url(../img/lp_partition/ico_type01.png)
      no-repeat 0 0.2em;
    background-size: 18px auto;
  }

  .lp #select-type .inner > .list > li.color02 .point li {
    background:
      url(../img/lp_partition/ico_type02.png)
      no-repeat 0 0.2em;
    background-size: 18px auto;
  }

  .lp #select-type .inner > .list > li.color03 .point li {
    background:
      url(../img/lp_partition/ico_type03.png)
      no-repeat 0 0.2em;
    background-size: 18px auto;
  }

  .lp #select-type .inner > .list > li.color04 .point li {
    background:
      url(../img/lp_partition/ico_type04.png)
      no-repeat 0 0.2em;
    background-size: 18px auto;
  }

  /* 事例リンク */
  .lp #select-type .inner > .list > li .alink {
    margin: 0;
    text-align: center;
  }

  .lp #select-type .inner > .list > li .alink a {
    display: inline-block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
  }

  .lp #select-type .inner > .list > li .alink a span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 25px;
  }

  .lp #select-type .inner > .list > li .alink a span::before {
    top: 3px;
    left: 0;
    width: 17px;
    height: 18px;
    background-size: contain;
  }

  /* SPではhover変化を解除 */
  .lp #select-type .inner > .list > li .alink a:hover {
    opacity: 1;
  }

}

/* type */

.lp .type {
    background: url(../img/lp_partition/bg_type.gif) center top;
}

.lp .type .inner {
    padding: 6.66vw 4%;
}

.lp .type .inner .lead {
    margin: 0 0 6.66vw;
    font-size: 4vw;
    line-height: 1.6;
    text-align: center;
}

.lp .type .inner .list {
    margin: 0;
    padding: 0;
}

.lp .type .inner .list > li {
    margin: 0 0 5.33vw;
}

.lp .type .inner .list > li .tit {
    margin: 0 0 4vw;
    padding: 4vw 5.33vw 0;
    font-size: 5vw;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
}

.lp .type .inner .list > li .tit:before {
    content: '';
    position: absolute;
    top: 0;
    left: 3vw;
    width: 3vw;
    height: 6vw;
     transform: skewX(-45deg);
}

.lp .type .inner .list > li.color01 .tit:before {
    background: #d10d3b;
}

.lp .type .inner .list > li.color02 .tit:before {
    background: #2e7a96;
}

.lp .type .inner .list > li.color03 .tit:before {
    background: #9c6300;
}

.lp .type .inner .list > li.color04 .tit:before {
    background: #1a8036;
}

.lp .type .inner .list > li .img {
    padding: 0 50px;
}

.lp .type .inner .list > li .img img {
    width: 100%;
}

.lp .type .inner .list > li .txt {
    margin: -12vw 0 0;
    padding: 18vw 5.33vw 2.66vw;
    background: #f2f2f2;
}

.lp .type .inner .list > li .txt .point {
    margin: 0 0 2.66vw;
    padding: 0 0 5.33vw;
    border-bottom: 1px solid #ccc;
    font-size: 4vw;
}

.lp .type .inner .list > li .txt .point li {
    margin: 0 0 2.66vw;
    padding: 0 0 0 4.66vw;
}

.lp .type .inner .list > li .txt .point li:last-child {
    margin: 0;
}

.lp .type .inner .list > li.color01 .txt .point li {
    background: url(../img/lp_partition/ico_type01.png) no-repeat 0 center;
    background-size: 4vw auto;
}

.lp .type .inner .list > li.color02 .txt .point li {
    background: url(../img/lp_partition/ico_type02.png) no-repeat 0 center;
    background-size: 4vw auto;
}

.lp .type .inner .list > li.color03 .txt .point li {
    background: url(../img/lp_partition/ico_type03.png) no-repeat 0 center;
    background-size: 4vw auto;
}

.lp .type .inner .list > li.color04 .txt .point li {
    background: url(../img/lp_partition/ico_type04.png) no-repeat 0 center;
    background-size: 4vw auto;
}

.lp .type .inner .list > li .txt .price {
    font-size: 4vw;
    font-weight: bold;
    text-align: right;
}

.lp .type .inner .list > li.color01 .txt .price {
    color: #d10d3b;
}

.lp .type .inner .list > li.color02 .txt .price {
    color: #2e7a96;
}

.lp .type .inner .list > li.color03 .txt .price {
    color: #9c6300;
}

.lp .type .inner .list > li.color04 .txt .price {
    color: #1a8036;
}

.lp .type .inner .list > li .txt .price .em {
    font-size: 5vw;
    line-height: 1.5;
}

.lp .type .inner .list > li .txt .alink{
    text-align: center;
}

.lp .type .inner .list > li .txt .alink a span{
    position: relative;
    padding: 0 0 0 4.66vw;
}

.lp .type .inner .list > li .txt .alink a span:before{
    content:"";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 8px;
    width: 4vw;
    height: 4vw;
    background: url(../img/lp_partition/arw_down.png) no-repeat 0 0;
    background-size: contain;
}

.lp .type .inner .list > li .txt .alink a{
    font-size: 4.5vw;
    text-decoration: none;
    font-weight: bold;
    transition: .2s;
}
.lp .type .inner .list > li .txt .alink a:hover {
    opacity: .6;
    transition: .2s;
}

.lp .type .inner .list > li.color01 .txt .alink a{
    color: #d10d3b;
}

.lp .type .inner .list > li.color02 .txt .alink a{
    color: #2e7a96;
}

.lp .type .inner .list > li.color03 .txt .alink a{
    color: #9c6300;
}

.lp .type .inner .list > li.color04 .txt .alink a{
    color: #1a8036;
}

/* intro */
.lp h2 {
    margin: 0 0 35px;
    font-size: 2.1rem;
    font-size: 5.6vw;
    font-weight: 900;
    color: #fff;
    line-height: 2.0;
    text-align: center;
}

.lp .intro h2 {
    position: relative;
    top: -110px;
    top: -29.333vw;
    margin: 0 0 -252px;
    margin: 0 0 -33.6vw;
}

.lp h2 .hl {
    padding: 7px 9px 6px;
    /* padding: 0.933vw 5.333vw 1.333vw; */
    background: #111;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 1.8;
}

.lp .intro .inner .img {
    padding: 180px 0 100px;
    padding: 12vw 0 13.333vw;
    background: #ddd;
}

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

  .lp .other {
    overflow: hidden;
    background: #f2f2f2;
  }

  .lp .other .inner {
    width: auto;
    margin: 0 15px;
    padding: 70px 0 80px;
    box-sizing: border-box;
  }

  /* 見出し */
  .lp .other .inner h2 {
    margin: 0 0 45px;
    position: relative;
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.5;
    text-align: center;
  }

  .lp .other .inner h2 img {
    position: static;
    display: block;
    width: 90px;
    height: auto;
    margin: 0 auto 10px;
  }

  /* 各コンテンツ */
  .lp .other .inner .col_wrap .col {
    width: 100%;
    margin: 0 0 50px;
  }

  .lp .other .inner .col_wrap .col:last-child {
    margin-bottom: 0;
  }

  .lp .other .inner .col_wrap .col .txt,
  .lp .other .inner .col_wrap .col:nth-child(even) .txt {
    min-height: 0;
    padding: 0;
    text-align: left;
  }

  /* キャッチ */
  .lp .other .inner .col_wrap .col .txt .lead {
    margin: 0 0 15px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.7;
    text-align: left;
  }

  .lp .other .inner .col_wrap .col .txt .lead .lh {
    display: inline;
    padding: 5px 8px;
    background: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  /* タイトル */
  .lp .other .inner .col_wrap .col .txt h3,
  .lp .other .inner .col_wrap .col:nth-child(even) .txt h3 {
    margin: 0 0 18px;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 900;
    color: #d20000;
    line-height: 1.4;
    text-align: left;
  }

  /* 赤背景テキスト */
  .lp .other .inner .col_wrap .col .txt .txt_in,
  .lp .other .inner .col_wrap .col:nth-child(even) .txt_in {
    margin: 0;
    padding: 25px 25px 25px 40px;
    box-sizing: border-box;
    background: #bd1515;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    text-align: left;
    list-style-type: disc;
  }

  .lp .other .inner .col_wrap .col .txt .txt_in li {
    margin: 0 0 10px;
  }

  .lp .other .inner .col_wrap .col .txt .txt_in li:last-child {
    margin-bottom: 0;
  }

  /* PC用の大きな背景を解除 */
  .lp .other .inner .col_wrap .col .txt .txt_in::before,
  .lp .other .inner .col_wrap .col:nth-child(even) .txt_in::before {
    display: none;
    content: none;
  }

  /* 画像 */
  .lp .other .inner .col_wrap .col .txt .img,
  .lp .other .inner .col_wrap .col:nth-child(even) .txt .img {
    position: static;
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
  }

  .lp .other .inner .col_wrap .col .txt .img img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

}

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

  .lp .cv2 {
    background: url(../img/lp_partition/bg_flow.jpg) no-repeat center center;
    background-size: cover;
  }

  .lp .cv2 .inner {
    width: auto;
    margin: 0 15px;
    padding: 60px 0 80px;
    box-sizing: border-box;
  }

  /* 見出し */
  .lp .cv2 .inner h2 {
    margin: 0 0 20px;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4;
    text-align: center;
  }

  /* リード */
  .lp .cv2 .inner .lead {
    margin: 0 0 45px;
    font-size: 15px;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    line-height: 1.8;
  }

  /* STEP全体 */
  .lp .cv2 .inner .step {
    padding: 20px 15px 30px;
    box-sizing: border-box;
    background: url(../img/lp_partition/bg_flow_step.gif) center top;
  }

  /* STEP一覧 */
  .lp .cv2 .inner .step .list {
    display: block;
    position: static;
    top: auto;
    margin: 0 0 30px;
    color: #fff;
    text-align: center;
    background: transparent;
  }

  /* 各STEP */
  .lp .cv2 .inner .step .list li {
    display: grid;
    grid-template-columns: 75px 60px 1fr;
    align-items: center;
    width: 100%;
    min-height: 90px;
    padding: 15px;
    margin: 0 0 8px;
    box-sizing: border-box;
    background: #bd1515;
    position: relative;
    z-index: 0;
  }

  .lp .cv2 .inner .step .list li:last-child {
    margin-bottom: 0;
  }

  /* 偶数STEP */
  .lp .cv2 .inner .step .list li:nth-child(even)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #980000;
    transform: none;
  }

  /* STEP番号 */
  .lp .cv2 .inner .step .list li .tit {
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff10d;
    line-height: 1.4;
  }

  /* アイコン */
  .lp .cv2 .inner .step .list li .img {
    margin: 0;
    text-align: center;
  }

  .lp .cv2 .inner .step .list li .img img {
    display: block;
    max-width: 50px;
    width: auto;
    height: auto;
    margin: 0 auto;
  }

  /* STEPテキスト */
  .lp .cv2 .inner .step .list li .txt {
    display: block;
    margin: 0;
    padding: 0 0 0 10px;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
  }

  /* すべて無料 */
  .lp .cv2 .inner .step .free {
    margin: 0 0 10px;
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.6;
    text-align: center;
  }

  .lp .cv2 .inner .step .free .em {
    display: block;
    margin: 5px 0 0;
    font-size: 30px;
    font-size: 3rem;
    color: #d20000;
    line-height: 1.4;
    text-align: center;
  }

  /* 注釈 */
  .lp .cv2 .inner .step .notes {
    margin: 0;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
  }

}

/* other */

.lp .other {
    overflow: hidden;
    background: #f2f2f2;
}

.lp .other .inner {
    margin: 0 auto;
    padding: 12vw 4% 5.66vw;
}

.lp .other .inner h2 {
    margin: 0 0 5.66vw;
    position: relative;
}

.lp .other .inner h2 img {
    position: absolute;
    top: -8vw;
    left: 0;
    width: 18vw;
}

.lp .other .inner .col_wrap .col {
    margin: 0 0 8vw;
    position: relative;
    z-index: 0;
}

.lp .other .inner .col_wrap .col:last-child {
    margin: 0;
}

.lp .other .inner .col_wrap .col .txt {
    position: relative;
}

.lp .other .inner .col_wrap .col .txt .lead {
    margin: 0 0 20px;
    font-size: 4.22vw;
    font-weight: bold;
    line-height: 2;
    position: relative;
    z-index: 2;
}

.lp .other .inner .col_wrap .col .txt .lead .lh {
    padding: 1vw 2vw;
    background: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.lp .other .inner .col_wrap .col .txt h3 {
    margin: 0 0 2.66vw 5.66vw;
    font-size: 8vw;
    font-weight: 900;
    color: #d20000;
    line-height: 1.5;
    text-align: left;
}

.lp .other .inner .col_wrap .col .txt .txt_in {
    /* margin: 0 -4vw 0 0; */
    padding: 5.66vw 5.66vw 5.66vw 8vw;
    font-size: 3vw;
    color: #fff;
    line-height: 1.8;
    position: relative;
    z-index: 0;
    list-style-type: disc;
    text-align: left;
    background: #bd1515;
}

.lp .other .inner .col_wrap .col:nth-child(even) .txt .txt_in {
    margin: 0 0 0 -4vw;
}

.lp .other .inner .col_wrap .col .txt .img {
    margin: 0 -4vw 0 0;
    padding: 0 0 5.66vw 0vw;
    background: #bd1515;
}

.lp .other .inner .col_wrap .col:nth-child(even) .txt .img {
    margin: 0 0 0 -4vw;
    padding: 0 4vw 5.66vw 0;
}

.lp .other .inner .col_wrap .col .txt .img img {
    width: 100%;
}


/* cv2 */

.lp .cv2 {
    background: url(../img/lp_partition/bg_flow.jpg) no-repeat center center;
    background-size: cover;
}

.lp .cv2 .inner {
    padding: 6.22vw 5.66vw;
}

.lp .cv2 .inner h2 {
    margin: 0 0 4vw;
    font-size: 6.9vw;
}

.lp .cv2 .inner .lead {
    margin: 0 0 16vw;
    font-size: 4vw;
    color: #fff;
    text-align: center;
    line-height: 1.6;
}

.lp .cv2 .inner .step {
    padding: 0 5.66vw 5.66vw;
    background: url(../img/lp_partition/bg_flow_step.gif) center top;
}

.lp .cv2 .inner .step .list {
    position: relative;
    top: -8vw;
    margin: 0;
    padding: 0;
    color: #fff;
    text-align: center;
    background: #bd1515;
}

.lp .cv2 .inner .step .list li {
    display: flex;
    align-items: center;
    padding: 5.66vw 5.66vw;
    position: relative;
    z-index: 0;
    text-align: left;
}

.lp .cv2 .inner .step .list li:nth-child(even):before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #980000;
    transform: skewY(-3deg);
}

.lp .cv2 .inner .step .list li .tit {
    width: 18vw;
    font-size: 4vw;
    font-weight: bold;
    color: #fff826;
    line-height: 1.6;
}

.lp .cv2 .inner .step .list li .img {
    margin-right: 2vw;
    width: 8vw;
    text-align: center;
}

.lp .cv2 .inner .step .list li .txt {
    width: calc(100% - 28vw);
    font-size: 4vw;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}

.lp .cv2 .inner .step .free {
    margin: -3vw 0 0;
    font-size: 4vw;
    font-weight: 900;
    text-align: center;
}

.lp .cv2 .inner .step .free .em {
    font-size: 5vw;
    color: #d20000;
    line-height: 1.5;
    text-align: center;
}

.lp .cv2 .inner .step .notes {
    font-size: 3vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

/* ========================================
   SP 追従バナー
======================================== */
@media screen and (max-width: 767px) {

  .lp .fix_cv {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;

    background: #fff;
    box-sizing: border-box;
  }

  .lp .fix_cv a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .lp .fix_cv a img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0px 0px -11px 0px !important;
  }

}

/* ========================================
   お問い合わせエリア SP調整
======================================== */
@media screen and (max-width: 750px) {

  /* -----------------------------
     全体
  ----------------------------- */
  .lp .cv {
    width: 100%;
    /* overflow: hidden; */
  }

  .lp .cv .inner {
    width: 100%;
    padding: 45px 16px 40px;
    box-sizing: border-box;
  }

  /* -----------------------------
     見出し
  ----------------------------- */
  .lp .cv .inner .tit {
    margin: 0 0 20px;
    padding: 0 10px;

    font-size: clamp(24px, 7vw, 30px);
    font-weight: 900;
    line-height: 1.4;
    text-align: center;

    color: #fff;

    box-sizing: border-box;
  }

  /* -----------------------------
     チェックリスト
  ----------------------------- */
  .lp .cv .inner .check {
    width: 100%;
    margin: 0 0 28px;
    padding: 0;

    font-size: clamp(15px, 4.3vw, 18px);
    line-height: 1.6;

    box-sizing: border-box;
  }

  .lp .cv .inner .check li {
    width: 100%;
    margin: 0 0 14px;
    padding: 0 0 0 52px;

    background:
      url(../img/lp_partition_v2/ico_cv_check.png)
      no-repeat left 0.15em;
    background-size: 25px auto;

    box-sizing: border-box;

    /* はみ出し防止 */
    word-break: normal;
    overflow-wrap: break-word;
  }

  /* PC側などで入っているkeep-allを解除 */
  .lp .cv .inner .check li {
    word-break: normal !important;
  }

  /* -----------------------------
     CTA
  ----------------------------- */
  .lp .cv .inner .btn_1col {
    width: 100%;
  }

  .lp .cv .inner .btn {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .lp .cv .inner .btn > li {
    width: 100%;
    margin: 0 0 20px;

    box-sizing: border-box;
  }

  .lp .cv .inner .btn > li:last-child {
    margin-bottom: 0;
  }

  .lp .cv .inner .btn li dl {
    width: 100%;
    margin: 0;

    box-sizing: border-box;
  }

  /* 黒いタイトル */
  .lp .cv .inner .btn li dl dt {
    width: 100%;
    padding: 10px 8px;

    font-size: clamp(12px, 3.5vw, 14px);
    line-height: 1.5;
    text-align: center;

    box-sizing: border-box;
  }

  .lp .cv .inner .btn li dl dd {
    width: 100%;
    padding: 15px 12px;

    box-sizing: border-box;
  }

  /* -----------------------------
     お問い合わせ画像CTA
  ----------------------------- */
  .lp .cv .inner .btn .overimg {
    display: block;
    width: 100%;
  }

  .lp .cv .inner .btn .overimg img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  /* -----------------------------
     電話番号
  ----------------------------- */
  .lp .cv .inner .btn li .tel_txt {
    display: grid;

    /* 地域名 / 電話番号 */
    grid-template-columns:
      minmax(90px, 110px)
      minmax(0, 1fr);

    align-items: center;
    gap: 8px;

    width: 100%;
    margin: 0 0 10px;

    box-sizing: border-box;
  }

  .lp .cv .inner .btn li .tel_txt:last-child {
    margin-bottom: 0;
  }

  /* 地域名 */
  .lp .cv .inner .btn li .tel_txt span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 6px 4px;

    font-size: clamp(10px, 3vw, 12px);
    line-height: 1.35;
    text-align: center;

    background: #dbdbdb;

    box-sizing: border-box;
  }

  /* 電話番号 */
  .lp .cv .inner .btn li .tel_txt a {
    display: block;

    min-width: 0;
    padding: 2px 0 2px 21px;

    font-size: clamp(18px, 5.6vw, 22px);
    font-weight: 700;
    line-height: 1.2;

    color: #111;

    text-decoration: none;
    white-space: nowrap;

    background:
      url(../img/lp_partition_v2/ico_tel.png)
      no-repeat left center;
    background-size: 16px auto;

    box-sizing: border-box;
  }

}

/* ========================================
   パーテーションページ ジャンプリンク SP
======================================== */
@media screen and (max-width: 750px) {

  .pt-jumpnav-wrap {
    width: 100%;
    padding: 16px 12px;
    background: #fff;
    box-sizing: border-box;
  }

  .pt-jumpnav-inner {
    display: grid;

    /* 2列 × 3段 */
    grid-template-columns: repeat(2, 1fr);

    gap: 8px;

    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  .pt-jumpnav-item {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    /* タップしやすい高さ */
    min-height: 68px;

    padding: 10px 28px 10px 8px;

    box-sizing: border-box;

    background: #fff;
    border: 1px solid #d9d9d9;

    text-decoration: none;

    transition:
      background-color .2s ease,
      opacity .2s ease;
  }

  .pt-jumpnav-label {
    display: block;

    width: 100%;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;

    text-align: center;
    color: #222;
  }

  /* 下向き矢印 */
  .pt-jumpnav-arrow {
    position: absolute;

    right: 12px;
    top: 50%;

    width: 7px;
    height: 7px;

    border-right: 2px solid #d70000;
    border-bottom: 2px solid #d70000;

    transform:
      translateY(-65%)
      rotate(45deg);
  }

  /* タップ時 */
  .pt-jumpnav-item:active {
    background: #f5f5f5;
    opacity: .8;
  }

}