@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@500;700;900&display=swap'); :root { --font-main: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif; --color-primary: #162B48; --color-accent: #FF5722; --color-accent-hover: #E64A19; --color-line: #06C755; --color-line-hover: #05B34C; --color-slate: #0F172A; --bg-page: #FFFFFF; } *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: hidden; width: 100%; } body { font-family: var(--font-main); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: var(--bg-page); color: #0F172A; margin: 0; padding: 0; width: 100%; overflow-x: hidden; font-size: 16px; line-height: 1.7; } @media (min-width: 640px) { body { font-size: 16.5px; 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: var(--font-main); font-weight: 800; color: #0F172A; letter-spacing: -0.02em; word-break: break-word; } /* 🍏 Apple 洗練クリーン:多層ソフトシャドウ */ .shadow-apple-card { box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05), 0 2px 6px -1px rgba(15, 23, 42, 0.03); } .shadow-apple-float { box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.08), 0 6px 16px -2px rgba(15, 23, 42, 0.04); } /* 🍏 Apple 洗練クリーン:CTAボタン専用スタイル */ .btn-pill-phone { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #FF5722 0%, #FF7043 100%); color: #FFFFFF !important; box-shadow: 0 4px 14px -2px rgba(255, 87, 34, 0.35); border: none; border-radius: 9999px; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); } .btn-pill-phone:hover { background: linear-gradient(135deg, #E64A19 0%, #FF5722 100%); transform: translateY(-2px); box-shadow: 0 8px 20px -2px rgba(255, 87, 34, 0.45); } .btn-pill-line { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #06C755 0%, #22C55E 100%); color: #FFFFFF !important; box-shadow: 0 4px 14px -2px rgba(6, 199, 85, 0.35); border: none; border-radius: 9999px; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); } .btn-pill-line:hover { background: linear-gradient(135deg, #05B34C 0%, #16A34A 100%); transform: translateY(-2px); box-shadow: 0 8px 20px -2px rgba(6, 199, 85, 0.45); } /* レスポンシブコンテナ */ .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; } } /* 💫 入力前ふんわりパルス誘導アニメーション */ @keyframes softTapPulse { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4), 0 2px 8px -1px rgba(0, 0, 0, 0.08); border-color: #2563EB; } 50% { transform: scale(1.02); box-shadow: 0 0 0 6px rgba(37, 99, 235, 0), 0 6px 16px -2px rgba(37, 99, 235, 0.25); border-color: #1D4ED8; } } .soft-tap-pulse { animation: softTapPulse 2.4s infinite cubic-bezier(0.4, 0, 0.2, 1); } /* 📝 フォーム入力欄のデフォルト境界線(縁・枠線)視認性100%保証 */ input[type="text"], input[type="tel"], input[type="email"], input[type="date"], textarea { border: 2px solid #94A3B8 !important; background-color: #FFFFFF !important; color: #0F172A !important; border-radius: 1rem !important; transition: border-color 0.2s ease, box-shadow 0.2s ease; } input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="date"]:focus, textarea:focus { border-color: #2563EB !important; box-shadow: 0 0 0 3.5px rgba(37, 99, 235, 0.2) !important; outline: none !important; } /* 🟢 パッと見積もり固定ボタン:極限視認性 & 微動・パルスアニメーション */ @keyframes estimatorFloatPulse { 0%, 100% { transform: translateY(0) scale(1); box-shadow: 3px 3px 0px 0px rgba(0,0,0,1), 0 0 0 0 rgba(6, 199, 85, 0.6); } 50% { transform: translateY(-3px) scale(1.03); box-shadow: 4px 6px 0px 0px rgba(0,0,0,1), 0 0 0 8px rgba(6, 199, 85, 0); } } @keyframes badgeAttentionBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } } .estimator-btn-pulse { animation: estimatorFloatPulse 2.8s infinite cubic-bezier(0.4, 0, 0.2, 1); } .badge-attention-bounce { animation: badgeAttentionBounce 2.8s infinite ease-in-out; } /* 💎 光のキラリ反射 (Shine Sweep) */ .shine-sweep-container { position: relative; overflow: hidden; } .shine-sweep-container::after { content: ""; position: absolute; top: -50%; left: -60%; width: 40%; height: 200%; background: linear-gradient( to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100% ); transform: rotate(25deg); animation: shineSweep 4.5s infinite ease-in-out; pointer-events: none; } @keyframes shineSweep { 0%, 70% { left: -60%; opacity: 0; } 75% { opacity: 1; } 90%, 100% { left: 140%; opacity: 0; } }