/*
 Theme Name:   Inspiro Child
 Description:  AVISTAL Web改訂：HTML構造完全統制版（Home:縦積み / Articles:L字横並び）
 Template:     inspiro
 Version:      1.23.0
*/

/* 1. フォントの完全統一 */
html body,
html body * {
    font-family: "Georgia", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
}

/* 2. 基本レイアウト調整 */
.inner-wrap {
    max-width: 94% !important;
}

/* 横スクロールバーを防ぐ（はみ出し防止） */
html,
body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

#page,
.site-content-contain,
.site-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* alignfull要素のはみ出しを防ぐ */
.alignfull {
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* ビルダーラッパーのはみ出しを防ぐ */
.builder-wrap {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body:not(.wp-custom-logo) a.custom-logo-text {
    font-size: 26px !important;
    text-transform: none !important;
}

#wpadminbar a {
    color: #ffffff !important;
}

#wpadminbar #wp-admin-bar-my-account.with-avatar>a img {
    width: auto !important;
    height: 16px !important;
    display: inline !important;
}

/* ==========================================================================
   ヘッダーとフッターの背景色を#3d5d6bに設定
   トップページ: 最初は透過、スクロール時に背景表示
   トップ以外: 最初から背景表示
   ========================================================================== */
/* ArticlesとContactページ: 最初から背景を表示 */
.page-id-628 .navbar ,
.blog .navbar {
    background-color: #3d5d6b !important;
}

/* ArticlesとContact以外のページ: 最初は透明 */
body:not(.page-id-628, .blog) .navbar {
    background-color: transparent !important;
}

/* ArticlesとContact以外のページ: スクロール時に背景を表示 */
body:not(.page-id-628, .blog) .headroom--not-top .navbar {
    background-color: #3d5d6b !important;
}

.site-footer {
    background-color: #3d5d6b !important;
}

.site-info .copyright span:first-child {
    flex: 0 0 auto !important;
}

/* ロゴテキストのスタイル */
body:not(.wp-custom-logo) a.custom-logo-text {
    font-size: 26px !important;
    text-transform: none !important;
}

#site-navigation .sb-search {
    display: none !important;
}

/* ==========================================================================
   ヘッダーメニューのフォントサイズ調整（PC時）
   ========================================================================== */
/* PCサイズでハンバーガーメニューを非表示（親テーマの64emより大きいサイズで非表示） */
@media screen and (min-width: 1025px) {
    .navbar-toggle {
        display: none !important;
    }
}

@media screen and (min-width: 782px) {

    .navbar-nav a,
    .primary-menu-wrapper .nav a,
    .navbar-nav li a {
        font-size: 24px !important;
    }
}

.navbar-nav a {
    padding: 0 !important;
}



/* ==========================================================================
   スマホメニューの背景色とテキスト色
   ========================================================================== */
#side-nav,
.side-nav {
    background-color: #3d5d6b !important;
    background: #3d5d6b !important;
}

/* スクロール可能なコンテナの背景色を上書き */
#side-nav .side-nav__scrollable-container,
.side-nav .side-nav__scrollable-container,
.side-nav__scrollable-container,
body.side-nav-open .side-nav__scrollable-container,
body.side-nav-open #side-nav .side-nav__scrollable-container,
body.side-nav-open .side-nav .side-nav__scrollable-container {
    background-color: #3d5d6b !important;
    background: #3d5d6b !important;
}

/* ラッパーの背景色も設定 */
#side-nav .side-nav__wrap,
.side-nav .side-nav__wrap,
.side-nav__wrap {
    background-color: transparent !important;
}

#side-nav a,
.side-nav a,
.mobile-menu-wrapper a,
.mobile-menu-wrapper .nav a,
.mobile-menu-wrapper .navbar-nav a,
.mobile-menu-wrapper .navbar-nav li a,
#side-nav .navbar-nav a,
#side-nav .navbar-nav li a,
.side-nav .navbar-nav a,
.side-nav .navbar-nav li a {
    color: #ffffff !important;
}

