/* ロゴスタイルは logo-styles.css に移動済み */

/* 基本スタイル */
* {
 margin:0;
 padding:0;
 box-sizing:border-box;
}
body {
 font-family:'Noto Sans JP', sans-serif;
 line-height:1.6;
 color:var(--text-dark);
 padding-bottom:80px;/* 固定フッター分の間隔 */
}

/* Anchor transitions globally */
a { transition: .3s !important; text-decoration: none !important;}
a:hover { text-decoration: none !important; }

/* ========== First View to Main Content (Flex-only) ========== */
/* Container */
.hero-section {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  padding: 4rem 0;
  text-align: center;
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  background-color: #f8f9fa;
  background-image: url(../images/hero_bg.png);
  background-size: cover;
  background-position: center;
  background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: lighten;
}

.hero-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Badges row */
.trust-badges { display: flex; align-items: stretch; justify-content: space-between; gap: 16px; width: 100%; flex-wrap: nowrap; margin-bottom: 2em; }
.trust-badge { display: inline-flex; align-items: center; gap: 10px; padding: 14px 20px; border: 2px solid #dbe6f3; border-radius: 16px; background: #fff; color: #1976d2; font-weight: 800; box-shadow: 0 6px 20px rgba(0,0,0,0.06); }
.trust-badge i { font-size: 1.1rem; }
.trust-badge .star {
    color: #ffa500;
    font-size: 1.1em;
}

/* Main content: left search, right solutions */
.main-content { display: flex; flex-direction: row; gap: 20px; align-items: stretch; }

.search-demo-title { font-weight: 700; margin-bottom: 12px; }
.search-box-demo { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 2px solid #1976d2; border-radius: 24px; background: #fff; }
.suggest-list { border-radius: 12px; overflow: hidden; border: 1px solid #f0f0f0; }
.suggest-item { display: flex; justify-content: space-between; padding: 12px 16px; }
.suggest-item.negative { background: #ffecee; color: #d32f2f; font-weight: 700; position: relative; padding-left: 2em;}

.solution-section { flex: 1 1 52%; }
.solution-visual-item i { font-size: 3rem; }
.solution-visual-item span { font-weight: 800; }

.solution-visual-item.suggest {
    border: 4px solid #2196F3;
}
.solution-visual-item.suggest i {
    color: #2196F3;
}
.solution-visual-item.seo {
    border: 4px solid #4CAF50;
}
.solution-visual-item.seo i {
    color: #4CAF50;
}
.solution-visual-item.legal {
    border: 4px solid #FF9800;
}
.solution-visual-item.legal i {
    color: #FF9800;
}

.marker {
    background-color: rgba(255, 236, 0, 0.5);
}

/* Hover interactions in this area are limited to <a> only */
/*.hero-section .main-content *:hover { box-shadow: inherit; transform: none; }*/
.hero-section .main-content a:hover { opacity: .9; }

/* Responsive (flex-only) */
@media (max-width: 1024px) {
  .trust-badges { flex-wrap: wrap; }
  .main-content { flex-direction: column; }
}
@media (max-width: 600px) {
  .trust-badge { width: 100%; justify-content: center; }
  .solution-visual-container { flex-direction: column; }
}
.container {
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
}

/* フッター */
.footer {
 background:#333;
 color:white;
 padding:40px 0 20px;
}

.footer .container {
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
}

.footer-content {
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 margin-bottom:20px;
}

.footer-logo h3 {
 font-size:1.5rem;
 margin-bottom:10px;
}

.footer-logo p {
 color:#ccc;
}

.footer-contact h4 {
 font-size:1.2rem;
 margin-bottom:10px;
}

.footer-contact p {
 color:#ccc;
 margin-bottom:15px;
}

.contact-button {
 background:#00B900;
 color:white;
 padding:10px 20px;
 border-radius:25px;
 text-decoration:none;
 font-weight:600;
 transition:all 0.3s ease;
}

.contact-button:hover {
 background:#009900;
 transform:translateY(-2px);
}

.footer-bottom {
 border-top:1px solid #555;
 padding-top:20px;
 text-align:center;
 color:#ccc;
}
 
.header-logo {
 height:50px;
}


/* 料金シミュレーターボタン */
.price-simulator-btn {
 display:inline-flex;
 align-items:center;
 gap:8px;
 background:linear-gradient(135deg, #e74c3c, #c0392b);
 color:white;
 padding:10px 20px;
 border-radius:25px;
 text-decoration:none;
 font-weight:bold;
 transition:all 0.3s;
 white-space:nowrap;
 box-shadow:0 2px 10px rgba(231, 76, 60, 0.4);
}
.price-simulator-btn:hover {
 background:linear-gradient(135deg, #c0392b, #a93226);
 transform:translateY(-2px);
 box-shadow:0 5px 15px rgba(231, 76, 60, 0.5);
}
.price-simulator-btn i {
 font-size:1.1rem;
}
/* ヘッダーLINEボタン */


.header-line-button i {
 font-size:1.2rem;
}


/* モバイルナビゲーション内の検索ボックス */


/* セクション共通 */
.section-title {
 font-size:2.5rem;
 text-align:center;
 margin-bottom:50px;
 color:#0d47a1;
}
/* フッター */
.site-footer {
 background:#333;
 color:white;
 padding:50px 0 20px;
 margin-top:100px;
}
.footer-content {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:40px;
 margin-bottom:30px;
}
.footer-section h3 {
 margin-bottom:20px;
 color:#4fc3f7;
}
.footer-section ul {
 list-style:none;
}
.footer-section ul li {
 margin-bottom:10px;
}
.footer-section a {
 color:white;
 text-decoration:none;
 transition:color 0.3s;
}
.footer-section a:hover {
 color:#4fc3f7;
}
.footer-line-button {
 display:inline-flex;
 align-items:center;
 gap:10px;
 background:#00A800;
 color:white !important;
 padding:15px 30px;
 border-radius:30px;
 text-decoration:none;
 font-weight:bold;
 transition:all 0.3s;
 margin-bottom:10px;
}
.footer-line-button:hover {
 background:#00A000;
 transform:translateY(-3px);
 box-shadow:0 5px 20px rgba(0, 185, 0, 0.4);
}
.footer-line-button i {
 font-size:1.5rem;
}
.line-note {
 font-size:0.9rem;
 opacity:1;
 margin-top:5px;
}
/* フッター料金シミュレーターボタン */
.footer-price-btn {
 display:inline-flex;
 align-items:center;
 gap:10px;
 background:linear-gradient(135deg, #e74c3c, #c0392b);
 color:white !important;
 padding:15px 30px;
 border-radius:30px;
 text-decoration:none;
 font-weight:bold;
 transition:all 0.3s;
 margin-bottom:10px;
 box-shadow:0 3px 15px rgba(231, 76, 60, 0.4);
}
.footer-price-btn:hover {
 background:linear-gradient(135deg, #c0392b, #a93226);
 transform:translateY(-3px);
 box-shadow:0 5px 20px rgba(231, 76, 60, 0.5);
}
.footer-price-btn i {
 font-size:1.3rem;
}
.price-note {
 font-size:0.9rem;
 opacity:0.8;
 margin-top:5px;
}
.footer-info h3,
.footer-links h3 {
 margin-bottom:20px;
 color:#4fc3f7;
}
.footer-links ul {
 list-style:none;
}
.footer-links a {
 color:white;
 text-decoration:none;
 line-height:2;
 transition:color 0.3s;
}
.footer-links a:hover {
 color:#4fc3f7;
}
.footer-subtitle {
 font-size:1rem;
 color:#4fc3f7;
 font-weight:normal;
 margin-top:5px;
 margin-bottom:15px;
}
.footer-concept {
 font-size:1.1rem;
 color:#ffc107;
 font-weight:bold;
 margin-bottom:15px;
}
.footer-philosophy {
 background:rgba(255, 255, 255, 0.15);
 padding:40px 30px;
 border-radius:15px;
 margin:40px 0 30px;
 text-align:center;
}
.footer-philosophy h3 {
 color:#4fc3f7;
 margin-bottom:30px;
 font-size:1.5rem;
 font-weight:bold;
}
.philosophy-content {
 max-width:900px;
 margin:0 auto;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:25px;
}
.philosophy-logo {
 margin-bottom:20px;
}
.philosophy-logo img {
 max-width:200px;
 height:auto;
 filter:drop-shadow(0 4px 8px rgba(0,0,0,0.2));
}
.philosophy-icon {
 margin-bottom:25px;
 display:flex;
 justify-content:center;
 gap:30px;
}
.philosophy-icon i {
 font-size:3rem;
 padding:15px;
 border-radius:50%;
 background:rgba(255, 255, 255, 0.1);
 backdrop-filter:blur(10px);
}
.philosophy-icon .fa-water {
 color:#42a5f5;
 box-shadow:0 4px 15px rgba(66, 165, 245, 0.3);
}
.philosophy-icon .fa-fire {
 color:#ff5722;
 box-shadow:0 4px 15px rgba(255, 87, 34, 0.3);
}
.philosophy-text {
 font-size:1.1rem;
 line-height:1.8;
 color:#fff;
 max-width:700px;
 margin:0 auto;
 text-align:center;
}
.footer-bottom {
 text-align:center;
 padding-top:20px;
 border-top:1px solid #555;
 font-size:0.9rem;
}
/* ========== Hero Section ========== */
.hero {
 position:relative;
 background:linear-gradient(135deg, #0d47a1 0%, #1976d2 100%);
 color:white;
 padding:80px 0 60px;
 overflow:visible;
 min-height:600px;
}
.hero-bg-pattern {
 position:absolute;
 top:0;
 left:0;
 right:0;
 bottom:0;
 opacity:0.1;
 background-image:
 radial-gradient(circle at 20% 50%, white 0%, transparent 50%),
 radial-gradient(circle at 80% 80%, white 0%, transparent 50%),
 radial-gradient(circle at 40% 20%, white 0%, transparent 50%);
}
/* 検索デバイスの背景アニメーション */
.search-devices-bg {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 overflow:hidden;
 z-index:1;
}
.device-float {
 position:absolute;
 opacity:0.6;
 animation:float 20s infinite ease-in-out;
}
.device-float i {
 font-size:3rem;
 color:white;
}
.search-bubble {
 position:absolute;
 background:rgba(255, 255, 255, 0.8);
 color:#333;
 padding:5px 15px;
 border-radius:20px;
 font-size:0.9rem;
 white-space:nowrap;
 margin-top:10px;
 backdrop-filter:blur(5px);
 box-shadow:0 2px 10px rgba(0,0,0,0.2);
}
.device-1 {
 top:10%;
 left:5%;
 animation-delay:0s;
}
.device-2 {
 top:20%;
 right:10%;
 animation-delay:3s;
}
.device-3 {
 bottom:30%;
 left:15%;
 animation-delay:6s;
}
.device-4 {
 bottom:20%;
 right:20%;
 animation-delay:9s;
}
.device-5 {
 top:50%;
 left:50%;
 animation-delay:12s;
}
@keyframes float {
 0%, 100% {
 transform:translate(0, 0) rotate(0deg);
 }
 25% {
 transform:translate(30px, -30px) rotate(5deg);
 }
 50% {
 transform:translate(-20px, 20px) rotate(-5deg);
 }
 75% {
 transform:translate(40px, 10px) rotate(3deg);
 }
}
.hero-content {
 position:relative;
 z-index:2;
}
.company-logo {
 text-align:center;
 margin-bottom:20px;
}
.logo-image {
 height:80px;
 filter:brightness(0) invert(1);
}
.emergency-hook {
 text-align:center;
 margin-bottom:20px;
}
/* 人の目と視線の演出 */
.watching-eyes-container {
 position:relative;
 height:150px;
 margin-bottom:20px;
}
.watching-eyes-container.intense {
 animation:container-pulse 4s ease-in-out infinite;
}
@keyframes container-pulse {
 0%, 100% { transform:scale(1);}
 50% { transform:scale(1.05);}
}
.eye-animation {
 position:absolute;
 font-size:1.5rem;
 color:rgba(255, 255, 255, 1);
 transition:all 0.3s;
}
.eye-animation.watching {
 animation:eye-watch 3s ease-in-out infinite;
}
@keyframes eye-watch {
 0%, 100% { transform:scale(1) rotate(0deg);}
 25% { transform:scale(1.1) rotate(-5deg);}
 75% { transform:scale(1.1) rotate(5deg);}
}
.eye-1 { top:20%;left:10%;animation-delay:0s;}
.eye-2 { top:10%;right:15%;animation-delay:0.3s;}
.eye-3 { top:50%;left:25%;animation-delay:0.6s;}
.eye-4 { top:40%;right:20%;animation-delay:0.9s;}
.eye-5 { bottom:30%;left:15%;animation-delay:1.2s;}
.eye-6 { bottom:20%;right:30%;animation-delay:1.5s;}
.eye-7 { top:30%;left:50%;transform:translateX(-50%);animation-delay:1.8s;}
.eye-glance {
 position:absolute;
 width:30px;
 height:2px;
 background:rgba(255, 193, 7, 0.6);
 top:50%;
 left:100%;
 transform-origin:left center;
 animation:glance-move 2s ease-in-out infinite;
}
@keyframes glance-move {
 0%, 100% { transform:rotate(0deg) scaleX(0);}
 50% { transform:rotate(15deg) scaleX(1);}
}
.searching-text {
 position:absolute;
 top:-20px;
 left:50%;
 transform:translateX(-50%);
 font-size:0.8rem;
 color:#ffb300;
 white-space:nowrap;
 animation:fade-blink 2s ease-in-out infinite;
}
@keyframes fade-blink {
 0%, 100% { opacity:0;}
 50% { opacity:1;}
}
/* 人影の演出 */
.shadow-people {
 position:absolute;
 bottom:0;
 width:100%;
 height:80px;
}
.shadow-person {
 position:absolute;
 bottom:0;
 font-size:2rem;
 color:rgba(0, 0, 0, 0.8);
 filter:blur(2px);
}
.shadow-person.lurking {
 animation:person-lurk 5s ease-in-out infinite;
}
@keyframes person-lurk {
 0%, 100% { transform:translateY(10px);opacity:0.3;}
 50% { transform:translateY(0);opacity:0.8;}
}
.person-1 { left:10%;animation-delay:0s;}
.person-2 { left:30%;animation-delay:1s;}
.person-3 { right:25%;animation-delay:2s;}
.person-4 { right:10%;animation-delay:3s;}
.person-action {
 position:absolute;
 top:-25px;
 left:50%;
 transform:translateX(-50%);
 font-size:0.7rem;
 color:#ffc107;
 white-space:nowrap;
 background:rgba(0, 0, 0, 0.5);
 padding:2px 8px;
 border-radius:10px;
}
/* 視線の光線効果 */
.gaze-rays {
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%, -50%);
 width:100%;
 height:100%;
 pointer-events:none;
}
.gaze-ray {
 position:absolute;
 width:100px;
 height:1px;
 background:linear-gradient(90deg, rgba(255, 193, 7, 0) 0%, rgba(255, 193, 7, 0.6) 50%, rgba(255, 193, 7, 0) 100%);
 transform-origin:center;
 animation:ray-scan 3s linear infinite;
}
.ray-1 { top:30%;left:0;transform:rotate(15deg);animation-delay:0s;}
.ray-2 { top:50%;right:0;transform:rotate(-20deg);animation-delay:1s;}
.ray-3 { bottom:40%;left:20%;transform:rotate(30deg);animation-delay:2s;}
@keyframes ray-scan {
 0% { opacity:0;transform:scaleX(0) rotate(var(--rotation, 0deg));}
 50% { opacity:1;transform:scaleX(1.5) rotate(var(--rotation, 0deg));}
 100% { opacity:0;transform:scaleX(0) rotate(var(--rotation, 0deg));}
}
.emergency-text {
 background:rgba(255, 193, 7, 0.3);
 border:2px solid #ffc107;
 padding:20px 40px;
 border-radius:50px;
 display:inline-block;
 font-weight:bold;
 animation:pulse-border 2s infinite;
 position:relative;
}
.emergency-text.emphasized-warning {
 background:rgba(255, 193, 7, 0.3);
 border:3px solid #ffc107;
 box-shadow:0 0 30px rgba(255, 193, 7, 0.5);
}
@keyframes pulse-border {
 0% {
 box-shadow:0 0 0 0 rgba(255, 193, 7, 0.7);
 }
 70% {
 box-shadow:0 0 0 15px rgba(255, 193, 7, 0);
 }
 100% {
 box-shadow:0 0 0 0 rgba(255, 193, 7, 0);
 }
}
.emergency-text i.pulsing {
 animation:icon-pulse 1s ease-in-out infinite;
}
@keyframes icon-pulse {
 0%, 100% { transform:scale(1);}
 50% { transform:scale(1.2);}
}
.watching-now-text {
 display:block;
 margin-top:10px;
}
.danger-words {
 color:#ff5252;
 font-weight:900;
 font-size:1.2em;
 text-shadow:2px 2px 4px rgba(0, 0, 0, 0.3);
}
.eye-count {
 display:block;
 font-size:1.1em;
 margin-top:5px;
}
.realtime-counter {
 display:inline-block;
 background:rgba(255, 82, 82, 0.2);
 padding:8px 20px;
 border-radius:20px;
 margin-top:15px;
 border:2px solid #ff5252;
 animation:counter-blink 2s ease-in-out infinite;
}
@keyframes counter-blink {
 0%, 100% { opacity:0.8;transform:scale(1);}
 50% { opacity:1;transform:scale(1.05);}
}
.view-count {
 font-weight:bold;
 color:#ff5252;
 font-size:1.2em;
 animation:number-change 5s steps(1) infinite;
}
@keyframes number-change {
 0% { content:'2,847';}
 20% { content:'2,853';}
 40% { content:'2,861';}
 60% { content:'2,869';}
 80% { content:'2,874';}
 100% { content:'2,847';}
}
.hero-title {
 font-size:3rem;
 font-weight:900;
 text-align:center;
 margin-bottom:30px;
 line-height:1.2;
}
.hero-title .subtitle {
 font-size:1.8rem;
 font-weight:400;
 opacity:1;
}
/* 個人・企業の検索ボックス */
.search-visual-dual {
 margin:30px 0;
}
.search-examples-container {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));
 gap:40px;
 max-width:900px;
 margin:0 auto;
}
.search-example {
 background:rgba(255, 255, 255, 0.2);
 backdrop-filter:blur(10px);
 border-radius:20px;
 padding:30px;
 border:1px solid rgba(255, 255, 255, 0.2);
 transition:transform 0.3s, box-shadow 0.3s;
}
.search-example:hover {
 transform:translateY(-10px);
 box-shadow:0 20px 40px rgba(0, 0, 0, 0.3);
}
.search-example h3 {
 font-size:1.3rem;
 margin-bottom:20px;
 display:flex;
 align-items:center;
 gap:10px;
}
.search-example h3 i {
 font-size:1.5rem;
 color:#ffc107;
}
.search-box-demo {
 background:white;
 color:#333;
 padding:15px 20px;
 border-radius:30px;
 display:flex;
 align-items:center;
 gap:10px;
 box-shadow:0 5px 15px rgba(0, 0, 0, 0.2);
 margin-bottom:10px;
}
.search-box-demo input {
 border:none;
 outline:none;
 font-size:1.1rem;
 flex:1;
 background:transparent;
}
.suggest-dropdown {
 background:white;
 color:#333;
 border-radius:10px;
 overflow:hidden;
 box-shadow:0 5px 20px rgba(0, 0, 0, 0.2);
}

.suggest-item:last-child {
 border-bottom:none;
}
.suggest-item.negative {
 animation:fade-in 0.5s ease-out;
}
.negative-word {
 color:#d32f2f;
 font-weight:bold;
 background:rgba(211, 47, 47, 0.1);
 padding:2px 8px;
 border-radius:4px;
}
@keyframes fade-in {
 from {
 opacity:0;
 transform:translateX(-10px);
 }
 to {
 opacity:1;
 transform:translateX(0);
 }
}
.search-results-message {
 text-align:center;
 margin-top:30px;
}
.search-results-message .pulse {
 display:inline-block;
 background:#ffc107;
 color:#333;
 padding:15px 30px;
 border-radius:50px;
 font-weight:bold;
 font-size:1.2rem;
 animation:pulse 2s infinite;
}
@keyframes pulse {
 0% {
 transform:scale(1);
 box-shadow:0 0 0 0 rgba(255, 193, 7, 0.7);
 }
 50% {
 transform:scale(1.05);
 box-shadow:0 0 0 15px rgba(255, 193, 7, 0);
 }
 100% {
 transform:scale(1);
 box-shadow:0 0 0 0 rgba(255, 193, 7, 0);
 }
}
/* 衝撃の事実セクション */
.shocking-fact {
 background:rgba(255, 255, 255, 0.1);
 backdrop-filter:blur(10px);
 padding:40px;
 border-radius:20px;
 margin:50px auto;
 max-width:1200px;
 text-align:center;
}
.shocking-fact.extended {
 background:rgba(0, 30, 60, 0.5);
 border:2px solid rgba(255, 255, 255, 0.3);
 box-shadow:0 10px 40px rgba(0, 0, 0, 0.3);
}
.search-alert-banner {
 background:#ffc107;
 color:#333;
 padding:15px 30px;
 border-radius:50px;
 display:inline-block;
 font-weight:bold;
 font-size:1.2rem;
 margin-bottom:40px;
 animation:banner-pulse 2s ease-in-out infinite;
}
@keyframes banner-pulse {
 0%, 100% { transform:scale(1);}
 50% { transform:scale(1.05);}
}
.search-alert-banner i {
 margin-right:10px;
 animation:icon-blink 1s ease-in-out infinite;
}
@keyframes icon-blink {
 0%, 100% { opacity:1;}
 50% { opacity:0.5;}
}
.main-message {
 margin-bottom:50px;
}
.shocking-fact .highlight {
 color:#ffc107;
 font-weight:bold;
 font-size:1.2rem;
}
/* 日本地図検索演出 */
.japan-search-visualization {
 margin:60px 0;
 padding:40px;
 background:rgba(0, 0, 0, 0.3);
 border-radius:20px;
}
.visualization-title {
 font-size:2rem;
 color:#ffc107;
 margin-bottom:40px;
 text-shadow:2px 2px 4px rgba(0, 0, 0, 0.5);
}
.japan-map-container {
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:40px;
 align-items:center;
}
.japan-map {
 position:relative;
 width:100%;
 max-width:500px;
 margin:0 auto;
}
.japan-svg {
 width:100%;
 height:auto;
 filter:drop-shadow(0 0 20px rgba(25, 118, 210, 0.5));
}
/* 検索ポイント */
.search-point {
 position:absolute;
 cursor:pointer;
}
.search-point.tokyo { top:50%;left:70%;}
.search-point.osaka { top:60%;left:55%;}
.search-point.nagoya { top:55%;left:60%;}
.search-point.fukuoka { top:65%;left:30%;}
.search-point.sapporo { top:20%;left:75%;}
.search-point.sendai { top:45%;left:75%;}
.pulse-dot {
 width:20px;
 height:20px;
 background:#ff5252;
 border-radius:50%;
 position:relative;
 animation:dot-pulse 2s ease-in-out infinite;
}
@keyframes dot-pulse {
 0% {
 box-shadow:0 0 0 0 rgba(255, 82, 82, 0.7),
 0 0 0 0 rgba(255, 82, 82, 0.5);
 }
 50% {
 box-shadow:0 0 0 20px rgba(255, 82, 82, 0),
 0 0 0 40px rgba(255, 82, 82, 0);
 }
 100% {
 box-shadow:0 0 0 0 rgba(255, 82, 82, 0),
 0 0 0 0 rgba(255, 82, 82, 0);
 }
}
.search-popup {
 position:absolute;
 bottom:30px;
 left:50%;
 transform:translateX(-50%);
 background:rgba(0, 0, 0, 0.9);
 color:white;
 padding:8px 15px;
 border-radius:5px;
 white-space:nowrap;
 font-size:0.9rem;
 opacity:0;
 pointer-events:none;
 transition:opacity 0.3s;
}
.search-point:hover .search-popup {
 opacity:1;
}
/* リアルタイム検索ログ */
.realtime-search-log {
 background:rgba(0, 0, 0, 0.5);
 padding:30px;
 border-radius:15px;
 max-height:400px;
 overflow:hidden;
}
.realtime-search-log h4 {
 color:#ffc107;
 margin-bottom:20px;
 font-size:1.3rem;
}
.search-log-container {
 overflow:hidden;
 position:relative;
}
.search-log-item {
 display:flex;
 align-items:center;
 gap:15px;
 padding:15px;
 background:rgba(255, 82, 82, 0.1);
 border-left:4px solid #ff5252;
 margin-bottom:10px;
 animation:log-slide-in 0.5s ease-out;
 transition:all 0.3s;
}
@keyframes log-slide-in {
 from {
 transform:translateX(100%);
 opacity:0;
 }
 to {
 transform:translateX(0);
 opacity:1;
 }
}
.search-log-item:hover {
 background:rgba(255, 82, 82, 0.2);
 transform:translateX(10px);
}
.log-time {
 color:#ffc107;
 font-weight:bold;
 min-width:80px;
}
.log-location {
 color:#4fc3f7;
 min-width:80px;
}
.log-query {
 color:#ff5252;
 font-weight:bold;
 font-size:1.1rem;
}
/* 追加の警告 */
.additional-warning {
 margin-top:60px;
 padding:40px;
 background:linear-gradient(135deg, rgba(255, 193, 7, 0.2) 0%, rgba(255, 82, 82, 0.2) 100%);
 border-radius:20px;
 border:2px solid #ffc107;
}
.warning-title {
 font-size:1.5rem;
 color:#ffc107;
 margin-bottom:20px;
}
.warning-content {
 font-size:1.3rem;
 line-height:2;
}
.warning-content strong {
 color:#ff5252;
 text-shadow:2px 2px 4px rgba(0, 0, 0, 0.3);
}
/* 検索されているイメージ */
.search-happening-now {
 margin-top:40px;
 padding:30px;
 background:rgba(0, 0, 0, 0.2);
 border-radius:15px;
}
.search-device-grid {
 display:flex;
 justify-content:center;
 gap:50px;
 margin-bottom:20px;
}
.search-device {
 text-align:center;
 animation:device-pulse 3s infinite;
}
.search-device i {
 font-size:3rem;
 margin-bottom:10px;
 color:#ffc107;
}
.search-device span {
 display:block;
 font-size:0.9rem;
}
@keyframes device-pulse {
 0%, 100% {
 transform:scale(1);
 opacity:0.8;
 }
 50% {
 transform:scale(1.1);
 opacity:1;
 }
}
.search-happening-text {
 font-size:1.3rem;
 font-weight:bold;
 color:#ffc107;
 text-align:center;
 animation:blink 2s infinite;
}
@keyframes blink {
 0%, 100% {
 opacity:1;
 }
 50% {
 opacity:0.7;
 }
}
/* 希望の提示 */
.hope-message {
 text-align:center;
 margin-top:60px;
}
.hope-message .strong-message {
 font-size:1.5rem;
 font-weight:bold;
 color:#ffc107;
 text-shadow:2px 2px 4px rgba(0, 0, 0, 0.3);
}
/* ========== Evidence Section ========== */
.evidence-section {
 padding:80px 0;
 background:#f5f5f5;
}
.before-after-visual {
 margin:50px 0;
 position:relative;
}
/* 晴れやかな演出（強化版） */
.sunshine-effect {
 position:absolute;
 top:-50px;
 left:50%;
 transform:translateX(-50%);
 z-index:10;
 pointer-events:none;
}
.sun-burst {
 position:relative;
 width:150px;
 height:150px;
 margin:0 auto;
}
.sun-burst i {
 font-size:100px;
 color:#ffc107;
 filter:drop-shadow(0 0 30px rgba(255, 193, 7, 0.8));
}
.sun-burst i.rotating {
 animation:rotate-sun 20s linear infinite;
}
@keyframes rotate-sun {
 0% { transform:rotate(0deg);}
 100% { transform:rotate(360deg);}
}
.sun-rays {
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%, -50%);
 width:300px;
 height:300px;
}
.ray {
 position:absolute;
 top:50%;
 left:50%;
 width:150px;
 height:3px;
 background:linear-gradient(90deg, rgba(255, 193, 7, 0.8) 0%, transparent 100%);
 transform-origin:left center;
}
.ray.shining {
 animation:shine 3s ease-in-out infinite;
}
@keyframes shine {
 0%, 100% { opacity:0.5;}
 50% { opacity:1;}
}
.ray-1 { transform:rotate(0deg);}
.ray-2 { transform:rotate(45deg);}
.ray-3 { transform:rotate(90deg);}
.ray-4 { transform:rotate(135deg);}
.ray-5 { transform:rotate(180deg);}
.ray-6 { transform:rotate(225deg);}
.ray-7 { transform:rotate(270deg);}
.ray-8 { transform:rotate(315deg);}
.sparkle-burst {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
}
.sparkle-burst i {
 position:absolute;
 color:#ffc107;
 font-size:20px;
 animation:sparkle-float 4s ease-in-out infinite;
}
.sparkle-1 { top:20%;left:20%;animation-delay:0s;}
.sparkle-2 { top:30%;right:25%;animation-delay:1s;}
.sparkle-3 { bottom:25%;left:30%;animation-delay:2s;}
.sparkle-4 { bottom:35%;right:20%;animation-delay:3s;}
@keyframes sparkle-float {
 0%, 100% {
 transform:translateY(0) scale(1);
 opacity:0;
 }
 50% {
 transform:translateY(-20px) scale(1.5);
 opacity:1;
 }
}
.visual-title {
 text-align:center;
 font-size:2rem;
 margin-bottom:40px;
 color:#0d47a1;
 position:relative;
 z-index:20;
}
.visual-title.rainbow-text {
 background:linear-gradient(90deg, 
 #f44336, #ff9800, #ffeb3b, #4caf50, 
 #2196f3, #3f51b5, #9c27b0, #f44336);
 background-size:200% 100%;
 -webkit-background-clip:text;
 background-clip:text;
 -webkit-text-fill-color:transparent;
 animation:rainbow-flow 5s linear infinite;
 font-weight:900;
 font-size:2.5rem;
}
@keyframes rainbow-flow {
 0% { background-position:0% 50%;}
 100% { background-position:200% 50%;}
}
.search-transformation {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 margin-bottom:30px;
}
.search-transformation h4 {
 font-size:1.3rem;
 margin-bottom:20px;
 color:#0d47a1;
 display:flex;
 align-items:center;
 gap:10px;
}
.transformation-content {
 display:grid;
 grid-template-columns:1fr auto 1fr;
 align-items:center;
 gap:30px;
}
.before-state {
 background:#263238;
 padding:30px;
 border-radius:15px;
 position:relative;
 overflow:hidden;
 box-shadow:inset 0 0 50px rgba(0, 0, 0, 0.5);
}
.before-state.dark-mood::before {
 content:'';
 position:absolute;
 top:-50%;
 left:-50%;
 width:200%;
 height:200%;
 background:radial-gradient(circle, transparent 30%, rgba(0, 0, 0, 0.8) 70%);
 animation:dark-pulse 5s ease-in-out infinite;
}
@keyframes dark-pulse {
 0%, 100% { transform:scale(1);opacity:0.5;}
 50% { transform:scale(1.1);opacity:0.8;}
}
.dark-cloud {
 position:absolute;
 top:-20px;
 right:-20px;
 width:100px;
 height:100px;
 background:#1a1a1a;
 border-radius:50%;
 filter:blur(30px);
 opacity:0.8;
 animation:cloud-float 10s ease-in-out infinite;
}
@keyframes cloud-float {
 0%, 100% { transform:translate(0, 0);}
 50% { transform:translate(-20px, 10px);}
}
.after-state {
 background:linear-gradient(135deg, #fff9c4 0%, #ffecb3 100%);
 padding:30px;
 border-radius:15px;
 position:relative;
 overflow:hidden;
 box-shadow:0 0 50px rgba(255, 193, 7, 0.3);
}
.after-state.glowing {
 animation:glow-pulse 3s ease-in-out infinite;
}
@keyframes glow-pulse {
 0%, 100% { box-shadow:0 0 30px rgba(255, 193, 7, 0.3);}
 50% { box-shadow:0 0 60px rgba(255, 193, 7, 0.6);}
}
.rainbow-effect {
 position:absolute;
 top:-50%;
 left:-50%;
 width:200%;
 height:200%;
 background:linear-gradient(45deg, 
 transparent 30%,
 rgba(255, 0, 0, 0.1) 35%,
 rgba(255, 165, 0, 0.1) 40%,
 rgba(255, 255, 0, 0.1) 45%,
 rgba(0, 255, 0, 0.1) 50%,
 rgba(0, 0, 255, 0.1) 55%,
 rgba(75, 0, 130, 0.1) 60%,
 rgba(238, 130, 238, 0.1) 65%,
 transparent 70%);
 animation:rainbow-sweep 5s linear infinite;
}
@keyframes rainbow-sweep {
 0% { transform:translateX(-100%) translateY(-100%) rotate(0deg);}
 100% { transform:translateX(100%) translateY(100%) rotate(45deg);}
}
.celebration-confetti {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 pointer-events:none;
}
.celebration-confetti i {
 position:absolute;
 color:#ffc107;
 animation:confetti-fall 3s ease-in-out infinite;
}
.star-1 { top:10%;left:20%;font-size:15px;animation-delay:0s;}
.star-2 { top:15%;right:30%;font-size:20px;animation-delay:1s;}
.star-3 { top:20%;left:50%;font-size:18px;animation-delay:2s;}
@keyframes confetti-fall {
 0% {
 transform:translateY(-20px) rotate(0deg);
 opacity:0;
 }
 20% {
 opacity:1;
 }
 100% {
 transform:translateY(100px) rotate(720deg);
 opacity:0;
 }
}
.search-item {
 padding:15px 20px;
 margin-bottom:15px;
 border-radius:10px;
 display:flex;
 align-items:center;
 gap:10px;
 position:relative;
 z-index:1;
 transition:all 0.3s;
}
.search-item.negative {
 background:rgba(211, 47, 47, 0.8);
 color:white;
 border:2px solid #b71c1c;
 box-shadow:0 3px 10px rgba(211, 47, 47, 0.3);
}
.search-item.positive {
 background:rgba(76, 175, 80, 0.9);
 color:white;
 border:2px solid #2e7d32;
 box-shadow:0 3px 20px rgba(76, 175, 80, 0.4);
}
.search-item.positive.shining {
 animation:item-shine 2s ease-in-out infinite;
}
@keyframes item-shine {
 0%, 100% { 
 transform:scale(1);
 box-shadow:0 3px 20px rgba(76, 175, 80, 0.4);
 }
 50% { 
 transform:scale(1.05);
 box-shadow:0 5px 30px rgba(76, 175, 80, 0.8);
 }
}
.search-item.positive .sparkle {
 animation:sparkle-rotate 2s linear infinite;
}
@keyframes sparkle-rotate {
 0% { transform:rotate(0deg) scale(1);}
 50% { transform:rotate(180deg) scale(1.2);}
 100% { transform:rotate(360deg) scale(1);}
}
.success-message {
 margin-top:20px;
 padding:15px;
 background:rgba(255, 255, 255, 0.9);
 border-radius:10px;
 text-align:center;
 font-weight:bold;
 color:#2e7d32;
 border:2px solid #4caf50;
 animation:success-appear 1s ease-out;
}
@keyframes success-appear {
 0% {
 opacity:0;
 transform:translateY(20px);
 }
 100% {
 opacity:1;
 transform:translateY(0);
 }
}
.success-message i {
 color:#4caf50;
 margin-right:10px;
 font-size:1.2rem;
}
.transformation-arrow {
 text-align:center;
 color:#1976d2;
}
.transformation-arrow {
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:10px;
}
.transformation-arrow i {
 font-size:3rem;
 display:block;
 margin:10px 0;
 color:#1976d2;
 animation:magic-wand 2s ease-in-out infinite;
}
@keyframes magic-wand {
 0%, 100% { transform:rotate(-10deg) scale(1);}
 50% { transform:rotate(10deg) scale(1.2);}
}
.sparkle-effect {
 position:relative;
}
.sparkle-effect i {
 color:#ffc107;
 font-size:1.5rem;
 animation:sparkle-burst 1.5s ease-out infinite;
}
@keyframes sparkle-burst {
 0% { transform:scale(0) rotate(0deg);opacity:0;}
 50% { transform:scale(1.5) rotate(180deg);opacity:1;}
 100% { transform:scale(2) rotate(360deg);opacity:0;}
}
/* ポジティブメッセージ */
.transformation-message {
 text-align:center;
 margin-top:50px;
 padding:40px;
 background:linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
 border-radius:20px;
 position:relative;
 overflow:hidden;
}
.transformation-message.radiant {
 box-shadow:0 10px 40px rgba(33, 150, 243, 0.3);
}
.light-burst {
 position:relative;
 margin-bottom:20px;
}
.light-burst i {
 font-size:4rem;
 color:#ffc107;
 filter:drop-shadow(0 0 20px rgba(255, 193, 7, 0.6));
}
.light-burst i.pulse-glow {
 animation:pulse-light 2s ease-in-out infinite;
}
@keyframes pulse-light {
 0%, 100% { 
 transform:scale(1);
 filter:drop-shadow(0 0 20px rgba(255, 193, 7, 0.6));
 }
 50% { 
 transform:scale(1.2);
 filter:drop-shadow(0 0 40px rgba(255, 193, 7, 1));
 }
}
.hope-title {
 font-size:2.5rem;
 color:#0d47a1;
 margin-bottom:20px;
 font-weight:900;
 text-shadow:2px 2px 4px rgba(0, 0, 0, 0.1);
}
.hope-text {
 font-size:1.2rem;
 line-height:1.8;
 color:#333;
}
.emphasis-text {
 font-size:1.5rem;
 font-weight:bold;
 color:#1976d2;
 display:block;
 margin-bottom:10px;
}
.sub-text {
 color:#1a1a1a;
 font-size:1.1rem;
}
.future-icons {
 margin-top:30px;
 display:flex;
 justify-content:center;
 gap:30px;
}
.future-icons i {
 font-size:2.5rem;
 color:#4caf50;
 animation:icon-bounce 3s ease-in-out infinite;
}
.smile-1 { animation-delay:0s;}
.smile-2 { animation-delay:0.5s;}
.smile-3 { animation-delay:1s;}
@keyframes icon-bounce {
 0%, 100% { transform:translateY(0);}
 50% { transform:translateY(-10px);}
}
/* 数字で見る現実 */
.evidence-stats {
 margin-top:60px;
}
.stats-container {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
 gap:30px;
 margin:40px 0;
}
.stat-box {
 background:white;
 padding:40px 20px;
 border-radius:15px;
 text-align:center;
 box-shadow:0 5px 20px rgba(0, 0, 0, 0.1);
 transition:transform 0.3s;
}
.stat-box:hover {
 transform:translateY(-10px);
}
.stat-number {
 font-size:3rem;
 font-weight:900;
 color:#1976d2;
 margin-bottom:10px;
}
.stat-label {
 font-size:1.1rem;
 color:#333;
}
.stats-message {
 text-align:center;
 font-size:1.3rem;
 font-weight:bold;
 color:#0d47a1;
}
/* ========== Empathy Section ========== */
.empathy-section {
 padding:80px 0;
 background:linear-gradient(to bottom, #f5f5f5, white);
}
.emotion-content {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
 gap:30px;
 margin-bottom:60px;
}
.emotion-card {
 background:white;
 padding:40px;
 border-radius:15px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 text-align:center;
 transition:transform 0.3s;
}
.emotion-card:hover {
 transform:translateY(-5px);
}
.emotion-card i {
 font-size:3rem;
 color:#1976d2;
 margin-bottom:20px;
}
.device-check {
 margin-top:20px;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:10px;
 color:#d32f2f;
 font-weight:bold;
}
.turning-point {
 background:#0d47a1;
 color:white;
 padding:60px 40px;
 border-radius:20px;
 text-align:center;
}
.turning-point h3 {
 font-size:2rem;
 margin-bottom:30px;
}
.story-quote {
 margin-bottom:30px;
}
.quote-text {
 font-size:2rem;
 font-style:italic;
 opacity:0.8;
}
.story-content {
 font-size:1.1rem;
 line-height:1.8;
}
.story-content .highlight {
 color:#ffc107;
 font-weight:bold;
}
/* ========== Trust Section ========== */
.trust-section {
 padding:80px 0;
 background:#f5f5f5;
}
.platform-achievements {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));
 gap:40px;
 margin-bottom:60px;
}
.platform-card {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 transition:transform 0.3s;
}

.platform-header h3 {
 font-size:1.8rem;
 color:#0d47a1;
 margin-bottom:20px;
}
.rating {
 display:flex;
 align-items:center;
 gap:10px;
 margin-bottom:20px;
}
.stars {
 color:#ffc107;
 font-size:1.5rem;
}
.score {
 font-size:2rem;
 font-weight:bold;
 color:#0d47a1;
}
.certified-badge {
 background:#1976d2;
 color:white;
 padding:10px 20px;
 border-radius:30px;
 display:inline-flex;
 align-items:center;
 gap:10px;
 margin-bottom:20px;
}
.achievement-list {
 list-style:none;
 margin-bottom:20px;
}
.achievement-list li {
 padding:10px 0;
 display:flex;
 align-items:center;
 gap:10px;
}
.achievement-list i {
 color:#4caf50;
}
.existing-only-notice {
 background:#fff3cd;
 color:#856404;
 padding:15px;
 border-radius:10px;
 font-size:0.9rem;
}
/* 生の声 */
.client-voices {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
}
.client-voices h3 {
 font-size:1.5rem;
 color:#0d47a1;
 margin-bottom:30px;
}
.voice-timeline {
 margin-bottom:30px;
}
.voice-item {
 padding:20px;
 border-left:4px solid #1976d2;
 margin-bottom:20px;
 background:#f8f8f8;
 transition:transform 0.3s;
}
.voice-item:hover {
 transform:translateX(10px);
}
.voice-header {
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:10px;
}
.voice-date {
 color:#444;
 font-size:0.9rem;
}
.voice-rating {
 color:#ffc107;
 font-size:1.2rem;
}
.voice-text {
 font-size:1.1rem;
 font-style:italic;
 color:#333;
}
.more-reviews-link {
 color:#1976d2;
 text-decoration:none;
 font-weight:bold;
 transition:color 0.3s;
}
.more-reviews-link:hover {
 color:#0d47a1;
}
/* ========== Uniqueness Section ========== */
.uniqueness-section {
 padding:80px 0;
 background:white;
}
.secret-reveal h3 {
 text-align:center;
 font-size:1.8rem;
 color:#0d47a1;
 margin-bottom:40px;
}
.approach-comparison {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));
 gap:40px;
 margin-bottom:60px;
}
.approach-card {
 padding:40px;
 border-radius:20px;
 text-align:center;
}
.approach-card.lawyer {
 background:#ffebee;
 border:2px solid #d32f2f;
}
.approach-card.ours {
 background:#e8f5e9;
 border:2px solid #4caf50;
}
.approach-card h4 {
 font-size:1.3rem;
 margin-bottom:30px;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:10px;
}
.approach-flow {
 display:flex;
 align-items:center;
 justify-content:center;
 flex-wrap:wrap;
 gap:20px;
}
.flow-step {
 background:white;
 padding:10px 20px;
 border-radius:30px;
 font-weight:bold;
 box-shadow:0 3px 10px rgba(0, 0, 0, 0.1);
}
.flow-step.alert {
 background:#d32f2f;
 color:white;
}
.flow-step.success {
 background:#4caf50;
 color:white;
}
.concrete-example {
 background:#f5f5f5;
 padding:40px;
 border-radius:20px;
}
.concrete-example h4 {
 font-size:1.5rem;
 color:#0d47a1;
 margin-bottom:30px;
 text-align:center;
}
.case-title {
 font-size:1.2rem;
 font-weight:bold;
 margin-bottom:3rem;
 color:#fff;
}
.case-comparison {
 display:grid;
 gap:20px;
 margin-bottom:20px;
}
.case-item {
 padding:15px;
 background:white;
 border-radius:10px;
 box-shadow:0 3px 10px rgba(0, 0, 0, 0.1);
}
.case-item .fail {
 color:#d32f2f;
 font-weight:bold;
}
.case-item .success {
 color:#4caf50;
 font-weight:bold;
}
.method-note {
 text-align:center;
 color:#333;
 font-style:italic;
}
/* ========== Urgency Section ========== */
.urgency-section {
 padding:80px 0;
 background:#fff3cd;
}
.urgency-reasons {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
 gap:30px;
 margin-bottom:60px;
}
.reason-card {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 display:flex;
 gap:20px;
 align-items:flex-start;
}
.reason-number {
 background:#0d47a1;
 color:white;
 width:60px;
 height:60px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:2rem;
 font-weight:bold;
 flex-shrink:0;
}
.reason-content h3 {
 font-size:1.3rem;
 color:#0d47a1;
 margin-bottom:10px;
}
.reason-content p {
 color:#333;
}
.damage-timeline {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
}
.damage-timeline h3 {
 font-size:1.5rem;
 color:#d32f2f;
 margin-bottom:30px;
 text-align:center;
}
.timeline-items {
 max-width:600px;
 margin:0 auto;
}
.timeline-item {
 display:flex;
 align-items:center;
 padding:20px;
 margin-bottom:15px;
 background:#f8f8f8;
 border-radius:10px;
 transition:all 0.3s;
}
.timeline-item:hover {
 transform:translateX(10px);
 box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);
}
.timeline-item.alert {
 background:#ffebee;
 border:2px solid #d32f2f;
}
.timeline-period {
 font-weight:bold;
 color:#0d47a1;
 margin-right:20px;
 min-width:120px;
}
.timeline-effect {
 color:#333;
}
.timeline-item.alert .timeline-effect {
 color:#d32f2f;
 font-weight:bold;
}
/* ========== Limited Section ========== */
.limited-section {
 padding:60px 0;
 background:#ffebee;
}
.limited-content {
 text-align:center;
}
.limited-message {
 background:white;
 padding:40px;
 border-radius:20px;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 max-width:700px;
 margin:0 auto;
}
.limited-message i {
 font-size:3rem;
 color:#d32f2f;
 margin-bottom:20px;
}
.limited-message p {
 font-size:1.1rem;
 line-height:1.8;
 color:#333;
}
.limited-message strong {
 color:#d32f2f;
 font-size:1.3rem;
}
/* ========== Pricing Preview Section ========== */
.pricing-section {
 padding:80px 0;
 background:#f5f5f5;
}
.section-subtitle {
 text-align:center;
 font-size:1.3rem;
 color:#333;
 margin-bottom:50px;
}
.pricing-preview {
 max-width:1000px;
 margin:0 auto;
}
.pricing-highlight {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:30px;
 margin-bottom:50px;
}
.highlight-card {
 background:white;
 padding:40px;
 border-radius:20px;
 text-align:center;
 box-shadow:0 10px 30px rgba(0, 0, 0, 0.1);
 transition:transform 0.3s;
}
.highlight-card:hover {
 transform:translateY(-10px);
}
.highlight-card i {
 font-size:3rem;
 color:#1976d2;
 margin-bottom:20px;
}
.highlight-card h3 {
 font-size:1.5rem;
 color:#0d47a1;
 margin-bottom:10px;
}
.highlight-card p {
 color:#333;
 margin-bottom:20px;
}
.price-from {
 font-size:1.3rem;
 font-weight:bold;
 color:#1976d2;
}
.view-pricing-button {
 text-align:center;
}
.pricing-link-button {
 display:inline-flex;
 align-items:center;
 gap:10px;
 background:#1976d2;
 color:white;
 padding:20px 40px;
 border-radius:50px;
 text-decoration:none;
 font-size:1.2rem;
 font-weight:bold;
 transition:all 0.3s;
 box-shadow:0 5px 20px rgba(25, 118, 210, 0.3);
}
.pricing-link-button:hover {
 background:#0d47a1;
 transform:translateY(-3px);
 box-shadow:0 10px 30px rgba(13, 71, 161, 0.4);
}
/* ========== Final CTA Section ========== */
.final-cta-section {
 padding:100px 0;
 background:linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
 color:white;
}
.final-cta-content {
 max-width:900px;
 margin:0 auto;
 text-align:center;
}
.cta-title {
 font-size:3rem;
 margin-bottom:60px;
}
.final-question {
 font-size:1.3rem;
 line-height:2;
 margin-bottom:60px;
}
.strong-question {
 font-size:2rem;
 font-weight:bold;
 color:#ffc107;
 display:block;
 margin-top:30px;
}
.consultation-methods {
 margin-bottom:60px;
}
.consultation-methods h3 {
 font-size:2rem;
 margin-bottom:40px;
}
.method-cards {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:30px;
 margin-bottom:50px;
}
.method-card {
 background:rgba(255, 255, 255, 0.1);
 backdrop-filter:blur(10px);
 padding:30px;
 border-radius:20px;
 border:2px solid rgba(255, 255, 255, 0.2);
 transition:all 0.3s;
}
.method-card:hover {
 transform:translateY(-10px);
 background:rgba(255, 255, 255, 0.2);
}
.method-card.recommended {
 border:3px solid #ffc107;
 box-shadow:0 0 30px rgba(255, 193, 7, 0.3);
}
.method-number {
 background:#ffc107;
 color:#333;
 width:50px;
 height:50px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:1.5rem;
 font-weight:bold;
 margin:0 auto 20px;
}
.method-card h4 {
 font-size:1.3rem;
 margin-bottom:10px;
}
.method-desc {
 font-size:0.9rem;
 opacity:1;
}
.final-assurance {
 margin-bottom:60px;
}
.final-assurance h3 {
 font-size:2rem;
 margin-bottom:40px;
}
.assurance-items {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:30px;
}
.assurance-item {
 background:rgba(255, 255, 255, 0.1);
 padding:30px;
 border-radius:15px;
 backdrop-filter:blur(10px);
}
.assurance-item i {
 font-size:2rem;
 color:#ffc107;
 margin-bottom:15px;
}
.assurance-item strong {
 color:#4caf50;
}
/* プラットフォーム評価セクション */
.assurance-subtitle {
 text-align:center;
 color:#fff;
 margin-bottom:30px;
 font-size:1.1rem;
 opacity:0.9;
}
.platform-review {
 flex-direction:column;
 align-items:stretch;
 padding:25px;
 transition:all 0.3s ease;
 background:rgba(255, 255, 255, 0.95);
 height:100%;
 display:flex;
 min-height:450px;
 justify-content:space-between;
}
.platform-review:hover {
 transform:translateY(-5px);
 box-shadow:0 8px 25px rgba(0,0,0,0.2);
}
.platform-header {
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:10px;
 margin-bottom:25px;
 flex-shrink:0;
 text-align:center;
}
.platform-header .header-top {
 display:flex;
 align-items:center;
 gap:12px;
}
.platform-header i {
 font-size:2.5rem;
 color:#4fc3f7;
}
.platform-header h4 {
 font-size:1.5rem;
 color:#333;
 margin:0;
}
.rating-stars {
 display:flex;
 gap:3px;
 justify-content:center;
 margin-top:5px;
}
.rating-stars i {
 font-size:1.3rem;
 color:#ffc107;
}
.platform-message {
 flex:1;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 text-align:center;
 margin-bottom:20px;
}
.platform-message p {
 color:#555;
 font-size:1rem;
 line-height:1.6;
 margin-bottom:25px;
 flex-shrink:0;
 min-height:60px;
 display:flex;
 align-items:center;
 justify-content:center;
}
.trust-indicators {
 display:flex;
 flex-direction:column;
 gap:12px;
 align-items:center;
 width:100%;
 margin-bottom:30px;
 flex-shrink:0;
 min-height:120px;
 justify-content:center;
}
.trust-item {
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:10px;
 color:#4caf50;
 font-size:1rem;
 font-weight:500;
 background:none;
 padding:8px 16px;
 width:100%;
 max-width:200px;
 border-radius:6px;
 transition:background 0.2s;
 text-align:left;
}
.trust-item i {
 color:#4caf50;
 font-size:1.1rem;
 flex-shrink:0;
 width:20px;
 min-width:20px;
 text-align:center;
}
.trust-item span {
 flex:1;
 text-align:left;
}
.platform-link {
 display:inline-flex;
 align-items:center;
 gap:8px;
 background:#4caf50;
 color:white;
 padding:12px 25px;
 border-radius:8px;
 text-decoration:none;
 font-weight:500;
 transition:all 0.3s ease;
 justify-content:center;
 border:none;
 box-shadow:0 2px 8px rgba(76, 175, 80, 0.2);
 flex-shrink:0;
 margin-top:auto;
}
.platform-link:hover {
 background:#45a049;
 transform:translateY(-1px);
 box-shadow:0 4px 12px rgba(76, 175, 80, 0.3);
}
.platform-link i {
 font-size:0.9rem;
 transition:transform 0.3s ease;
}
.platform-link:hover i {
 transform:translateX(3px);
}
.final-message {
 font-size:1.3rem;
 line-height:2;
 margin-bottom:60px;
}
.emphasis {
 font-size:1.5rem;
 font-weight:bold;
 color:#ffc107;
}
.cta-button-container {
 margin-top:40px;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:20px;
}
.cta-button {
 display:inline-block;
 background:#ffc107;
 color:#333;
 padding:25px 60px;
 border-radius:50px;
 text-decoration:none;
 font-size:1.5rem;
 font-weight:bold;
 transition:all 0.3s;
 box-shadow:0 10px 30px rgba(255, 193, 7, 0.4);
 position:relative;
}
.cta-button:hover {
 transform:translateY(-5px);
 box-shadow:0 15px 40px rgba(255, 193, 7, 0.6);
}
.cta-button.pulse {
 animation:pulse-button 2s infinite;
}
@keyframes pulse-button {
 0% {
 box-shadow:0 10px 30px rgba(255, 193, 7, 0.4);
 }
 50% {
 box-shadow:0 10px 50px rgba(255, 193, 7, 0.8);
 }
 100% {
 box-shadow:0 10px 30px rgba(255, 193, 7, 0.4);
 }
}
.button-subtitle {
 display:block;
 font-size:0.9rem;
 font-weight:normal;
 margin-top:5px;
 opacity:0.8;
}
/* LINEボタン */
.line-button {
 display:inline-flex;
 align-items:center;
 gap:15px;
 background:#00B900;
 color:white;
 padding:20px 50px;
 border-radius:50px;
 text-decoration:none;
 font-size:1.3rem;
 font-weight:bold;
 transition:all 0.3s;
 box-shadow:0 10px 30px rgba(0, 185, 0, 0.3);
 position:relative;
}
.line-button:hover {
 background:#00A000;
 transform:translateY(-5px);
 box-shadow:0 15px 40px rgba(0, 185, 0, 0.5);
 color:white;
}
.line-button i {
 font-size:1.8rem;
}
.line-button .button-subtitle {
 font-size:0.85rem;
 font-weight:normal;
 opacity:0.9;
}
/* 固定フッター */
.fixed-footer {
 position:fixed;
 bottom:0;
 left:0;
 right:0;
 background:rgba(255, 255, 255, 0.95);
 backdrop-filter:blur(10px);
 box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);
 padding:10px;
 z-index:999;
 display:flex;
 justify-content:center;
 gap:15px;
 align-items:center;
}
.fixed-line-button {
 display:inline-flex;
 flex-direction:column;
 align-items:center;
 gap:5px;
 background:#00B900;
 color:white;
 padding:15px 40px;
 border-radius:30px;
 text-decoration:none;
 font-weight:bold;
 transition:all 0.3s;
 box-shadow:0 3px 15px rgba(0, 185, 0, 0.3);
}
.fixed-line-button:hover {
 background:#00A000;
 transform:translateY(-2px);
 box-shadow:0 5px 20px rgba(0, 185, 0, 0.5);
}
.fixed-line-button i {
 font-size:2rem;
}
.fixed-button-text {
 font-size:1.1rem;
}
.fixed-button-sub {
 font-size:0.8rem;
 opacity:0.9;
}
/* 固定フッター料金シミュレーターボタン */
.fixed-price-btn {
 display:flex;
 align-items:center;
 gap:8px;
 background:linear-gradient(135deg, #e74c3c, #c0392b);
 color:white;
 padding:12px 20px;
 border-radius:25px;
 text-decoration:none;
 font-weight:bold;
 transition:all 0.3s;
 box-shadow:0 3px 10px rgba(231, 76, 60, 0.4);
}
.fixed-price-btn:hover {
 background:linear-gradient(135deg, #c0392b, #a93226);
 transform:translateY(-2px);
 box-shadow:0 5px 15px rgba(231, 76, 60, 0.5);
}
.fixed-price-btn i {
 font-size:1.2rem;
}
/* アニメーション */
.animate-fade {
 animation:fadeIn 1s ease-out;
}
.animate-fade-delay {
 animation:fadeIn 1s ease-out 0.5s both;
}
.animate-slide {
 animation:slideIn 1s ease-out 0.8s both;
}
@keyframes fadeIn {
 from {
 opacity:0;
 transform:translateY(20px);
 }
 to {
 opacity:1;
 transform:translateY(0);
 }
}
@keyframes slideIn {
 from {
 opacity:0;
 transform:translateX(-50px);
 }
 to {
 opacity:1;
 transform:translateX(0);
 }
}
/* 追加アニメーション */
@keyframes shake {
 0%, 100% { transform:translateX(0);}
 10%, 30%, 50%, 70%, 90% { transform:translateX(-5px);}
 20%, 40%, 60%, 80% { transform:translateX(5px);}
}
@keyframes magic-pulse {
 0% { transform:scale(1) rotate(0deg);}
 50% { transform:scale(1.5) rotate(360deg);}
 100% { transform:scale(1) rotate(720deg);}
}
@keyframes success-glow {
 0% { 
 box-shadow:0 0 30px rgba(255, 193, 7, 0.3);
 filter:brightness(1);
 }
 50% { 
 box-shadow:0 0 60px rgba(255, 193, 7, 0.8);
 filter:brightness(1.2);
 }
 100% { 
 box-shadow:0 0 30px rgba(255, 193, 7, 0.3);
 filter:brightness(1);
 }
}
@keyframes super-sparkle {
 0% { 
 transform:scale(0) rotate(0deg);
 opacity:0;
 }
 50% { 
 transform:scale(2) rotate(180deg);
 opacity:1;
 }
 100% { 
 transform:scale(3) rotate(360deg);
 opacity:0;
 }
}
/* 外部サービスセクション */
.external-services {
 background:#f8f9fa;
 padding:60px 0;
}
.service-grid {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
 gap:30px;
 margin-top:40px;
}
.service-card {
 background:white;
 padding:30px;
 border-radius:10px;
 box-shadow:0 5px 15px rgba(0,0,0,0.1);
}
.service-card h3 {
 color:#333;
 margin-bottom:20px;
 font-size:1.3em;
}
.service-card ul {
 list-style:none;
 padding:0;
}
.service-card li {
 margin-bottom:15px;
}
.service-card a {
 color:#2980b9;
 text-decoration:none;
 display:flex;
 align-items:center;
 transition:0.3s;
}
.service-card a:hover {
 color:#1e5c8a;
}
.rating {
 color:#f39c12;
 margin-left:10px;
}
/* 信頼の証明セクション用スタイル */
.platform-header {
 display:flex;
 align-items:center;
 margin-bottom:25px;
}
.platform-header i {
 font-size:1.5em;
 color:#2980b9;
 margin-right:15px;
}
.platform-header h3 {
 margin:0;
 color:#333;
 font-size:1.4em;
}
.service-list {
 display:flex;
 flex-direction:column;
 gap:15px;
}
.service-item {
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:15px;
 background:#f8f9fa;
 border-radius:8px;
 border-left:4px solid #2980b9;
}
.service-item span {
 font-weight:500;
 color:#333;
}
.eval-btn {
 background:#2980b9;
 color:white !important;
 padding:8px 16px;
 border-radius:6px;
 font-size:0.9em;
 text-decoration:none;
 transition:0.3s;
}
.eval-btn:hover {
 background:#1e5c8a;
 color:white !important;
 transform:translateY(-2px);
 box-shadow:0 4px 8px rgba(0,0,0,0.2);
}
/* お客様の声セクション */
.testimonial-section {
 margin-top:60px;
 padding-top:40px;
 border-top:1px solid #e0e0e0;
}
.testimonial-section h3 {
 text-align:center;
 color:#333;
 font-size:2rem;
 margin-bottom:20px;
}
.testimonial-subtitle {
 text-align:center;
 color:#666;
 font-size:1.1rem;
 margin-bottom:50px;
}
.testimonial-category {
 margin-bottom:60px;
}
.category-title {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:10px;
 color:#2980b9;
 font-size:1.3rem;
 font-weight:bold;
 margin-bottom:30px;
 padding:15px 0;
 border-bottom:2px solid #e3f2fd;
}
.category-title i {
 font-size:1.2rem;
}
.testimonial-grid {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
 gap:25px;
 margin-bottom:30px;
}
.testimonial-card {
 background:white;
 padding:25px;
 border-radius:12px;
 box-shadow:0 4px 15px rgba(0,0,0,0.08);
 transition:all 0.3s ease;
 border-left:4px solid #2980b9;
}
.testimonial-card:hover {
 transform:translateY(-3px);
 box-shadow:0 8px 25px rgba(0,0,0,0.12);
}
.testimonial-header {
 display:flex;
 align-items:center;
 gap:12px;
 margin-bottom:18px;
}
.testimonial-header .stars {
 color:#ffc107;
 font-size:1.1rem;
 font-weight:bold;
}
.testimonial-header .reviewer-name {
 font-weight:bold;
 color:#333;
 font-size:0.95rem;
}
.testimonial-icon {
 font-size:1.6em;
 color:#2980b9;
 margin-right:8px;
}
.testimonial-text {
 color:#555;
 line-height:1.7;
 font-size:0.95rem;
 margin:0;
}
.testimonial-note {
 text-align:center;
 color:#888;
 font-size:0.9rem;
 margin-top:40px;
 line-height:1.6;
 padding:20px;
 background:rgba(255,255,255,0.7);
 border-radius:8px;
}
/* 価格ページ追加スタイル */
.supplementary-service-note {
 background:#f8f9fa;
 padding:20px;
 border-radius:10px;
 margin-top:20px;
}
.supplementary-service-note .note-title {
 font-weight:bold;
 color:#0d47a1;
 margin-bottom:10px;
}
.service-methods {
 list-style:none;
 padding-left:20px;
}
.service-methods li {
 position:relative;
 padding-left:20px;
 margin-bottom:8px;
}
.service-methods li:before {
 content:"✓";
 position:absolute;
 left:0;
 color:#4caf50;
 font-weight:bold;
}
.price-special-note {
 background:#fff9c4;
 padding:15px;
 border-radius:8px;
 margin-top:10px;
 font-size:0.9rem;
}
.price-special-note i {
 color:#f57c00;
 margin-right:8px;
}
.price-note-inline {
 font-size:0.85rem;
 color:#ff5722;
 font-weight:bold;
 margin-top:5px;
}
/* 付帯サービス詳細 */
.supplementary-services-detail {
 background:#f8f9fa;
 padding:40px;
 border-radius:20px;
 margin-top:40px;
}
.service-detail-grid {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
 gap:30px;
 margin-top:30px;
}
.detail-card {
 background:white;
 padding:30px;
 border-radius:15px;
 box-shadow:0 5px 15px rgba(0,0,0,0.1);
}
.detail-card h4 {
 color:#0d47a1;
 margin-bottom:20px;
 font-size:1.2rem;
}
.detail-content .price-label {
 font-size:0.95rem;
 margin-bottom:10px;
}
.detail-content .price {
 color:#1976d2;
 font-weight:bold;
 font-size:1.1rem;
}
.special-offer {
 background:#e8f5e9;
 padding:10px 15px;
 border-radius:8px;
 color:#2e7d32;
 font-weight:bold;
}
.special-offer .emphasis {
 color:#1b5e20;
 font-size:1.1rem;
}
.support-list {
 list-style:none;
 padding:0;
}
.support-list li {
 padding:8px 0;
 padding-left:25px;
 position:relative;
}
.support-list li:before {
 content:"•";
 position:absolute;
 left:10px;
 color:#1976d2;
}
.service-option {
 margin-bottom:10px;
 font-size:0.95rem;
}
.service-bottom-note {
 text-align:center;
 margin-top:30px;
 padding:20px;
 background:#e3f2fd;
 border-radius:10px;
}
.service-bottom-note i {
 color:#1976d2;
 font-size:1.5rem;
 margin-bottom:10px;
}
/* 口コミ施策料金表 */
.review-pricing-table {
 margin-top:30px;
}
.review-pricing-table h3 {
 color:#0d47a1;
 margin-bottom:20px;
 font-size:1.3rem;
}
/* 関連ワード非表示 */
.related-keyword-section {
 margin-top:40px;
}
.retention-rate-info {
 background:#e8f5e9;
 padding:20px;
 border-radius:10px;
 margin-top:20px;
 text-align:center;
}
.retention-rate-info i {
 color:#4caf50;
 font-size:1.5rem;
 margin-bottom:10px;
}
/* セットプラン */
.plan-visual {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:20px;
 margin:30px 0;
 flex-wrap:wrap;
}
.plan-visual.large {
 gap:15px;
}
.plan-component {
 background:#e3f2fd;
 padding:15px 25px;
 border-radius:30px;
 font-weight:bold;
 color:#0d47a1;
 text-align:center;
 min-width:150px;
}
.plan-component.special {
 background:#fff9c4;
 color:#f57c00;
}
.plus-sign {
 font-size:2rem;
 color:#1976d2;
 font-weight:bold;
}
.plus-sign.special {
 color:#f57c00;
}
.plan-description {
 font-size:0.95rem;
 line-height:1.8;
 color:#333;
 margin-bottom:20px;
}
.special-offer-box {
 background:linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
 color:white;
 padding:30px;
 border-radius:15px;
 margin-top:20px;
 text-align:center;
}
.offer-label {
 font-size:0.8rem;
 letter-spacing:2px;
 margin-bottom:10px;
 display:block;
}
.offer-description {
 font-size:0.95rem;
 margin-bottom:15px;
}
.discount-amount {
 font-size:2.5rem;
 font-weight:bold;
 margin:20px 0;
 text-shadow:2px 2px 4px rgba(0,0,0,0.2);
}
.discount-note {
 font-size:0.85rem;
 opacity:0.9;
}
.set-plan-note {
 text-align:center;
 color:#333;
 font-size:0.95rem;
 margin-top:30px;
 padding:20px;
 background:#f8f9fa;
 border-radius:10px;
}
/* 動的サジェスト演出 */
.dynamic-suggest-demo {
 margin:40px 0;
 padding:30px;
 background:rgba(255, 255, 255, 0.15);
 border-radius:15px;
 box-shadow:0 10px 30px rgba(0,0,0,0.3);
 border:2px solid rgba(255, 255, 255, 0.3);
 backdrop-filter:blur(10px);
}
.suggest-title {
 font-size:1.4rem;
 color:#ffffff;
 text-align:center;
 margin-bottom:30px;
 text-shadow:2px 2px 4px rgba(0,0,0,0.5);
 font-weight:bold;
}
.search-box-animation {
 max-width:500px;
 margin:0 auto;
}
.search-input-wrapper {
 position:relative;
 background:rgba(255, 255, 255, 0.95);
 border:2px solid rgba(255, 255, 255, 0.5);
 border-radius:30px;
 padding:15px 20px;
 margin-bottom:10px;
 box-shadow:0 5px 20px rgba(0,0,0,0.2);
}
.search-input-wrapper i {
 color:#333;
 font-size:1.1rem;
}
.animated-search-input {
 border:none;
 outline:none;
 font-size:1.1rem;
 width:calc(100% - 30px);
 background:transparent;
 margin-left:30px;
 color:#1a1a1a;
 font-weight:500;
}
.cursor-animation {
 position:absolute;
 right:20px;
 top:50%;
 transform:translateY(-50%);
 font-size:1.2rem;
 animation:blink 1s infinite;
 color:#333;
 font-weight:300;
}
@keyframes blink {
 0%, 50% { opacity:1;}
 51%, 100% { opacity:0;}
}
.negative-suggest-list {
 background:rgba(255, 255, 255, 0.98);
 border-radius:10px;
 box-shadow:0 5px 20px rgba(0,0,0,0.3);
 overflow:hidden;
 border:2px solid rgba(255, 255, 255, 0.8);
}
.negative-suggest-list .suggest-item {
 padding:12px 20px;
 border-bottom:1px solid #f0f0f0;
 opacity:0;
 transform:translateY(-10px);
 animation:appearSuggest 0.5s forwards;
 background:white;
 color:#333;
 font-weight:500;
}
.negative-suggest-list .suggest-item.negative {
 background:rgba(255, 235, 238, 0.5);
 border-left:3px solid #d32f2f;
}
.negative-suggest-list .suggest-item:hover {
 background:rgba(245, 245, 245, 0.8);
 cursor:pointer;
 transform:translateX(5px);
 transition:all 0.2s ease;
}
.negative-suggest-list .suggest-item i {
 color:#333;
 margin-right:10px;
}
.negative-suggest-list .suggest-item:nth-child(1) { animation-delay:0.5s;}
.negative-suggest-list .suggest-item:nth-child(2) { animation-delay:1s;}
.negative-suggest-list .suggest-item:nth-child(3) { animation-delay:1.5s;}
.negative-suggest-list .suggest-item:nth-child(4) { animation-delay:2s;}
@keyframes appearSuggest {
 to {
 opacity:1;
 transform:translateY(0);
 }
}
.suggest-text {
 margin-left:10px;
 color:#1a1a1a;
 font-weight:500;
}
.suggest-text .negative-word {
 color:#d32f2f;
 font-weight:bold;
 background:rgba(255, 235, 238, 0.8);
 padding:2px 8px;
 border-radius:4px;
 margin-left:5px;
 border:1px solid rgba(211, 47, 47, 0.3);
}
.search-impact-message {
 margin-top:30px;
 text-align:center;
 background:rgba(255, 193, 7, 0.15);
 padding:20px;
 border-radius:10px;
 border:2px solid rgba(255, 193, 7, 0.4);
 backdrop-filter:blur(5px);
}
.impact-text {
 font-size:1.1rem;
 color:#ffffff;
 text-shadow:1px 1px 3px rgba(0,0,0,0.5);
 font-weight:500;
}
.impact-text i {
 color:#ffc107;
 font-size:1.3rem;
 margin-right:8px;
 animation:pulse 2s infinite;
}
.impact-text .highlight {
 color:#ffc107;
 font-weight:bold;
 text-shadow:2px 2px 4px rgba(0,0,0,0.7);
}
.impact-text .danger {
 color:#ffeb3b;
 font-weight:bold;
 text-shadow:2px 2px 4px rgba(0,0,0,0.7);
 font-size:1.2em;
 background:rgba(255, 82, 82, 0.2);
 padding:2px 8px;
 border-radius:4px;
}
/* 日本地図拡張版 */
.japan-search-visualization.extended {
 margin:60px 0;
 padding:40px;
 background:linear-gradient(135deg, #1976d2 0%, #0d47a1 100%);
 border-radius:20px;
 box-shadow:0 15px 40px rgba(0,0,0,0.2);
 color:white;
}
.visualization-title {
 font-size:2rem;
 text-align:center;
 margin-bottom:40px;
 color:#ffc107;
 text-shadow:2px 2px 4px rgba(0,0,0,0.3);
}
.visualization-title i {
 color:#ffc107;
 margin-right:10px;
}
/* 検索統計 */
.search-statistics {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
 gap:30px;
 margin-bottom:40px;
}
.stat-item {
 text-align:center;
 background:rgba(255, 255, 255, 0.95);
 padding:25px;
 border-radius:15px;
 box-shadow:0 5px 20px rgba(0,0,0,0.2);
 transition:transform 0.3s ease;
 border:2px solid rgba(255, 193, 7, 0.3);
}
.stat-item:hover {
 transform:translateY(-5px);
 box-shadow:0 10px 30px rgba(0,0,0,0.15);
}
.stat-value {
 font-size:2.5rem;
 font-weight:bold;
 color:#2196f3;
 margin-bottom:10px;
}
.stat-label {
 font-size:0.9rem;
 color:#333;
 text-transform:uppercase;
 letter-spacing:1px;
}
/* リアルタイム検索ログ拡張版 */
.realtime-search-log.extended {
 background:rgba(255, 255, 255, 0.95);
 border-radius:15px;
 padding:30px;
 box-shadow:0 10px 30px rgba(0,0,0,0.2);
 margin-top:40px;
 border:2px solid rgba(255, 193, 7, 0.3);
}
.realtime-search-log h4 {
 font-size:1.5rem;
 margin-bottom:25px;
 color:#333;
}
.realtime-search-log h4 i {
 color:#ff5722;
 margin-right:10px;
}
.search-log-container.scrolling {
 max-height:300px;
 overflow-y:auto;
 padding-right:10px;
}
.search-log-container::-webkit-scrollbar {
 width:6px;
}
.search-log-container::-webkit-scrollbar-thumb {
 background:#ccc;
 border-radius:3px;
}
.search-log-item {
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:15px;
 margin-bottom:10px;
 background:#f8f9fa;
 border-radius:10px;
 transition:all 0.3s ease;
}
.search-log-item.new {
 background:#fff3e0;
 border:2px solid #ff9800;
 animation:pulse 2s infinite;
}
.log-device {
 color:#333;
 font-size:1.2rem;
}
/* 検索傾向分析 */
.search-trend-analysis {
 margin-top:30px;
 padding-top:30px;
 border-top:2px solid #f0f0f0;
}
.search-trend-analysis h5 {
 font-size:1.2rem;
 margin-bottom:20px;
 color:#333;
}

.trend-item {
 display:flex;
 align-items:center;
 margin-bottom:15px;
 position:relative;
}
.trend-keyword {
 width:80px;
 font-weight:bold;
 color:#333;
}
.trend-percentage {
 width:50px;
 text-align:right;
 margin-right:15px;
 font-weight:bold;
}
.trend-bar {
 height:25px;
 background:linear-gradient(90deg, #ff5722 0%, #ff9800 100%);
 border-radius:15px;
 transition:width 1s ease;
 animation:growBar 2s ease-out;
}
@keyframes growBar {
 from { width:0 !important;}
}
.trend-item.high .trend-percentage {
 color:#f44336;
}
.trend-item.medium .trend-percentage {
 color:#ff9800;
}
/* 危機感メッセージ */
.crisis-message {
 margin-top:60px;
}
.message-box.urgent {
 background:#ffebee;
 border:2px solid #f44336;
 border-radius:15px;
 padding:30px;
 text-align:center;
}
.message-box.urgent i {
 font-size:3rem;
 color:#f44336;
 margin-bottom:20px;
 animation:shake 0.5s infinite;
}
@keyframes shake {
 0%, 100% { transform:translateX(0);}
 25% { transform:translateX(-5px);}
 75% { transform:translateX(5px);}
}
.message-box h4 {
 font-size:1.8rem;
 color:#d32f2f;
 margin-bottom:20px;
}
.message-box p {
 font-size:1.1rem;
 line-height:1.8;
 color:#333;
}
.message-box .danger {
 color:#f44336;
 font-weight:bold;
 font-size:1.2rem;
}
.message-box .highlight {
 background:yellow;
 padding:2px 5px;
 color:#333;
 font-weight:bold;
}
/* PCとスマホからのアクセス演出 */
.access-devices-animation {
 display:flex;
 justify-content:center;
 gap:40px;
 margin:32px 0 24px 0;
}
.device-access {
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:10px;
 background:rgba(255,255,255,0.08);
 border-radius:16px;
 padding:18px 24px 14px 24px;
 box-shadow:0 2px 8px rgba(0,0,0,0.04);
 transition:box-shadow 0.2s;
}
.device-access i {
 font-size:2.5rem;
 color:#fff200;
 filter:drop-shadow(0 2px 6px rgba(0,0,0,0.10));
 margin-bottom:6px;
 transition:color 0.2s;
}
.device-access:hover {
 box-shadow:0 6px 18px rgba(0,0,0,0.10);
}
.device-access .access-label {
 color:#fff;
 font-size:1.08rem;
 font-weight:600;
 letter-spacing:0.04em;
 text-shadow:0 1px 4px rgba(0,0,0,0.10);
 margin-top:2px;
}
/* サブのデバイス表示（下部のグレー背景） */
.search-device-grid {
 display:flex;
 justify-content:center;
 gap:32px;
 margin:24px 0 12px 0;
}
.search-device {
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:6px;
}
.search-device i {
 font-size:2rem;
 color:#1976d2;
 filter:drop-shadow(0 1px 3px rgba(0,0,0,0.08));
 margin-bottom:2px;
}
.search-device span {
 color:#1976d2;
 font-size:0.98rem;
 font-weight:500;
 letter-spacing:0.02em;
}
.access-label {
 display:block;
 font-size:0.9rem;
 color:#333;
 margin-top:10px;
}
.access-pulse {
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%, -50%);
 width:60px;
 height:60px;
 border-radius:50%;
 background:rgba(33, 150, 243, 0.2);
 animation:pulse-ring 2s infinite;
 z-index:-1;
}
@keyframes pulse-ring {
 0% {
 transform:translate(-50%, -50%) scale(1);
 opacity:1;
 }
 100% {
 transform:translate(-50%, -50%) scale(2);
 opacity:0;
 }
}
/* 動的アクセス演出 */
.dynamic-access-display {
 margin:40px 0;
 padding:40px;
 background:rgba(255, 255, 255, 0.1);
 border-radius:20px;
 position:relative;
 overflow:hidden;
 border:2px solid rgba(255, 193, 7, 0.3);
 backdrop-filter:blur(10px);
}
.access-animation-container {
 position:relative;
 height:200px;
 margin-bottom:30px;
}
.device-icon-float {
 position:absolute;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:8px;
 animation:device-float-dynamic 15s infinite ease-in-out;
}
.device-icon-float i {
 font-size:2.5rem;
 color:#ffc107;
 filter:drop-shadow(0 4px 8px rgba(255, 193, 7, 0.4));
 text-shadow:0 0 10px rgba(255, 193, 7, 0.5);
}
.access-location {
 font-size:0.9rem;
 color:#333;
 background:white;
 padding:4px 12px;
 border-radius:15px;
 box-shadow:0 2px 10px rgba(0,0,0,0.1);
 white-space:nowrap;
}
.icon-1 {
 top:10%;
 left:10%;
 animation-delay:0s;
}
.icon-2 {
 top:20%;
 right:15%;
 animation-delay:2.5s;
}
.icon-3 {
 bottom:30%;
 left:25%;
 animation-delay:5s;
}
.icon-4 {
 bottom:20%;
 right:20%;
 animation-delay:7.5s;
}
.icon-5 {
 top:50%;
 left:50%;
 animation-delay:10s;
}
.icon-6 {
 top:40%;
 right:35%;
 animation-delay:12.5s;
}
@keyframes device-float-dynamic {
 0% {
 transform:translate(0, 0) scale(0.8);
 opacity:0;
 }
 10% {
 transform:translate(20px, -20px) scale(1);
 opacity:1;
 }
 50% {
 transform:translate(-30px, 30px) scale(1.1);
 opacity:1;
 }
 90% {
 transform:translate(10px, -10px) scale(1);
 opacity:1;
 }
 100% {
 transform:translate(0, 0) scale(0.8);
 opacity:0;
 }
}
.access-message {
 text-align:center;
 font-size:1.1rem;
 color:white;
 font-weight:500;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:15px;
 text-shadow:1px 1px 3px rgba(0,0,0,0.5);
}
.access-message i {
 font-size:1.5rem;
 color:#ffc107;
 animation:wifi-pulse 2s infinite;
}
@keyframes wifi-pulse {
 0%, 100% {
 transform:scale(1);
 opacity:0.7;
 }
 50% {
 transform:scale(1.2);
 opacity:1;
 }
}
/* 追加のデバイスアクセス演出 */
.device-connection-lines {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 pointer-events:none;
 overflow:hidden;
}
.connection-line {
 position:absolute;
 width:2px;
 height:100px;
 background:linear-gradient(to bottom, 
 transparent 0%, 
 rgba(255, 193, 7, 0.8) 50%, 
 transparent 100%);
 animation:data-flow 3s linear infinite;
}
.line-1 {
 left:20%;
 animation-delay:0s;
}
.line-2 {
 left:40%;
 animation-delay:0.5s;
}
.line-3 {
 left:60%;
 animation-delay:1s;
}
.line-4 {
 left:80%;
 animation-delay:1.5s;
}
@keyframes data-flow {
 0% {
 transform:translateY(-100px);
 opacity:0;
 }
 10% {
 opacity:1;
 }
 90% {
 opacity:1;
 }
 100% {
 transform:translateY(calc(100% + 100px));
 opacity:0;
 }
}
/* デバイスからの検索波 */
.search-wave {
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%, -50%);
 width:200px;
 height:200px;
 pointer-events:none;
}
.wave-circle {
 position:absolute;
 width:100%;
 height:100%;
 border-radius:50%;
 border:2px solid rgba(255, 193, 7, 0.6);
 animation:wave-expand 4s ease-out infinite;
}
.wave-1 { animation-delay:0s;}
.wave-2 { animation-delay:1s;}
.wave-3 { animation-delay:2s;}
.wave-4 { animation-delay:3s;}
@keyframes wave-expand {
 0% {
 transform:scale(0);
 opacity:1;
 }
 100% {
 transform:scale(3);
 opacity:0;
 }
}
/* 検索データストリーム */
.data-stream {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 overflow:hidden;
 pointer-events:none;
}
.data-particle {
 position:absolute;
 width:4px;
 height:4px;
 background:#ffc107;
 border-radius:50%;
 box-shadow:0 0 10px rgba(255, 193, 7, 0.8);
 animation:particle-flow 5s linear infinite;
}
.particle-1 { left:10%;animation-delay:0s;}
.particle-2 { left:30%;animation-delay:1s;}
.particle-3 { left:50%;animation-delay:2s;}
.particle-4 { left:70%;animation-delay:3s;}
.particle-5 { left:90%;animation-delay:4s;}
@keyframes particle-flow {
 0% {
 transform:translateY(-20px) translateX(0);
 opacity:0;
 }
 10% {
 opacity:1;
 }
 30% {
 transform:translateY(100px) translateX(20px);
 }
 50% {
 transform:translateY(200px) translateX(-10px);
 }
 70% {
 transform:translateY(300px) translateX(15px);
 }
 90% {
 opacity:1;
 }
 100% {
 transform:translateY(400px) translateX(0);
 opacity:0;
 }
}
/* デバイスタイプ別のアイコンアニメーション */
.device-type-showcase {
 display:flex;
 justify-content:center;
 gap:50px;
 margin:40px 0;
 flex-wrap:wrap;
}
.device-showcase-item {
 position:relative;
 text-align:center;
}
.device-showcase-item i {
 font-size:4rem;
 color:#2196f3;
 display:block;
 margin-bottom:15px;
 filter:drop-shadow(0 5px 15px rgba(33, 150, 243, 0.3));
 transition:all 0.3s ease;
}
.device-showcase-item:hover i {
 transform:scale(1.2) rotate(5deg);
 color:#ffc107;
}
.device-label {
 font-size:1rem;
 color:white;
 font-weight:500;
 background:rgba(0, 0, 0, 0.5);
 padding:5px 15px;
 border-radius:20px;
 backdrop-filter:blur(5px);
}
.search-count {
 position:absolute;
 top:-10px;
 right:-10px;
 background:#ff5252;
 color:white;
 width:30px;
 height:30px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-weight:bold;
 font-size:0.9rem;
 animation:count-pulse 2s infinite;
}
@keyframes count-pulse {
 0%, 100% {
 transform:scale(1);
 box-shadow:0 0 0 0 rgba(255, 82, 82, 0.7);
 }
 50% {
 transform:scale(1.1);
 box-shadow:0 0 0 10px rgba(255, 82, 82, 0);
 }
}
/* リアルタイムアクセスインジケーター */
.realtime-access-indicator {
 position:fixed;
 bottom:100px;
 right:20px;
 background:rgba(0, 0, 0, 0.8);
 color:white;
 padding:15px 25px;
 border-radius:30px;
 box-shadow:0 5px 20px rgba(0, 0, 0, 0.3);
 z-index:100;
 animation:slide-in-right 0.5s ease-out;
}
@keyframes slide-in-right {
 from {
 transform:translateX(100%);
 opacity:0;
 }
 to {
 transform:translateX(0);
 opacity:1;
 }
}
.access-indicator-content {
 display:flex;
 align-items:center;
 gap:15px;
}
.indicator-icon {
 font-size:1.5rem;
 color:#ffc107;
 animation:blink 1s infinite;
}
.indicator-text {
 font-size:0.9rem;
}
.access-device-type {
 color:#4fc3f7;
 font-weight:bold;
}
/* ================== 補助金ページスタイル ================== */
/* ページヒーロー */
.page-hero {
 background:linear-gradient(135deg, #00bcd4, #2196f3);
 padding:120px 0 80px;
 margin-top:70px;
 color:white;
 text-align:center;
}
.page-title {
 font-size:3rem;
 margin-bottom:1rem;
}
.page-subtitle {
 font-size:1.5rem;
 margin-bottom:2rem;
}
.hero-message {
 background:rgba(255,255,255,0.2);
 padding:30px;
 border-radius:15px;
 display:inline-block;
}
.highlight-text {
 font-size:1.8rem;
 font-weight:bold;
 margin-bottom:15px;
 color:#fff;
}
.sub-text {
 font-size:1.2rem;
}
/* 課題セクション */
.problem-section {
 padding:80px 0;
 background:#f8f9fa;
}
.problem-cards {
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:30px;
 margin-bottom:50px;
}
.problem-card {
 background:white;
 padding:30px;
 border-radius:10px;
 text-align:center;
 box-shadow:0 3px 10px rgba(0,0,0,0.1);
 transition:transform 0.3s;
}
.problem-card:hover {
 transform:translateY(-5px);
}
.problem-card i {
 font-size:3rem;
 color:#ff6b6b;
 margin-bottom:15px;
}
.problem-card h3 {
 font-size:1.2rem;
}
.solution-arrow {
 text-align:center;
 font-size:3rem;
 color:#2196f3;
 margin:30px 0;
}
.solution-box {
 background:#2196f3;
 color:white;
 padding:40px;
 border-radius:15px;
 text-align:center;
 max-width:600px;
 margin:0 auto;
}
.solution-box h3 {
 font-size:1.8rem;
 margin-bottom:10px;
}
/* サービスと効果 */
.service-effect {
 padding:80px 0;
}
.service-flow {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:50px;
}
.service-column,
.effect-column {
 background:#f8f9fa;
 padding:40px;
 border-radius:15px;
 text-align:center;
}
.service-column h3,
.effect-column h3 {
 background:#00bcd4;
 color:white;
 padding:15px 30px;
 border-radius:30px;
 margin-bottom:30px;
}
.service-item {
 display:flex;
 align-items:center;
 gap:10px;
 margin-bottom:20px;
 font-size:1.2rem;
}
.service-item i {
 color:#00bcd4;
}
.effect-item {
 background:#2196f3;
 color:white;
 padding:20px;
 border-radius:10px;
 margin-bottom:15px;
 font-weight:bold;
}
.arrow-right {
 font-size:3rem;
 color:#2196f3;
}
/* サジェスト重要性 */
.suggest-importance {
 padding:80px 0;
 background:#f8f9fa;
}
.importance-content {
 max-width:1000px;
 margin:0 auto;
}
.importance-points {
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:30px;
 margin-bottom:50px;
}
.point-item {
 background:white;
 padding:40px 30px;
 border-radius:15px;
 text-align:center;
 position:relative;
}
.point-number {
 position:absolute;
 top:-20px;
 left:50%;
 transform:translateX(-50%);
 background:#2196f3;
 color:white;
 width:50px;
 height:50px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:1.5rem;
 font-weight:bold;
}
.importance-message {
 background:#fff3cd;
 padding:30px;
 border-radius:15px;
 text-align:center;
 max-width:800px;
 margin:0 auto;
}
.importance-message i {
 font-size:2rem;
 color:#ffc107;
 margin-bottom:15px;
}
/* サジェスト関係性 */
.suggest-relation {
 padding:80px 0;
}
.relation-content {
 max-width:900px;
 margin:0 auto;
}
.lead-text {
 text-align:center;
 font-size:1.2rem;
 margin-bottom:50px;
 line-height:1.8;
}
.example-box {
 background:#e3f2fd;
 padding:40px;
 border-radius:15px;
 margin-bottom:50px;
}
.search-examples {
 display:flex;
 justify-content:space-around;
 margin-bottom:30px;
}
.search-column h4 {
 margin-bottom:15px;
 font-size:1.1rem;
}
.example-message {
 background:#ffc107;
 padding:25px;
 border-radius:10px;
 text-align:center;
}
.benefit-box {
 text-align:center;
}
.benefit-box h3 {
 background:#2196f3;
 color:white;
 padding:20px;
 margin-bottom:30px;
}
.benefit-items {
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:20px;
}
.benefit-item {
 background:#2196f3;
 color:white;
 padding:30px 20px;
 border-radius:10px;
}
/* 指名検索重要性 */
.branded-search-importance {
 padding:80px 0;
 background:#f8f9fa;
}
.search-issue h3 {
 background:#00bcd4;
 color:white;
 padding:20px;
 text-align:center;
 margin-bottom:40px;
}
.issue-illustration {
 text-align:center;
 margin-bottom:40px;
}
.speech-bubble {
 background:white;
 padding:15px 25px;
 border-radius:20px;
 display:inline-block;
 position:relative;
 margin-bottom:20px;
}
.speech-bubble::after {
 content:'';
 position:absolute;
 bottom:-10px;
 left:50%;
 transform:translateX(-50%);
 width:0;
 height:0;
 border-left:10px solid transparent;
 border-right:10px solid transparent;
 border-top:10px solid white;
}
.search-box {
 background:white;
 border:2px solid #2196f3;
 padding:20px;
 border-radius:10px;
 display:inline-block;
}
.issue-points {
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:30px;
}
.point {
 padding:30px;
 border-radius:15px;
}
.google-point {
 background:#ffe5e5;
}
.brand-point {
 background:#e5f3ff;
}
/* クチコミ重要性 */
.review-importance {
 padding:80px 0;
}
/* レビュー監視 */
.review-monitoring {
 padding:80px 0;
 background:#f8f9fa;
}
.monitoring-content {
 text-align:center;
 max-width:700px;
 margin:0 auto;
}
.review-card {
 background:white;
 padding:30px;
 border-radius:15px;
 box-shadow:0 3px 10px rgba(0,0,0,0.1);
 position:relative;
 display:inline-block;
 margin-bottom:30px;
}
.review-card.negative {
 border:2px solid #ff6b6b;
}
.review-card i {
 font-size:2rem;
 color:#ff6b6b;
 margin-bottom:10px;
}
.monitoring-label {
 position:absolute;
 top:-15px;
 right:20px;
 background:#2196f3;
 color:white;
 padding:5px 15px;
 border-radius:20px;
 font-size:0.9rem;
}
.issue-text {
 margin:30px 0;
 font-size:1.1rem;
 line-height:1.8;
}
.arrow-down {
 font-size:3rem;
 color:#2196f3;
 margin:30px 0;
}
.solution-text {
 background:#e3f2fd;
 padding:30px;
 border-radius:15px;
}
.solution-text h3 {
 color:#2196f3;
 margin-bottom:10px;
}
/* ブランディング効果 */
.branding-effect {
 padding:80px 0;
}
.effect-diagram {
 max-width:600px;
 margin:0 auto;
 text-align:center;
}
.effect-top {
 background:#00bcd4;
 color:white;
 padding:30px;
 border-radius:30px;
 margin-bottom:30px;
}
.effect-items,
.result-items {
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:20px;
 margin-bottom:30px;
}
.result-items {
 grid-template-columns:repeat(3, 1fr);
}
.effect-box,
.result-box {
 background:#2196f3;
 color:white;
 padding:25px;
 border-radius:15px;
 font-weight:bold;
}
.cost-alert {
 text-align:center;
 margin-top:50px;
 font-size:2rem;
 color:#ff6b6b;
}
.alert-text {
 background:#ff6b6b;
 color:white;
 padding:10px 20px;
 border-radius:25px;
 margin-left:10px;
}
/* 補助金メリット */
.subsidy-merit {
 padding:80px 0;
 background:#f8f9fa;
}
.merit-content h3 {
 text-align:center;
 font-size:1.8rem;
 margin-bottom:40px;
 color:#2196f3;
}
.example-list {
 background:white;
 padding:40px;
 border-radius:15px;
 max-width:600px;
 margin:0 auto 60px;
}
.example-list ul {
 list-style:none;
 margin:20px 0;
}
.example-list li {
 padding:15px 0;
 border-bottom:1px solid #ccc;
 font-size:1.2rem;
}
.example-list .sub-text {
 display:block;
 font-size:0.9rem;
 color:#444;
 margin-top:5px;
}
.win-win-diagram {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:50px;
 margin-bottom:40px;
}
.partner-box {
 background:white;
 padding:40px;
 border-radius:15px;
 text-align:center;
 box-shadow:0 3px 10px rgba(0,0,0,0.1);
}
.partner-box i {
 font-size:3rem;
 color:#2196f3;
 margin-bottom:20px;
}
.arrow-exchange {
 text-align:center;
}
.arrow-exchange i {
 font-size:3rem;
 color:#2196f3;
}
.win-win-title {
 text-align:center;
 font-size:2.5rem;
 color:#2196f3;
 margin-bottom:20px;
}
.win-win-message {
 text-align:center;
 background:#ffc107;
 padding:20px;
 font-size:1.3rem;
 font-weight:bold;
 display:inline-block;
 margin:0 auto;
}
/* 補助金プロセス */
.subsidy-process {
 padding:80px 0;
}
.subsidy-process .section-title {
 line-height:1.5;
}
.company-intro {
 text-align:center;
 margin-bottom:60px;
}
.company-intro i {
 font-size:4rem;
 color:#2196f3;
 margin-bottom:20px;
}
.process-flow h3 {
 text-align:center;
 font-size:1.8rem;
 margin-bottom:40px;
 color:#333;
}
.process-diagram {
 display:flex;
 align-items:center;
 justify-content:center;
 margin-bottom:50px;
 flex-wrap:wrap;
}
.process-step {
 background:#e3f2fd;
 padding:30px;
 border-radius:15px;
 text-align:center;
 min-width:180px;
}
.process-step i {
 font-size:2.5rem;
 color:#2196f3;
 margin-bottom:15px;
}
.process-step p {
 font-weight:bold;
 margin-bottom:10px;
}
.step-detail {
 font-size:0.9rem;
 color:#333;
}
.process-arrow {
 font-size:2rem;
 color:#2196f3;
 margin:0 20px;
}
.process-note {
 background:#fff3cd;
 padding:30px;
 border-radius:15px;
 max-width:700px;
 margin:0 auto 40px;
}
.highlight-note {
 background:#2196f3;
 color:white;
 padding:20px;
 border-radius:10px;
 margin-top:20px;
 font-weight:bold;
}
.important-points {
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:30px;
 max-width:800px;
 margin:0 auto;
}
.important-points .point {
 background:white;
 padding:30px;
 border-radius:15px;
 box-shadow:0 3px 10px rgba(0,0,0,0.1);
}
.important-points i {
 font-size:2rem;
 margin-bottom:15px;
}
.important-points i.fa-exclamation-circle {
 color:#ffc107;
}
.important-points i.fa-check-circle {
 color:#28a745;
}
/* お問い合わせセクション */
.subsidy-contact {
 padding:80px 0;
 background:#f8f9fa;
}
.contact-message {
 text-align:center;
 font-size:1.3rem;
 margin-bottom:50px;
}
.contact-info {
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:40px;
 max-width:600px;
 margin:0 auto 50px;
}
.contact-item {
 text-align:center;
}
.contact-item i {
 font-size:3rem;
 color:#2196f3;
 margin-bottom:15px;
}
.contact-item h3 {
 font-size:1.5rem;
 color:#333;
}
.company-info {
 max-width:700px;
 margin:0 auto 50px;
}
.company-info table {
 width:100%;
 background:white;
 border-radius:10px;
 overflow:hidden;
 box-shadow:0 3px 10px rgba(0,0,0,0.1);
}
.company-info th,
.company-info td {
 padding:20px;
 text-align:left;
 border-bottom:1px solid #ccc;
}
.company-info th {
 background:#2196f3;
 color:white;
 width:30%;
}
.company-info a {
 color:#2196f3;
 text-decoration:none;
}
.company-info a:hover {
 text-decoration:underline;
}
.line-cta {
 text-align:center;
}
.line-cta .line-button {
 display:inline-flex;
 align-items:center;
 gap:10px;
 background:#00B900;
 color:white;
 padding:20px 40px;
 border-radius:50px;
 text-decoration:none;
 font-size:1.3rem;
 font-weight:bold;
 transition:transform 0.3s;
}
.line-cta .line-button:hover {
 transform:scale(1.05);
}
.line-cta .line-button i {
 font-size:1.5rem;
}
/* SEO対策例セクション */
.seo-example-box {
 background:linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
 color:#fff;
 border-radius:16px;
 padding:32px 24px;
 font-size:1.2rem;
 font-weight:bold;
 box-shadow:0 8px 32px rgba(25, 118, 210, 0.15);
 text-align:center;
 margin-bottom:32px;
}
.seo-arrow {
 font-size:3rem;
 color:#1976d2;
 font-weight:bold;
 margin:0 24px;
 display:inline-block;
 vertical-align:middle;
 text-shadow:0 2px 8px rgba(25, 118, 210, 0.2);
}
.seo-graph-box {
 background:#fff;
 border:2px solid #e53935;
 border-radius:16px;
 padding:32px 24px;
 margin:32px 0;
 box-shadow:0 4px 16px rgba(229, 57, 53, 0.08);
 text-align:center;
 position:relative;
}
.seo-graph-title {
 color:#e53935;
 font-size:1.1rem;
 font-weight:bold;
 margin-bottom:16px;
}
.seo-graph-canvas {
 width:100%;
 max-width:400px;
 height:180px;
 margin:0 auto 16px auto;
 display:block;
}
.tired-people-row {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:12px;
 margin-bottom:18px;
 font-size:2rem;
 color:#fff;
 opacity:0.8;
}
.tired-people-text {
 font-size:1.1rem;
 margin-left:10px;
 color:#fffde7;
 font-weight:500;
 opacity:0.95;
}