@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=BIZ+UDPGothic:wght@400;700&family=Shippori+Mincho:wght@500;700;800&family=Yomogi&family=Klee+One:wght@400;600&family=Zen+Kurenaido&display=swap'); :root { /* 🌾 クラシックサンドアイボリー #F5EFDA × 🖤 ソリッドブラック太枠 × 🧡 サンセットオレンジ × 🤍 ナチュラルホワイト */ --color-primary: #162B48; /* 気品と重厚感のある濃紺 */ --color-primary-dark: #0B192C; /* 深い濃紺 */ --color-primary-light: #F5EFDA; /* 全体背景:クラシックサンドアイボリー */ --color-accent: #FF5722; /* サンセットオレンジ (パッと映えるCTA) */ --color-accent-hover: #E64A19; /* オレンジホバー */ --color-accent-soft: #FBE9E7; --color-line: #06C755; /* LINE公式グリーン */ --color-line-hover: #05b34c; --color-rating: #F59E0B; /* 星評価ゴールド */ --color-background: #F5EFDA; /* 絶妙な温かみのあるサンドアイボリー (#F5EFDA) */ --color-surface: #FFFDF9; /* カード用:目に優しく疲れにくいナチュラルホワイト (#FFFDF9) */ --color-text: #0F172A; /* チャコール (本文) */ --color-text-muted: #334155; /* 補助テキスト */ --color-border: #000000; /* ソリッドブラック太枠線 */ /* エイリアス */ --color-cta: #FF5722; --color-cta-dark: #E64A19; --color-cta-soft: #FBE9E7; --text-main: #0F172A; --text-sub: #334155; --bg-main: #F5EFDA; --card-bg: #FFFDF9; --line: #000000; } /* 全デバイスレスポンシブ標準リセット (最高可読性 Noto Sans JP 標準強ゴシック) */ *, *::before, *::after { box-sizing: border-box; max-width: 100%; } html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: hidden; width: 100%; } body, html, main { font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif !important; font-weight: 700; color: var(--text-main); background-color: #F5EFDA !important; margin: 0; padding: 0; width: 100%; overflow-x: hidden; font-size: 16px; line-height: 1.7; position: relative; } @media (min-width: 640px) { body { font-size: 17px; line-height: 1.75; } } /* ⚡️ iOS Safari入力フォーカス時自動ズーム完全防止 (16px保証) */ input, select, textarea { font-size: 16px !important; -webkit-text-size-adjust: 100%; } img, video, iframe, svg, canvas { max-width: 100%; height: auto; } h1, h2, h3, h4, h5, h6 { font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic", sans-serif !important; font-weight: 900; color: var(--text-main); letter-spacing: -0.01em; word-break: break-word; overflow-wrap: anywhere; max-width: 100%; } /* 🔒 画面の横揺れ・右側余白の完全根絶 */ html, body { overflow-x: hidden !important; width: 100% !important; max-width: 100vw !important; box-sizing: border-box !important; } *, *::before, *::after { box-sizing: border-box !important; } /* 🔒 全カード・ボタン・吹出しの枠線(スッキリ洗練された2px黒枠線 & 軽快な2pxシャドウ) */ .border-3, [class*="border-3"], .border-4, [class*="border-4"], .border-2\.5, [class*="border-2.5"] { border-width: 2px !important; border-style: solid !important; } .border-slate-950, .border-black { border-color: #000000 !important; } [class*="shadow-[4px_4px_0px_0px"], [class*="shadow-[4px_4px"], [class*="shadow-[3px_3px_0px_0px"], [class*="shadow-[3px_3px"] { box-shadow: 2px 2px 0px 0px #000000 !important; } [class*="shadow-[2px_2px_0px_0px"], [class*="shadow-[2px_2px"] { box-shadow: 2px 2px 0px 0px #000000 !important; } /* 情緒的メッセージ:遺品整理に対する想い等(上品な明朝体) */ .font-mincho { font-family: "Shippori Mincho", "Noto Serif JP", serif !important; } /* お客様の声:生の口コミ・手書きアンケート(温かみのある手書き風) */ .font-handmade { font-family: "Yomogi", "Klee One", "Zen Kurenaido", cursive !important; } /* レスポンシブラップ&コンテナ最適化 */ .wrap { width: 100%; max-width: 1200px; padding-left: 16px; padding-right: 16px; margin-inline: auto; } @media (min-width: 640px) { .wrap { padding-left: 24px; padding-right: 24px; } } .narrow { max-width: 850px; width: 100%; } .eyebrow { display: inline-flex; align-items: center; background: #f0fdf4; color: #166534; font-size: 13px; font-weight: 700; letter-spacing: .04em; border-radius: 999px; padding: 5px 14px; border: 1px solid #bbf7d0; } .hero h1, .page-hero h1 { font-size: clamp(24px, 4.5vw, 44px); line-height: 1.35; margin: 12px 0 16px; font-weight: 700; color: var(--text-main); } .actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; } .section { padding: 36px 0; } @media (min-width: 640px) { .section { padding: 48px 0; } } .section-head h2, .split-content h2, .article h2, .cta-band h2 { font-size: clamp(21px, 3.2vw, 34px); line-height: 1.35; margin: 10px 0; font-weight: 700; color: var(--text-main); } .grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; } .service-card, .case-card, .topic-card, .area-card { background: var(--card-bg); border: 1px solid var(--line); border-radius: 18px; padding: 22px; transition: .2s ease; color: var(--text-main); max-width: 100%; } /* コンバージョン最大化:CTAバンド */ .cta-band { background-color: #FFFDF9 !important; color: #0F172A !important; padding: 36px 28px; border-radius: 28px; margin: 36px auto; max-width: 1200px; border: 4px solid #000000 !important; box-shadow: 8px 8px 0px 0px #000000 !important; width: 100%; } @media (min-width: 640px) { .cta-band { padding: 48px 36px; margin: 44px auto; } } .cta-band h2 { color: #0F172A !important; font-weight: 900; } .cta-band p { color: #334155 !important; font-weight: 700; } .cta-band-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: 0; } .breadcrumbs { display: flex; gap: 8px; align-items: center; padding: 14px 0; font-size: 14px; color: var(--text-sub); flex-wrap: wrap; } /* 主要CTAボタン:ソリッド太黒枠線 (#000000) ✕ 3Dシャドウ ✕ 全周囲み */ .cta { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 28px; border-radius: 18px !important; font-weight: 900 !important; border: 3.5px solid #000000 !important; box-shadow: 4px 4px 0px 0px #000000 !important; transition: all 0.15s ease; text-decoration: none; max-width: 100%; } /* 💚 LINE公式グリーン専用CTAボタン (#06C755) ✕ ソリッド太黒枠線 ✕ 3Dシャドウ (絶対条件) */ .cta.accent, .cta.line, .cta-line, .btn-line, a[href*="line.me"], a[href*="lin.ee"] { background-color: #06C755 !important; color: #ffffff !important; border: 3.5px solid #000000 !important; box-shadow: 4px 4px 0px 0px #000000 !important; } .cta.accent:hover, .cta.line:hover, .cta-line:hover, .btn-line:hover, a[href*="line.me"]:hover, a[href*="lin.ee"]:hover { background-color: #05b34c !important; transform: translate(2px, 2px) !important; box-shadow: 2px 2px 0px 0px #000000 !important; } /* 🧡 通話無料電話専用CTAボタン (#FF5722) ✕ ソリッド太黒枠線 ✕ 3Dシャドウ */ .cta.light, .cta.phone, .cta-phone, .btn-phone, .btn-cta-primary, a[href*="tel:"] { background-color: #FF5722 !important; color: #ffffff !important; border: 3.5px solid #000000 !important; box-shadow: 4px 4px 0px 0px #000000 !important; } .cta.light:hover, .cta.phone:hover, .cta-phone:hover, .btn-phone:hover, .btn-cta-primary:hover, a[href*="tel:"]:hover { background-color: #E64A19 !important; transform: translate(2px, 2px) !important; box-shadow: 2px 2px 0px 0px #000000 !important; } .faq-list details { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 16px 20px; margin-bottom: 12px; max-width: 100%; } .faq-list summary { font-weight: 700; color: var(--text-main); font-size: 16px; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; } .faq-list summary::-webkit-details-marker { display: none; } .faq-list summary::after { content: '+'; font-size: 20px; color: #166534; font-weight: 700; shrink: 0; } .faq-list details[open] summary::after { content: '−'; color: var(--color-cta); } @media(max-width:960px){ .grid3 { grid-template-columns: repeat(2, 1fr); } .cta-band-grid { grid-template-columns: 1fr; } } @media(max-width:640px){ .grid3 { grid-template-columns: 1fr; } .cta-band-grid { padding: 0; } } .no-scrollbar::-webkit-scrollbar { display: none; } .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } /* ⚡️ シニア向け3D沈み込み震える電話CTAボタン (全デバイスレスポンシブ最適化) */ @keyframes cta-vibrate { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 10% { transform: translate(-2px, -1px) rotate(-1.5deg); } 20% { transform: translate(2px, 1px) rotate(1.5deg); } 30% { transform: translate(-2px, 1px) rotate(-1deg); } 40% { transform: translate(2px, -1px) rotate(1deg); } 50% { transform: translate(-1px, -1px) rotate(-0.5deg); } 60% { transform: translate(1px, 1px) rotate(0.5deg); } 70%, 90% { transform: translate(0, 0) rotate(0deg); } } .senior-cta-btn { background-color: #06C755; color: #ffffff !important; border: 3px solid #000000; border-radius: 1.5rem; box-shadow: 4px 4px 0px #000000; transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1); animation: cta-vibrate 2.8s infinite ease-in-out; cursor: pointer; text-decoration: none; max-width: 100%; } @media (min-width: 640px) { .senior-cta-btn { border-width: 3.5px; border-radius: 1.8rem; box-shadow: 6px 6px 0px #000000; } } .senior-cta-btn:hover, .senior-cta-btn:active { box-shadow: 0px 0px 0px #000000 !important; transform: translate(4px, 4px) !important; animation: none !important; } @media (min-width: 640px) { .senior-cta-btn:hover, .senior-cta-btn:active { transform: translate(6px, 6px) !important; } } /* ⚡️ 右下固定ボタン用:消えない常時表示 + 優しく存在感を伝えるアテンション swing & aura アニメーション */ @keyframes gentle-attention { 0%, 100% { transform: scale(1) translateY(0); box-shadow: 0 10px 25px -5px rgba(6, 199, 85, 0.5), 0 0 0 0 rgba(6, 199, 85, 0.4); } 15% { transform: scale(1.04) translateY(-3px); box-shadow: 0 14px 28px -4px rgba(6, 199, 85, 0.6), 0 0 0 8px rgba(6, 199, 85, 0); } 30% { transform: scale(1.04) translateY(-3px) rotate(-2deg); } 45% { transform: scale(1.04) translateY(-3px) rotate(2deg); } 60% { transform: scale(1) translateY(0); } } /* ⚡️ 「パッとLINE見積もり」専用:絶大アテンション ✕ 3.5px漆黒太枠線 ✕ 3Dシャドウ ✕ 生き生き動くアニメーション */ @keyframes cta-vibrate-glowing { 0%, 100% { transform: scale(1) rotate(0deg); box-shadow: 4px 4px 0px 0px #000000; } 12% { transform: scale(1.06) rotate(-3deg); box-shadow: 6px 6px 0px 0px #000000; } 24% { transform: scale(1.06) rotate(3deg); box-shadow: 6px 6px 0px 0px #000000; } 36% { transform: scale(1.04) rotate(-2deg); box-shadow: 5px 5px 0px 0px #000000; } 48% { transform: scale(1) rotate(0deg); box-shadow: 4px 4px 0px 0px #000000; } } .pulse-estimator-btn { background-color: #06C755 !important; color: #ffffff !important; border: 3.5px solid #000000 !important; box-shadow: 4px 4px 0px 0px #000000 !important; animation: cta-vibrate-glowing 2.5s infinite ease-in-out !important; outline: none !important; } .pulse-estimator-btn:hover { background-color: #05b34c !important; animation: none !important; transform: translate(2px, 2px) !important; box-shadow: 2px 2px 0px 0px #000000 !important; } /* ⚡️ モバイル下部固定CTAバーの層定義 & 余白安全確保 (全デバイス型崩れ防止) */ .mobile-fixed-cta { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; z-index: 40 !important; } body { padding-bottom: 68px !important; } @media (min-width: 1024px) { body { padding-bottom: 0 !important; } } .service-opt-btn { background-color: #FFFDF9 !important; border: 2.5px solid #000000 !important; box-shadow: 3px 3px 0px 0px #000000 !important; color: #0F172A !important; font-weight: 900 !important; } .service-opt-btn:hover { background-color: #FEF3C7 !important; /* amber-100 */ } /* 🌟 入力・フォーム用「サンセットオレンジ」パルス・発光アニメーション (#FF5722) ✕ 3px漆黒太黒枠 */ @keyframes inputGlowPulse { 0%, 100% { border-color: #000000 !important; box-shadow: 0 0 0 0 rgba(255, 87, 34, 0.5), 3px 3px 0px 0px #000000 !important; } 50% { border-color: #FF5722 !important; box-shadow: 0 0 0 8px rgba(255, 87, 34, 0.25), 0 0 16px rgba(255, 87, 34, 0.6), 3px 3px 0px 0px #000000 !important; } } .input-pulse-glow { border: 3px solid #000000 !important; background-color: #FFFDF9 !important; color: #0F172A !important; font-weight: 900 !important; animation: inputGlowPulse 2.2s infinite ease-in-out !important; } .input-pulse-glow:focus { background-color: #FFFFFF !important; border-color: #FF5722 !important; box-shadow: 0 0 0 4px rgba(255, 87, 34, 0.3), 3px 3px 0px 0px #000000 !important; animation: none !important; } @keyframes navPulseGlowing { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 87, 34, 0.7), 0 0 15px rgba(255, 87, 34, 0.5); } 50% { transform: scale(1.03); box-shadow: 0 0 0 12px rgba(255, 87, 34, 0), 0 0 25px rgba(255, 87, 34, 0.8); } } @keyframes navInputPulseGlowing { 0%, 100% { border-color: #FF5722; box-shadow: 0 0 0 0 rgba(255, 87, 34, 0.6), 0 0 10px rgba(255, 87, 34, 0.4); } 50% { border-color: #E64A19; box-shadow: 0 0 0 8px rgba(255, 87, 34, 0), 0 0 18px rgba(255, 87, 34, 0.7); } } .nav-pulse-glowing { animation: navPulseGlowing 1.6s infinite ease-in-out !important; } .nav-input-pulse-glowing { animation: navInputPulseGlowing 1.5s infinite ease-in-out !important; } /* 🖤 ソリッドブラック枠線・カード全周枠線完全保証 (Tailwindカスタム拡張) */ .border-2\.5, .border-2_5, [class*="border-2.5"] { border-width: 2.5px !important; border-style: solid !important; } .border-3, [class*="border-3"] { border-width: 3px !important; border-style: solid !important; } .border-3\.5, .border-3_5, [class*="border-3.5"] { border-width: 3.5px !important; border-style: solid !important; } .border-4, [class*="border-4"] { border-width: 4px !important; border-style: solid !important; } /* 全てのカード・吹き出し・プラン枠において全周(上下左右)の枠線を完全保証 */ .bg-\[\#FFFDF9\], .bg-\[\#FFF8E7\], .service-card, .case-card, .topic-card, .area-card { border-style: solid !important; }