    /* 1列表示のリスト */
    .sauna-reports-list {
        max-width: 840px;
        margin: 0 auto;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }

    .sauna-card-single {
        background: #fff;
        border: 1px solid #f0f0f0;
        border-radius: 16px;
        padding: 24px;
        margin-bottom: 24px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    /* ヘッダー周り */
    .sauna-header {
        display: flex;
        align-items: center;
        margin-bottom: 12px;
    }

    .sauna-avatar {
        margin-right: 12px;
    }

    .sauna-avatar img {
        border-radius: 50%;
    }

    .sauna-user-name {
        font-weight: bold;
        font-size: 15px;
        color: #333;
    }

    .sauna-sub-info {
        font-weight: normal;
        font-size: 12px;
        color: #777;
    }

    .sauna-date {
        display: block;
        color: #aaa;
        font-size: 11px;
        margin-top: 2px;
    }

    /* コンテンツエリア */
    .sauna-badge-row {
        margin-bottom: 8px;
        border-bottom: 1px solid #f9f9f9;
        padding-bottom: 8px;
    }

    .sauna-type-badge {
        background: #0033ff;
        color: #fff;
        padding: 2px 8px;
        border-radius: 4px;
        font-size: 11px;
        font-weight: bold;
    }

    .sauna-industry-text {
        font-size: 13px;
        font-weight: bold;
        margin-left: 8px;
        color: #444;
    }

    /* 本文の制限（ここが重要） */
    .sauna-body-text {
        font-size: 14px;
        line-height: 1.6;
        color: #333;
    }

    .sauna-body-text.js-collapsed {
        max-height: 4.8em;
        /* 3行分でカット */
        overflow: hidden;
        position: relative;
    }

    /* 閉じてる時のグラデーション */
    .sauna-body-text.js-collapsed:not(.is-open)::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1.5em;
        background: linear-gradient(transparent, #fff);
    }

    .sauna-body-text.is-open {
        max-height: none;
    }

    .sauna-btn-wrapper {
        text-align: center;
        margin-top: 10px;
    }

    .sauna-readmore-btn {
        background: #f5f5f5;
        border: 1px solid #ddd;
        padding: 5px 20px;
        border-radius: 20px;
        font-size: 12px;
        cursor: pointer;
        color: #666;
    }

    /* フッター（リアクション） */
    .sauna-footer {
        margin-top: 15px;
        padding-top: 10px;
        border-top: 1px solid #f0f0f0;
        display: flex;
        gap: 20px;
    }

    .action-item {
        display: flex;
        align-items: center;
        gap: 6px;
        color: #888;
        font-size: 14px;
        cursor: pointer;
    }

    .action-item:hover {
        color: #ff3366;
    }

    /* コメントセクションの吹き出しデザイン */
    .comment-box {
        margin-top: 20px;
        padding: 20px;
        background-color: #f8f9fa;
        border-radius: 12px;
        position: relative;
    }

    /* 吹き出しの三角部分 */
    .comment-box::before {
        content: "";
        position: absolute;
        top: -10px;
        left: 30px;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #f8f9fa;
    }

    .comment-item {
        display: flex;
        gap: 12px;
        margin-bottom: 15px;
        padding-bottom: 12px;
        border-bottom: 1px solid #eee;
    }

    .comment-avatar img {
        border-radius: 50%;
        border: 1px solid #ddd;
    }

    .comment-text {
        flex: 1;
        font-size: 13px;
        line-height: 1.5;
    }

    .comment-author-name {
        font-weight: bold;
        display: block;
        margin-bottom: 2px;
        color: #333;
    }

    /* 入力フォームの調整 */
    .comment-form-mini input {
        border: 2px solid #eee;
        border-radius: 20px;
        padding: 8px 16px;
        outline: none;
        transition: border-color 0.2s;
    }

    .comment-form-mini input:focus {
        border-color: #0033ff;
    }

    .comment-form-mini button {
        background: #333;
        border-radius: 20px;
        padding: 8px 20px;
        font-weight: bold;
        transition: background 0.2s;
    }

    .comment-form-mini button:hover {
        background: #0033ff;
    }

    .venue_cta {
        margin: 20px 0;
    }

    /* ボタンの基本スタイル */
    .venue_cta ul {
        list-style: none;
        padding: 0;
        display: flex;
        justify-content: center;

        @media (width <=600px) {
            display: block;
        }
    }

    .bc-btn-anime {
        display: inline-block;
        width: 280px;
        /* ボタンの幅 */
        padding: 20px;
        background: #fdd835;
        /* 背景：黒 */
        color: #000 !important;
        /* 文字：黄色（ビジネスコネクト色） */
        text-align: center;
        text-decoration: none;
        font-weight: 800;
        font-size: 1.2rem;
        border-radius: 50px;
        /* 丸みのあるボタン */
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
        position: relative;
        overflow: hidden;
        transition: all 0.3s ease;
        border: 2px solid #333;

        /* 黄色の縁取り */
        @media (width <=600px) {
            width: 95%;
            padding: 16px;
            font-size: 15px;


        }

    }

    /* ホバー（マウスを乗せた時）の動き */
    .bc-btn-anime:hover {
        background: #000;
        /* 背景を黄色に */
        color: #fdd835 !important;
        /* 文字を黒に */
        transform: translateY(-3px);
        /* 少し上に浮く */
        box-shadow: 0 8px 20px rgba(253, 216, 53, 0.4);
    }

    /* 常に動くアニメーション（ふわふわ・脈動） */
    .bc-btn-anime {
        animation: pulse-bc 2s infinite;
    }

    @keyframes pulse-bc {
        0% {
            transform: scale(1);
        }

        50% {
            transform: scale(1.05);
            /* 少し大きく */
        }

        100% {
            transform: scale(1);
        }
    }

    /* キラッと光るエフェクト（さらにクリック率アップ） */
    .bc-btn-anime::before {
        content: "";
        position: absolute;
        top: -50%;
        left: -50%;
        width: 200%;
        height: 200%;
        background: rgba(255, 255, 255, 0.2);
        transform: rotate(45deg);
        transition: 0.5s;
        animation: shiny-bc 3s infinite;
    }

    @keyframes shiny-bc {
        0% {
            left: -100%;
            transition: 0.7s;
        }

        20% {
            left: 100%;
            transition: 0.7s;
        }

        100% {
            left: 100%;
            transition: 0.7s;
        }
    }
    
    
    /* ボタンのデフォルトの枠や背景を消す */
    .sauna-footer .action-item {
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 5px;
        color: #888;
        padding: 0;
    }

    /* ハートが押された時のアニメーション */
    .is-liked .dashicons-heart {
        animation: heartPop 0.3s ease;
    }

    @keyframes heartPop {
        0% {
            transform: scale(1);
        }

        50% {
            transform: scale(1.3);
        }

        100% {
            transform: scale(1);
        }
    }


/* 親要素の余計な隙間をリセット */
.js-venue-gallery {
    max-width: 100%;
    margin: 0 auto;
}

/* スライド内のfigureに付くデフォルトのマージンを消す */
.slider-main figure,
.slider-nav figure {
    margin: 0 !important;
    padding: 0 !important;
}

/* 画像の縦横比を維持してフィットさせる */
.slider-main img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 10px;
}

