/*
Theme Name: FamilyClinic
Version: 1000000
*/

/* ========================================
   WordPress管理バー（Admin Bar）対応
   ======================================== */

/* ログイン時のみ管理バーを表示 */
body.admin-bar #wpadminbar {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
}

/* ログアウト時は管理バーを非表示 */
body:not(.admin-bar) #wpadminbar {
    display: none !important;
}

/* 管理バー表示時のbody余白 */
body.admin-bar {
    margin-top: 32px !important;
    padding-top: 0 !important;
}

/* ログアウト時はbodyの余白をリセット */
body:not(.admin-bar) {
    margin-top: 0 !important;
}

/* モバイル表示（782px以下）での管理バー */
@media screen and (max-width: 782px) {
    body.admin-bar {
        margin-top: 46px !important;
    }
    
    body.admin-bar #wpadminbar {
        position: fixed !important;
    }
}

/* 管理バー表示時のheader要素の調整 */
body.admin-bar header {
    position: relative;
    top: 0;
}

/*
元のスタイルで、h1{ position:absolute} のようにタグにスタイルがあるので、.blog-containerは初期化していく
*/

.blog-container nav{
	width: auto;
    position: static;       /* 配置を通常フローに戻す */
    top: auto;
    z-index: auto;
    background-color: transparent; /* 背景色を透明に */
    margin-bottom: 0;
    padding-bottom: 0;
    box-shadow: none;       /* 影を消す */

}



/* 1. 基本要素のリセット */
.blog-container header, 
.blog-container footer, 
.blog-container h2, 
.blog-container h3{
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    text-align: inherit;
    float: none;
    overflow: visible;
    color: inherit;
    font-size: medium;
    font-weight: normal;
    line-height: normal;
}


.blog-container h1 {
    width: auto;
    height: auto;
    position: static;
    left: auto;
    top: auto;
    padding: 0;
    margin: 0;
}

.blog-container h1 img {
    width: auto;
    height: auto;
}

.blog-container nav, 
.blog-container nav ul, 
.blog-container nav ul li, 
.blog-container nav .under li, 
.blog-container nav .sub li {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    float: none;
    background: none;
    border: none;
    box-shadow: none;
    z-index: auto;
    box-sizing: content-box; /* ブラウザ標準に戻す */
}

.blog-container nav ul li a {
    color: inherit;
    font-weight: normal;
    display: inline;
}























/* 2カラムレイアウト */
.blog-container {
	width: 100%;
	overflow: hidden;
}

.blog-container .blog-main {
    width: 720px;
    float: left;
    margin-right: 40px;
}

.blog-container .blog-sidebar {
    width: 280px;
    float: right;
}

.blog-container .entry-list {
    width: 100%;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 60px;
}

.blog-container .entry-list::after {
    content: "";
    display: table;
    clear: both;
}

.blog-container .entry-card {
    width: 220px;
    float: left;
    margin-right: 30px;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(133, 98, 80, 0.1);
}

.blog-container .entry-card:nth-child(3n) {
    margin-right: 0;
}

.blog-container .entry-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(133, 98, 80, 0.2);
}

.blog-container .entry-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.blog-container .entry-thumbnail {
    width: 100%;
    height: 170px;
    overflow: hidden;
    background: #f5f5f5;
    position: relative;
}

.blog-container .entry-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}

