/* ========================================
   リセット & 基本設定
======================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* カラーパレット - 鮮やかなオレンジ→イエローグラデーション */
    --primary-color: #ff8800;
    --primary-dark: #ff6600;
    --secondary-color: #ffaa00;
    --accent-color: #ffcc00;
    --text-color: #1f2937;
    --text-light: #6b7280;
    --bg-color: #ffffff;
    --bg-light: #fff9f0;
    --bg-gray: #fff4e6;
    --border-color: #ffedd5;
    
    /* フォント */
    --font-main: 'Noto Sans JP', sans-serif;
    --font-en: 'Inter', sans-serif;
    
    /* スペーシング */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 6rem;
    
    /* ボーダー半径 */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 1rem;
    
    /* シャドウ */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

body {
    font-family: var(--font-main) !important;
    color: var(--text-color);
    line-height: 1.7;
    background-color: var(--bg-color);
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

/* ========================================
   ヘッダー
======================================== */
.header {
    background-color: var(--bg-color);
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: all 0.3s ease;
}

.header.scrolled {
    box-shadow: var(--shadow-md);
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) 0;
}

.logo a {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.logo-text {
    font-size: 1.75rem;
    font-weight: 900;
    color: var(--primary-color);
    font-family: var(--font-en);
}

.logo-sub {
    font-size: 0.875rem;
    color: var(--text-light);
    font-weight: 500;
}

.nav-list {
    display: flex;
    list-style: none;
    gap: var(--spacing-md);
}

.nav-list > li {
    position: relative;
}

.nav-list a {
    font-weight: 500;
    color: var(--text-color);
    padding: 0.5rem 0;
    position: relative;
    display: block;
}

.nav-list > li > a {
    padding: 0.5rem 0.5rem;
}

.nav-list a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--primary-color);
    transition: width 0.3s ease;
}

.nav-list a:hover::after,
.nav-list a.active::after {
    width: 100%;
}

.nav-list a.active {
    color: var(--primary-color);
}

/* ドロップダウンメニュー */
.has-dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    min-width: 220px;
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius-md);
    list-style: none;
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.has-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu li {
    margin: 0;
}

.dropdown-menu a {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.dropdown-menu a::after {
    display: none;
}

.dropdown-menu a:hover {
    background-color: var(--bg-light);
    color: var(--primary-color);
    border-left-color: var(--primary-color);
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-color);
    cursor: pointer;
}

/* ========================================
   サブナビゲーション（地域・カテゴリー）
======================================== */
.sub-navigation {
    background-color: var(--bg-gray);
    border-bottom: 2px solid var(--border-color);
    position: sticky;
    top: 70px;
    z-index: 999;
}

.sub-nav-wrapper {
    display: flex;
    gap: 0;
}

.sub-nav-section {
    position: relative;
    flex: 1;
}

.sub-nav-toggle {
    width: 100%;
    padding: 0.875rem var(--spacing-sm);
    background-color: var(--bg-gray);
    border: none;
    border-right: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-color);
    transition: all 0.3s ease;
    font-family: var(--font-main);
}

.sub-nav-toggle:hover {
    background-color: #e5e7eb;
}

.sub-nav-section:last-child .sub-nav-toggle {
    border-right: none;
}

.sub-nav-toggle i:first-child {
    color: var(--primary-color);
    font-size: 1.125rem;
}

.toggle-icon {
    margin-left: auto;
    transition: transform 0.3s ease;
}

.sub-nav-toggle.active .toggle-icon {
    transform: rotate(180deg);
}

.sub-nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    box-shadow: var(--shadow-lg);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    z-index: 998;
}

.sub-nav-dropdown.active {
    max-height: 500px;
    overflow-y: auto;
}

/* エリアドロップダウン */
.sub-nav-dropdown {
    padding: 0;
}

.sub-nav-dropdown.active {
    padding: var(--spacing-md);
}

.region-group {
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
}

.region-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.region-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.5rem;
    background-color: var(--bg-light);
    border-radius: var(--radius-sm);
    display: inline-block;
}

.region-group a {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    margin: 0.25rem 0.25rem;
    font-size: 0.875rem;
    color: var(--text-color);
    border-radius: var(--radius-sm);
    transition: all 0.3s ease;
}

.region-group a:hover {
    background-color: var(--primary-color);
    color: white;
}

/* カテゴリーグリッド */
.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
}

.category-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: var(--spacing-sm);
    background-color: var(--bg-light);
    border-radius: var(--radius-md);
    transition: all 0.3s ease;
    text-align: center;
}

.category-item:hover {
    background-color: var(--primary-color);
    color: white;
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.category-item i {
    font-size: 1.5rem;
    color: var(--primary-color);
    transition: color 0.3s ease;
}

.category-item:hover i {
    color: white;
}

.category-item span {
    font-size: 0.875rem;
    font-weight: 600;
}

/* ========================================
   ヒーローセクション
======================================== */
.hero {
    position: relative;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
    color: white;
    padding: var(--spacing-xl) 0;
    min-height: 200px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><circle cx="100" cy="100" r="80" fill="rgba(255,255,255,0.05)"/><circle cx="900" cy="400" r="120" fill="rgba(255,255,255,0.05)"/><circle cx="300" cy="500" r="60" fill="rgba(255,255,255,0.05)"/></svg>');
    opacity: 0.6;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
}

.hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: var(--spacing-sm);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.hero-subtitle {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: var(--spacing-md);
    opacity: 0.95;
}

.hero-description {
    font-size: 1.25rem;
    margin-bottom: var(--spacing-lg);
    line-height: 1.8;
    opacity: 0.9;
}

.hero-buttons {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
    flex-wrap: wrap;
}

/* 起業家検索バナー */
.search-banner {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    margin: var(--spacing-lg) 0;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.search-form {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr auto;
    gap: var(--spacing-sm);
    align-items: center;
}

.search-input-group {
    position: relative;
}

.search-input {
    width: 100%;
    padding: 1rem 1.25rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    font-size: 1rem;
    font-family: var(--font-main);
    transition: all 0.3s ease;
    background-color: white;
}

.search-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.search-input::placeholder {
    color: #9ca3af;
}

.search-select-group {
    position: relative;
}

.search-select {
    width: 100%;
    padding: 1rem 2.5rem 1rem 1.25rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    font-size: 1rem;
    font-family: var(--font-main);
    background-color: white;
    cursor: pointer;
    appearance: none;
    transition: all 0.3s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px;
}

.search-select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.search-btn {
    padding: 1rem 2rem;
    background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
}

.search-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
}

.search-btn i {
    margin-right: 0.5rem;
}

/* レスポンシブ対応 - 検索バナー */
@media (max-width: 992px) {
    .search-form {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-sm);
    }
    
    .search-input-group {
        grid-column: 1 / -1;
    }
    
    .search-btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .search-banner {
        padding: var(--spacing-sm);
    }
    
    .search-form {
        grid-template-columns: 1fr;
    }
    
    .search-input-group,
    .search-select-group,
    .search-btn {
        grid-column: 1;
    }
}

/* ========================================
   ボタンスタイル
======================================== */
.btn {
    display: inline-block;
    padding: 0.875rem 2rem;
    border-radius: var(--radius-md);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    color: white !important; text-decoration:none !important;
    box-shadow: var(--shadow-md)  !important;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.btn-secondary {
    background-color: white !important;
    color: var(--primary-color) !important;
    border-color: white !important;
}

.btn-secondary:hover {
    background-color: var(--bg-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-lg) !important;
}

.btn-large {
    padding: 1.125rem 2.5rem;
    font-size: 1.125rem;
}

/* ========================================
   セクション共通スタイル
======================================== */
.cl-fullpage section {
    padding: var(--spacing-xl) 0;
}

.section-header {
    text-align: center;
    margin-bottom: var(--spacing-lg);
}

.section-title {
    font-size: 2.5rem !important;
    font-weight: 900 !important;
    margin-bottom: var(--spacing-sm) !important;
    color: var(--text-color) !important;
}

.section-subtitle {
    font-size: 1.25rem;
    color: var(--text-light);
    font-weight: 500;
}

/* ========================================
   理念セクション
======================================== */
.mission {
    background-color: var(--bg-light);
}

.mission-content {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.mission-text {
    font-size: 1.125rem;
    line-height: 2;
    color: var(--text-color);
}

.mission-text strong {
    color: var(--primary-color);
    font-weight: 700;
}

/* ========================================
   課題解決セクション
======================================== */
.problems {
    background-color: var(--bg-color);
}

.problems-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.problem-card {
    background-color: var(--bg-light);
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.problem-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary-color);
}

.problem-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: var(--spacing-sm);
}

.problem-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
    color: var(--text-color);
    line-height: 1.4;
}

.problem-text {
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.7;
}

.problems-solution {
    text-align: center;
    margin-top: var(--spacing-lg);
}

.solution-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: var(--spacing-md);
}

/* ========================================
   特徴セクション
======================================== */
.features {
    background: linear-gradient(to bottom, var(--bg-color), var(--bg-light));
}

.home .features-grid {
    display: grid ;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-lg);
    max-width: 1100px;
    margin: 0 auto;
}

.feature-card {
    background-color: white;
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    position: relative;
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
}

.feature-number {
    position: absolute;
    top: -15px;
    left: var(--spacing-md);
    background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.25rem;
    box-shadow: var(--shadow-md);
}

.feature-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin: var(--spacing-md) 0 var(--spacing-sm);
}

.feature-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
    color: var(--text-color);
}

.feature-text {
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.7;
}

/* ========================================
   CTAセクション
======================================== */
.cta {
   
    color: white;
}

.cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.cta-title {
    font-size: 2.5rem !important;
    font-weight: 900 !important;
    margin-bottom: var(--spacing-sm) !important;
}

.cta-text {
    font-size: 1.25rem;
    margin-bottom: var(--spacing-md);
    opacity: 0.95;
}

.cta-buttons {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
    flex-wrap: wrap;
}

/* ========================================
   最新トピックス
======================================== */
.topics {
    background-color: var(--bg-light);
}

.topics-list {
    max-width: 900px;
    margin: 0 auto;
}

.topic-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    background-color: white;
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-sm);
    transition: all 0.3s ease;
}

.topic-item:hover {
    box-shadow: var(--shadow-md);
    transform: translateX(5px);
}

.topic-date {
    font-size: 0.875rem;
    color: var(--text-light);
    min-width: 100px;
}

.topic-category {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background-color: var(--primary-color);
    color: white;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 100px;
    text-align: center;
}

.topic-link {
    flex: 1;
    color: var(--text-color);
}

.topic-link:hover {
    color: var(--primary-color);
}