#side-nav .nav,
.side-nav .nav,
.mobile-menu-wrapper .nav,
#side-nav .navbar-nav,
.side-nav .navbar-nav {
    color: #ffffff !important;
}

/* ウィジェットエリアのテキストも白に */
#side-nav .widget,
.side-nav .widget,
#side-nav .widget h2,
.side-nav .widget h2,
#side-nav .widget-title,
.side-nav .widget-title,
#side-nav .wp-block-heading,
.side-nav .wp-block-heading {
    color: #ffffff !important;
}

#side-nav .wp-block-latest-posts__list a,
.side-nav .wp-block-latest-posts__list a,
#side-nav .wp-block-latest-posts__post-title,
.side-nav .wp-block-latest-posts__post-title {
    color: #ffffff !important;
}

/* ==========================================================================
   スマホメニュー内の特定ウィジェットを非表示
   ========================================================================== */
/* 最新の投稿ウィジェットを非表示 */
#block-2,
#block-3,
#block-4,
#block-8 {
    display: none !important;
}

/* ==========================================================================
   3. 【ホーム画面】Research & New Articles レイアウト
   ========================================================================== */
/* タイトルが上、左に画像（縦長）、右にテキストのレイアウト */
.home .wp-block-post,
.home #news .wp-block-post,
.home .wp-block-query .wp-block-post,
.home article.post {
    display: grid !important;
    grid-template-columns: 250px 1fr !important;
    /* 左250px（画像） : 右残り（テキスト） */
    grid-template-areas:
        "title title"
        "image excerpt"
        "image date" !important;
    column-gap: 30px !important;
    row-gap: 0 !important;
    background: #ffffff !important;
    border: 1px solid #ccc !important;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2) !important;
    margin-bottom: 30px !important;
    padding: 25px 25px 15px 25px !important;
    overflow: hidden !important;
    position: relative !important;
}

.wp-container-core-post-template-is-layout-cbd01fc0 {
    gap: 15px !important;
}

/* 1025px以上でトップページの投稿リストを1列に */
@media screen and (max-width: 1025px) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

/* summaryエリア内の要素を制御（グリッドエリア内では通常のドキュメントフロー） */
/* 日付を後に表示するため、HTMLの順序を考慮して配置 */

