/* =====================================================================
   meigi Phase 1 additional CSS -- custom-phase1.css
   正本: Claude管理/主要コード/head_HTML自由記入欄.html（各ブロック verbatim）
        + LIVE ufb 共通部品 CSS（2026-08-20 実測スナップショット）
   設置: テーマ assets/custom-phase1.css（functions_phase1.php が enqueue）
   00_確定設計書.md S4-9 は「assets/custom.css に追加」だが、ロールバック容易性の
   ため別ファイルに分離（enqueue を止めれば即時に元の挙動へ戻る）。
   ===================================================================== */

/* ---- CLS対策②: 画像 aspect-ratio 事前予約 39ルール（2026-07-09 正本 verbatim） ---- */
img[src*="e27b2fe1"]{aspect-ratio:200/200}
img[src*="86d62ef3"]{aspect-ratio:1000/525}
img[src*="a6acc320"]{aspect-ratio:640/359}
img[src*="91a64561"]{aspect-ratio:640/544}
img[src*="da044502"]{aspect-ratio:640/960}
img[src*="a9a630ac"]{aspect-ratio:1000/750}
img[src*="93ba2eef"]{aspect-ratio:640/359}
img[src*="091aad4f"]{aspect-ratio:640/427}
img[src*="b5093f97"]{aspect-ratio:1200/400}
img[src*="a4323bb9"]{aspect-ratio:640/480}
img[src*="b3927aa2"]{aspect-ratio:640/300}
img[src*="93cb7778"]{aspect-ratio:640/359}
img[src*="645d202f"]{aspect-ratio:640/427}
img[src*="1568e58f"]{aspect-ratio:1000/1200}
img[src*="c4f665bc"]{aspect-ratio:640/733}
img[src*="b7bc1f06"]{aspect-ratio:794/1124}
img[src*="68a79fda"]{aspect-ratio:640/427}
img[src*="9970a424"]{aspect-ratio:640/359}
img[src*="0a9ec102"]{aspect-ratio:1200/900}
img[src*="b5063611"]{aspect-ratio:795/848}
img[src*="2a7f3a09"]{aspect-ratio:1200/1374}
img[src*="690b2b16"]{aspect-ratio:640/905}
img[src*="081965b6"]{aspect-ratio:1000/750}
img[src*="d54acf48"]{aspect-ratio:640/427}
img[src*="9fa73242"]{aspect-ratio:640/640}
img[src*="fc9b6e61"]{aspect-ratio:640/359}
img[src*="23eed175"]{aspect-ratio:640/427}
img[src*="1d199638"]{aspect-ratio:1000/750}
img[src*="bff51f2c"]{aspect-ratio:640/905}
img[src*="d86f4030"]{aspect-ratio:640/427}
img[src*="632eb84c"]{aspect-ratio:320/180}
img[src*="74695518"]{aspect-ratio:640/359}
img[src*="96cccfe7"]{aspect-ratio:981/649}
img[src*="9d14690e"]{aspect-ratio:1090/984}
img[src*="cbe950f5"]{aspect-ratio:1200/730}
img[src*="376ab93a"]{aspect-ratio:791/648}
img[src*="f6878617"]{aspect-ratio:752/234}
img[src*="52097505"]{aspect-ratio:633/898}
img[src*="6eff82f8"]{aspect-ratio:640/427}

