/*
Theme Name: 株式会社仲介王 最終完成・完全無欠フル統合Version
Description: 全文章復元・ロゴ透過・実績3列・スマホボタン最適化・許認可統合・History非表示・CF7固定
Version: 134.0
Author: Gemini
*/

/* --- 基本設定 --- */
body { font-family: 'Noto Sans JP', sans-serif; scroll-behavior: smooth; font-style: normal !important; color: #1e293b; line-height: 1.8; }
.font-inter { font-family: 'Inter', sans-serif; }
.glass-nav { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); z-index: 100; border-bottom: 1px solid #f1f5f9; position: fixed; width: 100%; top: 0; height: 80px; }
.gradient-text-green { background: linear-gradient(135deg, #4d7c0f 0%, #84cc16 50%, #a3e635 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
* { font-style: normal !important; text-transform: none !important; }

/* 内部リンク位置調整 */
section[id] { scroll-margin-top: 100px; }

/* --- 【最重要】回転アニメーション & ロゴ背景透過 --- */
@keyframes slow-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.animate-slow-spin { animation: slow-spin 40s linear infinite !important; }

.hero-visual-container { 
    position: relative; 
    width: 100%; 
    max-width: 650px; 
    aspect-ratio: 1; 
    isolation: auto !important; 
    background: transparent !important;
}

.blend-logo { 
    mix-blend-mode: multiply !important; 
    width: 85% !important; 
    height: auto; 
    display: block !important; 
    background-color: transparent !important;
    filter: brightness(1.05) contrast(1.05) drop-shadow(0 0 20px rgba(132, 204, 22, 0.1)) !important; 
}

/* --- ヒーローボタン：スマホ横並び & サイズ最適化 --- */
.hero-btn-container { 
    display: flex !important; 
    flex-direction: row !important; /* スマホでも横並びを強制 */
    align-items: center; 
    justify-content: center; 
    gap: 1rem; 
    margin-top: 2.5rem; 
}
@media (min-width: 1024px) { 
    .hero-btn-container { justify-content: flex-start; gap: 2.5rem; } 
}

.btn-pill-green {
    background: linear-gradient(135deg, #4d7c0f 0%, #65a30d 100%) !important;
    color: #ffffff !important; font-weight: 900 !important; 
    padding: 0.75rem 1.25rem !important; 
    border-radius: 9999px !important; 
    display: inline-flex !important; 
    align-items: center; 
    justify-content: center; 
    box-shadow: 0 10px 25px -5px rgba(101, 163, 13, 0.4); 
    font-size: 0.85rem !important; 
    width: auto !important; 
    min-width: 160px; 
    text-decoration: none;
}
@media (min-width: 1024px) { 
    .btn-pill-green { padding: 1.25rem 3.5rem !important; font-size: 1.1rem !important; min-width: 0; } 
}

.btn-text-link { 
    font-size: 0.85rem !important; 
    font-weight: 900; 
    color: #475569; 
    text-decoration: none; 
}
@media (min-width: 1024px) { .btn-text-link { font-size: 1.1rem !important; } }

/* --- 上場グループ所属ステータス・バナー（緑枠 & 最適化余白） --- */
.group-status-banner { margin: 0 auto 5rem; max-width: 900px; text-align: center; }
.status-badge-wrap {
    display: inline-block; background: #ffffff; border: 2px solid #84cc16 !important;
    padding: 2.5rem 4rem; border-radius: 24px; box-shadow: 0 20px 40px -10px rgba(132, 204, 22, 0.1); position: relative;
}
.status-badge-wrap::before {
    content: "LIVING TECHNOLOGIES GROUP"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: #84cc16; color: white; padding: 2px 16px; font-size: 0.7rem; font-weight: 900; border-radius: 99px; letter-spacing: 0.1em;
}
.status-badge-wrap p { font-size: 1.25rem; font-weight: 900; color: #1e293b; margin: 0; line-height: 1.5; }
.market-info { display: block; margin-top: 0.75rem; color: #65a30d; font-size: 0.95rem; font-weight: 800; }

/* --- 2026告知バッジ --- */
.launch-badge {
    display: inline-block !important; 
    background: linear-gradient(135deg, #84cc16 0%, #4d7c0f 100%) !important;
    color: #ffffff !important; 
    padding: 6px 20px !important; 
    border-radius: 9999px !important;
    font-size: 0.85rem !important; 
    font-weight: 900 !important; 
    margin-bottom: 1.5rem !important;
    letter-spacing: 0.15em !important; 
    box-shadow: 0 4px 15px rgba(132, 204, 22, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* --- システム実績：PC 3列グリッド修復（省略なし） --- */
.service-grid { 
    display: grid !important; 
    grid-template-columns: 1fr !important; 
    gap: 4rem; 
    max-width: 1100px; 
    margin: 0 auto; 
}
@media (min-width: 768px) { 
    .service-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 3rem; } 
}
.service-card { text-align: center; display: flex !important; flex-direction: column !important; align-items: center !important; width: 100%; }
.service-image-box { border-radius: 12px; overflow: hidden; margin-bottom: 2rem; box-shadow: 0 4px 20px rgba(0,0,0,0.08); width: 100%; height: 200px; display: flex; justify-content: center; align-items: center; background: #f8fafc; }
.service-image-box img { max-width: 100%; max-height: 100%; height: auto; object-fit: contain; }
.service-text-jp { font-size: 1rem; font-weight: 800; color: #334155; line-height: 1.7; display: block !important; width: 100%; }
.highlight-text { font-weight: 900; color: #1e293b; display: block; margin: 0.2rem 0; font-size: 1.1rem; }

/* --- 採用セクション・アクセント --- */
.recruit-card { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 48px; padding: 3.5rem; text-decoration: none; display: block; }
.recruit-card .job-type-badge { font-size: 1.2rem; font-weight: 900; color: #a3e635 !important; border: 2px solid #a3e635 !important; padding: 4px 15px; border-radius: 8px; margin-bottom: 1.5rem; display: inline-block; }
.recruit-card .link-text-green { color: #84cc16 !important; font-weight: 900; }
.recruit-card .link-text-purple { color: #a855f7 !important; font-weight: 900; }

/* --- Contact Form 7 スタイル完全固定 --- */
.custom-form .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
    width: 100% !important; padding: 1.25rem !important; border: 2px solid #cbd5e1 !important; border-radius: 0.75rem !important; background: #ffffff !important; margin-bottom: 0.5rem !important;
}
.custom-form input.wpcf7-submit {
    display: block !important; margin: 2.5rem auto 0 !important;
    background: linear-gradient(135deg, #4d7c0f 0%, #65a30d 100%) !important;
    color: #ffffff !important; font-weight: 900 !important; font-size: 1.3rem !important;
    width: 100% !important; max-width: 450px !important; height: 5.5rem !important;
    border-radius: 1.5rem !important; border: none !important; cursor: pointer !important;
    box-shadow: 0 15px 30px -10px rgba(101, 163, 13, 0.5) !important;
}
.wpcf7-not-valid-tip { color: #ef4444 !important; font-size: 0.9rem !important; font-weight: 800 !important; margin-top: 0.5rem !important; display: block !important; text-align: left; }
.wpcf7-response-output { margin: 2rem 0 0 !important; padding: 1.5rem !important; border: 3px solid #ef4444 !important; color: #ef4444 !important; border-radius: 1rem !important; font-weight: 900 !important; background: #fff5f5 !important; }

/* 固定ページ・コンテナ */
.fixed-page-container { max-width: 800px; margin: 0 auto; padding: 140px 24px 100px; text-align: left; }
.prose { max-width: none !important; }