/* カラムの親要素からborderを削除 */
.home #news .wp-block-column,
.home .wp-block-query .wp-block-column {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Research and Insightsセクション内のネストされたカラム構造を無効化 */
.home #news .wp-block-post>.wp-block-columns,
.home .wp-block-query .wp-block-post>.wp-block-columns {
    display: contents !important;
}

.home #news .wp-block-post>.wp-block-columns>.wp-block-column,
.home .wp-block-query .wp-block-post>.wp-block-columns>.wp-block-column {
    display: contents !important;
}

/* ネストされたカラム内のカラムも無効化 */
.home #news .wp-block-post .wp-block-columns .wp-block-columns,
.home .wp-block-query .wp-block-post .wp-block-columns .wp-block-columns {
    display: contents !important;
}

.home #news .wp-block-post .wp-block-columns .wp-block-columns>.wp-block-column,
.home .wp-block-query .wp-block-post .wp-block-columns .wp-block-columns>.wp-block-column {
    display: contents !important;
}

/* 画像を左側に配置（縦長） */
.home .post-thumbnail,
.home .wp-block-post-featured-image,
.home #news .wp-block-post-featured-image,
.home .wp-block-query .wp-block-post-featured-image,
.home #news .wp-block-post .wp-block-post-featured-image,
.home .wp-block-query .wp-block-post .wp-block-post-featured-image {
    grid-area: image !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px !important;
    margin: 0 !important;
    display: block !important;
}

/* 画像の高さを固定値からautoに変更 */
.home .wp-block-post-featured-image figure,
.home .wp-block-post-featured-image a,
.home .wp-block-post-featured-image img {
    height: auto !important;
    max-height: none !important;
}

/* NO IMAGEプレースホルダーの中央配置 */
.home .avistal-placeholder,
.home #news .avistal-placeholder,
.home .wp-block-query .avistal-placeholder {
    grid-area: image !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.home img,
.home .avistal-placeholder,
.home #news img,
.home .wp-block-query img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}

/* タイトルを上に配置（全幅） */
.home .entry-header,
.home .wp-block-post-title,
.home #news .wp-block-post-title,
.home .wp-block-query .wp-block-post-title,
.home #news .wp-block-post .wp-block-post-title,
.home .wp-block-query .wp-block-post .wp-block-post-title {
    grid-area: title !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
}

/* entry-header内のentry-meta（日付）を非表示にして、summaryエリアに移動 */
.home .entry-header .entry-meta {
    display: none !important;
}

/* テキスト（抜粋）を右側に配置 */
.home .entry-summary,
.home .wp-block-post-excerpt,
.home #news .wp-block-post-excerpt,
.home .wp-block-query .wp-block-post-excerpt,
.home #news .wp-block-post .wp-block-post-excerpt,
.home .wp-block-query .wp-block-post .wp-block-post-excerpt {
    grid-area: excerpt !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
}

/* entry-summary内の日付を非表示（wp-block-post-dateがあるため重複を防ぐ） */
.home .entry-summary .entry-meta {
    display: none !important;
}

/* 日付を別の行に配置（右寄せ） */
.home .wp-block-post-date {
    grid-area: date !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}


/* 続きを読むリンクを非表示 */
.home .wp-block-read-more {
    display: none !important;
}

/* entry-summary内の段落の余白を調整 */
.home .entry-summary p,
.home .wp-block-post-excerpt p {
    margin-bottom: 10px !important;
}

/* 日付をsummaryエリア内の下に右寄せで配置（既に上で定義済み） */

/* モバイル対応：767px以下では縦積みレイアウトに戻す */
@media (max-width: 767px) {

    .home .wp-block-post,
    .home #news .wp-block-post,
    .home .wp-block-query .wp-block-post,
    .home article.post {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "title"
            "excerpt"
            "date" !important;
        padding: 20px !important;
    }

    .home .post-thumbnail,
    .home .wp-block-post-featured-image,
    .home .avistal-placeholder {
        width: 100% !important;
        height: auto !important;
        min-height: 200px !important;
        margin-bottom: 15px !important;
    }

    /* トップページの投稿一覧の画像を非表示 */
    .home .wp-block-post-featured-image,
    .home #news .wp-block-post-featured-image,
    .home .wp-block-query .wp-block-post-featured-image,
    .home #news .wp-block-post .wp-block-post-featured-image,
    .home .wp-block-query .wp-block-post .wp-block-post-featured-image {
        display: none !important;
    }

    /* NO IMAGEプレースホルダーも非表示 */
    .home .avistal-placeholder,
    .home #news .avistal-placeholder,
    .home .wp-block-query .avistal-placeholder {
        display: none !important;
    }
}

/* ==========================================================================
   4. 【Articlesページ (/articles/)】完璧な L字レイアウト（Grid座標固定）
   ========================================================================== */
.home .wp-block-post,
.home #news .wp-block-post,
.home .wp-block-query .wp-block-post,
.home article.post {
    margin-bottom: 0 !important;
}

/* 親テーマのバラバラな要素を、左33%（画像）と右67%（テキスト）に無理やり流し込みます */
.blog article.post,
.archive article.post {
    display: grid !important;
    grid-template-columns: 33% 1fr !important;
    /* 左33% : 右残り */
    grid-template-areas:
        "image header"
        "image summary" !important;
    column-gap: 50px !important;
    margin-bottom: 30px !important;
    padding: 25px 25px 15px 25px !important;
    background: #ffffff !important;
    border: 1px solid #ccc !important;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2) !important;
    align-items: start !important;
}

/* 各パーツの座標（エリア）を強制指定（これでタイトルと本文が横に並びません） */
.blog .post-thumbnail {
    grid-area: image !important;
    width: 100% !important;
}

.blog .avistal-placeholder {
    grid-area: image !important;
    width: 100% !important;
}

.blog .entry-header {
    grid-area: header !important;
    text-align: left !important;
}

.blog .entry-summary {
    grid-area: summary !important;
    text-align: left !important;
    margin-bottom: 0 !important;
}

/* blog/archiveページのentry-summary内の段落の余白を調整 */
.blog .entry-summary p,
.archive .entry-summary p {
    margin-bottom: 10px !important;
}

/* 記事一覧の画像サイズを大きく（イメージ図に合わせる） */
.blog .post-thumbnail {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.blog .post-thumbnail img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    display: block !important;
}

/* プレースホルダーも画像と同じサイズに統一 */
.blog .avistal-placeholder {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f5f5f5 !important;
    border: 1px solid #eee !important;
}

.blog .entry-title,
.archive .entry-title {
    font-size: 2.2rem !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
}

.blog .entry-title a,
.archive .entry-title a {
    text-align: left !important;
}

/* ==========================================================================
   5. 【NO IMAGE】グレーの空白枠（空白の「箱」として機能）
   ========================================================================== */
.avistal-placeholder {
    background-color: #f5f5f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ccc !important;
    font-weight: bold !important;
    border: 1px solid #eee !important;
    text-align: center !important;
    height: 100% !important;
    min-height: 240px !important;
}

.avistal-placeholder span,
.home .avistal-placeholder span,
.home #news .avistal-placeholder span,
.home .wp-block-query .avistal-placeholder span {
    text-align: center !important;
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* ==========================================================================
   6. 共通クリーンアップ（コメント・メタ・全体クリック）
   ========================================================================== */
/* コメント・メタ・投稿者を根こそぎ非表示 */
#comments,
.comments-area,
.comment-respond,
/* .entry-meta, */
.entry-footer,
.author-bio,
.post-author,
.wp-block-post-author,
.wp-block-read-more,
.link-more {
    display: none !important;
}

.archive .site-main>article:not(.sticky):after,
.blog .site-main>article:not(.sticky):after,
.search .site-main>article:not(.sticky):after {
    content: none !important;
}

/* コメントステータスと編集リンクを非表示 */
.blog .entry-meta .comment-status,
.archive .entry-meta .comment-status,
.blog .entry-meta .edit-link,
.archive .entry-meta .edit-link,
.blog .entry-header .edit-link,
.archive .entry-header .edit-link,
.blog .entry-meta .entry-comments,
.archive .entry-meta .entry-comments,
.blog .entry-comments,
.archive .entry-comments {
    display: none !important;
}

/* /articles/ページでentry-summary内のentry-metaを非表示（重複を防ぐ） */
.blog .entry-summary .entry-meta,
.archive .entry-summary .entry-meta {
    display: none !important;
}

.entry-meta span+span:before {
    content: none !important;
}

.entry-meta::before {
    content: none !important;
}

.entry-meta .entry-author,
.entry-meta .entry-categories {
    display: none !important;
}

.site-info .copyright {
    color: #fff !important;
}

/* フッターのクレジット（Inspiro Theme by WPZOOM）を非表示 */
.site-info .site-info-credit {
    display: none !important;
}

/* フッター：左にコピーライト、右にプライバシーポリシーリンク */
.site-info {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.site-info .copyright {
    flex: 0 0 auto !important;
}

.site-info .footer-privacy-link {
    flex: 0 0 auto !important;
    display: inline-block !important;
    visibility: visible !important;
    color: #fff !important;
    opacity: 1 !important;
}

.site-info .footer-privacy-link:hover {
    color: #fff !important;
    opacity: 0.7 !important;
}

/* 全体クリック（ホーム画面のみ） */
.home .wp-block-post-title a::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100 !important;
    cursor: pointer !important;
}

/* Articlesページ（/articles/）で記事全体をクリック可能にする */
.blog article.post,
.archive article.post {
    position: relative !important;
}

.blog article .entry-title a::after,
.archive article .entry-title a::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 10 !important;
    cursor: pointer !important;
}

/* PDFボタン */
.pdf-download-container {
    text-align: center;
}

/* PDFダウンロードボタンのスタイル */
.pdf-download-container {
    margin-top: 20px;
    text-align: right;
    position: relative;
    z-index: 10;
}

/* 詳細ページのヘッダー内のPDFダウンロードボタン */
.single .entry-header .pdf-download-container.pdf-download-header {
    margin-top: 20px;
    text-align: right;
}

/* entry-cover-image内のPDFダウンロードボタンは白に */
.single .entry-cover-image .pdf-download-button,
.single .entry-cover-image .pdf-download-button:hover {
    border: 1px solid #fff !important;
    color: #fff !important;
    background-color: transparent !important;
}

.single .entry-cover-image .pdf-download-button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #fff !important;
    color: #fff !important;
}

