@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
/* ==========================================================================
   🐾 わんケア 車椅子実例・動画カスタムデザイン (Cocoon Child Addon)
   ========================================================================== */

.wancare-case-container {
    max-width: 860px;
    margin: 0 auto 32px;
}

/* 🎬 YouTube動画プレイヤー（16:9レスポンシブ・角丸・シャドウ） */
.wancare-video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    margin-bottom: 24px;
}

.wancare-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* 📋 プロフィール＆車椅子仕様カード */
.wancare-profile-card {
    background: #f7faf8;
    border: 1px solid #d1e5db;
    border-radius: 14px;
    padding: 20px 24px;
    margin-bottom: 28px;
    box-shadow: 0 4px 12px rgba(27, 67, 50, 0.04);
}

.wancare-card-title {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #1B4332 !important;
    border-bottom: 2px solid #2D6A4F !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.wancare-spec-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.wancare-spec-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e3ebe6;
}

.wancare-spec-item.full-width {
    grid-column: 1 / -1;
}

.wancare-spec-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #2D6A4F;
    background: #e8f5ed;
    padding: 3px 8px;
    border-radius: 4px;
    white-space: nowrap;
}

.wancare-spec-val {
    font-size: 0.95rem;
    font-weight: 700;
    color: #2c3e35;
}

.wancare-highlight-box {
    background: #fff9ed;
    border-left: 4px solid #E0A96D;
    padding: 12px 16px;
    border-radius: 0 8px 8px 0;
    margin-top: 14px;
    font-size: 0.92rem;
    line-height: 1.6;
    color: #5a4225;
}

.wancare-highlight-box strong {
    color: #b87326;
    display: block;
    margin-bottom: 4px;
}

.wancare-highlight-box p {
    margin: 0;
}

/* 📝 記事本文エリア */
.wancare-case-body {
    font-size: 1rem;
    line-height: 1.8;
    color: #333;
    margin-bottom: 32px;
    padding: 10px 4px;
}

/* 📢 無料試乗・LINE相談CTAバナー */
.wancare-case-cta {
    background: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);
    color: #ffffff;
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(27, 67, 50, 0.25);
    margin-top: 36px;
}

.cta-lead {
    font-size: 0.85rem;
    font-weight: 700;
    color: #E0A96D;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.cta-title {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 10px !important;
}

.cta-desc {
    font-size: 0.9rem;
    line-height: 1.6;
    opacity: 0.92;
    max-width: 580px;
    margin: 0 auto 20px;
}

.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.btn-cta-trial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #E0A96D;
    color: #ffffff !important;
    font-size: 0.95rem;
    font-weight: 700;
    padding: 14px 24px;
    border-radius: 8px;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(224, 169, 109, 0.4);
    transition: transform 0.2s, background 0.2s;
}

.btn-cta-trial:hover {
    background: #d4995a;
    transform: translateY(-2px);
    color: #fff !important;
}

.btn-cta-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #06C755;
    color: #ffffff !important;
    font-size: 0.95rem;
    font-weight: 700;
    padding: 14px 24px;
    border-radius: 8px;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(6, 199, 85, 0.3);
    transition: transform 0.2s, background 0.2s;
}

.btn-cta-line:hover {
    background: #05b04c;
    transform: translateY(-2px);
    color: #fff !important;
}

/* 📱 スマホ対応 */
@media (max-width: 768px) {
    .wancare-profile-card {
        padding: 16px 14px;
    }
    .wancare-spec-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .cta-title {
        font-size: 1.15rem !important;
    }
    .cta-buttons {
        flex-direction: column;
        width: 100%;
    }
    .btn-cta-trial, .btn-cta-line {
        width: 100%;
        box-sizing: border-box;
    }
}

/* 🖼️ 実例グリッド一覧 [wancare_cases] */
.wancare-case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin: 24px 0;
}

.wancare-grid-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.wancare-grid-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

.wancare-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #111;
    overflow: hidden;
}

.wancare-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wancare-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    background: rgba(224, 169, 109, 0.9);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.wancare-card-info {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.wancare-card-tags {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.wancare-tag {
    font-size: 0.72rem;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}

.wancare-tag.breed {
    background: #e8f5ed;
    color: #2D6A4F;
}

.wancare-tag.cart {
    background: #fdf3e7;
    color: #c48232;
}

.wancare-card-heading {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    margin: 0 0 6px !important;
    line-height: 1.4 !important;
}

.wancare-card-excerpt {
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}
@import url("case-study.css");
/* ==========================================================================
   🌿 わんケア ブランドカラー最適化 (Forest Green & Gold)
   ========================================================================== */

:root {
    --wancare-green-dark: #1B4332;
    --wancare-green-primary: #2D6A4F;
    --wancare-green-light: #52B788;
    --wancare-gold: #E0A96D;
    --wancare-bg-warm: #FAF9F6;
}

/* ヘッダー全体 */
.header-container {
    border-bottom: 3px solid var(--wancare-green-primary);
}

.site-name-text {
    color: var(--wancare-green-dark) !important;
    font-weight: 700 !important;
}

.site-description {
    color: #666 !important;
    font-size: 0.85rem !important;
}

/* グローバルナビゲーション */
#navi .navi-in > ul {
    background-color: var(--wancare-green-dark);
}

#navi .navi-in a {
    color: #ffffff !important;
    font-weight: 700;
    font-size: 0.95rem;
    transition: background-color 0.2s;
}