/* ========================================
   フッター
======================================== */
.footer {
    background-color: var(--text-color);
    color: white;
    padding: var(--spacing-lg) 0 var(--spacing-md);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.footer-title {
    font-size: 1.5rem;
    font-weight: 900;
    margin-bottom: var(--spacing-sm);
    color: var(--secondary-color);
}

.footer-text {
    font-size: 0.875rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

.footer-heading {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.875rem;
}

.footer-links a:hover {
    color: var(--secondary-color);
}

.footer-contact {
    font-size: 0.875rem;
    line-height: 2;
    color: rgba(255, 255, 255, 0.8);
}

.footer-contact i {
    color: var(--secondary-color);
    margin-right: 0.5rem;
}

.footer-bottom {
    text-align: center;
    padding-top: var(--spacing-md);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.6);
}

/* ========================================
   レスポンシブデザイン
======================================== */
@media (max-width: 768px) {
    .nav {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        background-color: white;
        transition: left 0.3s ease;
        box-shadow: var(--shadow-lg);
        z-index: 1001;
    }
    
    .nav.active {
        left: 0;
    }
    
    .nav-list {
        flex-direction: column;
        padding: var(--spacing-md);
        gap: 0;
    }
    
    .nav-list li {
        border-bottom: 1px solid var(--border-color);
    }
    
    .nav-list a {
        display: block;
        padding: var(--spacing-sm) 0;
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    /* サブナビゲーションのモバイル対応 */
    .sub-navigation {
        top: 60px;
    }
    
    .sub-nav-wrapper {
        flex-direction: column;
    }
    
    .sub-nav-toggle {
        border-right: none;
        border-bottom: 1px solid var(--border-color);
    }
    
    .sub-nav-section:last-child .sub-nav-toggle {
        border-bottom: none;
    }
    
    .sub-nav-dropdown {
        position: relative;
    }
    
    .sub-nav-dropdown.active {
        max-height: 300px;
    }
    
    .category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .region-group {
        margin-bottom: var(--spacing-xs);
        padding-bottom: var(--spacing-xs);
    }
    
    .region-group a {
        padding: 0.25rem 0.5rem;
        font-size: 0.8rem;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.125rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .cta-title {
        font-size: 1.75rem;
    }
    
    .problems-grid,
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .topic-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .news-grid,
    .success-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   全国地域ニューズセクション
======================================== */
.news-section {
    padding: var(--spacing-xl) 0;
    background-color: var(--bg-light);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.news-card {
    background: white;
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-left: 4px solid var(--primary-color);
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.news-region {
    display: inline-block;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: var(--spacing-xs);
}

.news-date {
    display: inline-block;
    color: var(--text-light);
    font-size: 0.875rem;
    margin-left: var(--spacing-sm);
}

.news-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-color);
    margin: var(--spacing-sm) 0;
    line-height: 1.5;
}

.news-excerpt {
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.7;
    margin-bottom: var(--spacing-sm);
}

.news-link {
    display: inline-block;
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-link:hover {
    color: var(--primary-dark);
}

.news-more {
    text-align: center;
    margin-top: var(--spacing-lg);
}

/* ========================================
   成功事例セクション
======================================== */
.success-section {
    padding: var(--spacing-xl) 0;
    background-color: white;
}

.success-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

.success-card {
    background: var(--bg-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.success-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-xl);
}

.success-image {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    padding: var(--spacing-lg);
    text-align: center;
}

.success-image i {
    font-size: 5rem;
    color: white;
}

.success-content {
    padding: var(--spacing-md);
}

.success-category {
    display: inline-block;
    background: var(--primary-color);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
}

.success-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 0.25rem;
}

.success-company {
    font-size: 0.95rem;
    color: var(--text-light);
    margin-bottom: var(--spacing-sm);
}

.success-media {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: var(--spacing-sm);
}

.media-badge {
    background: white;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
}

.success-comment {
    font-size: 0.95rem;
    color: var(--text-color);
    line-height: 1.8;
    margin-bottom: var(--spacing-md);
    padding: var(--spacing-sm);
    background: white;
    border-radius: var(--radius-md);
    border-left: 3px solid var(--primary-color);
}

.success-result {
    display: flex;
    gap: var(--spacing-md);
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--border-color);
}

.result-item {
    flex: 1;
    text-align: center;
}

.result-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-light);
    margin-bottom: 0.25rem;
}

.result-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--primary-color);
}

.success-cta {
    text-align: center;
    margin-top: var(--spacing-xl);
    padding: var(--spacing-lg);
    background: var(--bg-light);
    border-radius: var(--radius-lg);
}

.success-cta-text {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: var(--spacing-md);
}



/* ========================================
   トップページ追加
======================================== */
#cb_0 {background: linear-gradient(135deg, #ff8800 0%,#ffcc00 100%); padding-bottom:40px; margin-bottom:0 !important;}
#cb_0 .post_content { margin:0 !important; }
#cb_0 .post_content > *:first-child { margin-top:0 !important; }
#cb_0 .post_content p:empty { display:none !important; }
#cb_1 { background-color:#fff9f0}
#cb_5 {margin-bottom:0 !important}
.features { padding-top:0 !important; background:none;padding-bottom:0 !important;}
#cb_6 {background: linear-gradient(to bottom, #FFF, #fff9f0);margin-bottom:0 !important;}
#cb_7 {background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);margin-bottom:0 !important; padding-bottom:90px;}
#main_col {margin-bottom:0 !important;}
.cb_headline { font-weight:bold!important; color:#333 !important}
.feature-title { font-weight:bold!important}
.problem-title { font-weight:bold!important; font-size:20px;}
.cb_content-blog_list .archive_link a { background:#f59e0b !important;  }
ul.meta li.cat a, ul.meta li.cat span {background:#f59e0b !important;  }

/* ========================================
   第2階層追加
======================================== */
#post_title { display:none !important;}
.post_content p { line-height:1.8; margin:0 01.8em 0; }
.cta_second {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
    color: white;
}
.cta_second .cta-buttons { margin-top:20px;}


.wp-block-code { display:none !important}
#footer { margin-top:60px !important; }
    #global_menu ul ul a {background-color: #f59e0b !important;}
	
.wpcf7 { background-color: #FFF !important; border:none !important}  

#interview .wpcf7 { background-color: #fff9f0 !important;}  

div#privcontents { margin:0 20px 0 20px;}
.privcont {font-size:120%; color:#069; border-bottom:#7AB9D8 solid 2px; margin-bottom:10px; padding-bottom:5px; margin:0 !important; margin-top:30px !important}
ul.pridul li { text-align:left; margin:0 !important;}
/* ===== フッターの地域・業種のバランス調整(Center Light LLC) ===== */
/* 業種は4列の均等グリッド。崩れの原因(float/min-width)を打ち消す */
#footer_nav .footer_nav_category5 > ul{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 14px;
  margin:0;
}
#footer_nav .footer_nav_category5 > ul > li{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
@media (max-width:767px){
  #footer_nav .footer_nav_category5 > ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* 地域は地方名を見出しにして、その下に都道府県を展開(業種と縦の長さをそろえる) */
#footer_nav .footer_nav_category4 > ul{ display:block; }
#footer_nav .footer_nav_category4 > ul > li{
  display:block !important;
  float:none !important;
  width:auto !important;
  margin:0 0 16px 0 !important;
  padding:0 !important;
}
#footer_nav .footer_nav_category4 > ul > li > a{
  display:block;
  font-size:14px;
  font-weight:700;
  line-height:1.6;
  margin:0 0 4px 0;
}
#footer_nav .footer_nav_category4 > ul > li > ul{
  display:block !important;
  margin:0;
  padding:0;
}
#footer_nav .footer_nav_category4 > ul > li > ul > li{
  display:inline-block;
}
#footer_nav .footer_nav_category4 > ul > li > ul > li:first-child:before{
  content:none;
}