/* ---- Dead Click対策 共通CSS（2026-04-15/04-24 正本 verbatim） ---- */
.t0-b-wysiwyg img:not(a img),.t0-b-freeHtml2 img:not(a img){cursor:default}
.t0-b-wysiwyg u:not(a u),.t0-b-freeHtml2 u:not(a u){cursor:default;text-decoration:none;border-bottom:1px dotted #999}

/* ---- font-size 14px->16px 上書き（正本 verbatim。テーマDOMでは .area-main 直下に
        .entry-content.mod-body が来るため保険として両方向を張る） ---- */
.mod-body .area-main{font-size:16px}
.area-main .entry-content.mod-body{font-size:16px}

/* ---- ufb 共通部品 CSS（アイコンSVG + PC固定バナー + モバイル固定バー・LIVE実測 verbatim） ---- */
/* ============================================           共通SVGアイコン定義           ============================================ */        .ufb-icon::before {            content: "";            display: inline-block;            background-size: contain;            background-repeat: no-repeat;        }        .ufb-icon-phone::before {            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56a.977.977 0 0 0-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E");        }        .ufb-icon-mail::before {            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");        }        .ufb-icon-line::before {            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314'/%3E%3C/svg%3E");        }        /* ============================================           PC固定バナー（右側） - 1350px以上           ============================================ */        .ufb-pc {            position: fixed;            right: 20px;            top: 45%;            transform: translateY(-50%);            z-index: 1000;            display: none;        }        @media (min-width: 1350px) {            .ufb-pc { display: block; }        }        @media (max-width: 1349px) {            .ufb-pc { display: none !important; }        }        .ufb-pc-container {            display: flex;            flex-direction: column;            gap: 15px;            width: 150px;        }        .ufb-pc-btn {            display: flex;            flex-direction: column;            align-items: center;            justify-content: center;            padding: 15px 10px;            text-decoration: none;            border-radius: 10px;            transition: all 0.3s ease;            font-weight: bold;            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);        }        .ufb-pc-btn:hover {            transform: translateY(-2px);            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);        }        .ufb-pc-tel {            background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%);            color: #fff !important;            border: none;        }        .ufb-pc-tel * { color: #fff !important; }        .ufb-pc-contact {            background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);            color: #fff !important;            border: none;        }        .ufb-pc-contact * { color: #fff !important; }        .ufb-pc-line {            background: linear-gradient(135deg, #06C755 0%, #00B900 100%);            color: #fff !important;            border: none;        }        .ufb-pc-line * { color: #fff !important; }        .ufb-pc .ufb-icon::before {            width: 28px;            height: 28px;        }        .ufb-pc-icon {            margin-bottom: 8px;        }        .ufb-pc-text {            font-size: 13px;            line-height: 1.3;            margin-bottom: 4px;            color: #fff;        }        .ufb-pc-contact .ufb-pc-text {            color: #FFF59D !important;            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);        }        .ufb-pc-number {            font-size: 14px;            font-weight: bold;            color: #FFF59D !important;            margin-bottom: 4px;            letter-spacing: 0.5px;            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);        }        .ufb-pc-subtext {            font-size: 10px;            opacity: 0.9;            color: #fff;        }        /* ============================================           タブレット固定バナー（下部） - 769px〜1349px           ============================================ */        .ufb-tablet {            position: fixed;            bottom: 0;            left: 0;            right: 0;            z-index: 1000;            background: #fff;            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);            display: none;        }        @media (min-width: 769px) and (max-width: 1439px) {            .ufb-tablet { display: block; }        }        @media (max-width: 768px) {            .ufb-tablet { display: none !important; }        }        @media (min-width: 1440px) {            .ufb-tablet { display: none !important; }        }        .ufb-tablet-container {            display: flex;            justify-content: space-around;            align-items: center;            padding: 5px 3px;            max-width: 100%;        }        .ufb-tablet-btn {            display: flex;            flex-direction: row;            align-items: center;            justify-content: center;            text-decoration: none;            padding: 5px 8px;            border-radius: 5px;            flex: 1;            margin: 0 2px;            transition: all 0.3s ease;            font-weight: bold;            gap: 6px;        }        .ufb-tablet-btn:active {            transform: scale(0.95);        }        .ufb-tablet-tel {            background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%);            color: #fff !important;        }        .ufb-tablet-tel * { color: #fff !important; }        .ufb-tablet-contact {            background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);            color: #fff !important;        }        .ufb-tablet-contact * { color: #fff !important; }        .ufb-tablet-line {            background: linear-gradient(135deg, #06C755 0%, #00B900 100%);            color: #fff !important;        }        .ufb-tablet-line * { color: #fff !important; }        .ufb-tablet .ufb-icon::before {            width: 20px;            height: 20px;        }        .ufb-tablet-content {            display: flex;            flex-direction: column;            align-items: flex-start;            gap: 1px;        }        .ufb-tablet-text {            font-size: 10px;            line-height: 1.1;            color: #fff;        }        .ufb-tablet-number {            font-size: 10px;            font-weight: bold;            color: #FFF59D !important;            letter-spacing: 0.2px;        }        /* ============================================           モバイル固定バナー（下部） - 768px以下           ============================================ */        .ufb-mobile {            position: fixed;            bottom: 0;            left: 0;            width: 100%;            background: #fff;            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);            z-index: 1000;            display: none;        }        @media (max-width: 768px) {            .ufb-mobile { display: block; }        }        @media (min-width: 769px) {            .ufb-mobile { display: none !important; }        }        .ufb-mobile-container {            display: flex;            gap: 10px;            padding: 8px;            max-width: 100%;        }        .ufb-mobile-btn {            flex: 1;            display: flex;            flex-direction: row;            align-items: center;            justify-content: center;            gap: 5px;            padding: 5px 8px;            text-decoration: none;            border-radius: 8px;            transition: all 0.3s ease;            font-weight: bold;            min-height: 38px;        }        .ufb-mobile-tel {            background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);            color: #fff !important;            border: none;        }        .ufb-mobile-tel * { color: #fff !important; }        .ufb-mobile-tel:active {            transform: scale(0.98);            background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%);        }        .ufb-mobile-contact {            background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);            color: #fff !important;            border: none;        }        .ufb-mobile-contact * { color: #fff !important; }        .ufb-mobile-contact:active {            transform: scale(0.98);            background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);        }        .ufb-mobile .ufb-icon::before {            width: 18px;            height: 18px;        }        .ufb-mobile-textwrap {            display: flex;            flex-direction: column;            align-items: center;            color: #fff;        }        .ufb-mobile-text {            font-size: 12px;            line-height: 1.2;            color: #FFF59D !important;            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);        }        .ufb-mobile-subtext {            font-size: 9px;            opacity: 0.9;            margin-top: 2px;            color: #fff;        }

/* ---- 追従CTA モバイル文字サイズ復元（2026-06-09 正本 verbatim） ---- */
.ufb-mobile-text{font-size:12px!important}
.ufb-mobile-subtext{font-size:9px!important}

/* ---- S2 モバイル固定バー 3ボタン化スタイル（2026-06-26 正本 verbatim） ---- */
.ufb-mobile-tel{background:linear-gradient(135deg,#FF9800 0%,#F57C00 100%)!important}
.ufb-mobile-tel:active{background:linear-gradient(135deg,#F57C00 0%,#E65100 100%)!important}
.ufb-mobile-line{background:linear-gradient(135deg,#06C755 0%,#00B900 100%);border:none}
.ufb-mobile-line:active{transform:scale(.98);background:linear-gradient(135deg,#00B900 0%,#009900 100%)}
.ufb-mobile-container.ufb-3{gap:6px;padding:8px 6px}
.ufb-3 .ufb-mobile-btn{padding:5px 3px;gap:4px}
.ufb-3 .ufb-icon::before{width:16px;height:16px}
.ufb-3 .ufb-mobile-text{font-size:11px!important;white-space:nowrap}
.ufb-3 .ufb-mobile-subtext{font-size:8px!important;white-space:nowrap}