#navi .navi-in a:hover {
    background-color: var(--wancare-green-primary) !important;
    color: var(--wancare-gold) !important;
}

/* 記事見出し */
.article h2 {
    background-color: var(--wancare-green-dark) !important;
    color: #ffffff !important;
    border-left: none !important;
    border-radius: 6px;
    padding: 12px 18px !important;
}

.article h3 {
    border-left: 5px solid var(--wancare-green-primary) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 8px 12px !important;
    color: var(--wancare-green-dark) !important;
}

/* フッター */
.footer {
    background-color: var(--wancare-green-dark) !important;
    color: #ffffff !important;
}

.footer a {
    color: #d1e5db !important;
}

.footer a:hover {
    color: var(--wancare-gold) !important;
}

/* ==========================================================================
   🌿 ヘッダーナビ CTAボタンスタイル（無料試乗 & LINE相談）
   ========================================================================== */

/* 1週間無料試乗ボタン */
.navi .menu-item a[href*="/trial/"] {
    background: #E65100 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    border-radius: 4px;
    margin: 4px 6px;
    padding: 0 16px !important;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(230, 81, 0, 0.25);
}
.navi .menu-item a[href*="/trial/"]:hover {
    background: #BF360C !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(230, 81, 0, 0.35);
}

/* LINEで無料試乗相談ボタン */
.navi .menu-item a[href*="lin.ee"],
.navi .menu-item a[href*="line.me"] {
    background: #06C755 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    border-radius: 4px;
    margin: 4px 6px;
    padding: 0 18px !important;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(6, 199, 85, 0.25);
}
.navi .menu-item a[href*="lin.ee"]:hover,
.navi .menu-item a[href*="line.me"]:hover {
    background: #05a847 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(6, 199, 85, 0.35);
}

/* モバイルメニュー内のリンクも視認性を強化 */
.menu-mobile .menu-item a[href*="/trial/"] {
    background: #FFF3E0 !important;
    color: #E65100 !important;
    font-weight: 700 !important;
}
.menu-mobile .menu-item a[href*="lin.ee"] {
    background: #E8F8EE !important;
    color: #06C755 !important;
    font-weight: 700 !important;
}

/* ==========================================================================
   【店長ブログ・音声Q&A用 カスタムUIスタイル】
   ========================================================================== */

/* 🎙️ 音声再生カード */
.wc-audio-card {
    background: linear-gradient(135deg, #FFF9F2 0%, #FFF3E6 100%);
    border: 2px solid #E8833A;
    border-radius: 12px;
    padding: 20px;
    margin: 28px 0;
    box-shadow: 0 4px 14px rgba(232, 131, 58, 0.12);
}
.wc-audio-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.wc-audio-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #8C4300;
    display: flex;
    align-items: center;
    gap: 8px;
}
.wc-audio-badge {
    background: #E8833A;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.05em;
}
.wc-audio-player audio {
    width: 100%;
    height: 44px;
    border-radius: 8px;
    outline: none;
}
.wc-audio-hint {
    font-size: 0.8rem;
    color: #7A6A58;
    margin-top: 8px;
    text-align: right;
}

/* 🐾 飼い主様からのご質問ボックス */
.wc-qa-question {
    background: #F4F7FB;
    border-left: 5px solid #2B6CB0;
    border-radius: 0 10px 10px 0;
    padding: 18px 20px;
    margin: 24px 0;
}
.wc-qa-question-label {
    display: inline-block;
    background: #2B6CB0;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 2px 10px;
    border-radius: 4px;
    margin-bottom: 8px;
}
.wc-qa-question-text {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1A365D;
    line-height: 1.6;
    margin: 0;
}

/* 💡 店長からの回答ボックス */
.wc-qa-answer {
    background: #FFFFFF;
    border: 2px solid #E2E8F0;
    border-radius: 12px;
    padding: 24px;
    margin: 24px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.wc-qa-answer-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #E2E8F0;
}
.wc-qa-answer-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #FFF3E6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    border: 2px solid #E8833A;
    flex-shrink: 0;
}
.wc-qa-answer-meta {
    line-height: 1.3;
}
.wc-qa-answer-name {
    font-weight: 700;
    color: #2D3748;
    font-size: 1rem;
}
.wc-qa-answer-role {
    font-size: 0.75rem;
    color: #718096;
}