.single .entry-cover-image .entry-header .inner-wrap {
    position: relative;
}


.single .entry-header .pdf-download-container.pdf-download-header {
    position: absolute;
    right: 0;
    top: 15px;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .single .entry-header .pdf-download-container.pdf-download-header {
        position: relative;
        right: auto;
        left: auto;
        top: auto;
        margin: 0 !important;
    }
}

.single-post .pdf-download-button,
.pdf-download-button {
    display: inline-flex;
    align-items: center;
    padding: 10px 25px;
    border: 1px solid #333 !important;
    font-weight: bold;
    color: #333 !important;
    text-decoration: none !important;
    position: relative;
    z-index: 10;
    pointer-events: auto;
}

.single-post .pdf-download-button:hover,
.pdf-download-button:hover {
    background-color: #1a1a1a !important;
    color: #fff !important;
    border-color: #fff !important;
}

@media (max-width: 767px) {

    .single-post .pdf-download-button,
    .pdf-download-button {
        padding: 10px 15px !important;
        font-size: 12px !important;
    }
}

/* ==========================================================================
   7. 詳細ページのentry-cover-imageを100vhに設定
   ========================================================================== */
/* .single .entry-cover-image,
.page .entry-cover-image {
    height: 100vh !important;
    max-height: 100vh !important;
} */

