@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.2
*/

/* Media Strategy LAB - BtoB LP Styles (style.css) */
/* 使用カラー:
   Base: #F9F9F9, #F2F2F2
   Main: #333333, #4A4A4A
   Accent: #800000, #A52A2A
   Sub: #E0E0E0
*/

/* 基礎的な装飾class */
html{
	scroll-behavior: smooth !important;
}

/* AI営業マン タカハシ LP：2026-08-31 レイアウト改善 */
.msl-ai-lp .msl-issues-flex {
    align-items: stretch !important;
}

.msl-ai-lp .msl-issues-text,
.msl-ai-lp .msl-issues-image {
    display: flex !important;
    flex-direction: column !important;
}

.msl-ai-lp .msl-issues-image {
    order: 0 !important;
}

.msl-ai-lp .msl-issues-list {
    display: grid !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    flex: 1 1 auto !important;
    margin-bottom: 0 !important;
}

.entry-content .msl-ai-lp .msl-issues-list li,
.msl-ai-lp .msl-issues-list li {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
}

.msl-ai-lp .msl-ai-quote {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    min-height: 410px !important;
    padding: 34px !important;
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    color: #ffffff !important;
    background:
        linear-gradient(0deg, rgba(19, 9, 9, .72) 0%, rgba(19, 9, 9, 0) 52%),
        linear-gradient(90deg, rgba(24, 13, 13, .94) 0%, rgba(45, 12, 12, .76) 58%, rgba(45, 12, 12, .38) 100%),
        url("assets/images/ai-takahashi-problem-v1.jpg") 62% center / cover no-repeat !important;
    box-shadow: 0 14px 35px rgba(51, 20, 20, .18) !important;
}

.msl-ai-lp .msl-ai-quote p {
    max-width: 72% !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    line-height: 1.85 !important;
    text-shadow:
        -1px -1px 0 rgba(0, 0, 0, .38),
        1px -1px 0 rgba(0, 0, 0, .38),
        -1px 1px 0 rgba(0, 0, 0, .38),
        1px 1px 0 rgba(0, 0, 0, .38) !important;
}

.msl-ai-lp .msl-ai-quote p:last-child {
    max-width: 76% !important;
    margin-top: auto !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .55) !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .72) !important;
}

.msl-ai-feature-grid {
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
}

.msl-ai-feature-grid .msl-plan-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 235px !important;
}

.msl-ai-feature-grid .msl-plan-card > * {
    position: relative !important;
    z-index: 1 !important;
}