/* カテゴリタグ */
.blog-container .entry-category {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #f585a7;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 5px 12px;
    border-radius: 3px;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* カテゴリ別カラー */
.blog-container .entry-category.cat-health { background: #4CAF50; }
.blog-container .entry-category.cat-vaccine { background: #2196F3; }
.blog-container .entry-category.cat-medical { background: #f585a7; }
.blog-container .entry-category.cat-staff { background: #FF9800; }
.blog-container .entry-category.cat-news { background: #9C27B0; }
.blog-container .entry-category.cat-event { background: #856250; }

.blog-container .entry-card:hover .entry-thumbnail img {
    transform: scale(1.08);
}

.blog-container .entry-content {
    padding: 15px;
    background: #fff;
}

.blog-container .entry-date {
    display: block;
    font-size: 11px;
    color: #aaa;
    margin-bottom: 10px;
    font-family: 'Arial', sans-serif;
    text-align: left;
    letter-spacing: 0.5px;
}

.blog-container .entry-title {
    font-size: 13px;
    font-weight: bold;
    color: #333;
    line-height: 1.55;
    margin: 0;
    padding: 0;
    text-align: left;
    height: 40px;
    overflow: hidden;
    word-wrap: break-word;
    word-break: normal;
    white-space: normal;
    display: block;
    width: auto;
}

.blog-container .entry-card:hover .entry-title {
    color: #f585a7;
}

/* サイドバー */
.blog-container .sidebar-box {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 2px 10px rgba(133, 98, 80, 0.1);
}

.blog-container .sidebar-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 2px solid #f585a7;
    text-align: center;
    width: auto;
}

.blog-container .sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-container .sidebar-list li {
    border-bottom: 1px dotted #ddd;
    padding: 0;
    margin: 0;
}

.blog-container .sidebar-list li a {
    display: block;
    padding: 12px 10px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    position: relative;
}

.blog-container .sidebar-list li a:hover {
    background: #faf5eb;
    padding-left: 15px;
    color: #f585a7;
}

.blog-container .sidebar-list li a .count {
    color: #999;
    font-size: 12px;
    float: right;
}

/* 最近の投稿 */
.blog-container .recent-posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-container .recent-posts li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #ddd;
}

.blog-container .recent-posts li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.blog-container .recent-posts li a {
    text-decoration: none;
    color: inherit;
    display: block;
}

.blog-container .recent-post-item {
    display: table;
    width: 100%;
    transition: opacity 0.3s ease;
}

.blog-container .recent-posts li a:hover .recent-post-item {
    opacity: 0.7;
}

.blog-container .recent-post-thumb {
    display: table-cell;
    width: 80px;
    vertical-align: top;
}

.blog-container .recent-post-thumb img {
    width: 80px;
    height: 80px;
    border-radius: 5px;
    object-fit: cover;
}

.blog-container .recent-post-info {
    display: table-cell;
    vertical-align: top;
    padding-left: 12px;
}

.blog-container .recent-post-date {
    display: block;
    font-size: 11px;
    color: #aaa;
    margin-bottom: 5px;
}

.blog-container .recent-post-title {
    font-size: 13px;
    color: #333;
    line-height: 1.5;
    margin: 0;
    font-weight: bold;
}

.blog-container .recent-posts li a:hover .recent-post-title {
    color: #f585a7;
}

/* 記事詳細ページ */
.blog-container .entry-detail {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(133, 98, 80, 0.1);
    margin-bottom: 30px;
}

/* アイキャッチ画像 */
.blog-container .entry-detail-thumbnail {
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #f5f5f5;
}

.blog-container .entry-detail-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-container .entry-detail-header {
padding: 30px 40px 2px 40px;
    background: #fff;
}

.blog-container .entry-detail-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.blog-container .entry-detail-date {
    font-size: 14px;
    color: #999;
    font-family: 'Arial', sans-serif;
}

.blog-container .entry-detail-category {
    background: #856250;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 5px 15px;
    border-radius: 3px;
}

.blog-container .entry-detail-category.cat-health { background: #4CAF50; }
.blog-container .entry-detail-category.cat-vaccine { background: #2196F3; }
.blog-container .entry-detail-category.cat-medical { background: #f585a7; }
.blog-container .entry-detail-category.cat-staff { background: #FF9800; }
.blog-container .entry-detail-category.cat-news { background: #9C27B0; }
.blog-container .entry-detail-category.cat-event { background: #856250; }

.blog-container .entry-detail-title {
    font-size: 26px;
    font-weight: bold;
    color: #333;
    line-height: 1.6;
    margin: 0;
    width: auto;
    text-align: left;
    border: none;
    padding: 0;
    background: none;
}

.blog-container .entry-detail-content {
    padding: 30px 40px 40px;
    line-height: 1.8;
    color: #333;
}

.blog-container .entry-detail-content p {
    margin-bottom: 20px;
    font-size: 15px;
}

.blog-container .entry-detail-content h3 {
    font-size: 17px;
    color: #333;
    font-weight: bold;
    margin: 35px 0 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f585a7;
    width: 100%;
    text-align: left;
}

.blog-container .entry-detail-content ul {
    margin: 15px 0 25px 20px;
    padding: 0;
}

.blog-container .entry-detail-content ul li {
    margin-bottom: 10px;
    line-height: 1.8;
    font-size: 15px;
    list-style-type: disc;
}

/* 前へ・次へナビゲーション */
.blog-container .entry-navigation {
    display: flex;
    gap: 15px;
    padding: 0 40px 40px;
}

.blog-container .entry-nav-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #faf5eb;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.blog-container .entry-nav-btn:hover {
    background: #fff;
    border-color: #f585a7;
    transform: translateY(-2px);
}

.blog-container .entry-nav-list {
    flex: 0 0 150px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.blog-container .nav-label {
    font-size: 12px;
    color: #999;
    margin-bottom: 8px;
    display: block;
}

.blog-container .nav-title {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    line-height: 1.5;
}

.blog-container .entry-nav-btn:hover .nav-title {
    color: #f585a7;
}

.blog-container .entry-nav-prev .nav-label::before {
    content: "← ";
}

.blog-container .entry-nav-next .nav-label::after {
    content: " →";
}

/* ページネーション */
.blog-container .pagination {
    width: 100%;
    text-align: center;
    margin-top: 40px;
    margin-bottom: 20px;
    clear: both;
}

.blog-container .pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.blog-container .pagination .page-numbers {
    display: inline-block;
    padding: 10px 15px;
    background: #fff;
    border: 2px solid #f585a7;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s ease;
    font-size: 14px;
    min-width: 45px;
    text-align: center;
}

.blog-container .pagination .page-numbers:hover {
    background: #f585a7;
    color: #fff;
}

.blog-container .pagination .page-numbers.current {
    background: #f585a7;
    color: #fff;
    font-weight: bold;
}

.blog-container .pagination .page-numbers.dots {
    border: none;
    background: transparent;
    cursor: default;
}

.blog-container .pagination .page-numbers.dots:hover {
    background: transparent;
    color: #333;
}
.screen-reader-text{
    display:none;
}
/* スマホ表示 */
@media screen and (max-width: 479px) {
    .blog-container .blog-main {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 30px;
    }
    
    .blog-container .blog-sidebar {
        width: 100%;
        float: none;
    }
    
    .blog-container .entry-list {
        margin-bottom: 40px;
    }
    
    .blog-container .entry-card {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 20px;
    }
    
    .blog-container .entry-card:nth-child(3n) {
        margin-right: 0;
    }
    
    .blog-container .entry-thumbnail {
        height: 200px;
    }
    
    .blog-container .entry-content {
        padding: 15px;
    }
    
    .blog-container .entry-title {
        font-size: 15px;
        height: auto;
    }
    
    .blog-container .sidebar-box {
        margin-bottom: 20px;
    }
    
    /* ページネーション - スマホ */
    .blog-container .pagination {
        margin-top: 30px;
        margin-bottom: 20px;
    }
    
    .blog-container .pagination .nav-links {
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .blog-container .pagination .page-numbers {
        padding: 8px 12px;
        font-size: 13px;
        min-width: 40px;
    }
    
    /* 記事詳細ページ - スマホ */
    .blog-container .entry-detail-thumbnail {
        height: 250px;
    }
    
    .blog-container .entry-detail-header {
        padding: 20px 20px 15px;
    }
    
    .blog-container .entry-detail-title {
        font-size: 20px;
    }
    
    .blog-container .entry-detail-content {
        padding: 20px;
    }
    
    .blog-container .entry-detail-content h3 {
        font-size: 17px;
        margin: 25px 0 12px;
    }
    
    .blog-container .entry-detail-content p,
    .blog-container .entry-detail-content ul li {
        font-size: 14px;
    }
    
    .blog-container .entry-navigation {
        flex-direction: column;
        padding: 0 20px 30px;
        gap: 10px;
    }
    
    .blog-container .entry-nav-list {
        flex: 1;
        order: -1;
    }
}

/* ========================================
   ブロックエディタ - 記事コンテンツスタイル
   ======================================== */

/* 記事コンテンツ全体のクリックイベントを有効化（最優先） */
.blog-container .entry-detail-content {
    pointer-events: auto !important;
}

.blog-container .entry-detail-content * {
    pointer-events: auto !important;
}

/* H2見出し */
.blog-container .entry-detail-content h2 {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin: 20px 0 10px 0;
    padding: 15px 20px;
    background: linear-gradient(to right, #faf5eb 0%, #fff 100%);

    border-radius: 3px;
    position: relative;
    width: auto;
    text-align: left;
}

.blog-container .entry-detail-content h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #f585a7 0%, transparent 100%);
}

/* H3見出し（既存のスタイルを維持） */
.blog-container .entry-detail-content h3 {
    font-size: 18px;
    color: #333;
    font-weight: bold;
    margin: 35px 0 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f585a7;
    width: 100%;
    text-align: left;
}

/* H4見出し */
.blog-container .entry-detail-content h4 {
    font-size: 18px;
    font-weight: bold;
    color: #856250;
    margin: 30px 0 15px;
    padding-left: 15px;
    border-left: 3px solid #856250;
    width: auto;
    text-align: left;
}

/* 段落 */
.blog-container .entry-detail-content p {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.9;
}

/* リスト */
.blog-container .entry-detail-content ul {
    margin: 20px 0 30px 0;
    padding: 20px 25px 20px 45px;
    background: #fafafa;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
}

.blog-container .entry-detail-content ul li {
    margin-bottom: 12px;
    line-height: 1.8;
    font-size: 15px;
    list-style-type: none;
    position: relative;
    padding-left: 0;
}

.blog-container .entry-detail-content ul li::before {
    content: "●";
    color: #f585a7;
    font-size: 12px;
    position: absolute;
    left: -25px;
    top: 4px;
}

.blog-container .entry-detail-content ul li:last-child {
    margin-bottom: 0;
}

/* 順序付きリスト */
.blog-container .entry-detail-content ol {
    margin: 20px 0 30px 0;
    padding: 20px 25px 20px 45px;
    background: #fafafa;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    counter-reset: list-counter;
}

.blog-container .entry-detail-content ol li {
    margin-bottom: 12px;
    line-height: 1.8;
    font-size: 15px;
    list-style-type: none;
    position: relative;
    padding-left: 0;
    counter-increment: list-counter;
}

.blog-container .entry-detail-content ol li::before {
    content: counter(list-counter);
    color: #fff;
    background: #f585a7;
    font-size: 12px;
    font-weight: bold;
    position: absolute;
    left: -25px;
    top: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.blog-container .entry-detail-content ol li:last-child {
    margin-bottom: 0;
}

/* 引用 */
.blog-container .entry-detail-content blockquote {
    margin: 30px 0;
    padding: 25px 30px 25px 60px;
    background: #f9f9f9;
    border-left: 4px solid #856250;
    border-radius: 5px;
    position: relative;
    font-style: italic;
    color: #555;
    line-height: 1.8;
}

.blog-container .entry-detail-content blockquote::before {
    content: """;
    font-size: 60px;
    font-family: Georgia, serif;
    color: #d4c4ba;
    position: absolute;
    left: 15px;
    top: 10px;
    line-height: 1;
}

.blog-container .entry-detail-content blockquote p {
    margin: 0;
    padding: 0;
}

.blog-container .entry-detail-content blockquote p:last-child {
    margin-bottom: 0;
}

/* アコーディオン（WordPress標準のDetailsブロック対応） */
.blog-container .entry-detail-content details,
.blog-container .entry-detail-content .wp-block-details {
    margin: 20px 0;
    background: #fff;
    border: 2px solid #f585a7;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    pointer-events: auto !important; /* クリック可能にする */
}

.blog-container .entry-detail-content details[open],
.blog-container .entry-detail-content .wp-block-details[open] {
    box-shadow: 0 4px 15px rgba(245, 133, 167, 0.15);
}

.blog-container .entry-detail-content summary,
.blog-container .entry-detail-content .wp-block-details > summary {
    padding: 18px 25px;
    background: linear-gradient(to right, #faf5eb 0%, #fff 100%);
    cursor: pointer !important; /* クリック可能カーソル強制 */
    font-weight: bold;
    font-size: 16px;
    color: #333;
    position: relative;
    list-style: none;
    transition: all 0.3s ease;
    user-select: none;
    pointer-events: auto !important; /* クリック可能にする */
    display: block;
}

.blog-container .entry-detail-content summary::-webkit-details-marker,
.blog-container .entry-detail-content .wp-block-details > summary::-webkit-details-marker {
    display: none;
}

.blog-container .entry-detail-content summary::after,
.blog-container .entry-detail-content .wp-block-details > summary::after {
    content: "+";
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    color: #f585a7;
    font-weight: bold;
    transition: transform 0.3s ease;
    pointer-events: none; /* アイコン自体はクリック無効（親のsummaryが反応） */
}

.blog-container .entry-detail-content details[open] summary::after,
.blog-container .entry-detail-content .wp-block-details[open] > summary::after {
    content: "−";
    transform: translateY(-50%) rotate(0deg);
}

.blog-container .entry-detail-content summary:hover,
.blog-container .entry-detail-content .wp-block-details > summary:hover {
    background: linear-gradient(to right, #f585a7 0%, #faa8bd 100%);
    color: #fff;
}

.blog-container .entry-detail-content details[open] summary:hover,
.blog-container .entry-detail-content .wp-block-details[open] > summary:hover {
    background: linear-gradient(to right, #f585a7 0%, #faa8bd 100%);
}

.blog-container .entry-detail-content summary:hover::after,
.blog-container .entry-detail-content .wp-block-details > summary:hover::after {
    color: #fff;
}

.blog-container .entry-detail-content details > *:not(summary),
.blog-container .entry-detail-content .wp-block-details > *:not(summary) {
    padding: 20px 25px;
    line-height: 1.8;
    color: #333;
}

/* アコーディオンのコンテンツ部分にもpointer-eventsを確保 */
.blog-container .entry-detail-content details > p,
.blog-container .entry-detail-content details > div,
.blog-container .entry-detail-content .wp-block-details > p,
.blog-container .entry-detail-content .wp-block-details > div {
    pointer-events: auto;
}

/* 他のプラグインやブロックで使われる可能性のあるアコーディオンクラス */
.blog-container .entry-detail-content .accordion,
.blog-container .entry-detail-content .wp-block-group.has-background details,
.blog-container .entry-detail-content [class*="accordion"] details {
    pointer-events: auto !important;
}

.blog-container .entry-detail-content .accordion summary,
.blog-container .entry-detail-content .wp-block-group.has-background summary,
.blog-container .entry-detail-content [class*="accordion"] summary {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* 画像 */
.blog-container .entry-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 25px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.blog-container .entry-detail-content figure {
    margin: 30px 0;
}

.blog-container .entry-detail-content figure img {
    margin: 0 0 10px 0;
}

.blog-container .entry-detail-content figcaption {
    font-size: 13px;
    color: #999;
    text-align: center;
    font-style: italic;
}

/* テーブル */
.blog-container .entry-detail-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.blog-container .entry-detail-content table th {
    background: #f585a7;
    color: #fff;
    font-weight: bold;
    padding: 15px;
    text-align: left;
    font-size: 14px;
}

.blog-container .entry-detail-content table td {
    padding: 15px;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
}

.blog-container .entry-detail-content table tr:last-child td {
    border-bottom: none;
}

.blog-container .entry-detail-content table tr:nth-child(even) {
    background: #fafafa;
}

/* コードブロック */
.blog-container .entry-detail-content pre {
    background: #2d2d2d;
    color: #f8f8f2;
    padding: 20px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 25px 0;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.6;
}

.blog-container .entry-detail-content code {
    background: #f4f4f4;
    color: #e83e8c;
    padding: 3px 8px;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
}

.blog-container .entry-detail-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

/* 水平線 */
.blog-container .entry-detail-content hr {
    margin: 40px 0;
    border: none;
    height: 2px;
    background: linear-gradient(to right, transparent, #f585a7, transparent);
}

/* リンク */
.blog-container .entry-detail-content a {
    color: #f585a7;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.blog-container .entry-detail-content a:hover {
    color: #856250;
    text-decoration: none;
}

/* スマホ対応 */
@media screen and (max-width: 479px) {
    .blog-container .entry-detail-content h2 {
        font-size: 20px;
        margin: 30px 0 15px;
        padding: 12px 15px;
    }
    
    .blog-container .entry-detail-content h3 {
        font-size: 18px;
        margin: 25px 0 12px;
    }
    
    .blog-container .entry-detail-content h4 {
        font-size: 16px;
        margin: 20px 0 12px;
        padding-left: 12px;
    }
    
    .blog-container .entry-detail-content p,
    .blog-container .entry-detail-content ul li,
    .blog-container .entry-detail-content ol li {
        font-size: 14px;
    }
    
    .blog-container .entry-detail-content ul,
    .blog-container .entry-detail-content ol {
        padding: 15px 20px 15px 35px;
        margin: 15px 0 20px 0;
    }
    
    .blog-container .entry-detail-content blockquote {
        padding: 20px 20px 20px 50px;
        margin: 20px 0;
    }
    
    .blog-container .entry-detail-content blockquote::before {
        font-size: 45px;
        left: 10px;
        top: 5px;
    }
    
    .blog-container .entry-detail-content summary {
        padding: 15px 20px;
        font-size: 15px;
    }
    
    .blog-container .entry-detail-content summary::after {
        right: 20px;
        font-size: 20px;
    }
    
    .blog-container .entry-detail-content details > *:not(summary) {
        padding: 15px 20px;
    }
    
    .blog-container .entry-detail-content table {
        font-size: 13px;
    }
    
    .blog-container .entry-detail-content table th,
    .blog-container .entry-detail-content table td {
        padding: 10px;
    }
}