/* ===== 起業家出演先(横に流れる帯) ===== */
.cl-partners{padding:34px 0 30px;background:#fff;overflow:hidden;}
.cl-partners-inner{max-width:1200px;margin:0 auto;padding:0 24px;text-align:center;}
.cl-partners-title{font-size:30px;font-weight:800;letter-spacing:.04em;margin:0 0 14px;color:#222;}
.cl-partners-desc{font-size:15px;color:#888;margin:0 0 40px;line-height:1.7;}
.cl-partners-track{display:flex;width:max-content;animation:cl-marquee 34s linear infinite;}
.cl-partners-row{display:flex;align-items:center;list-style:none;margin:0;padding:0;}
.cl-partner-item{flex:0 0 auto;padding:0 40px;display:flex;align-items:center;}
.cl-partner-item img{height:calc(21px * var(--cl-logo-scale, 1));width:auto;max-width:none;object-fit:contain;display:block;}
/* CREAは正方形に近いため、高さを上げて他の横長ロゴと視覚的な大きさをそろえる(帯はalign-items:centerで自動的に広がる) */
.cl-partner-item img[alt*="CREA"]{height:calc(35px * var(--cl-logo-scale, 1));}
.cl-partner-item a{display:flex;align-items:center;transition:opacity .2s;}
.cl-partner-item a:hover{opacity:.65;}
@keyframes cl-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.cl-partners:hover .cl-partners-track{animation-play-state:paused;}
@media (max-width:600px){
	.cl-partners{padding:24px 0 20px;}
	.cl-partners-title{font-size:23px;}
	.cl-partners-desc{font-size:13px;margin:0 0 28px;}
	.cl-partner-item{padding:0 26px;}
	.cl-partner-item img{height:calc(16px * var(--cl-logo-scale, 1));max-width:none;}
	.cl-partner-item img[alt*="CREA"]{height:26px;}
	.cl-partners-track{animation-duration:24s;}
}
.cl-partner-text{font-size:24px;font-weight:800;color:#444;white-space:nowrap;letter-spacing:.04em;}
@media (max-width:600px){.cl-partner-text{font-size:18px;}}

/* ===== トップ 専門家のジャンルから探す: プレースホルダー画像(TCD構造を利用) ===== */
#cb_cat12 .cl-cat12-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:150px;aspect-ratio:1/1;border-radius:50%;color:#fff;font-size:44px;font-weight:800;line-height:1;}
@media (max-width:768px){#cb_cat12 .cl-cat12-noimg{min-height:120px;font-size:34px;}}

/* ===== お知らせ(5件の縦並び・見本準拠) ===== */
#index_news_mobile{display:none !important;}
.cl-news{margin:0 auto;padding:30px 20px 10px;max-width:1120px;box-sizing:border-box;}
.cl-news-inner{margin:0 auto;}
.cl-news-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ece9e1;padding:22px 26px;margin:0;}
.cl-news-title{font-size:26px;font-weight:800;letter-spacing:.04em;color:#1c2b46;margin:0;line-height:1;}
.cl-news-more{font-size:14px;color:#555;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;transition:color .2s;}
.cl-news-more::after{content:"\203A";font-size:18px;line-height:1;}
.cl-news-more:hover{color:#d97706;}
.cl-news-list{list-style:none;margin:0;padding:0;}
.cl-news-item{border-bottom:1px solid #e6e6e6;}
.cl-news-item a{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:20px 8px;text-decoration:none;color:#1c2b46;transition:opacity .2s;}
.cl-news-item a:hover{opacity:.6;}
.cl-news-date{font-size:15px;color:#888;font-weight:600;min-width:92px;letter-spacing:.02em;}
.cl-news-cat{font-size:13px;font-weight:700;color:#fff;background:#1f3a6b;letter-spacing:.02em;padding:4px 16px;min-width:60px;text-align:center;}
.cl-news-text{font-size:16px;flex:1 1 auto;line-height:1.6;font-weight:500;}
@media (max-width:768px){
	.cl-news{padding:22px 16px 6px;}
	.cl-news-head{padding:16px 18px;}
	.cl-news-title{font-size:21px;}
	.cl-news-item a{gap:6px 12px;padding:15px 4px;}
	.cl-news-date{min-width:82px;font-size:13px;}
	.cl-news-cat{font-size:12px;padding:3px 11px;min-width:auto;}
	.cl-news-text{font-size:14px;flex-basis:100%;}
}

/* ===== メディアの方へ:全国起業家検索フォーム ===== */
.cl-media-search{margin:0 auto;max-width:960px;background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:28px 26px;box-shadow:0 6px 24px rgba(28,43,70,.06);box-sizing:border-box;}
.cl-ms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cl-ms-field{display:flex;flex-direction:column;gap:7px;}
.cl-ms-field label{font-size:13px;font-weight:700;color:#1c2b46;letter-spacing:.02em;}
.cl-ms-field select{width:100%;padding:11px 12px;border:1px solid #cfd6e0;border-radius:8px;background:#fff;font-size:15px;color:#333;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231c2b46' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;}
.cl-ms-field select:focus{outline:none;border-color:#1f3a6b;box-shadow:0 0 0 3px rgba(31,58,107,.12);}
.cl-ms-submit{margin-top:22px;text-align:center;}
.cl-ms-btn{display:inline-block;border:none;cursor:pointer;background:#1f3a6b;color:#fff;font-size:16px;font-weight:700;letter-spacing:.04em;padding:15px 48px;border-radius:9px;transition:background .2s,transform .15s;}
.cl-ms-btn:hover{background:#16294d;transform:translateY(-1px);}
@media (max-width:768px){
	.cl-media-search{padding:22px 16px;}
	.cl-ms-grid{grid-template-columns:1fr 1fr;gap:14px;}
	.cl-ms-btn{width:100%;padding:14px 0;}
}
@media (max-width:480px){
	.cl-ms-grid{grid-template-columns:1fr;}
}

/* ===== 講座・交流会:次回開催イベント ===== */
.next-event-section{margin:0;}
.next-event-card-inner{display:flex;flex-wrap:wrap;align-items:center;gap:24px;}
.next-event-date-box{flex:0 0 auto;text-align:center;background:#1f3a6b;color:#fff;border-radius:12px;padding:16px 22px;min-width:96px;}
.next-event-date-box .event-month{font-size:15px;font-weight:700;letter-spacing:.04em;}
.next-event-date-box .event-day{font-size:38px;font-weight:800;line-height:1;margin:2px 0;}
.next-event-date-box .event-weekday{font-size:14px;opacity:.9;}
.next-event-details{flex:1 1 280px;}
.next-event-details .event-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;}
.next-event-details .event-badge{font-size:12px;font-weight:700;border-radius:4px;padding:4px 12px;}
.next-event-details .badge-online{background:#e3f0ff;color:#1f3a6b;}
.next-event-details .badge-member{background:#fff2dd;color:#a8690a;}
.next-event-topic{font-size:21px;font-weight:800;color:#1c2b46;margin:0 0 8px;}
.next-event-description{font-size:15px;color:#555;line-height:1.7;margin:0 0 12px;}
.next-event-details .event-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:#444;}
.next-event-details .event-meta i{color:#1f3a6b;margin-right:5px;}
.next-event-action{flex-basis:100%;margin-top:18px;}
@media (max-width:600px){
	.next-event-card-inner{gap:16px;}
	.next-event-topic{font-size:18px;}
}

/* 地域ニュースが無いときの表示 */
.press-empty{text-align:center;color:#888;padding:30px 10px;font-size:15px;}

/* ===== 地域ニュース・プレスリリース(メディアの方へ) ===== */
.press-list{max-width:960px;margin:0 auto;}
.press-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:18px 8px;border-bottom:1px solid #eaeaea;}
.press-item:last-child{border-bottom:none;}
.press-date{font-size:14px;color:#999;font-weight:600;min-width:92px;letter-spacing:.02em;}
.press-region{font-size:12px;font-weight:700;color:#fff;background:#ff8800;padding:3px 13px;letter-spacing:.02em;}
.press-category{font-size:12px;font-weight:700;color:#fff;background:#f5a623;padding:3px 13px;}
.press-link{font-size:15px;color:#1c2b46;text-decoration:none;flex:1 1 auto;line-height:1.6;transition:color .2s;}
.press-link:hover{color:#ff8800;}
@media (max-width:600px){
	.press-date{min-width:84px;font-size:13px;}
	.press-link{font-size:14px;flex-basis:100%;}
}
/* 地域ニュース一覧の表示切り替え(グリッド / タイトルのみ)。閲覧者がボタンで選べる。 */
.press-toolbar{max-width:1240px;margin:0 auto 18px;display:flex;justify-content:flex-end;gap:8px;}
.press-view-btn{font-size:13px;font-weight:700;color:#8a8a8a;background:#f2f2f2;border:none;border-radius:8px;padding:8px 15px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:6px;}
.press-view-btn:hover{color:#fff;background:#ffa033;}
.press-view-btn.is-active{color:#fff;background:#ff8800;}

/* --- グリッド表示: アイキャッチ付きカード(4列) --- */
.press-items.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:24px 20px;max-width:1240px;margin:0 auto;}
.press-items.is-grid .press-item{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:0;border:1px solid #ececec;border-bottom:1px solid #ececec;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 3px rgba(20,30,50,.05);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.press-items.is-grid .press-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,30,50,.13);border-color:#f3ddbf;}
.press-items.is-grid .press-thumb-wrap{display:block;width:100%;margin:0;border-radius:0;background:#f3f4f6;overflow:hidden;}
.press-items.is-grid .press-thumb{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.press-items.is-grid .press-body{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:0;padding:15px 16px 16px;flex:1 1 auto;}
.press-items.is-grid .press-link{flex:0 1 auto;font-size:14.5px;font-weight:700;line-height:1.62;color:#1c2b46;margin:0 0 13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;}
.press-items.is-grid .press-item:hover .press-link{color:#e67a00;}
.press-items.is-grid .press-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;width:100%;}
.press-items.is-grid .press-date{display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:11.5px;font-weight:600;color:#6b7280;background:#f4f5f7;border-radius:999px;padding:4px 10px;letter-spacing:.02em;}
.press-items.is-grid .press-date i{font-size:11px;color:#9aa1ac;}
.press-items.is-grid .press-region{display:inline-flex;align-items:center;min-width:0;font-size:11.5px;font-weight:700;color:#c2670a;background:#fff4e6;background-color:#fff4e6;border-radius:999px;padding:4px 10px;letter-spacing:.02em;text-align:left;}
.press-items.is-grid .press-category{display:inline-flex;align-items:center;min-width:0;font-size:11.5px;font-weight:700;color:#4b5563;background:#eef0f3;background-color:#eef0f3;border-radius:999px;padding:4px 10px;letter-spacing:.02em;text-align:left;}

/* アイキャッチ未設定の記事の代替パネル */
.press-thumb-none{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,#ffb45c,#ff8800);}
.press-thumb-none-text{color:#fff;font-size:15px;font-weight:800;letter-spacing:.12em;text-shadow:0 1px 3px rgba(0,0,0,.18);line-height:1.4;}

/* --- リスト表示: 従来の1行レイアウトを維持 --- */
.press-items.is-title{max-width:1240px;margin:0 auto;}
.press-items.is-title .press-item{padding:15px 8px;border-bottom:1px solid #eaeaea;}
.press-items.is-title .press-item:last-child{border-bottom:none;}
.press-items.is-title .press-body{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px;}
.press-items.is-title .press-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px;order:1;flex:0 0 auto;margin:0;}
.press-items.is-title .press-date i{display:none;}
.press-items.is-title .press-link{order:2;flex:1 1 auto;font-weight:600;}

@media (max-width:1024px){
	.press-items.is-grid{gap:20px 16px;}
}
@media (max-width:600px){
	.press-items.is-grid{grid-template-columns:repeat(2,1fr);gap:14px 12px;}
	.press-items.is-grid .press-body{padding:12px 12px 13px;}
	.press-items.is-grid .press-link{font-size:13px;line-height:1.6;margin-bottom:10px;}
	.press-items.is-grid .press-date,
	.press-items.is-grid .press-region,
	.press-items.is-grid .press-category{font-size:10.5px;padding:3px 8px;}
	.press-items.is-grid .press-date i{font-size:10px;}
	.press-thumb-none-text{font-size:13px;}
}
@media (max-width:380px){
	.press-items.is-grid{grid-template-columns:1fr;}
}

/* ===== 4つの成長レベル: リボン型ラベル(基本カラー:一覧と統一) ===== */
.levels-section .level-header-row{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap;}
.levels-section .level-header,
.levels-section .level-grade{position:relative;display:inline-flex;align-items:center;height:30px;padding:0 20px 0 18px;font-weight:800;font-size:14px;letter-spacing:.05em;line-height:1;color:#fff;background-image:none !important;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,9px 50%);}
/* Level n: 基本カラーのグラデーションのリボン */
.cl-level-starter .level-header{background:linear-gradient(135deg,#17a3a1,#63cb6a) !important;color:#fff !important;}
.cl-level-basic .level-header{background:linear-gradient(135deg,#ffd156,#f0984b) !important;color:#fff !important;}
.cl-level-advanced .level-header{background:linear-gradient(135deg,#ff4436,#fe7c46) !important;color:#fff !important;}
.cl-level-pro .level-header{background:linear-gradient(135deg,#ea577d,#9f52e1) !important;color:#fff !important;}
/* STARTER 等: 各レベルカラーの単色リボン(指定色) */
.cl-level-starter .level-grade{background:#b4ec51 !important;color:#2f5d00 !important;}
.cl-level-basic .level-grade{background:#fed600 !important;color:#6a5800 !important;}
.cl-level-advanced .level-grade{background:#ff9800 !important;color:#fff !important;}
.cl-level-pro .level-grade{background:#e65100 !important;color:#fff !important;}
/* サブタイトル(カタカナ スターター〜プロ)はブルーで統一 */
.levels-section .level-subtitle{color:#367ab3 !important;font-weight:700;}
/* カード上端アクセント(指定色) */
.cl-level-starter{border-top:3px solid #b4ec51;}
.cl-level-basic{border-top:3px solid #fed600;}
.cl-level-advanced{border-top:3px solid #ff9800;}
.cl-level-pro{border-top:3px solid #e65100;}

/* ===== 起業家の方へ:会員レベル別プラン ===== */
.plans-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1140px;margin:0 auto;}
.plans-grid-4 .plan-card{position:relative;background:#fff;border:1px solid #ececec;border-radius:14px;padding:28px 22px;display:flex;flex-direction:column;box-shadow:0 4px 18px rgba(28,43,70,.06);box-sizing:border-box;}
.plan-level-badge{display:inline-block;align-self:flex-start;font-size:13px;font-weight:800;letter-spacing:.04em;color:#fff;padding:6px 16px;border-radius:7px;margin:0 0 16px;}
.plans-grid-4 .plan-header{margin:0 0 18px;}
.plans-grid-4 .plan-name{font-size:19px;font-weight:800;color:#1c2b46;margin:0 0 8px;line-height:1.45;}
.plans-grid-4 .plan-description-text{font-size:13px;color:#666;line-height:1.65;margin:0 0 8px;}
.plans-grid-4 .plan-tagline{font-size:14px;font-weight:700;margin:0;}
.plans-grid-4 .plan-features{flex:1 1 auto;margin:0 0 20px;}
.plans-grid-4 .feature-list{list-style:none;margin:0;padding:0;}
.plans-grid-4 .feature-list li{font-size:14px;color:#444;line-height:1.6;padding:8px 0;border-bottom:1px dashed #eee;display:flex;align-items:flex-start;gap:8px;}
.plans-grid-4 .feature-list li i{color:#3aa93a;margin-top:3px;flex-shrink:0;}
.plans-grid-4 .feature-list li strong{color:#1c2b46;}
.plans-grid-4 .plan-cta{text-align:center;}
.plans-grid-4 .plan-cta .btn{display:inline-block;width:100%;padding:13px 0;border-radius:8px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s;box-sizing:border-box;}
.plans-grid-4 .btn-primary{background:#ff8800;color:#fff;}
.plans-grid-4 .btn-primary:hover{background:#e67a00;}
.plans-grid-4 .btn-secondary{background:#fff;color:#1c2b46;border:1.5px solid #d0d5dd;}
.plans-grid-4 .btn-secondary:hover{border-color:#ff8800;color:#d97706;}
.plans-grid-4 .plan-recommended{box-shadow:0 8px 28px rgba(0,103,192,.16);}
.plans-grid-4 .plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#0067C0;color:#fff;font-size:12px;font-weight:800;padding:5px 18px;border-radius:20px;white-space:nowrap;}
.plans-note{text-align:center;margin:28px 0 0;}
.plans-note .note-text{font-size:13px;color:#888;line-height:1.7;}
.cl-plan-starter .plan-level-badge{background:#3aa93a;}
.cl-plan-basic .plan-level-badge{background:#0067C0;}
.cl-plan-advanced .plan-level-badge{background:#9B68A9;}
.cl-plan-pro .plan-level-badge{background:#c79a00;}
.cl-plan-starter .plan-tagline{color:#2e8b2e;}
.cl-plan-basic .plan-tagline{color:#0067c0;}
.cl-plan-advanced .plan-tagline{color:#9b68a9;}
.cl-plan-pro .plan-tagline{color:#b8930a;}
.plans-grid-4 .cl-plan-starter{border-top:3px solid #90EE90;}
.plans-grid-4 .cl-plan-basic{border-top:3px solid #0067C0;}
.plans-grid-4 .cl-plan-advanced{border-top:3px solid #9B68A9;}
.plans-grid-4 .cl-plan-pro{border-top:3px solid #FFD700;}
@media (max-width:1024px){.plans-grid-4{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.plans-grid-4{grid-template-columns:1fr;gap:16px;}}

/* ===== 全国起業家検索:起業家リスト(横カルーセル) ===== */
.cl-ms-carousel{position:relative;max-width:1000px;margin:36px auto 0;padding:0 8px;}
.cl-ms-viewport{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
.cl-ms-viewport::-webkit-scrollbar{display:none;}
.cl-ms-track{display:flex;gap:20px;padding:6px 2px 12px;}
.cl-ms-card{flex:0 0 300px;display:flex;flex-direction:column;background:#fff;border:1px solid #ececec;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(28,43,70,.05);transition:transform .2s,box-shadow .2s;}
.cl-ms-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(28,43,70,.1);}
.cl-ms-card-thumb{display:block;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center top;background-color:#eef0f3;}
.cl-ms-card-thumb--none{display:flex;align-items:center;justify-content:center;color:#aab;font-size:13px;font-weight:700;}
.cl-ms-card-body{flex:1 1 auto;padding:18px 20px;display:flex;flex-direction:column;}
.cl-ms-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px;}
.cl-ms-tag{font-size:12px;font-weight:700;padding:4px 12px;border-radius:5px;}
.cl-ms-tag-region{background:#ff8800;color:#fff;}
.cl-ms-tag-ind{background:#fff3e0;color:#d97706;}
.cl-ms-card-name{font-size:19px;font-weight:800;color:#1c2b46;margin:0 0 9px;}
.cl-ms-card-text{font-size:14px;color:#666;line-height:1.75;margin:0 0 14px;flex:1 1 auto;}
.cl-ms-card-more{align-self:flex-start;font-size:14px;font-weight:700;color:#1c2b46;text-decoration:none;border-bottom:2px solid #ff8800;padding-bottom:2px;transition:color .2s;}
.cl-ms-card-more:hover{color:#ff8800;}
.cl-ms-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;border:none;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.16);color:#1c2b46;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;}
.cl-ms-arrow:hover{background:#ff8800;color:#fff;}
.cl-ms-prev{left:-12px;}
.cl-ms-next{right:-12px;}
.cl-ms-results-more{text-align:center;margin:24px 0 0;}
.cl-ms-results-more a{display:inline-block;background:#ff8800 !important;color:#fff !important;font-size:15px;font-weight:700;padding:14px 40px;border-radius:9px;text-decoration:none;transition:background .2s;}
.cl-ms-results-more a:hover{background:#e67a00 !important;color:#fff !important;}
.cl-ms-results-more a,.cl-ms-results-more a *{color:#fff !important;}
@media (max-width:600px){
	.cl-ms-card{flex:0 0 80%;}
	.cl-ms-arrow{width:40px;height:40px;font-size:22px;}
	.cl-ms-prev{left:-4px;}
	.cl-ms-next{right:-4px;}
}

/* 全国起業家検索:絞り込み0件メッセージ */
.cl-ms-empty{text-align:center;color:#888;padding:36px 10px;font-size:15px;}

/* ===== 講座・交流会:講座の特徴 ===== */
.lecture-features{max-width:1000px;margin:0 auto 44px;text-align:center;}
.features-title{font-size:22px;font-weight:800;color:#1c2b46;margin:0 0 28px;}
.features-list{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
.features-list .feature-item{flex:1 1 160px;max-width:190px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.feature-check{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ff8800;color:#fff;font-size:20px;font-weight:700;flex:0 0 auto;}
.features-list .feature-item p{font-size:13px;color:#d97706;font-weight:700;line-height:1.6;margin:0;}
@media (max-width:600px){
	.features-list{gap:18px;}
	.features-list .feature-item{flex-basis:40%;max-width:none;}
}

/* ===== 講座・交流会:次回開催イベント(GENSEN tcd050 標準の記事スライド表示) ===== */
.cl-ev-section{background:#1a1a1a;width:100vw;max-width:100vw;margin:48px calc(50% - 50vw) 0;padding:60px 24px 78px;box-sizing:border-box;}
.cl-ev-section .cl-ev-title{text-align:center;color:#cdab68;font-family:"Times New Roman","Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:36px!important;font-weight:600;letter-spacing:.12em;line-height:1.35;margin:0 0 46px;}
.cl-ev-carousel{position:relative;max-width:1080px;margin:0 auto;}
.cl-ev-viewport{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;cursor:grab;}
.cl-ev-viewport.is-grabbing{cursor:grabbing;scroll-behavior:auto;}
.cl-ev-viewport::-webkit-scrollbar{display:none;}
.cl-ev-track{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:24px;padding:2px 2px 8px;}
.cl-ev-card{flex:0 0 340px!important;width:340px;max-width:340px;align-self:stretch!important;margin:0!important;padding:0!important;scroll-snap-align:start;display:flex!important;flex-direction:column!important;text-decoration:none;color:inherit;vertical-align:top;}
.cl-ev-figure{position:relative;box-sizing:border-box;margin:0!important;flex:0 0 auto;width:100%;height:0;padding-bottom:75%;overflow:hidden;background:#2b2b2b;border:1px solid rgba(255,255,255,.09);border-radius:3px;}
.cl-ev-figure img{position:absolute;top:0;left:0;display:block;width:100%;height:100%;margin:0;border:0;object-fit:cover;transition:transform .55s ease;}
.cl-ev-card:hover .cl-ev-figure{border-color:rgba(200,169,106,.55);}
.cl-ev-card:hover .cl-ev-figure img{transform:scale(1.06);}
.cl-ev-noimg{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#525252 0%,#3a3a3a 100%);color:#b7b7b7;font-size:15px;font-weight:700;letter-spacing:.28em;}
.cl-ev-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.62);color:#fff;font-size:14px;font-weight:600;line-height:1.55;padding:13px 16px;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.cl-ev-info{flex:1 1 auto;padding:15px 4px 0;}
.cl-ev-when{display:block;color:#e6b96b;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0 0 6px;}
.cl-ev-excerpt{color:#d2d2d2;font-size:13px;line-height:1.75;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.cl-ev-arrow{position:absolute;top:38%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:#1a1a1a;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;}
.cl-ev-arrow:hover{background:#c8a96a;color:#fff;}
.cl-ev-prev{left:-12px;}
.cl-ev-next{right:-12px;}
@media (max-width:600px){
	.cl-ev-card{flex:0 0 80%;}
	.cl-ev-section{padding:46px 16px 56px;}
	.cl-ev-section .cl-ev-title{font-size:25px!important;margin:0 0 32px;}
	.cl-ev-arrow{width:40px;height:40px;font-size:22px;}
	.cl-ev-prev{left:-4px;}
	.cl-ev-next{right:-4px;}
}

/* ===== イベント記事ページ:開催情報と参加申込ボタン ===== */
.cl-ev-single{max-width:680px;margin:32px auto 8px;}
.cl-ev-single-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.cl-ev-single-badges .cl-ev-badge{font-size:12px;font-weight:700;padding:4px 13px;border-radius:4px;}
.cl-ev-single-badges .cl-ev-online{background:#0067C0;color:#fff;}
.cl-ev-single-badges .cl-ev-free{background:#ff8800;color:#fff;}
.cl-ev-single-info{border:1px solid #e6e6e6;border-radius:10px;overflow:hidden;margin:0 0 24px;}
.cl-ev-row{display:flex;align-items:stretch;border-top:1px solid #efefef;}
.cl-ev-row:first-child{border-top:none;}
.cl-ev-row-l{flex:0 0 130px;background:#fafafa;padding:14px 18px;font-weight:700;color:#444;font-size:14px;}
.cl-ev-row-v{flex:1 1 auto;padding:14px 18px;color:#333;font-size:14px;}
.cl-ev-single-apply{display:block;max-width:360px;margin:0 auto;text-align:center;background:#ff8800;color:#fff;font-weight:700;font-size:16px;padding:15px 0;border-radius:8px;text-decoration:none;transition:background .2s;}
.cl-ev-single-apply:hover{background:#e67a00;color:#fff;}
@media (max-width:600px){
	.cl-ev-row-l{flex:0 0 96px;padding:12px;font-size:13px;}
	.cl-ev-row-v{padding:12px;font-size:13px;}
}

/* ===== 地域ニュース:成功事例(SUCCESS STORIES) ===== */
.cl-sc-section{background:#fbf7f0;padding:60px 0;}
.cl-sc-section .section-header{text-align:center;margin:0 0 36px;}
.cl-sc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto 56px;}
.cl-sc-stat{text-align:center;padding:6px 0;}
.cl-sc-stat .ic{color:#ff8800;font-size:40px;margin-bottom:14px;line-height:1;}
.cl-sc-stat .num{font-size:54px;font-weight:900;color:#1c2b46;line-height:1.04;letter-spacing:-.01em;}
.cl-sc-stat .lbl{font-size:14px;color:#8a8a8a;margin-top:10px;}
.cl-sc-stats.cl-sc-anim .cl-sc-stat{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.cl-sc-stats.cl-sc-anim.cl-sc-in .cl-sc-stat{opacity:1;transform:none;}
.cl-sc-stats.cl-sc-anim.cl-sc-in .cl-sc-stat:nth-child(2){transition-delay:.09s;}
.cl-sc-stats.cl-sc-anim.cl-sc-in .cl-sc-stat:nth-child(3){transition-delay:.18s;}
.cl-sc-stats.cl-sc-anim.cl-sc-in .cl-sc-stat:nth-child(4){transition-delay:.27s;}
/* UNIQについて の数字(代表メッセージ・メディア掲載実績)にも出現アニメーションを適用 */
.profile-achievements.cl-sc-anim > *,
.media-categories.cl-sc-anim > *{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.profile-achievements.cl-sc-anim.cl-sc-in > *,
.media-categories.cl-sc-anim.cl-sc-in > *{opacity:1;transform:none;}
.profile-achievements.cl-sc-anim.cl-sc-in > *:nth-child(2),
.media-categories.cl-sc-anim.cl-sc-in > *:nth-child(2){transition-delay:.08s;}
.profile-achievements.cl-sc-anim.cl-sc-in > *:nth-child(3),
.media-categories.cl-sc-anim.cl-sc-in > *:nth-child(3){transition-delay:.16s;}
.profile-achievements.cl-sc-anim.cl-sc-in > *:nth-child(4),
.media-categories.cl-sc-anim.cl-sc-in > *:nth-child(4){transition-delay:.24s;}
.cl-sc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1160px;margin:0 auto;align-items:stretch;}
.cl-sc-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(28,43,70,.07);}
.cl-sc-head{height:148px;background:linear-gradient(135deg,#ffa824 0%,#ff7d00 100%);display:flex;align-items:center;justify-content:center;}
.cl-sc-head-img{background-size:cover;background-position:center;background-repeat:no-repeat;}
.cl-sc-photo{width:96px;height:96px;border-radius:50%;display:block;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 0 0 4px #fff,0 6px 16px rgba(0,0,0,.18);}
.cl-sc-head .ic{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;}
.cl-sc-body{padding:22px 26px 28px;}
.cl-sc-cat{display:inline-block;background:#ff8800;color:#fff;font-size:12px;font-weight:700;padding:5px 14px;border-radius:7px;margin:0 0 14px;}
.cl-sc-name{font-size:22px;font-weight:800;color:#1c2b46;margin:0 0 4px;line-height:1.3;}
.cl-sc-name small{font-size:13px;font-weight:500;color:#888;margin-left:4px;}
.cl-sc-company{font-size:13px;color:#777;margin:0 0 10px 14px;}
.cl-sc-loc{font-size:13px;color:#ff8800;margin:0 0 14px;}
.cl-sc-loc i{margin-right:5px;}
.cl-sc-media{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.cl-sc-media span{border:1.5px solid #ffb24d;color:#e07b00;font-size:12px;font-weight:700;padding:5px 12px;border-radius:7px;}
.cl-sc-q{font-size:14px;font-weight:800;color:#1c2b46;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid #f0dcbb;}
.cl-sc-t{font-size:13.5px;color:#555;line-height:1.8;margin:0 0 22px;}
.cl-sc-quote{position:relative;background:#fff7ec;border-left:4px solid #ff9a2e;border-radius:8px;padding:18px 20px 18px 46px;margin:0 0 22px;}
.cl-sc-quote .qi{position:absolute;left:16px;top:14px;color:#ffb24d;font-size:18px;}
.cl-sc-quote p{font-size:13.5px;font-style:italic;font-weight:700;color:#3a3a3a;line-height:1.85;margin:0;}
/* PC(3カラム)では、課題・取り組みの本文と、お客様の声の高さをそろえ、
   文面の行数(2行/3行)が違っても各セクションの位置(見出し・声・実績)がカード間でそろうようにする。
   余裕を持った最小高さにしているため、行数が多少増減しても崩れない。 */
@media (min-width:769px){
  .cl-sc-body .cl-sc-media{min-height:36px;}
  .cl-sc-body .cl-sc-pa{min-height:0 !important;}
  .cl-sc-body .cl-sc-pa .cl-sc-t{min-height:105px !important;}
  .cl-sc-body .cl-sc-quote{min-height:186px;}
  .cl-sc-body .cl-sc-quote p{min-height:0 !important;}
}
.cl-sc-body .cl-sc-pa .cl-sc-t:last-child{margin-bottom:0;}
.cl-sc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.cl-sc-metric{background:#fff7ec;border-radius:10px;padding:16px 8px;text-align:center;}
.cl-sc-metric .ml{font-size:11px;color:#9a9a9a;margin:0 0 8px;}
.cl-sc-metric .mv{font-size:22px;font-weight:900;color:#ff8800;margin:0;}
@media (max-width:1024px){
  .cl-sc-grid{grid-template-columns:repeat(2,1fr);max-width:760px;}
}
@media (max-width:600px){
  .cl-sc-grid{grid-template-columns:1fr;max-width:400px;}
  .cl-sc-stats{grid-template-columns:repeat(2,1fr);gap:28px 14px;}
  .cl-sc-stat .num{font-size:42px;}
  .cl-sc-stat .ic{font-size:34px;}
  .cl-sc-metrics{grid-template-columns:1fr;gap:10px;}
}

/* ===== Contact Form 7 お問い合わせフォーム ===== */
.cl-cf7{max-width:800px;margin:0 auto;}
.cl-cf7 .cf7-row{margin:0 0 18px;}
.cl-cf7 .cf7-row > label{display:block;font-weight:700;color:#333;font-size:15px;margin-bottom:8px;line-height:1.6;}
.cl-cf7 .required{color:#ef4444;font-size:12px;font-weight:700;margin-left:6px;}
.cl-cf7 input[type="text"],
.cl-cf7 input[type="email"],
.cl-cf7 input[type="tel"],
.cl-cf7 select,
.cl-cf7 textarea{
  width:100%;padding:12px 14px !important;border:1px solid #e2e8f0 !important;border-radius:8px !important;
  font-size:15px !important;font-family:inherit;box-sizing:border-box;background:#fff !important;color:#1f2937 !important;
  box-shadow:none !important;transition:border-color .2s,box-shadow .2s;
}
.cl-cf7 input:focus,
.cl-cf7 select:focus,
.cl-cf7 textarea:focus{outline:none !important;border-color:#ff8800 !important;box-shadow:0 0 0 3px rgba(255,136,0,.12) !important;}
.cl-cf7 textarea{min-height:140px;resize:vertical;}
.cl-cf7 .cf7-quiz input{max-width:260px;}
.cl-cf7 .cf7-accept{font-size:14px;color:#555;line-height:1.7;}
.cl-cf7 .cf7-accept a{color:#ff8800;text-decoration:underline;}
.cl-cf7 .wpcf7-list-item{margin:0;}
.cl-cf7 .cf7-submit{margin-top:26px;text-align:center;}
.cl-cf7 .cf7-submit .wpcf7-submit{
  background:linear-gradient(135deg,#ffa824,#ff7d00);color:#fff;border:none;border-radius:999px;
  padding:15px 50px;font-size:16px;font-weight:700;cursor:pointer;transition:.2s;
}
.cl-cf7 .cf7-submit .wpcf7-submit:hover{box-shadow:0 10px 24px rgba(255,136,0,.28);transform:translateY(-2px);}
.cl-cf7 .wpcf7-not-valid-tip{color:#ef4444;font-size:13px;margin-top:4px;}
.cl-cf7 .wpcf7-response-output{border-radius:8px;font-size:14px;margin:16px 0 0;padding:12px 16px;}
.cl-cf7 .cf7-hint{display:block;font-weight:400;color:#888;font-size:12.5px;margin:2px 0 8px;line-height:1.6;}

/* ===== トップ:全国起業家検索 起業家一覧(リッチカード) ===== */
.cl-fi-block{max-width:1180px;margin:0 auto;padding:8px 16px;}
.cl-fi-head{text-align:center;margin:0 0 28px;}
.cl-fi-title{font-size:28px;font-weight:800;color:#1c2b46;margin:0 0 8px;}
.cl-fi-sub{font-size:15px;color:#666;margin:0;}
.cl-fi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.cl-fi-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ececec;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(28,43,70,.06);text-decoration:none;transition:transform .2s,box-shadow .2s;}
.cl-fi-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,43,70,.13);}
.cl-fi-thumb{position:relative;display:block;width:100%;padding-top:118%;background-size:cover;background-position:center top;background-color:#eef0f3;}
.cl-fi-thumb--none{padding-top:118%;min-height:0;color:#c2c9d4;font-size:40px;}
.cl-fi-thumb--none i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.cl-fi-level{position:absolute;top:11px;left:11px;z-index:2;font-size:12px;font-weight:800;letter-spacing:.05em;padding:5px 13px;border-radius:7px;box-shadow:0 2px 8px rgba(0,0,0,.22);}
.cl-fi-body{flex:1 1 auto;padding:15px 16px 17px;display:flex;flex-direction:column;gap:7px;}
.cl-fi-status{font-size:12px;font-weight:700;color:#e07b00;letter-spacing:.02em;}
.cl-fi-name{font-size:19px;font-weight:800;color:#1c2b46;line-height:1.4;}
.cl-fi-catch{font-size:13px;color:#555;line-height:1.65;}
.cl-fi-info{font-size:12.5px;color:#8a93a2;line-height:1.6;}
.cl-fi-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;}
.cl-fi-tag{font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:999px;line-height:1.7;}
.cl-fi-tag-region{background:#ff8800;color:#fff;}
.cl-fi-tag-ind{background:#fff3e0;color:#d97706;}
.cl-fi-tag-tag{background:#f1f3f5;color:#5b6573;}
.cl-fi-more{text-align:center;margin:30px 0 0;}
/* 起業家一覧ボタンと「専門家のジャンルから探す」セクションの間に余白を確保する */
#cb_cat12{margin-top:clamp(48px,8vw,72px);}
/* 専門家ジャンルのアイコンを、カードより少し濃いグレーの円で囲む。
   アイコン画像の白い背景は mix-blend-mode:multiply で囲みの色に溶け込み、線画だけが残る。
   そのため画像を透過加工しなくても、元の白背景のままきれいに囲める。 */
#cb_cat12 ul li.has_image .image{background:#fff !important;border-radius:50% !important;box-shadow:none !important;overflow:hidden !important;width:118px !important;height:118px !important;margin:16px !important;float:left !important;}
#cb_cat12 ul li.has_image .image img{width:100% !important;height:100% !important;object-fit:contain !important;padding:0 !important;box-sizing:border-box !important;transform:scale(1.38) !important;mix-blend-mode:multiply !important;background:transparent !important;}
@media (max-width:768px){#cb_cat12 ul li.has_image .image{width:94px !important;height:94px !important;margin:13px !important;}}
.cl-fi-more a{display:inline-block;background:#ff8800;color:#fff !important;font-size:15px;font-weight:700;padding:14px 42px;border-radius:9px;text-decoration:none;transition:background .2s;}
.cl-fi-more a:hover{background:#e67a00;}
@media (max-width:1100px){
	.cl-fi-grid{grid-template-columns:repeat(3,1fr);gap:18px;}
}
@media (max-width:760px){
	.cl-fi-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
}
@media (max-width:600px){
	.cl-fi-block{padding:4px 12px;}
	.cl-fi-title{font-size:22px;}
	.cl-fi-sub{font-size:13.5px;}
	.cl-fi-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
	.cl-fi-thumb{padding-top:120%;}
	.cl-fi-thumb--none{font-size:34px;}
	.cl-fi-level{top:8px;left:8px;font-size:11px;padding:4px 10px;}
	.cl-fi-body{padding:11px 12px 13px;gap:5px;}
	.cl-fi-status{font-size:11px;}
	.cl-fi-name{font-size:15.5px;}
	.cl-fi-catch{font-size:12px;line-height:1.55;}
	.cl-fi-info{font-size:11.5px;}
	.cl-fi-tag{font-size:10.5px;padding:2px 9px;}
	.cl-fi-more a{width:100%;box-sizing:border-box;padding:14px 20px;}
}

/* ===== フッター リンク集(業種12カテゴリー＋人気サブ / 地域) ===== */
.cl-footer-links{background:#f5f5f6 !important;color:#4b5563 !important;padding:30px 24px 32px;}
.cl-footer-links *{box-sizing:border-box;}
.cl-fl-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:36px 48px;align-items:flex-start;}
.cl-fl-block-reg{flex:0 0 296px;max-width:100%;}
.cl-fl-block-cat{flex:1 1 560px;min-width:0;}
.cl-fl-head{display:inline-block;background:#2b2b2b !important;color:#fff !important;font-weight:700;font-size:13px;letter-spacing:.1em;padding:6px 18px;border-radius:999px;margin:0 0 22px;}
.cl-fl-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px;}
.cl-fl-cat-title{display:block;font-weight:700;font-size:14px;color:#1f2937 !important;text-decoration:none;padding-left:12px;border-left:4px solid var(--cl-fl-accent,#ff8800);line-height:1.45;margin-bottom:11px;}
.cl-fl-cat-title:hover{color:var(--cl-fl-accent,#ff8800) !important;}
.cl-fl-sub{list-style:none;margin:0;padding:0 0 0 12px;display:flex;flex-direction:column;gap:7px;}
.cl-fl-sub a{color:#6b7280 !important;text-decoration:none;font-size:12.5px;line-height:1.4;transition:color .15s;}
.cl-fl-sub a:hover{color:#ff8800 !important;text-decoration:underline;}
.cl-fl-regs{display:flex;flex-direction:column;gap:18px;}
.cl-fl-reg-title{display:block;font-weight:700;font-size:13.5px;color:#1f2937 !important;text-decoration:none;margin-bottom:8px;}
.cl-fl-reg-title:hover{color:#ff8800 !important;}
.cl-fl-pref{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px 12px;}
.cl-fl-pref a{color:#6b7280 !important;text-decoration:none;font-size:12px;}
.cl-fl-pref a:hover{color:#ff8800 !important;text-decoration:underline;}
@media(max-width:1100px){.cl-fl-cats{grid-template-columns:repeat(3,1fr);}}@media(max-width:980px){.cl-fl-block-reg,.cl-fl-block-cat{flex:1 1 100%;}.cl-fl-cats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cl-footer-links{padding:24px 18px 26px;}.cl-fl-cats{grid-template-columns:1fr;gap:20px;}}
/* フッターの所定位置が見つからない場合の独立表示(全ページ表示を保証) */
.cl-footer-links-standalone{border-top:1px solid #e6e6e7;}
/* プロフィールページはテンプレートで直接リンク集を出力するため、TCD標準のフッターナビ(#footer_nav)を消して二重表示を防ぐ */
body.single-introduce #footer_nav{display:none !important;}

/* お問い合わせフォームのハニーポット欄(bot対策の隠し欄)を人間には見えなくする */
.cf7-hp-field{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;}

/* 全国地域ニュース(cl_press)アーカイブ: ヒーロー・絞り込み・1カラム */
.rn-archive{max-width:1200px;margin:0 auto;padding:8px 20px 64px;}
.rn-hero{background:linear-gradient(135deg,#ffa63d,#ff8800);border-radius:16px;padding:56px 32px;text-align:center;margin:20px 0 30px;}
.rn-hero-title{font-size:34px;font-weight:800;color:#fff;margin:0 0 14px;letter-spacing:.04em;}
.rn-hero-sub{font-size:15px;color:#fff;line-height:1.9;margin:0;opacity:.96;}
.rn-filter{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:center;margin:0 0 34px;}
.rn-filter-item{display:flex;flex-direction:column;gap:6px;}
.rn-filter-item label{font-size:13px;font-weight:700;color:#555;}
.rn-filter-item select{min-width:230px;height:46px;border:1px solid #ddd;border-radius:9px;padding:0 14px;font-size:14px;background:#fff;color:#333;}
.rn-filter-btn{height:46px;padding:0 36px;background:#ff8800;color:#fff;border:none;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;}
.rn-filter-btn:hover{background:#e67a00;}
@media(max-width:768px){
  .rn-hero{padding:38px 20px;}
  .rn-hero-title{font-size:25px;}
  .rn-hero-sub{font-size:13.5px;}
  .rn-filter-item{width:100%;}
  .rn-filter-item select{min-width:0;width:100%;}
  .rn-filter-btn{width:100%;}
}

/* 地域ニュース一覧: アイキャッチ画像 */
.press-thumb-wrap{display:block;line-height:0;overflow:hidden;}
.press-thumb{width:100%;height:auto;display:block;transition:transform .45s ease;}
.press-item:hover .press-thumb{transform:scale(1.06);}
.press-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex:1 1 auto;}
.press-items.is-title .press-thumb-wrap{display:none;}

/* 開催イベント一覧(アーカイブ /event/): 明るい背景のカードグリッド */
.cl-ev-arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;max-width:1000px;margin:0 auto;}
.cl-ev-arc-card{display:block;text-decoration:none;color:inherit;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .3s,transform .3s;}
.cl-ev-arc-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-3px);}
.cl-ev-arc-figure{position:relative;width:100%;height:0;padding-bottom:64%;overflow:hidden;background:#333;}
.cl-ev-arc-figure img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.cl-ev-arc-card:hover .cl-ev-arc-figure img{transform:scale(1.05);}
.cl-ev-arc-noimg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#999;font-size:20px;letter-spacing:.2em;}
.cl-ev-arc-body{padding:18px 20px 22px;}
.cl-ev-arc-when{display:inline-block;font-size:13px;font-weight:700;color:#ff8800;margin-bottom:8px;}
.cl-ev-arc-name{font-size:17px;font-weight:800;color:#1c2b46;margin:0 0 10px;line-height:1.5;}
.cl-ev-arc-excerpt{font-size:13.5px;color:#666;line-height:1.8;margin:0;}
.cl-ev-arc-empty{text-align:center;color:#888;padding:50px 0;}
@media(max-width:768px){.cl-ev-arc-grid{grid-template-columns:1fr;gap:20px;}}

/* 開催イベント一覧カードの開催情報 */
.cl-ev-arc-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;}
.cl-ev-arc-when,.cl-ev-arc-format{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#555;font-weight:600;line-height:1.5;}
.cl-ev-arc-when i,.cl-ev-arc-format i{color:#ff8800;font-size:13px;width:15px;text-align:center;margin-top:2px;flex:0 0 auto;}
.cl-ev-arc-when{color:#e67a00;font-weight:700;}
.cl-ev-arc-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.cl-ev-arc-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:5px;}
.cl-ev-badge-online{background:#e3f2fd;color:#1976d2;}
.cl-ev-badge-free{background:#fff3e0;color:#e65100;}
/* 地域ニュース記事一覧へのスクロール先(固定ヘッダー分のオフセット) */
.press-anchor{display:block;position:relative;top:0;scroll-margin-top:110px;height:0;}

/* 地域ニュース一覧のページ送り(数字+前後矢印) */
.press-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:36px 0 0;}
.press-pager-num,.press-pager-nav{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid #e5c9a0;border-radius:8px;color:#e67a00;font-weight:700;font-size:14px;text-decoration:none;background:#fff;transition:.2s;}
.press-pager-num:hover,.press-pager-nav:hover{background:#ff8800;color:#fff;border-color:#ff8800;}
.press-pager-num.is-current{background:#ff8800;color:#fff;border-color:#ff8800;cursor:default;}
.press-pager-nav{font-size:20px;line-height:1;}
.press-pager-nav.is-disabled{color:#ccc;border-color:#eee;background:#f7f7f7;cursor:default;pointer-events:none;}

/* イベントカード: 日程・時間をアイキャッチ画像の上(左上)に重ねる */
.cl-ev-arc-figure{position:relative;}
.cl-ev-datetime{position:absolute;top:10px;left:10px;z-index:3;background:rgba(255,136,0,.96);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;letter-spacing:.02em;box-shadow:0 2px 8px rgba(0,0,0,.25);}

/* お知らせアーカイブ(固定ページ /news/)のリスト */
.cl-news-archive-list{max-width:1000px;margin:0 auto;list-style:none;padding:0;}
.cl-news-empty{text-align:center;color:#888;padding:50px 0;}


/* ============================================================
   記事シェア(二段階式: トリガー→モーダル) — Center Light
   ============================================================ */
.mu-share{margin:24px 0;}
.mu-share__trigger{display:inline-flex;align-items:center;gap:8px;background:#28a745;color:#fff;font-weight:700;font-size:14px;border:none;padding:11px 24px;border-radius:999px;cursor:pointer;transition:background .2s,transform .2s;}
.mu-share__trigger:hover{background:#1e7e34;transform:translateY(-1px);}
.mu-share-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;}
.mu-share-modal[hidden]{display:none;}
.mu-share-modal__backdrop{position:absolute;inset:0;background:rgba(28,43,70,.55);}
.mu-share-modal__panel{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:24px 30px 30px;width:min(92vw,460px);}
.mu-share-modal__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px;}
.mu-share-modal__title{font-size:16px;font-weight:800;color:#1c2b46;}
.mu-share-modal__close{width:34px;height:34px;border-radius:50%;border:none;background:#eef0f3;color:#1c2b46;font-size:15px;cursor:pointer;}
.mu-share-modal__close:hover{background:#e0e3e8;}
.mu-share-modal__list{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:0;margin:0;list-style:none;}
.mu-share-item{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;text-decoration:none;padding:0;}
.mu-share-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--sc,#333);color:#fff;font-size:22px;transition:transform .2s;}
.mu-share-item:hover .mu-share-ic{transform:translateY(-3px);}
.mu-share-name{font-size:12px;font-weight:700;color:#4a5568;}
.mu-share-copy.is-copied .mu-share-name{color:#28a745;}
.mu-share-copy.is-copied .mu-share-name::after{content:" ✓";}

.mu-share-instagram .mu-share-ic{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);}
.mu-share-native.is-copied .mu-share-name{color:#28a745;}
.mu-share-native.is-copied .mu-share-name::after{content:" ✓ コピー";}

.cl-partners-count{text-align:center;margin:16px 0 0;line-height:1.2;}
.cl-partners-count-label{display:block;color:#6b7280;font-size:13px;font-weight:700;margin-bottom:4px;}
.cl-partners-count-num{color:var(--primary-color,#ff8800);font-size:34px;font-weight:900;letter-spacing:.02em;}
.cl-partners-count-unit{color:var(--primary-color,#ff8800);font-size:17px;font-weight:900;margin-left:2px;}

/* HOME: rich_font見出し(専門家のジャンルから探す・全国地域起業家)を、悩み見出し(section-title)と同じフォント・サイズに統一 */
.cb_headline.rich_font{font-family:inherit !important;font-size:2.5rem !important;font-weight:900 !important;letter-spacing:normal !important;line-height:1.3 !important;}
@media(max-width:768px){.cb_headline.rich_font{font-size:1.7rem !important;}}

/* ===== 起業家をさがすサイドバーウィジェット(分類・絞り込み検索) ===== */
#side_col .widget.cl_intro_tax_widget,
#side_col .widget.cl_intro_search_widget{background:#fff;border:1px solid #ffe4c4;border-radius:16px;padding:20px 20px 22px;margin:0 0 20px;}
#side_col .cl_intro_tax_widget .side_headline,
#side_col .cl_intro_search_widget .side_headline{font-size:15px;font-weight:900;color:#1c2b46;margin:0 0 14px;padding:0 0 11px;border-bottom:2px solid #ff8800;letter-spacing:.02em;line-height:1.5;}
.cl-tw{margin:0;}
.cl-tw-srlabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ボタン(チップ)表示 */
.cl-tw-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cl-tw-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#4b5563;background:#fff;border:1px solid #e8e3da;border-radius:999px;padding:7px 13px;text-decoration:none;line-height:1;transition:background .2s,border-color .2s,color .2s;}
.cl-tw-chip:hover{color:#e67a00;border-color:#ffc180;background:#fff8f0;}
.cl-tw-chip.is-active{color:#fff;background:#ff8800;border-color:#ff8800;}
.cl-tw-chip .cl-tw-count{font-size:11px;font-weight:700;color:#9aa1ac;}
.cl-tw-chip:hover .cl-tw-count{color:#e8a55e;}
.cl-tw-chip.is-active .cl-tw-count{color:rgba(255,255,255,.85);}
.cl-tw-chip.is-hidden{display:none;}
.cl-tw-chips.is-open .cl-tw-chip.is-hidden{display:inline-flex;}

/* 会員レベルは一覧ページと同じ色の点を付ける */
.cl-tw-lev::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.cl-tw-lev.cl-lev-starter::before{background:#90EE90;}
.cl-tw-lev.cl-lev-basic::before{background:#0067C0;}
.cl-tw-lev.cl-lev-advanced::before{background:#9B68A9;}
.cl-tw-lev.cl-lev-pro::before{background:#FFD700;}
.cl-tw-chip.is-active.cl-tw-lev::before{background:rgba(255,255,255,.9);}

/* リスト表示 */
.cl-tw-list{display:flex;flex-direction:column;}
.cl-tw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:600;color:#3b4453;text-decoration:none;padding:11px 2px;border-bottom:1px solid #f2ede5;transition:color .2s;}
.cl-tw-row:last-of-type{border-bottom:none;}
.cl-tw-row::before{content:'';width:5px;height:5px;border-radius:50%;background:#ffc180;flex:0 0 auto;margin-right:-4px;}
.cl-tw-row .cl-tw-name{flex:1 1 auto;line-height:1.5;}
.cl-tw-row .cl-tw-count{font-size:11.5px;font-weight:700;color:#9aa1ac;background:#f4f5f7;border-radius:999px;padding:3px 9px;flex:0 0 auto;}
.cl-tw-row:hover{color:#e67a00;}
.cl-tw-row:hover::before{background:#ff8800;}
.cl-tw-row.is-active{color:#e67a00;}
.cl-tw-row.is-active::before{background:#ff8800;}
.cl-tw-row.is-active .cl-tw-count{color:#c2670a;background:#fff4e6;}
.cl-tw-row.is-hidden{display:none;}
.cl-tw-list.is-open .cl-tw-row.is-hidden{display:flex;}

/* もっと見る */
.cl-tw-more{display:block;width:100%;margin:12px 0 0;padding:9px 10px;font-size:12.5px;font-weight:700;color:#e67a00;background:#fff7ee;border:1px dashed #ffc180;border-radius:9px;cursor:pointer;transition:background .2s,color .2s;}
.cl-tw-more:hover{background:#ff8800;border-color:#ff8800;color:#fff;}

/* 一覧へのリンク */
.cl-tw-all{display:inline-flex;align-items:center;gap:6px;margin:14px 0 0;font-size:12.5px;font-weight:700;color:#e67a00;text-decoration:none;}
.cl-tw-all::after{content:'\203a';font-size:16px;line-height:1;}
.cl-tw-all:hover{text-decoration:underline;}

/* プルダウン表示・絞り込み検索フォーム */
.cl-tw-select,.cl-tw-field select,.cl-tw-field input[type="search"]{width:100%;height:44px;border:1px solid #e2ded6;border-radius:9px;padding:0 12px;font-size:13.5px;color:#333;background:#fff;box-sizing:border-box;}
.cl-tw-field select:focus,.cl-tw-field input[type="search"]:focus,.cl-tw-select:focus{outline:none;border-color:#ff8800;box-shadow:0 0 0 3px rgba(255,136,0,.13);}
.cl-tw-search{display:flex;flex-direction:column;gap:12px;}
.cl-tw-field{display:flex;flex-direction:column;gap:5px;}
.cl-tw-field label{font-size:12px;font-weight:700;color:#6b7280;letter-spacing:.02em;}
.cl-tw-btn{width:100%;height:46px;background:#ff8800;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s;}
.cl-tw-btn:hover{background:#e67a00;}
.cl-tw-reset{display:inline-block;text-align:center;font-size:12px;font-weight:600;color:#8a8a8a;text-decoration:underline;}
.cl-tw-reset:hover{color:#e67a00;}

/* 起業家プロフィールページのサイドバー内での余白調整 */
.cl-intro-aside #side_col .widget.cl_intro_tax_widget,
.cl-intro-aside #side_col .widget.cl_intro_search_widget{padding:18px 20px 20px;}
@media(max-width:1024px){
	.cl-tw-chip{font-size:12px;padding:7px 12px;}
	.cl-tw-row{font-size:13px;}
}
.cl-tw-selectform{display:flex;flex-direction:column;gap:10px;}
.cl-tw-btn-sm{height:42px;font-size:13px;}
#side_col .cl_intro_tax_widget .side_headline,
#side_col .cl_intro_search_widget .side_headline{font-family:inherit;}

/* フッターウィジェットに置いた場合(背景が濃いため文字色を反転) */
#footer_widget .cl-tw-chip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.24);color:#fff;}
#footer_widget .cl-tw-chip .cl-tw-count{color:rgba(255,255,255,.6);}
#footer_widget .cl-tw-row{color:#eaeaea;border-bottom-color:rgba(255,255,255,.16);}
#footer_widget .cl-tw-row .cl-tw-count{color:rgba(255,255,255,.65);background:rgba(255,255,255,.1);}
#footer_widget .cl-tw-field label{color:rgba(255,255,255,.75);}

/* ===== お問い合わせページ: メディア関係者向けの導線 ===== */
.cl-media-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 22px;max-width:860px;margin:22px auto 32px;padding:20px 24px;background:#fff8f0;border:1px solid #ffd9a8;border-radius:14px;}
.cl-media-cta-body{flex:1 1 320px;min-width:0;}
.cl-media-cta-title{margin:0 0 6px;font-size:16px;font-weight:900;color:#1c2b46;letter-spacing:.02em;line-height:1.5;}
.cl-media-cta-text{margin:0;font-size:13.5px;color:#5f6b7a;line-height:1.8;}
.cl-media-cta-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 26px;background:#ff8800;color:#fff !important;border-radius:999px;font-size:14.5px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(255,136,0,.25);transition:transform .2s,box-shadow .2s,background .2s;}
.cl-media-cta-btn::after{content:'\203a';font-size:19px;line-height:1;}
.cl-media-cta-btn:hover{background:#e67a00;transform:translateY(-2px);box-shadow:0 10px 22px rgba(255,136,0,.33);color:#fff !important;}
@media(max-width:600px){
	.cl-media-cta{padding:18px 18px 20px;margin:18px auto 26px;}
	.cl-media-cta-title{font-size:15px;}
	.cl-media-cta-text{font-size:13px;}
	.cl-media-cta-btn{width:100%;justify-content:center;height:46px;}
}

/* フォーム内のメディア向け案内リンク */
.cf7-media-link{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:13.5px;font-weight:700;color:#e67a00;text-decoration:none;}
.cf7-media-link::after{content:'\203a';font-size:17px;line-height:1;}
.cf7-media-link:hover{text-decoration:underline;}

/* 取材依頼フォームへスクロールしたときに、固定ヘッダーで見出しが隠れないようにする */
#interview{scroll-margin-top:110px;}

/* ===== 起業家の方へ: 最下部CTAの見出しを2行そろえる ===== */
/* 1行目「今すぐメディア露出への第一歩を」の「メ」の位置から、2行目「踏み出しましょう」が始まるようにする */
.cta_second .cta-title{display:inline-block;text-align:left;}
.cta_second .cta-title .cta-title-line{display:block;}
.cta_second .cta-title .cta-title-line2{padding-left:3em;}
@media(max-width:600px){
	.cta_second .cta-title{display:block;text-align:center;}
	.cta_second .cta-title .cta-title-line2{padding-left:0;}
}

/* ===== 講座・交流会: 開催概要・地図・申込ボタン ===== */
.cl-ev-outline{margin:44px 0 0;}
.cl-ev-outline-title{font-size:22px;font-weight:900;color:#1c2b46;margin:0 0 18px;padding:0 0 12px;border-bottom:2px solid #ff8800;letter-spacing:.02em;}
.cl-ev-table{width:100%;border-collapse:collapse;margin:0;font-size:15px;line-height:1.9;}
.cl-ev-table th,.cl-ev-table td{border:1px solid #ececec;padding:14px 18px;text-align:left;vertical-align:top;}
.cl-ev-table th{width:150px;background:#fff8f0;color:#5b4a35;font-weight:700;white-space:nowrap;}
.cl-ev-table td{background:#fff;color:#33383f;}
.cl-ev-map{margin:40px 0 0;}
.cl-ev-map-frame{position:relative;width:100%;border:1px solid #ececec;border-radius:14px;overflow:hidden;background:#f3f4f6;line-height:0;}
.cl-ev-map-frame iframe{display:block;width:100%;height:380px;border:0;}
.cl-ev-map-link{margin:12px 0 0;font-size:14px;}
.cl-ev-map-link a{color:#e67a00;font-weight:700;text-decoration:none;}
.cl-ev-map-link a:hover{text-decoration:underline;}
.cl-ev-cta{margin:44px 0 0;text-align:center;}
.cl-ev-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:300px;height:60px;padding:0 40px;background:linear-gradient(135deg,#ff8800,#ff6600);color:#fff !important;border-radius:999px;font-size:17px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(255,136,0,.28);transition:transform .2s,box-shadow .2s;}
.cl-ev-cta-btn::after{content:'\203a';font-size:22px;line-height:1;}
.cl-ev-cta-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(255,136,0,.36);color:#fff !important;}
.cl-ev-cta-note{margin:14px 0 0;font-size:13px;color:#8a8a8a;}
@media(max-width:600px){
	.cl-ev-outline-title{font-size:19px;}
	.cl-ev-table{font-size:14px;}
	.cl-ev-table th,.cl-ev-table td{display:block;width:auto;padding:11px 14px;}
	.cl-ev-table th{border-bottom:none;}
	.cl-ev-table td{border-top:none;}
	.cl-ev-map-frame iframe{height:300px;}
	.cl-ev-cta-btn{min-width:0;width:100%;height:56px;font-size:15.5px;padding:0 20px;}
}

/* ===== タブ切替の記事一覧ウィジェット ===== */
#side_col .widget.cl_tab_list_widget{background:transparent;border:none;padding:0;margin:0 0 26px;}
.cl-tl{border:1px solid #e6e6e6;border-radius:4px;background:#fff;overflow:hidden;}

/* タブ */
.cl-tl-tabs{display:flex;flex-wrap:nowrap;background:#f4f4f4;border-bottom:1px solid #e6e6e6;}
.cl-tl-tab{flex:1 1 0;min-width:0;appearance:none;border:none;border-right:1px solid #e6e6e6;background:#f4f4f4;color:#8a8a8a;font-size:13.5px;font-weight:700;line-height:1.4;padding:15px 8px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em;}
.cl-tl-tab:last-child{border-right:none;}
.cl-tl-tab:hover{color:#e67a00;background:#fbfbfb;}
.cl-tl-tab.is-active{background:#fff;color:#1c2b46;position:relative;}
.cl-tl-tab.is-active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#ff8800;}

/* 中身 */
.cl-tl-panel{display:none;}
.cl-tl-panel.is-active{display:block;}
.cl-tl-list{list-style:none;margin:0;padding:0;}
.cl-tl-item{margin:0;padding:0;border-bottom:1px solid #eee;}
.cl-tl-item:last-child{border-bottom:none;}
.cl-tl-link{display:flex;align-items:center;gap:15px;padding:15px 16px;text-decoration:none;color:inherit;transition:background .2s;}
.cl-tl-link:hover{background:#fffaf3;}
.cl-tl-thumb{flex:0 0 84px;width:84px;height:84px;border-radius:3px;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center;line-height:0;}
.cl-tl-img{width:100%;height:100%;object-fit:cover;display:block;}
.cl-tl-noimg{font-size:10.5px;font-weight:600;color:#fff;background:#c9c9c9;width:100%;height:100%;display:flex;align-items:center;justify-content:center;letter-spacing:.06em;line-height:1.3;}
.cl-tl-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px;}
.cl-tl-title{font-size:14px;font-weight:600;line-height:1.6;color:#33383f;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word;transition:color .2s;}
.cl-tl-link:hover .cl-tl-title{color:#e67a00;}
.cl-tl-date{font-size:11.5px;font-weight:600;color:#9aa1ac;letter-spacing:.02em;}
.cl-tl-empty{margin:0;padding:26px 16px;font-size:13px;color:#9aa1ac;text-align:center;}

/* フッターに置いた場合 */
#footer_widget .cl-tl{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);}
#footer_widget .cl-tl-tabs{background:rgba(255,255,255,.06);border-bottom-color:rgba(255,255,255,.16);}
#footer_widget .cl-tl-tab{background:transparent;color:rgba(255,255,255,.6);border-right-color:rgba(255,255,255,.16);}
#footer_widget .cl-tl-tab.is-active{background:rgba(255,255,255,.1);color:#fff;}
#footer_widget .cl-tl-item{border-bottom-color:rgba(255,255,255,.14);}
#footer_widget .cl-tl-title{color:#eaeaea;}
#footer_widget .cl-tl-date{color:rgba(255,255,255,.55);}

@media(max-width:600px){
	.cl-tl-tab{font-size:12.5px;padding:13px 6px;}
	.cl-tl-link{gap:12px;padding:13px 13px;}
	.cl-tl-thumb{flex-basis:74px;width:74px;height:74px;}
	.cl-tl-title{font-size:13.5px;}
}

/* フッターリンク集の前後にできる余白を詰める(差し込み先の親要素) */
.cl-fl-host{padding-top:0 !important;padding-bottom:0 !important;}
.cl-fl-host > .cl-footer-links{margin-top:0;margin-bottom:0;}
.cl-footer-links + *{margin-top:0 !important;}

/* ===== プロフィールのサイドバー部品をウィジェットとして置いた場合 ===== */
#side_col .widget.cl_intro_cta_widget,
#side_col .widget.cl_intro_ind_tags_widget,
#side_col .widget.cl_intro_others_widget{background:transparent;border:none;padding:0;margin:0 0 20px;}
#side_col .cl_intro_cta_widget .side_headline,
#side_col .cl_intro_ind_tags_widget .side_headline,
#side_col .cl_intro_others_widget .side_headline{display:none;}
.cl-side-card-widget{box-shadow:0 1px 3px rgba(20,30,50,.05);}
.cl-side-card-widget .cl-side-btn{width:100%;justify-content:center;}
.cl-side-card-widget .cl-side-list{margin-bottom:14px;}

/* フッターに置いた場合(背景が濃いため配色を反転) */
#footer_widget .cl-side-card-widget{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16);}
#footer_widget .cl-side-card-widget .cl-side-title,
#footer_widget .cl-side-card-widget .cl-side-name,
#footer_widget .cl-side-card-widget .cl-side-cta-lead{color:#fff;}
#footer_widget .cl-side-card-widget .cl-side-cat{color:rgba(255,255,255,.65);}
#footer_widget .cl-side-card-widget .cl-side-tags a{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#ffd7a8;}
#footer_widget .cl-side-card-widget .cl-side-list a{color:#eaeaea;}

/* ===== プロフィールページのサイドバーをウィジェットだけで組む場合の調整 ===== */
.cl-intro-aside .cl-side-widgets #side_col{display:flex;flex-direction:column;gap:20px;width:100%;margin:0;padding:0;float:none;}
.cl-intro-aside .cl-side-widgets #side_col .widget{margin:0;}
.cl-intro-aside .cl-side-widgets #side_col .cl-side-card{margin:0;}
@media(min-width:1025px){
	.cl-intro-aside .cl-side-widgets #side_col{max-width:100%;}
}
@media(max-width:1024px){
	.cl-intro-aside .cl-side-widgets #side_col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
}
@media(max-width:600px){
	.cl-intro-aside .cl-side-widgets #side_col{grid-template-columns:1fr;}
}

/* ===== トップページのコンテンツブロックが透明のまま残らないようにする =====
   親テーマは各ブロックに inview-fadein クラスを付けてスクロール表示を行うが、
   対応する処理が読み込まれない状況では、透明のまま表示されないことがある。
   ここで常に見える状態を保証し、内容が消えたように見えるのを防ぐ。 */
.inview-fadein,
.cb_content,
.cb_content .inner,
.cb_content .cb_headline,
.cb_content .cb_desc{opacity:1 !important;visibility:visible !important;}
.cb_content{transform:none !important;}

/* 見出しと説明文の色を確実に保つ(親テーマ側で薄い色が当たっても読める状態にする) */
.cb_content .cb_headline{color:#1c2b46;}
.cb_content .cb_desc{color:#5f6b7a;}

/* お問い合わせページ本文: 取材依頼フォームへの一文リンク */
.cl-media-lead{display:inline;font-size:13.5px;line-height:1.9;color:#5f6b7a;}
.cl-media-lead a{color:#e67a00;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(230,122,0,.4);padding-bottom:1px;}
.cl-media-lead a:hover{color:#ff8800;border-bottom-color:#ff8800;}
/* 副題の中で改行して続ける一文。副題のすぐ下に自然に並ぶ */
.cl-media-lead-br{display:block;content:"";margin-top:6px;}
/* 保険で入れ物の外に入った場合の見た目(中央寄せ) */
.cl-media-lead-row{margin:4px auto 0;text-align:center;}

/* 取材依頼フォームへの飛び先の目印(スクロール位置を固定ヘッダーの下に合わせる) */
.cl-interview-anchor{display:block;position:relative;height:0;scroll-margin-top:110px;}
html{scroll-behavior:smooth;}

/* お問い合わせフォーム副題と、取材依頼の一文リンクの行間を詰める */
.general-contact .section-header .section-subtitle{margin-bottom:0;}
.general-contact .cl-media-lead{margin-top:1px;}

/* ===== match-uniq 閲覧ランキング ウィジェット ===== */
.cl-ranking-list{list-style:none;margin:0;padding:0;counter-reset:none;}
.cl-ranking-item{margin:0;border-bottom:1px solid #f0f0f2;}
.cl-ranking-item:last-child{border-bottom:none;}
.cl-ranking-item a{display:flex;align-items:center;gap:10px;padding:10px 2px;text-decoration:none;color:inherit;}
.cl-ranking-no{flex:0 0 auto;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#e5e7eb;color:#4b5563;font-weight:700;font-size:13px;font-style:italic;}
.cl-ranking-1 .cl-ranking-no{background:#f5b400;color:#fff;}
.cl-ranking-2 .cl-ranking-no{background:#b7bcc4;color:#fff;}
.cl-ranking-3 .cl-ranking-no{background:#cd7f43;color:#fff;}
.cl-ranking-item .cl-side-thumb{flex:0 0 auto;width:46px;height:46px;border-radius:8px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;}
.cl-ranking-item .cl-side-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.cl-ranking-item .cl-side-thumb i{color:#c4c8d0;font-size:20px;}
.cl-ranking-item .cl-side-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cl-ranking-item .cl-side-name{font-weight:700;font-size:14px;color:#1f2937;line-height:1.35;}
.cl-ranking-item .cl-side-cat{font-size:11.5px;color:#6b7280;}
.cl-ranking-views{font-size:11px;color:#9aa1ac;}
.cl-ranking-item a:hover .cl-side-name{color:#e67a00;}

/* ===== トップのヘッダー写真(テーマ設定に画像が無いときの表示) ===== */
.cl-hero{position:relative;width:100%;overflow:hidden;line-height:0;background:#1c1c1c;}
.cl-hero-pic{display:block;width:100%;}
.cl-hero-pic img{display:block;width:100%;height:auto;object-fit:cover;}
.cl-hero-caption{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;line-height:1.5;padding:0 20px;pointer-events:none;}
.cl-hero-headline{margin:0;color:#fff;font-size:42px;font-weight:400;letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.45);}
@media(max-width:1024px){.cl-hero-headline{font-size:32px;}}
@media(max-width:767px){
	.cl-hero-pic img{height:auto;}
	.cl-hero-headline{font-size:22px;}
}

/* ===== スマートフォンのヘッダー =====
   ロゴ画像の表示は inc/mobile-logo.php が出力するCSSが担当する。
   通常ヘッダーと固定ヘッダーの切り替えは親テーマが行うため、
   display は一切触らない。ここでは余白と保険だけを指定する。 */
@media(max-width:767px){
	/* ハンバーガーメニューに重ならないよう右側を空ける */
	#header #header_logo,
	#header #header_logo_fix{
		max-width:calc(100% - 100px);
		box-sizing:border-box;
		padding-right:10px;
		overflow:hidden;
	}

	/* キャッチコピー(サイトの説明文)はスマートフォンでは出さない */
	#logo_text .desc,
	#logo_image .desc{display:none;}

	/* 同梱ロゴが無い環境向けの保険(文字が折り返すのを防ぐ) */
	#header_logo #logo_text .logo a,
	#header_logo_fix #logo_text_fixed .logo a{
		font-size:17px;
		font-weight:700;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		max-width:100%;
	}
}

/* スマートフォンのヘッダー写真の高さを抑える
   (親テーマがJavaScriptで画面の高さいっぱいに広げるため、CSSで上書きする) */
@media(max-width:767px){
	#header_slider,
	#header_slider.slider_video{height:280px !important;min-height:280px;max-height:280px;}
	#header_slider .item{height:280px;}
	#header_slider .item img{width:100%;height:280px;object-fit:cover;object-position:center center;}
	/* キャプション(見出し)の位置と文字サイズを調整 */
	#header_slider .caption{padding:0 16px;}
	#header_slider .caption .headline{font-size:20px;line-height:1.5;}
	#header_slider .caption .desc{font-size:13px;}
}