.msl-ai-feature-grid .msl-plan-card::after {
    position: absolute !important;
    right: 18px !important;
    bottom: -16px !important;
    z-index: 0 !important;
    color: rgba(128, 0, 0, .065) !important;
    font-size: 92px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.msl-ai-feature-grid .msl-plan-card:nth-child(1)::after { content: '01' !important; }
.msl-ai-feature-grid .msl-plan-card:nth-child(2)::after { content: '02' !important; }
.msl-ai-feature-grid .msl-plan-card:nth-child(3)::after { content: '03' !important; }
.msl-ai-feature-grid .msl-plan-card:nth-child(4)::after { content: '04' !important; }
.msl-ai-feature-grid .msl-plan-card:nth-child(5)::after { content: '05' !important; }
.msl-ai-feature-grid .msl-plan-card:nth-child(6)::after { content: '06' !important; }

.msl-ai-feature-grid .msl-plan-name {
    min-height: 54px !important;
    margin-bottom: 14px !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
}

.msl-ai-feature-grid .msl-plan-desc {
    flex: 1 1 auto !important;
}

.msl-ai-developer {
    display: block !important;
}

.msl-ai-developer::after {
    content: '' !important;
    display: block !important;
    clear: both !important;
}

.msl-ai-developer .msl-solutions-image {
    display: contents !important;
}

.msl-ai-developer .msl-ai-profile {
    float: left !important;
    width: 220px !important;
    max-width: 100% !important;
    margin: 0 34px 18px 0 !important;
}

.msl-ai-developer .msl-ai-profile img {
    width: 220px !important;
    height: 275px !important;
    border: 5px solid #ffffff !important;
    border-radius: 18px !important;
    object-position: center 22% !important;
}

.msl-ai-developer .msl-solutions-text {
    display: block !important;
    width: auto !important;
}

.msl-ai-fit-grid {
    width: 100% !important;
    max-width: none !important;
    align-items: stretch !important;
}

.msl-ai-fit-grid .msl-plan-card {
    height: 100% !important;
}

.msl-ai-fit-grid + .msl-ai-callout {
    width: 100% !important;
    max-width: none !important;
    margin-top: 34px !important;
}

@media (max-width: 767px) {
    .msl-ai-lp .msl-ai-quote {
        min-height: 390px !important;
        padding: 26px !important;
        background-position: 66% center !important;
    }

    .msl-ai-lp .msl-ai-quote p,
    .msl-ai-lp .msl-ai-quote p:last-child {
        max-width: 82% !important;
    }

    .msl-ai-feature-grid .msl-plan-card {
        min-height: 0 !important;
    }

    .msl-ai-feature-grid .msl-plan-name {
        min-height: 0 !important;
    }

    .msl-ai-developer {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .msl-ai-developer .msl-solutions-image {
        float: none !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 0 26px !important;
    }

    .msl-ai-developer .msl-ai-profile,
    .msl-ai-developer .msl-ai-profile img {
        float: none !important;
        width: 180px !important;
    }

    .msl-ai-developer .msl-ai-profile {
        margin: 0 auto !important;
    }

    .msl-ai-developer .msl-ai-profile img {
        height: 225px !important;
    }
}

.article , .entry-content{
	margin-bottom:0 !important;
}

.padding20{
	padding:0 20px !important;
}
.padding-top0{
	padding-top:0 !important;
}

.content{
	margin-top:0 !important;
}
.main{
	padding-top:5px !important;
	padding-bottom:5px !important;
}
.margin-top60{
	margin-top:60px !important;
}
.margin-bottom60{
	margin-bottom:60px !important;
}
.footer{
	margin-top:-120px;
}

a{
	text-decoration: none;
}

/* プロフィール */
.avatar-200{
	border-radius: 50% !important;
}

/* スノーモンキーフォーム（問い合わせフォーム） */
.smf-item{
	padding:20px 20px;
}
.smf-form{
	text-align:left !important;
}
.smf-action{
	text-align:center;
}

/* SNSシェアボタンの装飾設定 */
.sns-share-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.sns-share-buttons a.sns-button,
.sns-share-buttons .sns-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 50px !important;  /* 正方形の幅 */
  height: 50px !important; /* 正方形の高さ */
  border-radius: 12px !important; /* 角丸の半径 */
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  text-decoration: none;
  flex-basis: auto !important; /* カラム指定による横幅固定を解除 */
}

/* アイコン以外の要素（テキスト・カウント）を非表示化 */
.sns-share-buttons .button-caption,
.sns-share-buttons .share-count {
  display: none !important;
}

/* アイコン自体のサイズ調整 */
.sns-share-buttons .social-icon {
  font-size: 24px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* -------------------------------------------------------------------
 * 【重要】Cocoonなどのテーマ既存CSSを上書きするための高詳細度リセット
 * ------------------------------------------------------------------- */

.main {
    padding-left: 0% !important;
    padding-right: 0% !important;
}

.msl-lp-wrapper {
    /* font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif !important; */
    color: #333333 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
    /* HTML側のalignfullとWordPress本来の挙動に任せる */
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow-x: hidden;
}

/* マックスの横幅840px→1000pxに変更。Cocoon側でなぜか変更できないため */
.is-layout-constrained {
  --wp--style--global--content-size: 1000px !important;
}

/* 見出しリセット（CocoonのH2などの背景色やpaddingを強制キャンセル） */
.msl-lp-wrapper h1,
.msl-lp-wrapper h2,
.msl-lp-wrapper h3,
.entry-content .msl-lp-wrapper h1,
.entry-content .msl-lp-wrapper h2,
.entry-content .msl-lp-wrapper h3,
#the-content .msl-lp-wrapper h1,
#the-content .msl-lp-wrapper h2,
#the-content .msl-lp-wrapper h3 {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 auto !important;
    color: #333333 !important;
    border-radius: 0 !important;
}


/* リスト(ul/li)リセット */
.msl-lp-wrapper ul,
.msl-lp-wrapper li,
.entry-content .msl-lp-wrapper ul,
.entry-content .msl-lp-wrapper li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #333333 !important;
}