.slider-nav .slick-slide {
    padding: 5px;
    /* サムネイル同士の隙間 */
}

.slider-nav img {
    height: 80px;
    width: 100%;
    object-fit: cover;
    cursor: pointer;
    opacity: 0.6;
    border-radius: 5px;
}

.slider-nav .slick-current img {
    opacity: 1;
    outline: 3px solid #fdd835;
    /* ビジコネイエロー */
}

/* PCではサムネイルを表示 */
.slider-nav {
    display: block;
    margin-top: 10px;
}

/* スマホ（768px以下）ではサムネイルを非表示 */
@media (max-width: 768px) {
    .slider-nav {
        display: none !important;
    }

    /* メイン画像の下に少し余白を作る（ドットを表示する場合など） */
    .slider-main {
        margin-bottom: 30px;
    }

    /* スマホ時は画像の高さを少し抑える（食べログ風） */
    .slider-main img {
        height: 250px !important;
    }
}

/* Slickのドット（点々）の色をビジコネイエローにする場合 */
.slick-dots li button:before {
    color: #fdd835;
}

.slick-dots li.slick-active button:before {
    color: #fdd835;
}

/* モザイク（ぼかし）のスタイル */
.is-mosaic img {
    filter: blur(12px);
    /* ぼかしの強さ */
    pointer-events: none;
    /* 右クリック等を無効化 */
    user-select: none;
}

/* モザイクの上に表示するラベル */
.mosaic-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: bold;
    z-index: 10;
    pointer-events: none;
}

/* アバターのモザイク用 */
.sauna-avatar.is-mosaic img {
    filter: blur(5px);
}

.sauna-report-image img {
    width: auto;
    max-height: 240px;

}