/* 🎯 記事下CTAコンバージョンエリア */
.wc-blog-cta {
    background: linear-gradient(135deg, #FFF8F0 0%, #FFF0DE 100%);
    border: 2px solid #F6AD55;
    border-radius: 16px;
    padding: 28px 24px;
    margin: 40px 0 20px 0;
    text-align: center;
}
.wc-blog-cta-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #7B341E;
    margin-bottom: 8px;
}
.wc-blog-cta-desc {
    font-size: 0.95rem;
    color: #4A5568;
    line-height: 1.6;
    margin-bottom: 20px;
}
.wc-blog-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
}
.wc-blog-cta-btn-trial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #E8833A;
    color: #FFFFFF !important;
    font-weight: 800;
    font-size: 1.05rem;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(232, 131, 58, 0.35);
    transition: all 0.3s ease;
}
.wc-blog-cta-btn-trial:hover {
    background: #D96F25;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(232, 131, 58, 0.45);
}
.wc-blog-cta-btn-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #06C755;
    color: #FFFFFF !important;
    font-weight: 800;
    font-size: 1.05rem;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(6, 199, 85, 0.3);
    transition: all 0.3s ease;
}
.wc-blog-cta-btn-line:hover {
    background: #05a847;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(6, 199, 85, 0.4);
}

/* ==========================================================================
   🏛️ わんケア 本店デザイン完全統合システム (Header / Footer / Blog Layout)
   ========================================================================== */

/* 1. クリック遮断防止・固定ヘッダー外枠無害化 (SOP Rule 4-②) */
header.header,
.header,
header,
.wc-header {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    pointer-events: none !important;
}

header.header > *,
.header .header-top,
.header .header-top *,
.header .header-nav,
.header .header-nav *,
.header .megamenu,
.header .megamenu *,
.header .dropdown-menu,
.header .dropdown-menu *,
.header a,
.header button,
.header input,
.header .nav-actions,
.header .menu-toggle {
    pointer-events: auto !important;
}

/* 2. Cocoon旧ヘッダー・フッター・ナビ・固定ボタンの完全非表示化 */
#header-container,
.header-container,
#navi,
.navi-container,
.mobile-menu-buttons,
.mobile-header-menu-buttons,
.mobile-footer-menu-buttons,
.go-to-top-button,
#footer,
.footer-container {
    display: none !important;
}

/* 3. ページ全体ベース・ヘッダーオフセット (SOP Rule 4-③) */
body {
    background-color: #FAF8F5 !important;
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: #2D2926 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#container {
    padding-top: 104px !important;
    background: transparent !important;
    min-height: calc(100vh - 400px);
}

@media (max-width: 1080px) {
    #container {
        padding-top: 60px !important;
        padding-bottom: 76px !important;
    }
}

/* 4. メインコンテンツレイアウト */
.content-in.wrap {
    max-width: 1140px !important;
    margin: 28px auto 60px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

.main {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* 5. ブログトップ・一覧カード (.entry-card-wrap) */
.list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.entry-card-wrap {
    background: #FFFFFF !important;
    border: 1px solid #EFECE6 !important;
    border-radius: 16px !important;
    padding: 22px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin: 0 0 16px 0 !important;
    text-decoration: none !important;
}

.entry-card-wrap:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px rgba(45, 106, 79, 0.12) !important;
    border-color: #2D6A4F !important;
}

.entry-card-thumb img {
    border-radius: 10px !important;
    object-fit: cover !important;
}

.entry-card-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #2D2926 !important;
    line-height: 1.45 !important;
    margin-bottom: 8px !important;
}

.entry-card-snippet {
    font-size: 0.88rem !important;
    color: #718096 !important;
    line-height: 1.6 !important;
}

.cat-label {
    background: #E8F5ED !important;
    color: #2D6A4F !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
}

/* 6. 個別記事ページ (.article) */
.article {
    background: #FFFFFF !important;
    border: 1px solid #EFECE6 !important;
    border-radius: 20px !important;
    padding: 40px 36px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important;
    margin-bottom: 40px !important;
}

@media (max-width: 768px) {
    .article {
        padding: 24px 16px !important;
        border-radius: 14px !important;
    }
}

.article-title {
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    color: #2D2926 !important;
    line-height: 1.35 !important;
    margin-bottom: 16px !important;
}

.article h2 {
    background: linear-gradient(90deg, #F0F7F4 0%, transparent 100%) !important;
    border-left: 5px solid #2D6A4F !important;
    border-radius: 0 8px 8px 0 !important;
    color: #1B4332 !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    padding: 12px 18px !important;
    margin: 36px 0 20px !important;
}

.article h3 {
    border-left: none !important;
    border-bottom: 2px solid #E8833A !important;
    color: #2D2926 !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    padding: 6px 0 !important;
    margin: 28px 0 16px !important;
}

/* 7. サイドバー (.sidebar) */
.sidebar {
    background: transparent !important;
}

.sidebar .widget {
    background: #FFFFFF !important;
    border: 1px solid #EFECE6 !important;
    border-radius: 16px !important;
    padding: 22px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
    margin-bottom: 24px !important;
}

.sidebar .widget-title {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1B4332 !important;
    border-bottom: 2px solid #2D6A4F !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}

/* 8. ページネーション (.pagination) */
.pagination {
    margin: 32px 0 !important;
}

.pagination .current {
    background: #2D6A4F !important;
    border-color: #2D6A4F !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}

.pagination a {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    color: #4A5568 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.pagination a:hover {
    background: #F0F7F4 !important;
    border-color: #2D6A4F !important;
    color: #2D6A4F !important;
}