/* 共通コンテナ */
.msl-container {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    /* ここで左右の余白を制御（背景色は親要素で広げるため） */
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* セクション共通 */
.msl-section {
    padding: 80px 0 !important;
    margin: 0 !important;
}

@media (min-width: 768px) {
    .msl-section {
        padding: 80px 0 !important;
        margin: 0 !important;
    }
}

/* 独自のセクションタイトル */
.msl-lp-wrapper h2.msl-section-title,
.entry-content .msl-lp-wrapper h2.msl-section-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #333333 !important;
    position: relative !important;
    padding-bottom: 25px !important;
}

.msl-lp-wrapper h2.msl-section-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 60px !important;
    height: 3px !important;
    background-color: #800000 !important;
}

/* 背景色・テキストユーティリティ */
.msl-bg-gray {
    background-color: #F9F9F9 !important;
}

.msl-bg-light-red {
    background-color: #FFF0F0 !important;
}

.msl-bg-dark {
    background-color: #333333 !important;
    color: #FFFFFF !important;
}

/* 実績セクションは白文字（詳細度高めに） */
.msl-lp-wrapper .msl-results h2.msl-section-title,
.entry-content .msl-lp-wrapper .msl-results h2.msl-section-title {
    color: #FFFFFF !important;
}

.msl-lp-wrapper .msl-results h2.msl-section-title::after {
    background-color: #FFFFFF !important;
}

.msl-text-white {
    color: #FFFFFF !important;
}

.msl-text-center {
    text-align: center !important;
}

.msl-mt-4 {
    margin-top: 40px !important;
}

.msl-mt-8 {
    margin-top: 80px !important;
}



/* ボタン (Cocoonのブロックボタンスタイルを強力に上書き) */
.msl-btn-wrap {
    text-align: center !important;
    margin-top: 40px !important;
}

.msl-lp-wrapper .msl-btn {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

.msl-lp-wrapper .msl-btn .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 40px !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: auto !important;
    /* Cocoonのwidth:100%を解除 */
    background-color: #800000 !important;
    color: #FFFFFF !important;
    border: 2px solid #800000 !important;
    line-height: 1.2 !important;
}

/* after要素（矢印）は不要なので削除・非表示化 */
.msl-lp-wrapper .msl-btn .wp-block-button__link::after {
    display: none !important;
    content: none !important;
}

.msl-lp-wrapper .msl-btn .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
    background-color: #A52A2A !important;
    border-color: #A52A2A !important;
    color: #FFFFFF !important;
}


.msl-lp-wrapper .msl-btn-large .wp-block-button__link {
    font-size: 20px !important;
    padding: 22px 60px !important;
    width: 100% !important;
    max-width: 500px !important;
}

/* プレースホルダー */
.msl-placeholder-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    color: #888 !important;
    font-size: 14px !important;
    text-align: center !important;
    background-color: #E0E0E0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 250px !important;
    border-radius: 12px !important;
    border: 2px dashed #bbb !important;
    box-sizing: border-box !important;
}

/* 1. ファーストビュー */
.msl-fv {
    background-color: #F2F2F2 !important;
    padding: 60px 0 80px !important;
}

.msl-fv .msl-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 40px !important;
}

.msl-fv-content {
    width: 100% !important;
}

.msl-lp-wrapper h1.msl-fv-title,
.entry-content .msl-lp-wrapper h1.msl-fv-title {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #333333 !important;
    line-height: 1.5 !important;
    margin-bottom: 24px !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
}

.msl-fv-desc {
    font-size: 16px !important;
    margin-bottom: 30px !important;
}

.msl-sp-br {
    display: block !important;
}

.msl-pc-br {
    display: none !important;
}

.msl-fv-image-placeholder {
    width: 100% !important;
    max-width: 600px !important;
    min-height: 300px !important;
}