/* ==========================================================================
   8. Articlesページの見出しを左側に表示
   ========================================================================== */
.blog .page-title,
.archive .page-title,
.blog h1.page-title,
.archive h1.page-title,
.blog .wp-block-post-template h2,
.archive .wp-block-post-template h2 {
    text-align: left !important;
    max-width: 970px !important;
    margin: 40px auto 30px auto !important;
    padding: 0 !important;
}

.blog .header.entry-header {
    margin-left: 0 !important;
}


/* Articlesページの上の余白を確保 */
.blog .site-content-contain,
.archive .site-content-contain {
    padding-top: 0 !important;
}

.blog .site-content,
.archive .site-content {
    padding-top: 130px !important;
}

.blog .page-header,
.archive .page-header {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

/* ArticlesページでNO IMAGEをトップと同じように表示 */
.blog .avistal-placeholder,
.archive .avistal-placeholder,
.blog .post-thumbnail .avistal-placeholder,
.archive .post-thumbnail .avistal-placeholder,
.blog .post-thumbnail a .avistal-placeholder,
.archive .post-thumbnail a .avistal-placeholder,
.blog article .avistal-placeholder,
.archive article .avistal-placeholder {
    background-color: #f5f5f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ccc !important;
    font-weight: bold !important;
    border: 1px solid #eee !important;
    text-align: center !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    min-height: 240px !important;
    position: relative !important;
}

.blog .avistal-placeholder span,
.archive .avistal-placeholder span,
.blog .post-thumbnail .avistal-placeholder span,
.archive .post-thumbnail .avistal-placeholder span,
.blog .post-thumbnail a .avistal-placeholder span,
.archive .post-thumbnail a .avistal-placeholder span,
.blog article .avistal-placeholder span,
.archive article .avistal-placeholder span {
    text-align: center !important;
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* NO IMAGEが表示されるように、post-thumbnailのスタイルを確保 */
.blog .post-thumbnail,
.archive .post-thumbnail {
    display: block !important;
    width: 100% !important;
}

.blog .post-thumbnail a,
.archive .post-thumbnail a {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

/* ==========================================================================
   9. リンクの色を#3d5d6bに設定、ホバー時は#000に
   ナビゲーションは白のまま
   ========================================================================== */
/* ナビゲーションは白のまま */
.navbar-nav a,
.primary-menu-wrapper .nav a,
.primary-menu-wrapper .navbar-nav a,
.primary-menu-wrapper .navbar-nav li a,
.navbar .nav a,
.navbar .navbar-nav a,
.navbar .navbar-nav li a {
    color: #ffffff !important;
}

.navbar-nav a:hover,
.primary-menu-wrapper .nav a:hover,
.primary-menu-wrapper .navbar-nav a:hover,
.primary-menu-wrapper .navbar-nav li a:hover,
.navbar .nav a:hover,
.navbar .navbar-nav a:hover,
.navbar .navbar-nav li a:hover,
.navbar-nav li a:hover,
.primary-menu-wrapper .navbar-nav li a:hover {
    color: #ffffff !important;
    opacity: 0.7 !important;
}


/* 通常のリンク色を#3d5d6bに */
a:not(.wp-element-button):not(.wp-block-button__link):not(.custom-logo-text):not(.navbar-toggle):not(.sb-search-button-open):not(.sb-search-button-close):not(.navbar-nav a):not(.primary-menu-wrapper a):not(.nav a):not(.pdf-download-button):not(.footer-privacy-link),
.entry-content a:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.entry-summary a:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.comment-content a:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.widget a:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.entry-title a,
.entry-meta a,
.entry-footer a,
.page-links a,
.post-navigation a,
.comment-navigation a,
.comment-metadata a,
.pagination a,
.comments-pagination a,
.site-info a:not(.footer-privacy-link),
.widget .widget-title a,
.widget ul li a,
.site-footer .widget-area ul li a,
.wp-block-post-title a,
.wp-block-post-date a,
.has-link-color,
.wp-block-heading a,
.wp-block-heading a.has-link-color,
/* Aboutページのリンクタイトルなど */
.page .entry-content a:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.page .entry-title a,
.page h2 a,
.page h3 a,
.page .wp-block-heading a,
.page .wp-block-columns a,
.page .wp-block-group a {
    color: #3d5d6b !important;
    text-decoration: none !important;
}

.wp-container-core-columns-is-layout-28f84493 .has-secondary-color a {
    color: #fff !important;
}

/* var(--wp--preset--color--secondary)を上書き */
.has-secondary-color,
.has-secondary-color a,
a.has-secondary-color {
    color: #3d5d6b !important;
}

/* ホバー時は#000（var(--inspiro-color-link-hover)）に */
a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.custom-logo-text):not(.navbar-toggle):not(.sb-search-button-open):not(.sb-search-button-close):not(.navbar-nav a):not(.primary-menu-wrapper a):not(.nav a):not(.pdf-download-button):not(.footer-privacy-link),
.entry-content a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.entry-summary a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.comment-content a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.widget a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.entry-title a:hover,
.entry-meta a:hover,
.entry-footer a:hover,
.page-links a:hover,
.post-navigation a:hover,
.comment-navigation a:hover,
.comment-metadata a:hover,
.comment-metadata a.comment-edit-link:hover,
.comment-reply-link:hover,
.pagination a:hover,
.comments-pagination a:hover,
.site-info a:hover:not(.footer-privacy-link),
.widget .widget-title a:hover,
.widget ul li a:hover,
.site-footer .widget-area ul li a:hover,
.wp-block-post-title a:hover,
.wp-block-post-date a:hover,
.has-link-color:hover,
.wp-block-heading a:hover,
.wp-block-heading a.has-link-color:hover,
.page .entry-content a:hover:not(.wp-element-button):not(.wp-block-button__link):not(.pdf-download-button),
.page .entry-title a:hover,
.page h2 a:hover,
.page h3 a:hover,
.page .wp-block-heading a:hover,
.page .wp-block-columns a:hover,
.page .wp-block-group a:hover {
    color: var(--inspiro-color-link-hover) !important;
    color: #000 !important;
}

/* PDFダウンロードボタンのホバースタイルを再定義（広範囲のスタイルの後に上書き） */
.single-post .pdf-download-button:hover {
    background-color: #1a1a1a !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* メニューのホバースタイルを再定義（広範囲のスタイルの後に上書き） */
.navbar .navbar-nav a:hover,
.navbar-nav a:hover,
.primary-menu-wrapper .nav a:hover,
.primary-menu-wrapper .navbar-nav a:hover,
.primary-menu-wrapper .navbar-nav li a:hover,
.navbar .nav a:hover,
.navbar .navbar-nav li a:hover,
.navbar-nav li a:hover,
.primary-menu-wrapper .navbar-nav li a:hover {
    color: #ffffff !important;
    opacity: 0.7 !important;
}

.has-secondary-color:hover,
.has-secondary-color a:hover,
a.has-secondary-color:hover {
    color: #000 !important;
}


body:not(.inspiro-front-page) .entry-header {
    margin-left: 0 !important;
}

/* ==========================================================================
   10. 下部のCONTACT USボタンを白に
   ========================================================================== */
/* フロントページのCTAセクション（下部のCONTACT USボタン）を白に */
a.wp-block-button__link.has-white-color.has-text-color.wp-element-button {
    border-color: #fff;
    color: #fff !important;
}

.page-id-5592 a.wp-block-button__link.wp-element-button {
    border-color: #fff;
    color: #fff !important;
}

/*
.page-id-5592 a.wp-block-button__link.wp-element-button:hover {
    color: #fff !important;
}
*/

/* スマホ対応 */
@media (max-width: 767px) {
    .blog article.post {
        display: block !important;
    }

    .blog .post-thumbnail {
        margin-bottom: 20px !important;
    }
}


/* ==========================================================================
   11. スマホメニューの追加
   ========================================================================== */
@media (max-width: 1025px) {
    .home .wp-block-heading {
        padding-top: 0 !important;
    }
}


@media (max-width: 767px) {
    body:not(.inspiro-front-page) .navbar {
        padding: 0 !important;
    }

    .entry-content>.wp-block-group {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    figure.wp-block-post-featured-image {
        display: none !important;
    }

    .blog .entry-title,
    .archive .entry-title {
        font-size: 1.5rem !important;
    }

    .blog .post-thumbnail>a {
        height: 200px !important;
    }

    .blog .post-thumbnail>a img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    body:not(.inspiro-front-page) #comments,
    body:not(.inspiro-front-page) .entry-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .entry-content>.wp-block-columns,
    .entry-content>.wp-block-cover,
    .entry-content>.wp-block-group {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .home .wp-block-spacer {
        display: none !important;
    }



    .blog .inner-wrap {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 480px) {
    .blog .post-thumbnail>a {
        height: 150px !important;
    }
}