.elementor-17124 .elementor-element.elementor-element-74364d6:not(.elementor-motion-effects-element-type-background), .elementor-17124 .elementor-element.elementor-element-74364d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://maisonmap.com/wp-content/uploads/2016/03/205.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-17124 .elementor-element.elementor-element-74364d6 > .elementor-background-overlay{background-color:#004274;opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-17124 .elementor-element.elementor-element-74364d6 > .elementor-container{min-height:200px;}.elementor-17124 .elementor-element.elementor-element-74364d6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-17124 .elementor-element.elementor-element-f59eba8 .elementor-heading-title{font-size:30px;font-weight:300;color:#FFFFFF;}.elementor-17124 .elementor-element.elementor-element-a64f555{--display:flex;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}@media(min-width:1025px){.elementor-17124 .elementor-element.elementor-element-74364d6:not(.elementor-motion-effects-element-type-background), .elementor-17124 .elementor-element.elementor-element-74364d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-breadcrumbs{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-breadcrumbs{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}/* Start custom CSS for html, class: .elementor-element-d6ea00c *//* * SCOPE: #mm-area-guide-v4 
     * すべてのスタイルはこのID配下に限定し、WordPressテーマとの干渉を防ぎます。
     */
    #mm-area-guide-v4 {
        --primary-color: #1a365d;
        --bg-light: #f9f9f9;
        --border-color: #e0e0e0;
        --text-main: #333333;
        --link-color: #3498db;
        --accent-orange: #ed8936;
        --highlight-green: #a3ff78; /* 検索ハイライト用 蛍光緑 */

        /* 基本スタイル */
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.6;
        color: var(--text-main);
        max-width: 100%;
        margin: 0 auto;
        background-color: #fff;
        box-sizing: border-box;
    }

    #mm-area-guide-v4 *,
    #mm-area-guide-v4 *::before,
    #mm-area-guide-v4 *::after {
        box-sizing: border-box;
    }
    #mm-area-guide-v4 a {
        text-decoration: none;
        color: var(--link-color);
        transition: opacity 0.2s;
    }
    #mm-area-guide-v4 ul,
    #mm-area-guide-v4 ol {
        margin: 0 0 15px;
        padding-left: 20px;
    }
    #mm-area-guide-v4 li {
        margin-bottom: 5px;
    }

    /* 各ページ採用の標準デザインのリンク */
    #mm-area-guide-v4 .normal-link a {
        color: #2b6cb0;
        text-decoration: underline;
        transition: color 0.2s ease;
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .normal-link a:hover {
            color: #ed8936;
        }
    }
  
    /* 強調テキスト用のハイライト */
    #mm-area-guide-v4 .m-highlight {
      background: linear-gradient(transparent 60%, #ffeba1 60%);
      font-weight: bold;
    }

    /* --------------------------------------------------
       タイトル & 目次
       -------------------------------------------------- */
    #mm-area-guide-v4 .mm-page-title {
        font-size: 32px;
        font-weight: bold;
        text-align: center;
        margin: 40px 0 30px;
        color: var(--primary-color);
        border-bottom: 2px solid var(--primary-color);
        padding-bottom: 15px;
        line-height: 1.4;
    }

    /* --- リード文 --- */
    #mm-area-guide-v4 .mm-lead-section {
        text-align: left;
        max-width: 900px;
        margin: -10px auto 45px;
        padding: 0 20px;
    }
    #mm-area-guide-v4 .mm-lead-text {
        font-size: 1.05em;
        line-height: 1.8;
        color: #4a5568;
    }

    /* --- 目次 --- */
    #mm-area-guide-v4 .mm-toc {
        background-color: var(--bg-light);
        border: 1px solid var(--border-color);
        border-radius: 8px;
        padding: 25px;
        margin-bottom: 30px; 
    }
    #mm-area-guide-v4 .mm-toc-title {
        font-size: 1.2em;
        font-weight: bold;
        color: var(--primary-color);
        text-align: left;
        margin-bottom: 15px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--border-color);
        display: flex;
        align-items: center;
        gap: 8px;
    }
    #mm-area-guide-v4 .mm-toc-title svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
    }
    #mm-area-guide-v4 .mm-toc ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    #mm-area-guide-v4 .mm-toc li {
        position: relative;
        padding-left: 18px;
        margin-bottom: 12px;
        font-weight: bold;
    }
    #mm-area-guide-v4 .mm-toc li::before {
        content: '\25B6';
        content: '\25B6' / "";
        position: absolute;
        left: 0;
        top: 3px;
        font-size: 0.8em;
        color: #4b6279;
    }
    #mm-area-guide-v4 .mm-toc a {
        color: #2c3e50;
        text-decoration: none;
        transition: opacity 0.2s ease;
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .mm-toc a:hover {
            text-decoration: underline;
            color: var(--link-color);
        }
    }
    
    /* 件数バッジ */
    #mm-area-guide-v4 .mm-count-badge {
        font-size: 0.85em;
        color: #718096;
        font-weight: normal;
        margin-left: 4px;
    }

    /* --------------------------------------------------
       見出し (h2)
       -------------------------------------------------- */
    #mm-area-guide-v4 .mm-section-title {
        font-size: 1.6em;
        color: var(--primary-color);
        background-color: #f8fafc;
        padding: 16px 20px;
        border-left: 6px solid var(--primary-color);
        border-bottom: 1px solid #e2e8f0;
        margin-top: 60px;
        margin-bottom: 24px;
        border-radius: 0 8px 8px 0;
        font-weight: bold;
        line-height: 1.4;
    }

    /* --------------------------------------------------
       FAQ アコーディオン
       -------------------------------------------------- */
    #mm-area-guide-v4 .faq-container {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 50px;
    }
    
    #mm-area-guide-v4 .faq-item {
        background-color: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.02);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
    
    #mm-area-guide-v4 .faq-item.highlight {
        border-color: var(--accent-orange);
        box-shadow: 0 0 0 2px rgba(237, 137, 54, 0.2);
        background-color: #fffaf0; /* 追加：一時的に背景色をつける */
        transition: background-color 3s ease-out, border-color 0.3s ease, box-shadow 0.3s ease;
    }

    #mm-area-guide-v4 .faq-item summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 25px;
        cursor: pointer;
        list-style: none;
    }
    #mm-area-guide-v4 .faq-item summary::-webkit-details-marker {
        display: none;
    }
    
    #mm-area-guide-v4 .faq-item summary .custom-h3 {
        margin: 0;
        font-size: 1.15em;
        font-weight: bold;
        color: #2d3748;
        display: flex;
        align-items: flex-start;
        flex: 1;
        line-height: 1.5;
    }
    /* <summary> 要素にフォーカスが当たった際の視認性を高める */
    #mm-area-guide-v4 .faq-item summary:focus-visible {
        outline: 2px solid var(--link-color);
        outline-offset: -2px;
    }
    
    #mm-area-guide-v4 .faq-q-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background-color: #3182ce;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        font-size: 0.9em;
        margin-right: 12px;
        flex-shrink: 0;
        margin-top: 2px;
    }
    
    #mm-area-guide-v4 .faq-toggle-icon {
        position: relative;
        width: 18px;
        height: 18px;
        margin-left: 15px;
        flex-shrink: 0;
    }
    #mm-area-guide-v4 .faq-toggle-icon::before,
    #mm-area-guide-v4 .faq-toggle-icon::after {
        content: "";
        position: absolute;
        background-color: #a0aec0;
        border-radius: 2px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    #mm-area-guide-v4 .faq-toggle-icon::before { width: 100%; height: 2px; }
    #mm-area-guide-v4 .faq-toggle-icon::after { width: 2px; height: 100%; }
    
    #mm-area-guide-v4 .faq-item[open]:not(.is-closing) .faq-toggle-icon::after {
        transform: translate(-50%, -50%) rotate(90deg);
        opacity: 0;
    }
    #mm-area-guide-v4 .faq-item[open] summary {
        border-bottom: 1px dashed #e2e8f0;
    }
    
    /* --- 回答部分（モダンCSSアニメーション化） --- */
    #mm-area-guide-v4 .faq-answer {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        color: #4a5568;
        line-height: 1.7;
        overflow: hidden;
        /* height ではなく grid-template-rows で高さをアニメーション */
        transition: grid-template-rows 0.3s ease-in-out, opacity 0.3s ease-in-out;
        will-change: opacity; /* ブラウザに事前のレンダリング最適化を促す */
    }

    /* Grid 0fr アニメーションを成立させるための内部ラッパー */
    #mm-area-guide-v4 .faq-answer-inner {
        min-height: 0;
        overflow: hidden;
        padding: 20px 25px;
    }

    /* アコーディオンが開いた状態 */
    #mm-area-guide-v4 .faq-item[open]:not(.is-closing) .faq-answer {
        grid-template-rows: 1fr;
        opacity: 1;
    }

    #mm-area-guide-v4 [tabindex="-1"]:focus {
        outline: none !important;
    }
    
    #mm-area-guide-v4 .faq-answer .faq-answer-summary {
        font-weight: bold;
        color: #2d3748;
        background-color: #f8fafc;
        padding: 12px 15px;
        border-left: 4px solid var(--accent-orange);
        margin-top: 0;
        margin-bottom: 15px;
    }
    #mm-area-guide-v4 .faq-answer p {
        margin-top: 0;
        margin-bottom: 15px;
    }
    #mm-area-guide-v4 .faq-answer > *:last-child {
        margin-bottom: 0;
    }
    
    #mm-area-guide-v4 .faq-answer h4 {
        font-size: 1.05em;
        margin: 20px 0 10px;
        color: var(--primary-color);
    }

    /* --- 関連情報 --- */
    #mm-area-guide-v4 .faq-related-info {
        margin-top: 20px;
        padding-top: 15px;
        border-top: 1px dashed #cbd5e0;
        font-size: 0.9em;
        color: #4a5568;
        display: flex;
        align-items: flex-start;
        gap: 10px;
        line-height: 1.6;
    }
    #mm-area-guide-v4 .faq-related-info svg {
        width: 18px;
        height: 18px;
        fill: #ed8936;
        margin-top: 2px;
        flex-shrink: 0;
    }
    #mm-area-guide-v4 .faq-related-content {
        flex: 1;
    }
    #mm-area-guide-v4 .faq-related-info-title {
        font-weight: bold;
        color: #2d3748;
        display: block;
        margin-bottom: 6px; 
    }
    #mm-area-guide-v4 .faq-related-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    #mm-area-guide-v4 .faq-related-list li {
        margin-bottom: 8px;
        padding-left: 1.2em;
        text-indent: -1.2em;
    }
    #mm-area-guide-v4 .faq-related-list li:last-child {
        margin-bottom: 0;
    }
    #mm-area-guide-v4 .faq-related-list li::before {
        content: "・";
        color: var(--accent-orange);
        font-weight: bold;
        margin-right: 2px;
    }

    /* 別窓リンク（target="_blank"）にアイコンを追加 */
    /* hrefの指定（ドメイン絞り込み）を外し、すべての_blankリンクを対象にする */
    #mm-area-guide-v4 a[target="_blank"]:not(.lifestyle-area-name)::after {
        content: "";
        display: inline-block;
        width: 0.85em;    
        height: 0.85em;
        margin-left: 4px; 
        margin-right: 2px;
        vertical-align: middle;
        background-color: currentColor; 
        -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/%3E%3C/svg%3E");
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        opacity: 0.65; 
    }
    /* 例外：ボタンデザインやカードには適用しない（非表示にする） */
    #mm-area-guide-v4 a[target="_blank"].btn-inquiry::after,
    #mm-area-guide-v4 a[target="_blank"].btn-pill::after,
    #mm-area-guide-v4 a[target="_blank"].btn-pill-outline::after {
        display: none;
    }

    /* --------------------------------------------------
       国旗アイコン
       -------------------------------------------------- */
    #mm-area-guide-v4 .flag-icon {
        width: 22px;
        height: 15px;
        object-fit: cover;
        flex-shrink: 0;
        border-radius: 2px;
        box-shadow: 0 0 0 1px rgba(194, 194, 194, 0.1);
        vertical-align: middle;
        position: relative;
        top: -1px;
    }
    #mm-area-guide-v4 .lang-switch-link .flag-icon {
        margin-right: 6px;
    }
    #mm-area-guide-v4 .faq-copy-link .flag-icon {
        margin-left: 2px;
    }

    /* --------------------------------------------------
       個別リンク取得ボタン & 言語切り替えリンク
       -------------------------------------------------- */
    #mm-area-guide-v4 .faq-copy-link-wrapper,
    #mm-area-guide-v4 .lang-switch-wrapper {
        margin-top: 15px;
        margin-bottom: 5px;
        font-size: 0.85em;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    #mm-area-guide-v4 .faq-copy-link,
    #mm-area-guide-v4 .lang-switch-link {
        color: var(--link-color);
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        transition: color 0.2s ease;
        background: none;
        border: none;
        padding: 0;
        font: inherit;
        text-decoration: underline;
    }
    #mm-area-guide-v4 .faq-copy-link { text-decoration: none; }
    
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .faq-copy-link:hover,
        #mm-area-guide-v4 .lang-switch-link:hover {
            color: var(--accent-orange);
            text-decoration: underline;
        }
    }
    
    /* コピー完了時のフィードバック用スタイル */
    #mm-area-guide-v4 .faq-copy-link.is-copied {
        color: #06C755 !important; /* 成功を示す緑色 */
        font-weight: bold;
        pointer-events: none; /* 連続クリックを防止 */
    }
    
    #mm-area-guide-v4 .faq-copy-link svg {
        width: 14px;
        height: 14px;
        fill: currentColor;
    }
    #mm-area-guide-v4 .copy-links-id-container {
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: flex-end;
    }

    /* ==================================================
       トースト通知（個別リンクコピー完了用）
       ================================================== */
    #mm-area-guide-v4 .mm-toast-notification {
        visibility: hidden;
        min-width: 240px;
        /* 【変更】黒い管理バーと同化しないよう、成功を表すグリーンに変更 */
        background-color: rgba(6, 199, 85, 0.95); /* #06C755 のRGBA値 */
        color: #fff;
        text-align: center;
        border-radius: 30px;
        padding: 12px 20px;
        position: fixed;
        /* 【変更】WordPress管理バー(99999)の上に表示されるよう数値を強化 */
        z-index: 999999;
        /* 画面中央上部に配置 */
        left: 50%;
        /* 【変更】PCでの管理バー(通常32px)を考慮してデフォルト位置を下げる */
        top: calc(50px + env(safe-area-inset-top)); 
        /* 初期状態は上方向に-30px引き上げて隠しておく */
        transform: translateX(-50%) translateY(-30px);
        opacity: 0;
        /* 非表示に移行する際は、opacityの完了(0.3s)を待ってからhiddenにする */
        transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.4s;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        font-weight: bold;
        pointer-events: none; /* ユーザーのタップ操作を妨げないようにする */
    }
    #mm-area-guide-v4 .mm-toast-notification.is-show {
        visibility: visible;
        opacity: 1;
        /* 定位置（Y軸0）へ下ろす */
        transform: translateX(-50%) translateY(0);
        /* 表示する際は、visibilityを遅延ゼロで即座にvisibleにする */
        transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s;
    }

    /* --------------------------------------------------
       言語表示の切り替え制御（CSSで一括管理）
       -------------------------------------------------- */
    #mm-area-guide-v4 .lang-id,
    #mm-area-guide-v4 .text-id {
        display: none !important;
    }
    #mm-area-guide-v4.is-id .lang-ja,
    #mm-area-guide-v4.is-id .text-ja {
        display: none !important;
    }
    #mm-area-guide-v4.is-id .lang-id {
        display: block !important;
    }
    #mm-area-guide-v4.is-id span.text-id,
    #mm-area-guide-v4.is-id a.text-id {
        display: inline !important;
    }
    #mm-area-guide-v4.is-id div.text-id.copy-links-id-container {
        display: flex !important;
    }
    #mm-area-guide-v4.is-id p.text-id,
    #mm-area-guide-v4.is-id h4.text-id,
    #mm-area-guide-v4.is-id li.text-id {
        display: block !important;
    }

    /* --------------------------------------------------
       Q&A 検索 & コントロールエリア
       -------------------------------------------------- */
    #mm-area-guide-v4 .mm-search-area-wrapper {
        margin-bottom: 40px;
    }
    #mm-area-guide-v4 .mm-search-container {
        text-align: center;
        margin-bottom: 15px;
    }
    #mm-area-guide-v4 .mm-search-wrapper {
        position: relative;
        display: inline-block;
        width: 100%;
        max-width: 600px;
    }
    #mm-area-guide-v4 #faqSearchInput {
        width: 100%;
        padding: 14px 45px 14px 45px;
        font-size: 1em;
        border: 1px solid var(--border-color);
        border-radius: 30px;
        outline: none;
        transition: all 0.3s;
        background-color: #f8fafc;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23a0aec0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
        background-repeat: no-repeat;
        background-position: 15px center;
    }
    #mm-area-guide-v4 #faqSearchInput:focus {
        border-color: var(--link-color);
        background-color: #ffffff;
        box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15);
    }
    
    /* クリアボタン */
    #mm-area-guide-v4 .mm-search-clear {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        padding: 10px; /* タップ領域を拡大 */
        width: 44px;   /* 推奨サイズ */
        height: 44px;  /* 推奨サイズ */
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        color: #a0aec0;
        transition: color 0.2s ease;
    }
    #mm-area-guide-v4 .mm-search-clear:hover {
        color: #4a5568;
    }
    #mm-area-guide-v4 .mm-search-clear.is-show {
        display: flex;
    }
    /* ブラウザ標準のクリアボタンを非表示に */
    #mm-area-guide-v4 input[type="search"]::-webkit-search-cancel-button {
        -webkit-appearance: none;
        display: none;
    }

    /* 検索結果リンクコピーボタンのコンテナ */
    #mm-area-guide-v4 .mm-search-copy-wrapper {
        margin: 8px auto 10px;
        max-width: 600px;
        display: none; /* 初期は非表示 */
        justify-content: flex-end; /* テキストボックスの右端に揃える */
        font-size: 0.9em; /* 「この回答のリンクを取得」と同じサイズ */
    }
    #mm-area-guide-v4 .mm-search-copy-wrapper.is-show {
        display: flex;
    }

    /* 検索結果件数表示 */
    #mm-area-guide-v4 .mm-search-result-count {
        margin-top: 20px;
        font-size: 1.1em;
        color: #4a5568;
        display: none;
    }
    #mm-area-guide-v4 .mm-search-result-count.is-show {
        display: block;
    }

    /* 検索結果カテゴリ別件数表示 */
    #mm-area-guide-v4 .mm-search-category-count {
        margin-top: 8px;
        font-size: 0.9em; /* result-countより少し小さめ */
        color: #4a5568;
        display: none;
        text-align: center;
        line-height: 1.5;
    }
    #mm-area-guide-v4 .mm-search-category-count.is-show {
        display: block;
    }
    #mm-area-guide-v4 .mm-search-category-count a {
        color: #2b6cb0;
        text-decoration: underline;
        display: inline-block;
        margin: 0 4px;
        transition: color 0.2s;
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .mm-search-category-count a:hover {
            color: #ed8936;
        }
    }
    #mm-area-guide-v4 .mm-search-category-count .separator {
        color: #cbd5e0;
        margin: 0 2px;
    }

    /* 検索ハイライト */
    #mm-area-guide-v4 mark.search-highlight {
        background-color: var(--highlight-green);
        color: #1a202c;
        padding: 0 2px;
        border-radius: 2px;
        font-weight: bold;
    }

    /* 0件メッセージ */
    #mm-area-guide-v4 .mm-no-result-msg {
        text-align: center;
        padding: 30px 20px;
        background-color: #fff5f5;
        border: 1px solid #fed7d7;
        border-radius: 8px;
        color: #c53030;
        margin-top: 20px;
    }

    /* すべて開く・閉じる コントロール */
    #mm-area-guide-v4 .mm-faq-global-controls {
        display: flex;
        justify-content: center;
        gap: 15px;
    }
    #mm-area-guide-v4 .mm-global-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #f8fafc;
        border: 1px solid #cbd5e0;
        color: #4a5568;
        padding: 6px 15px;
        border-radius: 20px;
        font-size: 0.9em;
        cursor: pointer;
        transition: all 0.2s;
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .mm-global-btn:hover { background: #edf2f7; color: var(--primary-color); border-color: #a0aec0; }
    }
    #mm-area-guide-v4 .mm-global-btn svg { fill: currentColor; }

    /* --------------------------------------------------
       CTAボックス
       -------------------------------------------------- */
    #mm-area-guide-v4 .custom-box.info-box { 
        margin: 40px 0; 
        padding: 25px 15px; 
        background-color: #fffaf0; 
        border: 2px solid #fbd38d; 
        border-radius: 8px; 
        text-align: center;
    }
    #mm-area-guide-v4 .compact-cta-title {
        color: #9c4221;
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 1.1em;
        font-weight: bold;
    }
    #mm-area-guide-v4 .compact-cta-desc {
        margin-bottom: 15px;
        font-size: 0.95em;
    }
    #mm-area-guide-v4 .compact-cta-buttons {
        display: flex;
        gap: 10px;
        justify-content: center;
        flex-wrap: wrap;
    }
    #mm-area-guide-v4 .btn-pill {
        padding: 10px 20px;
        font-size: 0.95em;
        border-radius: 25px;
        font-weight: bold;
        text-decoration: none;
        transition: all 0.2s;
    }
    #mm-area-guide-v4 .btn-inquiry {
        background-color: #06C755;
        color: #ffffff !important;
        border: 1px solid #06C755;
    }
    #mm-area-guide-v4 .btn-pill-outline {
        padding: 10px 20px;
        font-size: 0.95em;
        border-radius: 25px;
        background: #fff;
        color: var(--primary-color) !important;
        border: 2px solid var(--primary-color);
        font-weight: bold;
        text-decoration: none;
        transition: all 0.2s;
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .btn-inquiry:hover { background-color: #05a546; border-color: #05a546; }
        #mm-area-guide-v4 .btn-pill-outline:hover { background-color: var(--primary-color); color: #ffffff !important; }
    }

    /* --------------------------------------------------
       目次へ移動ボタン
       -------------------------------------------------- */
    #mm-area-guide-v4 .page-top-btn {
        position: fixed;
        right: 63px;
        bottom: 132px;
        width: 50px;
        height: 50px;
        background-color: #124b82;
        color: #ffffff;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15);
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.3s ease;
        z-index: 999;
    }
    #mm-area-guide-v4 .page-top-btn.is-show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    @media (hover: hover) and (pointer: fine) {
        #mm-area-guide-v4 .page-top-btn:hover { background-color: #3498db; }
    }
    #mm-area-guide-v4 .page-top-btn:active { background-color: #3498db; }

    /* タブレット＆スマホ用 */
    @media (max-width: 1024px) {
        #mm-area-guide-v4 .page-top-btn {
            right: 25px;
            bottom: calc(90px + env(safe-area-inset-bottom));
            width: 45px;
            height: 45px;
        }
    }
    @media (max-width: 1024px) and (orientation: landscape) {
        #mm-area-guide-v4 .page-top-btn {
            bottom: calc(115px + env(safe-area-inset-bottom));
            right: 25px;
        }
    }

    @media (max-width: 600px) {
        /* 既存のスタイル */
        #mm-area-guide-v4 .mm-section-title { font-size: 1.4em; padding: 12px 15px; margin-top: 40px; margin-bottom: 15px; } /* 余白を縮小 */
        #mm-area-guide-v4 .mm-page-title { margin: 25px 0 20px; font-size: 24px; }
        #mm-area-guide-v4 .mm-toc { padding: 15px; margin-bottom: 20px; }
        #mm-area-guide-v4 .faq-container { margin-bottom: 30px; gap: 10px; } /* gapを縮小 */
        #mm-area-guide-v4 .faq-item summary { padding: 15px; }
        #mm-area-guide-v4 .faq-item summary .custom-h3 { font-size: 1.05em; }
        #mm-area-guide-v4 .faq-answer-inner { padding: 15px; }
        #mm-area-guide-v4 .pc-only { display: none; }

        /* 「あわせて読みたい」リンクのタップ領域の拡大 */
        #mm-area-guide-v4 .faq-related-list li a {
            padding: 30px 0; 
        }

        #mm-area-guide-v4 #faqSearchInput {
            font-size: 16px; /* 16px以上の絶対値、または基本フォントサイズ以上のem/remを指定 */
            padding: 12px 40px 12px 50px;
            -webkit-appearance: none;
            appearance: none;
        }
        /* プレースホルダーも見切れ防止でサイズを合わせる */
        #mm-area-guide-v4 #faqSearchInput::placeholder {
            font-size: 16px; 
        }

        /* CTAボタンのスマホ縦並び化（縦並びで幅100%） */
        #mm-area-guide-v4 .compact-cta-buttons {
            flex-direction: column;
            width: 100%;
        }
        #mm-area-guide-v4 .compact-cta-buttons a {
            width: 100%;
            text-align: center;
            box-sizing: border-box;
        }

        /* トースト通知：スマホは管理バーが出ないため元の高さに戻す */
        #mm-area-guide-v4 .mm-toast-notification {
            top: calc(30px + env(safe-area-inset-top));
        }

        /* コピーボタンのコンテナをスマホでは縦並びに（左寄せ・右寄せの調整） */
        #mm-area-guide-v4 .copy-links-id-container {
            align-items: flex-end; 
            gap: 10px;
        }
        #mm-area-guide-v4 .faq-copy-link {
            padding: 10px 0; /* タップ領域の拡大 */
        }
    }

    /* タップ時の標準ハイライトを無効化 */
    #mm-area-guide-v4 summary,
    #mm-area-guide-v4 .faq-copy-link,
    #mm-area-guide-v4 .lang-switch-link,
    #mm-area-guide-v4 .mm-search-clear,
    #mm-area-guide-v4 .mm-global-btn {
        -webkit-tap-highlight-color: transparent;
    }
    
    /* --------------------------------------------------
       タップ時（アクティブ時）の視認性補強
       -------------------------------------------------- */
    /* アコーディオン開閉ボタン */
    #mm-area-guide-v4 .faq-item summary:active {
        background-color: #f7fafc; /* ほんの少し背景色をグレーにして押下感を出す */
    }

    /* テキストリンク系（コピー、言語切り替え） */
    #mm-area-guide-v4 .faq-copy-link:active,
    #mm-area-guide-v4 .lang-switch-link:active {
        opacity: 0.5; /* 透過させて反応を示す */
    }

    /* コントロール系ボタン（すべて開く/閉じる） */
    #mm-area-guide-v4 .mm-global-btn:active {
        background: #edf2f7;
        border-color: #a0aec0;
        transform: scale(0.97); /* 物理的な押し込み感を演出 */
    }

    /* 検索クリアボタン */
    #mm-area-guide-v4 .mm-search-clear:active {
        opacity: 0.5;
        transform: translateY(-50%) scale(0.85); /* translateYは既存の中央配置維持のため必須 */
    }

    /* CTAボタン */
    #mm-area-guide-v4 .btn-inquiry:active {
        background-color: #05a546; /* ホバー時と同色で反応させる */
        transform: scale(0.97);
    }
    #mm-area-guide-v4 .btn-pill-outline:active {
        background-color: var(--primary-color);
        color: #ffffff !important;
        transform: scale(0.97);
    }/* End custom CSS */