@media (min-width: 768px) {
    .msl-fv {
        padding: 80px 0 100px !important;
    }

    .msl-fv .msl-container {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .msl-fv-content {
        width: 50% !important;
    }

    .msl-lp-wrapper h1.msl-fv-title,
    .entry-content .msl-lp-wrapper h1.msl-fv-title {
        font-size: 40px !important;
    }

    .msl-fv-desc {
        font-size: 18px !important;
    }

    .msl-btn-wrap {
        text-align: center !important;
    }

    .msl-sp-br {
        display: none !important;
    }

    .msl-pc-br {
        display: block !important;
    }

    .msl-fv-image-placeholder {
        width: 45% !important;
    }
}

/* 2. 課題 / 3. 解決策 */
.msl-issues-flex,
.msl-solutions-flex {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
}

.msl-issues-image,
.msl-solutions-image {
    order: -1 !important;
    /* SPでは画像を上に */
    width: 100% !important;
}

.msl-issues-list {
    background-color: transparent !important;
    /* 背景の白い箱をなくしてliごとにする場合、もしくは残すなら #FFFFFF のまま */
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-bottom: 40px !important;
}

.entry-content .msl-issues-list li,
.msl-issues-list li {
    position: relative !important;
    background-color: #FFFFFF !important;
    border: 2px solid #800000 !important;
    border-radius: 8px !important;
    padding: 15px 15px 15px 45px !important;
    /* 左側にアイコン用の余白を広めにとる */
    text-indent: 0 !important;
    text-align: left !important;
    margin-bottom: 15px !important;
    font-weight: bold !important;
    line-height: 1.6 !important;
    list-style: none !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
}

.msl-issues-list li:last-child {
    margin-bottom: 0 !important;
}

.entry-content .msl-issues-list li::before,
.msl-issues-list li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 15px !important;
    /* liのボーダーからの距離 */
    top: 50% !important;
    transform: translateY(-50%) !important;
    /* 上下中央揃え */
    color: #800000 !important;
    font-size: 20px !important;
    font-family: inherit !important;
    font-weight: bold !important;
}

.msl-text-lead {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #800000 !important;
    margin-bottom: 20px !important;
}

.msl-solutions-text p {
    margin-bottom: 15px !important;
}

@media (min-width: 768px) {

    .msl-issues-flex,
    .msl-solutions-flex {
        flex-direction: row !important;
        align-items: center !important;
    }

    .msl-issues-image {
        width: 45% !important;
        order: 0 !important;
    }

    .msl-issues-text {
        width: 50% !important;
    }

    .msl-solutions-text {
        width: 50% !important;
    }

    .msl-solutions-image {
        width: 45% !important;
        order: 0 !important;
    }
}

/* 4. 圧倒的な実績 */
.msl-results-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    margin-bottom: 30px !important;
}

.msl-result-card {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 40px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    transition: transform 0.3s ease !important;
}

.msl-result-card:hover {
    transform: translateY(-5px) !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}

.msl-result-number {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin-bottom: 15px !important;
    line-height: 1 !important;
}

.msl-result-number span {
    font-size: 24px !important;
}

.msl-result-desc {
    font-size: 15px !important;
    color: #E0E0E0 !important;
    margin: 0 !important;
}

.msl-results-note {
    font-size: 13px !important;
    color: #bbb !important;
}

@media (min-width: 768px) {
    .msl-results-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* 5. 導入フロー */
.msl-flow-steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 40px !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.msl-step {
    background-color: #FFFFFF !important;
    border: 2px solid #E0E0E0 !important;
    padding: 20px 30px !important;
    border-radius: 8px !important;
    text-align: center !important;
    font-weight: bold !important;
    position: relative !important;
    z-index: 1 !important;
}

/* SP時の下向き矢印 */
.msl-step:not(:last-child)::after {
    content: '▼' !important;
    position: absolute !important;
    bottom: -25px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    color: #800000 !important;
    font-size: 20px !important;
    z-index: 0 !important;
}

@media (min-width: 768px) {
    .msl-flow-steps {
        flex-direction: row !important;
        gap: 15px !important;
        align-items: stretch !important;
    }

    .msl-step {
        flex: 1 !important;
        font-size: 14px !important;
        padding: 20px 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* PC時の右向き矢印を再設定 */
    .msl-step:not(:last-child)::after {
        content: '▶' !important;
        bottom: auto !important;
        top: 50% !important;
        right: -20px !important;
        left: auto !important;
        transform: translateY(-50%) !important;
    }
}

/* 料金プラン */
.msl-plans-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    margin-top: 40px !important;
}

.msl-plan-card {
    background-color: #FFFFFF !important;
    border: 1px solid #E0E0E0 !important;
    padding: 40px 30px !important;
    border-radius: 12px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.3s ease !important;
}

.msl-plan-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border-color: #800000 !important;
}

/* ホバー時のアクセント線 */
.msl-plan-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    background-color: #800000 !important;
    transform: scaleX(0) !important;
    transition: transform 0.3s ease !important;
    transform-origin: left !important;
}

.msl-plan-card:hover::before {
    transform: scaleX(1) !important;
}

.msl-plan-name {
    font-size: 20px !important;
    color: #800000 !important;
    margin-bottom: 20px !important;
    font-weight: bold !important;
}

.msl-plan-desc {
    font-size: 14px !important;
    color: #666 !important;
    margin-bottom: 30px !important;
    min-height: 80px !important;
}

.msl-plan-price {
    font-size: 18px !important;
    font-weight: bold !important;
    border-top: 1px solid #E0E0E0 !important;
    padding-top: 20px !important;
    margin-bottom: 0 !important;
    color: #333333 !important;
}

.msl-plan-price span {
    font-size: 32px !important;
}

@media (min-width: 768px) {
    .msl-plans-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* FAQ */
.msl-faq-list {
    max-width: 800px !important;
    margin: 0 auto !important;
}

.msl-faq-item {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #E0E0E0 !important;
    padding: 25px 0 !important;
}

.msl-faq-item:first-child {
    border-top: 1px solid #E0E0E0 !important;
}

.entry-content .msl-faq-item p.msl-faq-q,
.msl-faq-item p.msl-faq-q {
    font-weight: bold !important;
    font-size: 18px !important;
    color: #333333 !important;
    position: relative !important;
    padding-left: 35px !important;
    margin-bottom: 15px !important;
    line-height: 1.5 !important;
}

.msl-faq-item p.msl-faq-q::before {
    content: 'Q.' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #800000 !important;
}

.entry-content .msl-faq-item p.msl-faq-a,
.msl-faq-item p.msl-faq-a {
    font-size: 15px !important;
    color: #4A4A4A !important;
    margin: 0 !important;
    position: relative !important;
    padding-left: 35px !important;
    line-height: 1.6 !important;
}

.msl-faq-item p.msl-faq-a::before {
    content: 'A.' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #333333 !important;
    font-weight: bold !important;
}

.msl-cta-title {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* AI営業マン タカハシ LP */
.msl-ai-fv {
    background: linear-gradient(135deg, #f5f3f2 0%, #ffffff 56%, #f8eeee 100%) !important;
}

.msl-ai-kicker,
.msl-ai-eyebrow {
    color: #800000 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.msl-ai-kicker {
    display: inline-block !important;
    margin: 0 0 18px !important;
    padding: 6px 12px !important;
    border: 1px solid rgba(128, 0, 0, .28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .8) !important;
}

.msl-ai-eyebrow {
    margin: 0 0 12px !important;
}

.msl-ai-hero-image {
    width: 100% !important;
}

.msl-ai-hero-image figure,
.msl-ai-dashboard,
.msl-ai-profile img,
.msl-ai-lp .msl-solutions-image img {
    overflow: hidden !important;
    border-radius: 14px !important;
}

.msl-ai-hero-image img,
.msl-ai-dashboard img,
.msl-ai-lp .msl-solutions-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.msl-ai-image-caption,
.msl-ai-small,
.msl-ai-dashboard figcaption {
    color: #666 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.msl-ai-hero-points {
    margin: 22px 0 0 !important;
}

.entry-content .msl-ai-hero-points li,
.msl-ai-hero-points li {
    position: relative !important;
    margin: 0 0 10px !important;
    padding-left: 28px !important;
    font-weight: 700 !important;
}

.msl-ai-hero-points li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    color: #800000 !important;
}

.msl-ai-lead-copy {
    max-width: 820px !important;
    margin: 0 auto 28px !important;
    font-size: 18px !important;
}

.msl-ai-quote,
.msl-ai-callout {
    box-sizing: border-box !important;
    padding: 30px !important;
    border-left: 5px solid #800000 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 28px rgba(51, 51, 51, .08) !important;
}

.msl-ai-callout {
    max-width: 860px !important;
    margin: 45px auto 0 !important;
}

.msl-ai-feature-grid {
    margin-top: 45px !important;
}

.msl-ai-feature-grid .msl-plan-card {
    text-align: left !important;
}

.msl-ai-feature-grid .msl-plan-desc {
    min-height: 0 !important;
    margin-bottom: 0 !important;
}

.msl-ai-dashboard {
    max-width: 1080px !important;
    margin: 40px auto 0 !important;
    border: 1px solid #d8dee7 !important;
    box-shadow: 0 16px 45px rgba(31, 41, 51, .14) !important;
}

.msl-ai-dashboard figcaption {
    padding: 10px 15px !important;
    background: #f9f9f9 !important;
    text-align: center !important;
}

.msl-ai-developer .msl-solutions-image {
    display: flex !important;
    justify-content: center !important;
}

.msl-ai-profile img {
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    box-shadow: 0 12px 35px rgba(51, 51, 51, .16) !important;
}

.msl-ai-pricing-grid {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.msl-ai-price-featured {
    border: 3px solid #800000 !important;
    transform: translateY(-8px) !important;
}

.msl-ai-price-featured::before {
    transform: scaleX(1) !important;
}

.msl-ai-price-label {
    display: inline-block !important;
    margin: 0 auto 12px !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    background: #800000 !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.msl-ai-price-list {
    margin: 26px 0 !important;
    text-align: left !important;
}

.entry-content .msl-ai-price-list li,
.msl-ai-price-list li {
    position: relative !important;
    margin: 0 0 12px !important;
    padding-left: 28px !important;
    line-height: 1.6 !important;
}

.msl-ai-price-list li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    color: #800000 !important;
    font-weight: 900 !important;
}

.msl-ai-cost-note {
    margin: 24px 0 0 !important;
    padding: 18px !important;
    border-radius: 8px !important;
    background: #f7f7f7 !important;
    font-size: 14px !important;
}

.msl-ai-fit {
    border-top: 5px solid #2f855a !important;
}

.msl-ai-not-fit {
    border-top: 5px solid #888 !important;
}

.msl-ai-final-cta .msl-btn .wp-block-button__link {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #800000 !important;
}

.msl-ai-final-cta .msl-btn .wp-block-button__link:hover {
    background: #fff0f0 !important;
    border-color: #fff0f0 !important;
    color: #800000 !important;
}

.msl-ai-contact .snow-monkey-form {
    width: 100% !important;
    max-width: 860px !important;
    margin: 35px auto 0 !important;
    padding: 25px !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 35px rgba(51, 51, 51, .1) !important;
}

.msl-ai-contact .msl-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
}

.msl-ai-contact .msl-container > .msl-ai-eyebrow,
.msl-ai-contact .msl-container > .msl-section-title,
.msl-ai-contact .msl-container > p {
    width: 100% !important;
    box-sizing: border-box !important;
}

.msl-ai-contact .smf-item__controls .smf-text-control__control,
.msl-ai-contact .smf-item__controls .smf-email-control__control,
.msl-ai-contact .smf-item__controls .smf-textarea-control__control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.msl-ai-contact .smf-checkboxes-control__control {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 24px !important;
}

.msl-floating-sales-cta {
    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    z-index: 999 !important;
    width: 168px !important;
    height: 168px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.msl-floating-sales-cta .wp-block-button,
.msl-floating-sales-cta .wp-block-button__link {
    width: 100% !important;
    height: 100% !important;
}

.msl-floating-sales-cta .wp-block-button__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 18px !important;
    border: 3px solid #ffffff !important;
    border-radius: 20px !important;
    background: #800000 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .28) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.msl-floating-sales-cta .wp-block-button__link:hover {
    background: #a52a2a !important;
    transform: translateY(-3px) !important;
}

@media (min-width: 768px) {
    .msl-ai-lp .msl-fv-content {
        width: 53% !important;
    }

    .msl-ai-lp h1.msl-fv-title,
    .entry-content .msl-ai-lp h1.msl-fv-title {
        font-size: 34px !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .msl-ai-hero-image {
        width: 42% !important;
    }

    .msl-ai-feature-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .msl-ai-lp .msl-section {
        padding: 58px 0 !important;
    }

    .msl-ai-lp h1.msl-fv-title,
    .entry-content .msl-ai-lp h1.msl-fv-title {
        font-size: 26px !important;
        line-height: 1.4 !important;
        letter-spacing: .01em !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .msl-ai-lp h2.msl-section-title,
    .entry-content .msl-ai-lp h2.msl-section-title {
        font-size: 24px !important;
        margin-bottom: 36px !important;
    }

    .msl-ai-price-featured {
        transform: none !important;
    }

    .msl-ai-contact .snow-monkey-form {
        padding: 8px !important;
    }

    .msl-floating-sales-cta {
        right: 0 !important;
        bottom: 50px !important;
        width: 100% !important;
        height: auto !important;
    }

    .msl-floating-sales-cta .wp-block-button__link {
        min-height: 62px !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 13px 20px !important;
        font-size: 16px !important;
    }

    body:has(.msl-floating-sales-cta) {
        padding-bottom: 112px !important;
    }
}

/* AI営業マン タカハシ LP：2026-08-31 CV導線・スマホUI改善 */
.page-id-288 .msl-ai-dashboard a {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
}

.page-id-288 .msl-ai-dashboard a::after {
    content: '画像を拡大' !important;
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    background: rgba(25, 25, 25, .84) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .24) !important;
}

.page-id-288 .msl-ai-dashboard a:hover img {
    transform: scale(1.015) !important;
}

.page-id-288 .msl-ai-dashboard img {
    transition: transform .25s ease !important;
}

.page-id-288 .msl-ai-mid-cta {
    margin: 30px 0 0 !important;
}

.page-id-288 .msl-ai-sales-focus img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    object-position: center 42% !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 35px rgba(51, 51, 51, .12) !important;
}

.page-id-288 .msl-flow-steps {
    position: relative !important;
    counter-reset: msl-flow-step !important;
    gap: 30px !important;
}

.page-id-288 .msl-flow-steps::before {
    content: '' !important;
    position: absolute !important;
    z-index: 0 !important;
    background: #d6c4c4 !important;
}

.page-id-288 .msl-step {
    counter-increment: msl-flow-step !important;
    min-height: 112px !important;
    padding: 58px 18px 22px !important;
    border: 1px solid #dedede !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(51, 51, 51, .06) !important;
}

.page-id-288 .msl-step::before {
    content: counter(msl-flow-step) !important;
    position: absolute !important;
    top: 17px !important;
    left: 50% !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border: 4px solid #f7f7f7 !important;
    border-radius: 50% !important;
    background: #800000 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

.page-id-288 .msl-step:not(:last-child)::after {
    display: none !important;
    content: none !important;
}

.page-id-288 .msl-step p {
    margin: 0 !important;
}

.page-id-288 .msl-ai-contact .smf-button-control__control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 320px !important;
    min-height: 60px !important;
    padding: 14px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #800000 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 25px rgba(128, 0, 0, .24) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.page-id-288 .msl-ai-contact .smf-button-control__control:hover,
.page-id-288 .msl-ai-contact .smf-button-control__control:focus-visible {
    background: #a52a2a !important;
    box-shadow: 0 13px 30px rgba(128, 0, 0, .3) !important;
    transform: translateY(-2px) !important;
}

@media (min-width: 768px) {
    .page-id-288 .msl-flow-steps::before {
        top: 35px !important;
        right: 12.5% !important;
        left: 12.5% !important;
        width: auto !important;
        height: 2px !important;
    }
}

@media (max-width: 767px) {
    body.page-id-288 {
        padding-bottom: 0 !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons {
        position: absolute !important;
        top: 12px !important;
        right: 10px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 10001 !important;
        display: block !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons > .menu-button:not(.navi-menu-button) {
        display: none !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons > .navi-menu-button {
        display: block !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons #navi-menu-open {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        padding: 0 !important;
        border: 1px solid rgba(128, 0, 0, .22) !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, .96) !important;
        color: #800000 !important;
        box-shadow: 0 6px 18px rgba(51, 51, 51, .18) !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons .navi-menu-icon {
        margin: 0 !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    body.page-id-288 .mobile-footer-menu-buttons .navi-menu-caption {
        display: none !important;
    }

    .page-id-288 .msl-ai-dashboard a::after {
        content: 'タップで拡大' !important;
        right: 10px !important;
        bottom: 10px !important;
    }

    .page-id-288 .msl-ai-mid-cta {
        margin-top: 24px !important;
    }

    .page-id-288 .msl-ai-mid-cta .wp-block-button,
    .page-id-288 .msl-ai-mid-cta .wp-block-button__link {
        width: 100% !important;
    }

    .page-id-288 .msl-flow-steps {
        gap: 26px !important;
    }

    .page-id-288 .msl-flow-steps::before {
        top: 44px !important;
        bottom: 44px !important;
        left: 29px !important;
        width: 2px !important;
        height: auto !important;
    }

    .page-id-288 .msl-step {
        display: flex !important;
        align-items: center !important;
        min-height: 96px !important;
        padding: 22px 18px 22px 70px !important;
        text-align: left !important;
    }

    .page-id-288 .msl-step::before {
        top: 50% !important;
        left: 11px !important;
        border-color: #f7f7f7 !important;
        transform: translateY(-50%) !important;
    }

    .page-id-288 .msl-ai-contact .smf-action,
    .page-id-288 .msl-ai-contact .smf-button-control__control {
        width: 100% !important;
    }

    .page-id-288 .msl-ai-contact .smf-button-control__control {
        min-width: 0 !important;
        min-height: 58px !important;
        font-size: 16px !important;
    }
}

/* AI営業マン タカハシ LP：2026-08-31 機能一覧の結論帯 */
.page-id-288 .msl-ai-feature-grid + .msl-ai-callout {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 34px 0 0 !important;
    padding: 28px 36px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: linear-gradient(105deg, #241b1b 0%, #392020 70%, #541919 100%) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.page-id-288 .msl-ai-feature-grid + .msl-ai-callout::before {
    content: 'PERSONALIZED' !important;
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    padding-right: 30px !important;
    border-right: 1px solid rgba(255, 255, 255, .28) !important;
    color: #e7a4a4 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}

.page-id-288 .msl-ai-feature-grid + .msl-ai-callout p {
    margin: 0 !important;
    padding-left: 32px !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    text-align: left !important;
}

.page-id-288 .msl-ai-feature-grid + .msl-ai-callout strong {
    display: inline-block !important;
    margin-bottom: 2px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px) {
    .page-id-288 .msl-ai-feature-grid + .msl-ai-callout {
        grid-template-columns: 1fr !important;
        padding: 24px !important;
    }

    .page-id-288 .msl-ai-feature-grid + .msl-ai-callout::before {
        align-self: auto !important;
        padding: 0 0 12px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .28) !important;
    }

    .page-id-288 .msl-ai-feature-grid + .msl-ai-callout p {
        padding: 16px 0 0 !important;
        font-size: 15px !important;
    }

    .page-id-288 .msl-ai-feature-grid + .msl-ai-callout strong {
        font-size: 17px !important;
    }

    /* フッターがパンくずへ重なり、ロゴが上へずれて見える状態を解消 */
    body.page-id-288 #footer {
        margin-top: 0 !important;
    }
}

/* トップページ：固定CTAは導入通過後からフッター手前まで表示 */
body.page-id-2 .msl-floating-sales-cta {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(24px) !important;
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease !important;
    will-change: opacity, transform;
}

body.page-id-2.msl-top-cta-visible .msl-floating-sales-cta {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* トップページ：スマホ下部メニューを上部ハンバーガーへ変更 */
@media (max-width: 767px) {
    body.page-id-2 {
        padding-bottom: 0 !important;
    }

    body.page-id-2 .msl-floating-sales-cta {
        bottom: 0 !important;
        transform: translateY(100%) !important;
    }

    body.page-id-2.msl-top-cta-visible .msl-floating-sales-cta {
        transform: translateY(0) !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons {
        position: absolute !important;
        top: 12px !important;
        right: 10px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 10001 !important;
        display: block !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons > .menu-button:not(.navi-menu-button) {
        display: none !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons > .navi-menu-button {
        display: block !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons #navi-menu-open {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        padding: 0 !important;
        border: 1px solid rgba(128, 0, 0, .22) !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, .96) !important;
        color: #800000 !important;
        box-shadow: 0 6px 18px rgba(51, 51, 51, .18) !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons .navi-menu-icon {
        margin: 0 !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    body.page-id-2 .mobile-footer-menu-buttons .navi-menu-caption {
        display: none !important;
    }

    /* CTAはフッター手前で非表示になるため、フッター本来の重なり順と余白へ戻す */
    body.page-id-2 #footer {
        position: relative !important;
        z-index: auto !important;
        margin-top: 0 !important;
        padding: 4px 0 6px !important;
        background: #ffffff !important;
    }

    body.page-id-2 #footer .footer-bottom {
        margin-top: 0 !important;
        padding: 4px 8px !important;
    }

    body.page-id-2 #footer .logo-footer {
        margin: 2px auto !important;
    }

    body.page-id-2 #footer .footer-site-logo-image {
        height: 40px !important;
        width: auto !important;
    }

    body.page-id-2 #footer .navi-footer-in > .menu-footer {
        margin: 0 !important;
        padding: 4px 0 !important;
    }

    body.page-id-2 #footer .menu-footer li a {
        padding: 4px 10px !important;
    }

    body.page-id-2 #footer .copyright {
        margin-top: 2px !important;
        line-height: 1.4 !important;
    }
}

/* AI営業マン タカハシ：LP末尾のパンくずを非表示 */
body.page-id-288 #breadcrumb {
    display: none !important;
}
