@charset "UTF-8";
/*
Theme Name: BooostTechnologies Media
Theme URI: https://xeory.jp/extension
Template: xeory_extension
Description: BooostTechnologiesメディア用オリジナルテーマ
Author: 
Author URI:
Version: 1.0.0
*/

/* Elementor Font Awesome 競合修正 */
/* Elementor専用のFont Awesomeアイコン修正（既存のCSSとの競合を回避） */

/* Elementor SNSアイコンウィジェット専用 */
.elementor-widget-social-icons .elementor-social-icon i {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Elementor SNSアイコン ブランド用 */
.elementor-widget-social-icons .elementor-social-icon .fab,
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-facebook"],
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-twitter"],
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-instagram"],
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-linkedin"],
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-youtube"],
.elementor-widget-social-icons .elementor-social-icon i[class*="fa-x-twitter"] {
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-weight: 400 !important;
}

/* Elementor SNSアイコン ソリッド用 */
.elementor-widget-social-icons .elementor-social-icon .fas,
.elementor-widget-social-icons .elementor-social-icon .fa {
    font-weight: 900 !important;
}

/* Elementor アイコンボックスウィジェット専用 */
.elementor-widget-icon-box .elementor-icon-box-icon i,
.elementor-widget-icon .elementor-icon i {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
}

.elementor-widget-icon-box .elementor-icon-box-icon .fab,
.elementor-widget-icon .elementor-icon .fab {
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-weight: 400 !important;
}

.elementor-widget-icon-box .elementor-icon-box-icon .fas,
.elementor-widget-icon-box .elementor-icon-box-icon .fa,
.elementor-widget-icon .elementor-icon .fas,
.elementor-widget-icon .elementor-icon .fa {
    font-weight: 900 !important;
}

/* Elementor ナビゲーションメニューウィジェット専用 */
.elementor-widget-nav-menu .elementor-nav-menu-icon i,
.elementor-widget-nav-menu .elementor-nav-menu .fa {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
}

/* ソーシャルリンク一般（非Elementor）の修正 */
.social-links .fa-brands,
.social-links .fab,
.social-link .fa-brands,
.social-link .fab {
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Elementorコンテナの表示確保 */
.elementor-widget-icon .elementor-icon,
.elementor-widget-icon-box .elementor-icon-box-icon,
.elementor-widget-social-icons .elementor-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 既存のテーマアイコンとの競合回避 */
.main-nav-list > li.menu-item-has-children > a:before {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
}

/* ナビゲーション矢印アイコンの強制表示対策 */
.main-nav-list > li.menu-item-has-children > a:before,
#main-nav-sp .menu-item-has-children > a:after,
#gnav-ul-sp .menu-item-has-children > a:after {
    content: '\f107' !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome", "fa-solid-900", "fa solid 900" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    speak: never !important;
}

/* 最終フォールバック：Unicode矢印での代替表示 */
.main-nav-list > li.menu-item-has-children > a {
    position: relative !important;
}

.main-nav-list > li.menu-item-has-children > a:after {
    content: ' ▼' !important;
    font-family: inherit !important;
    font-weight: normal !important;
    position: absolute !important;
    right: -15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 10px !important;
    color: inherit !important;
}

/* Font Awesomeが正常に読み込まれた場合は代替表示を隠す */
@font-face {
    font-family: 'Font Awesome 6 Free';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2') format('woff2');
}

.main-nav-list > li.menu-item-has-children > a:after {
    display: none !important;
}

/* パンくずリストアイコンの確保 */
#breadcrumb i[class^="fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* フッターSNSアイコンの修正 */
#footer-sns li a i {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
}

#footer-sns li a .fab {
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-weight: 400 !important;
}
/* 共通項目はこちらに記述する */
body{
    background: rgba(245, 245, 245, 1);
    /* background: #F5F5F5; */
}
a:hover {
    text-decoration: none;
}
/* 見出しの基本スタイル（フロントページ以外） */
body:not(.home) .post-content h2,
body:not(.home) .page-content h2,
body:not(.home) .type-post h2,
body:not(.home) .type-page h2,
.archive .post-content h2,
.single .post-content h2,
.page:not(.home) .post-content h2 {
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 1rem;
    margin: 20px 0 10px;
    background-color: transparent;
    /* color: #fff; */
    border-radius: 3px;
    word-break: break-word;
    overflow-wrap: break-word;
}

body:not(.home) .post-content h3,
body:not(.home) .page-content h3,
body:not(.home) .type-post h3,
body:not(.home) .type-page h3,
.archive .post-content h3,
.single .post-content h3,
.page:not(.home) .post-content h3 {
    font-size: 1.25rem;
    line-height: 1.4;
    padding: 15px 0;
    margin: 30px 0 20px;
    border-bottom: 2px solid #37474F;
    word-break: break-word;
    overflow-wrap: break-word;
}

body:not(.home) .post-content h4,
body:not(.home) .page-content h4,
body:not(.home) .type-post h4,
body:not(.home) .type-page h4,
.archive .post-content h4,
.single .post-content h4,
.page:not(.home) .post-content h4 {
    font-size: 1.125rem;
    line-height: 1.4;
    padding: 10px 0;
    margin: 25px 0 15px;
    border-left: 4px solid #37474F;
    padding-left: 15px;
    word-break: break-word;
    overflow-wrap: break-word;
}

body:not(.home) .post-content h5,
body:not(.home) .page-content h5,
body:not(.home) .type-post h5,
body:not(.home) .type-page h5,
.archive .post-content h5,
.single .post-content h5,
.page:not(.home) .post-content h5 {
    font-size: 1rem;
    line-height: 1.4;
    margin: 20px 0 10px;
    padding: 8px 0;
    border-bottom: 1px dotted #37474F;
    word-break: break-word;
    overflow-wrap: break-word;
}

body:not(.home) .post-content h6,
body:not(.home) .page-content h6,
body:not(.home) .type-post h6,
body:not(.home) .type-page h6,
.archive .post-content h6,
.single .post-content h6,
.page:not(.home) .post-content h6 {
    font-size: 0.9375rem;
    line-height: 1.4;
    margin: 20px 0 10px;
    padding: 0 0 5px;
    word-break: break-word;
    overflow-wrap: break-word;
}
.main-inner .post-content h2{
    color: #000;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
    body:not(.home) .post-content h2,
    body:not(.home) .page-content h2,
    body:not(.home) .type-post h2,
    body:not(.home) .type-page h2,
    .archive .post-content h2,
    .single .post-content h2,
    .page:not(.home) .post-content h2 {
        font-size: 1.25rem;
        padding: 15px;
        margin: 30px 0 15px;
    }

    body:not(.home) .post-content h3,
    body:not(.home) .page-content h3,
    body:not(.home) .type-post h3,
    body:not(.home) .type-page h3,
    .archive .post-content h3,
    .single .post-content h3,
    .page:not(.home) .post-content h3 {
        font-size: 1.125rem;
        padding: 12px 0;
        margin: 25px 0 15px;
    }

    body:not(.home) .post-content h4,
    body:not(.home) .page-content h4,
    body:not(.home) .type-post h4,
    body:not(.home) .type-page h4,
    .archive .post-content h4,
    .single .post-content h4,
    .page:not(.home) .post-content h4 {
        font-size: 1rem;
        padding: 8px 0 8px 12px;
        margin: 20px 0 12px;
    }

    body:not(.home) .post-content h5,
    body:not(.home) .page-content h5,
    body:not(.home) .type-post h5,
    body:not(.home) .type-page h5,
    .archive .post-content h5,
    .single .post-content h5,
    .page:not(.home) .post-content h5 {
        font-size: 0.9375rem;
        margin: 15px 0 8px;
    }

    body:not(.home) .post-content h6,
    body:not(.home) .page-content h6,
    body:not(.home) .type-post h6,
    body:not(.home) .type-page h6,
    .archive .post-content h6,
    .single .post-content h6,
    .page:not(.home) .post-content h6 {
        font-size: 0.875rem;
        margin: 15px 0 8px;
    }
}

#header{
    background-color: #ffffff;
    padding: 0;
    position: fixed;
    width: 100%;
    z-index: 10;
}
#header a{
    color: #000000;
}
#header #logo {
    height: 72px;
    line-height: 72px;
}
#header-right{
    height: 72px;
}
/*  */
.cat-content, article.post, article.page{
    /* border: none; */
    background: #fff;
    border: 1px #e5e5e5 solid;
}

/* メインナビゲーション */
#header-main-nav-area {
    margin: 0;
    background-color: #ffffff;
    width: 100%;
    position: relative;

}

#main-nav {
    float: none;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
    width: 100%;
}

.main-nav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.main-nav-list > li {
    margin: 0;
    position: relative;
    flex: 1;
    text-align: center;
}

.main-nav-list > li > a {
    display: block;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    padding: 15px 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

.main-nav-list > li > a:hover {
    color: #2196F3;
    background-color: rgba(33, 150, 243, 0.05);
}

.main-nav-list > li.menu-item-has-children {
    position: relative;
}

.main-nav-list > li.menu-item-has-children:hover {
    background-color: rgba(33, 150, 243, 0.05);
}

/* メガメニュー */
.main-nav-list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 240px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border: 1px solid #e5e5e5;
    z-index: 1000;
    text-align: left;
}

.main-nav-list > li:hover .sub-menu {
    display: block !important;
}

.main-nav-list .sub-menu li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-nav-list .sub-menu li a {
    display: block;
    padding: 12px 0 12px 5px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 1px solid #f5f5f5;
}

.main-nav-list .sub-menu li:last-child a {
    border-bottom: none;
}

.main-nav-list .sub-menu li a:hover {
    color: #2196F3;
    padding-left: 10px;
    background-color: #F5F5F5;
}

.main-nav-list > li > a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: #2196F3;
    transition: width 0.3s ease;
}

.main-nav-list > li > a:hover:after {
    width: 100%;
}

.main-nav-list > li.current-menu-item > a:after {
    width: 100%;
}

/* サブメニューを持つ項目の矢印 */
.main-nav-list > li.menu-item-has-children > a:before {
    content: '\f107';
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    margin-left: 5px;
    font-size: 12px;
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    font-style: normal;
}

/* ハンバーガーメニュー */
#header-nav-btn {
    display: none;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1000;
}

#header-nav-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #fff;
    border: none;
    font-size: 40px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
}

#header-nav-btn a:hover {
    background: #f5f5f5;
    color: #2196F3;
}

/* スマートフォン・タブレット用のスタイル */
@media screen and (max-width: 991px) {
    /* スティッキーヘッダー */
    #header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 0px 0 0 0;
        background: #fff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        z-index: 1000;
        transition: transform 0.3s ease;
    }
    
    /* スクロールダウン時にヘッダーを隠す */
    #header.header-hidden {
        transform: translateY(-100%);
    }
    
    /* スクロールアップ時にヘッダーを表示 */
    #header.header-visible {
        transform: translateY(0);
    }
    
    /* ヘッダーの高さ分だけコンテンツを下げる */
    body {
        padding-top: 20px; /* ヘッダーの高さに合わせて調整 */
    }
    
    #header #logo {
        margin: 0;
        text-align: left;
        height: 50px;
        display: flex;
        align-items: center;
    }
    
    #header #logo img {
        max-height: 40px;
        width: auto;
    }
    
    #header-main-nav-area {
        display: none;
    }
    
    #header-nav-btn {
        display: block;
        position: absolute;
        top: 15px;
        right: 15px;
        z-index: 1001;
    }
    
    /* ダミー要素（オーバーレイ） */
    .dummy {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 998;
    }

    #gnav-sp {
        display: none;
        position: fixed;
        top: 80px; /* ヘッダーの高さに合わせて調整 */
        left: 0;
        width: 100%;
        background: #f8f8f8; /* 背景色を少し暗くして区別しやすくする */
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        z-index: 999;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: none !important;
    }

    /* activeクラスが付与されたときの表示 */
    #gnav-sp.active {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* ハンバーガーメニューの内容 */
    #gnav-sp .wrap {
        padding: 15px;
    }

    #gnav-sp .grid-wrap {
        display: flex;
        flex-direction: column;
    }
    
    /* 各セクションのスタイル */
    #gnav-sp .grid-wrap > div {
        margin-bottom: 20px;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        padding: 15px;
    }
    
    #gnav-sp .grid-wrap > div:last-child {
        margin-bottom: 0;
    }
    
    /* セクションのヘッダー */
    #gnav-sp .wrap h4 {
        margin-top: 0;
        margin-bottom: 15px;
        padding-bottom: 10px;
        border-bottom: 1px solid #e5e5e5;
        font-size: 16px;
        font-weight: bold;
        color: #333;
    }

    #header-cont-nav {
        margin-bottom: 0;
        padding: 0;
    }

    #main-nav-sp li {
        border-bottom: 1px solid #e5e5e5;
        position: relative;
    }
    
    #main-nav-sp li:last-child {
        border-bottom: none;
    }

    #main-nav-sp li a {
        display: block;
        padding: 12px 15px;
        color: #333;
        text-decoration: none;
        font-size: 14px;
    }

    /* スマホ用メガメニュー */
    #main-nav-sp .sub-menu {
        display: none;
        background: #f8f8f8;
        padding-left: 0;
        margin: 0;
        border-top: 1px solid #e5e5e5;
    }

    #main-nav-sp .sub-menu li {
        list-style: none;
    }

    #main-nav-sp .sub-menu li a {
        padding: 12px 25px;
        font-size: 13px;
        border-bottom: 1px solid #e5e5e5;
    }

    #main-nav-sp .sub-menu li:last-child a {
        border-bottom: none;
    }

    #main-nav-sp .menu-item-has-children > a:after {
        content: '\f107';
        font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
        font-weight: 900;
        margin-left: 10px;
        font-size: 14px;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        display: inline-block;
        font-style: normal;
    }

    #main-nav-sp .menu-item-has-children.active > a:after {
        content: '\f106';
    }
    
    /* ハンバーガーボタンのスタイル */
    #header-nav-btn a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: #fff;
        /* border: 1px solid #e5e5e5; */
        border-radius: 4px;
        font-size: 40px;
        color: #333;
        text-decoration: none;
        transition: all 0.3s ease;
        z-index: 1001;
    }
    
    #header-nav-btn a:hover {
        background: #f5f5f5;
    }
    
    /* フッターメニュー部分のスタイル調整 */
    #header-cont-about {
        margin-bottom: 20px;
    }
    
    #footer-nav {
        padding-left: 0;
        margin: 0;
    }
    
    #footer-nav li {
        list-style: none;
        border-bottom: 1px solid #e5e5e5;
    }
    
    #footer-nav li:last-child {
        border-bottom: none;
    }
    
    #footer-nav li a {
        display: block;
        padding: 12px 15px;
        color: #333;
        text-decoration: none;
        font-size: 14px;
        position: relative;
    }
    
    /* フッターメニューの矢印アイコンを削除 */
    #footer-nav li a:before,
    #footer-nav li a:after {
        display: none !important;
    }
    
    /* ブログコンテンツ部分のスタイル調整 */
    #header-cont-content {
        margin-bottom: 0;
    }
    
    #gnav-ul-sp {
        padding-left: 0;
        margin: 0;
    }
    
    #gnav-ul-sp li {
        list-style: none;
        border-bottom: 1px solid #e5e5e5;
    }
    
    #gnav-ul-sp li:last-child {
        border-bottom: none;
    }
    
    #gnav-ul-sp li a {
        display: block;
        padding: 12px 15px;
        color: #333;
        text-decoration: none;
        font-size: 14px;
        position: relative;
    }
    
    /* グローバルナビの矢印アイコンを削除 */
    #gnav-ul-sp li a:before,
    #gnav-ul-sp li a:after {
        display: none !important;
    }

    /* グローバルナビのサブメニュー（スマホ表示） */
    #gnav-ul-sp .sub-menu {
        display: none;
        background: #f8f8f8;
        padding-left: 0;
        margin: 0;
        border-top: 1px solid #e5e5e5;
    }

    #gnav-ul-sp .sub-menu li {
        list-style: none;
    }

    #gnav-ul-sp .sub-menu li a {
        padding: 12px 25px;
        font-size: 13px;
        border-bottom: 1px solid #e5e5e5;
    }

    #gnav-ul-sp .sub-menu li:last-child a {
        border-bottom: none;
    }

    #gnav-ul-sp .menu-item-has-children > a:after {
        content: '\f107';
        font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
        font-weight: 900;
        margin-left: 10px;
        font-size: 14px;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        display: inline-block;
        font-style: normal;
    }

    #gnav-ul-sp .menu-item-has-children.active > a:after {
        content: '\f106';
    }
}

/* ヘッダー右側のナビゲーションエリア */
#header-gnav-area {
    background: none !important;
    margin-top: 15px;
}

#gnav {
    background: none !important;
    float: right;
}
#gnav ul li a:hover{
    background-color: #2196F3;
    color: #ffffff;
}

/* 現在のメニュー項目の背景色を白に変更 */
#gnav ul li.current-menu-item a {
    background-color: #ffffff;
    color: #333333;
}

/* 現在のメニュー項目のhover時の背景色を設定 */
#gnav ul li.current-menu-item a:hover {
    background-color: #2196F3;
    color: #ffffff;
}

#gnav-container {
    background: none;
}

/* ヘッダー右側のナビゲーションボタン */
#gnav-ul li:first-child a {
    background-color: #ffffff;
    border: 1px solid #000000;
    color: #000000;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    margin-right: 10px;
    display: inline-block;
}

#gnav-ul li:not(:first-child) a {
    background-color: #FFE600;
    border: none;
    color: #000000;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    margin-right: 10px;
    display: inline-block;
}

#gnav-ul li a:hover {
    opacity: 0.8;
    text-decoration: none;
    cursor: pointer;
}

/* 親テーマのナビゲーション背景色を打ち消し */
#gnav-ul li {
    background: none !important;
}

/* スマートフォン用メニューのテキストカラー */
#gnav-sp .wrap a {
    color: #333;
    text-decoration: none;
}

#gnav-sp .wrap h4 {
    color: #333;
    margin: 15px 0;
    font-size: 16px;
}

#gnav-sp .wrap #footer-nav a {
    color: #333;
    font-size: 14px;
    padding: 8px 0;
    display: block;
}

/* フッター */
#footer {
    background: #fff;
    color: #333;
    padding: 40px 0 0;
    border-top: 1px solid #e5e5e5;
}

#footer .container {
    max-width: 1200px;
}

#footer .footer-logo {
    margin-bottom: 1rem;
}

#footer .footer-logo img {
    max-height: 50px;
    width: auto;
}

#footer .footer-address {
    font-size: 0.9rem;
    color: #666;
}

#footer .footer-heading {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
    color: #333;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 10px;
}

#footer .footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-list li {
    margin-bottom: 0.75rem;
}

#footer .footer-list a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
    font-size: 0.9rem;
}

#footer .footer-list a:hover {
    color: #2196F3;
}

#footer-cont-sns .social-btn {
    margin-right: 1rem;
    color: #666;
    font-size: 1.5rem;
    transition: color 0.3s;
}

#footer-cont-sns .social-btn:hover {
    color: #2196F3;
}

@media (max-width: 991px) {
    #footer {
        padding: 40px 0 0;
    }
    
    #footer .footer-heading {
        margin-top: 2rem;
        margin-bottom: 1rem;
    }
}

.footer-01 {
    background: #fff;
}

.footer-02 {
    background: #fff;
    padding: 20px 0;
    margin-top: 30px;
}

.footer-copy {
    text-align: center;
    margin: 0;
    font-size: 0.9rem;
    color: #666;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 100;
}

.pagetop span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #333;
  border-radius: 50%;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.pagetop span i {
  color: #fff;
  font-size: 24px;
  line-height: 1;
  top: -24px;
  left: -9px;
}

.pagetop:hover span {
  background: #2196F3;
  transform: translateY(-5px);
}

@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 20px;
    right: 20px;
  }
  
  .pagetop span {
    width: 40px;
    height: 40px;
  }
  
  .pagetop span i {
    font-size: 20px;
  }
}

/* パンくずリストのスタイル調整 */
.breadcrumb-area {
    background: #F5F5F4;
    border-bottom: none;
    padding-top: 60px;
}

.breadcrumb-area .wrap {
    padding: 0;
}

.breadcrumb,
.breadcrumb-area .breadcrumb,
body .breadcrumb {
    margin: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible;
    padding: 8px 0;
    font-size: 14px;
    line-height: 1.4;
}

.breadcrumb li {
    float: none;
    margin-left: 0;
    display: inline-flex;
    align-items: center;
}

.breadcrumb li:not(:last-child):after {
    content: '>';
    margin: 0 8px;
    color: #999;
}

.breadcrumb li a {
    color: #2196F3;
    text-decoration: none;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .breadcrumb {
        padding: 8px 0;
        font-size: 12px;
    }
    .breadcrumb-area {
        padding-top: 0px;
    }
}

/* 全てのアイコンを非表示 */
#breadcrumb i[class^="fa-"] {
    display: none !important;
}

/* カテゴリーページのスタイル */
.cat-content {
    margin-bottom: 40px;
}

.cat-header .post-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin: 20px 0;
}

.cat-description {
    font-size: 16px;
    color: #666;
    margin: 15px 0;
}

/* 注目の記事セクション */
.featured-posts {
    margin-bottom: 40px;
}

.section-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e5e5e5;
}

.featured-posts-list {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

.featured-post {
    flex: 1;
}

.featured-post .post-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.featured-post .post-title {
    font-size: 18px;
    font-weight: bold;
    margin: 15px 0;
}

.featured-post .post-excerpt {
    font-size: 14px;
    color: #666;
}

/* 最新記事一覧 */
.post-loop-wrap {
    margin-top: 40px;
}

/* ページネーション */
.pagination {
    clear: both;
    padding: 40px 0;
    position: relative;
    font-size: 14px;
    line-height: 1;
    text-align: center;
}

.pagination span, .pagination a {
    display: inline-block;
    margin: 2px 2px 2px 0;
    padding: 10px 15px;
    text-decoration: none;
    color: #333;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.pagination a:hover {
    color: #fff;
    background: #0073e6;
    border-color: #0073e6;
}

.pagination .current {
    padding: 10px 15px;
    background: #0073e6;
    border-color: #0073e6;
    color: #fff;
}

/* よくある質問セクション */
.faq-section {
    margin: 40px 0;
}

.faq-item {
    margin-bottom: 20px;
}

.faq-question {
    font-size: 16px;
    font-weight: bold;
    padding: 15px;
    background: #f5f5f5;
    cursor: pointer;
    transition: color 0.3s;
}

.faq-question:hover {
    color: #0073e6;
}

.faq-answer {
    font-size: 14px;
    color: #666;
    padding: 15px;
    display: none;
}

/* サイドバー */
#sidebar {
    background: #F8F9FA;
    border: 1px solid #DDD;
    padding: 20px;
}

#sidebar .widget {
    margin-bottom: 15px;
    font-size: 14px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
    .featured-posts-list {
        flex-direction: column;
    }

    .post-loop-wrap article {
        flex-direction: column;
    }

    .post-loop-wrap .post-thumbnail {
        flex: none;
        margin-bottom: 15px;
    }

    .post-loop-wrap .post-thumbnail img {
        width: 100%;
        height: auto;
    }
}

/* Sticky Sidebar */
@media screen and (min-width: 768px) {
    #sidebar {
        position: sticky;
        top: 20px;
    }
}

/* コメント関連の要素を完全に非表示 */
.comments-area,
.comment-respond,
.comments-title,
#comments,
.comment-list,
.comment-reply-title,
.comment-form,
.comment-notes,
.comment-form-comment,
.comment-respond,
.comment-reply-link,
.comment-navigation,
.comment-meta,
.comments-title,
#respond,
.comment-form-author,
.comment-form-email,
.comment-form-url,
.form-submit,
.comment-awaiting-moderation,
.logged-in-as {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* sidebar */
.side-widget {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    padding: 20px;
    border-radius: 12px;
    background: #FFF;
}
.wp-block-search__input {
    border: 1px solid #e5e7eb;
}
.side-widget .side-title{
    all: unset;

    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.side-widget .side-title p{
    background: none;
    border: none;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.widget_search{
    border: none;
}
input[type="search"]{
    border-radius: 8px;
}

/* 検索ウィジェットのスタイル */
.wp-block-search .wp-block-search__button {
    background-color: #007bff;
    border: none;
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.wp-block-search .wp-block-search__button:hover {
    background-color: #0056b3;
}

.wp-block-search .wp-block-search__button svg {
    fill: #ffffff;
}

.wp-block-search .wp-block-search__input {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
}

.wp-block-search__inside-wrapper {
    gap: 8px;
}

/* CTA */
.post-cta .cta-post-title {
    padding: 10px 25px;
    font-size: 26px;
    margin-bottom: 4px;
    text-align: center;
    border-bottom: 1px solid #eee;
}
.post-cta .post-cta-inner {
    padding: 10px 25px;
}

/* widgets */
.widget_views a,.side-widget a{
    color: #2196F3;
    border-radius: 5px;
}
.widget_views a:hover,.side-widget a:hover{
    color: #0073e6;
}

/* フッターのソーシャルメディアボタン */
#footer-sns ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 20px;
}

#footer-sns li a {
    display: flex;
    align-items: center;
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}

#footer-sns li a:hover {
    color: #2196F3;
    opacity: 1;
}

#footer-sns li a i {
    margin-right: 8px;
    font-size: 18px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    #footer-sns ul {
        flex-direction: column;
        gap: 10px;
    }
}

/* タグクラウドのスタイル */
.tag-cloud-link {
    margin: 5px;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 3px;
    background-color: #f5f5f5;
    color: #333;
    font-size: 14px !important;
    line-height: 1.4;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.tag-cloud-link:hover {
    background-color: #e0e0e0;
    color: #000;
    text-decoration: none;
}

/* タグクラウドのコンテナスタイル */
.wp-block-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

/* タグ一覧の見出しとタグクラウドの間隔調整 */
.wp-block-group__inner-container p + .wp-block-tag-cloud,
.wp-block-group__inner-container p + p.wp-block-tag-cloud {
    margin-top: 20px;
}

/* タグクラウドを左寄せにする */
p.aligncenter.wp-block-tag-cloud,
p.is-style-outline.wp-block-tag-cloud {
    text-align: left;
    justify-content: flex-start;
}

/* アウトラインスタイルのタグクラウド */
:root :where(.wp-block-tag-cloud.is-style-outline) {
    gap: 10px;
    justify-content: flex-start;
}

:root :where(.wp-block-tag-cloud.is-style-outline a) {
    margin: 0;
    padding: 5px 10px;
    border-radius: 3px;
}

@media screen and (max-width: 767px) {
    .tag-cloud-link {
        font-size: 12px !important;
        padding: 4px 8px;
    }
    
    .wp-block-tag-cloud {
        gap: 8px;
    }
    
    :root :where(.wp-block-tag-cloud.is-style-outline) {
        gap: 8px;
    }
    
    /* モバイル表示での見出しとタグクラウドの間隔 */
    .wp-block-group__inner-container p + .wp-block-tag-cloud,
    .wp-block-group__inner-container p + p.wp-block-tag-cloud {
        margin-top: 15px;
    }
}

/* カテゴリー名の背景色を白に設定 */
.post-header .cat-name span {
    background-color: #fff;
}

/* ハンバーガーメニュー用カテゴリースタイル */
p.menu-category {
    color: #555;
    font-weight: bold;
    margin: 5px;
}

/* ウィジェットタイトルのフォントサイズ調整 */
p.widget-title-inner {
    font-size: 1rem !important;
    font-weight: bold !important;
}

/* お問い合わせフォーム（法人向け）のスタイル */
.corporate-contact-form {
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
}

.corporate-contact-form h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #2196F3;
    color: #333;
}

.corporate-contact-form p {
    margin-bottom: 25px;
    line-height: 1.6;
}

.corporate-contact-form .form-section {
    margin-bottom: 30px;
}

.corporate-contact-form .form-section h4 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    color: #2196F3;
    padding-left: 10px;
    border-left: 4px solid #2196F3;
}

/* フォーム要素のスタイル */
.corporate-contact-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}

.corporate-contact-form label .required {
    color: #e74c3c;
    margin-left: 5px;
    font-size: 0.85em;
}

.corporate-contact-form input[type="text"],
.corporate-contact-form input[type="email"],
.corporate-contact-form input[type="tel"],
.corporate-contact-form input[type="url"],
.corporate-contact-form select,
.corporate-contact-form textarea {
    width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
    font-size: 16px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.corporate-contact-form input[type="text"]:focus,
.corporate-contact-form input[type="email"]:focus,
.corporate-contact-form input[type="tel"]:focus,
.corporate-contact-form input[type="url"]:focus,
.corporate-contact-form select:focus,
.corporate-contact-form textarea:focus {
    border-color: #2196F3;
    box-shadow: 0 0 5px rgba(33, 150, 243, 0.3);
    outline: none;
}

.corporate-contact-form textarea {
    height: 150px;
    resize: vertical;
}

.corporate-contact-form .checkbox-group,
.corporate-contact-form .radio-group {
    margin-bottom: 15px;
}

.corporate-contact-form .wpcf7-list-item {
    display: block;
    margin: 0 0 10px 0;
}

.corporate-contact-form .horizontal .wpcf7-list-item {
    display: inline-block;
    margin: 0 15px 10px 0;
}

.corporate-contact-form input[type="submit"] {
    background-color: #2196F3;
    color: white;
    border: none;
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
    display: block;
    margin: 30px auto 0;
    width: auto;
    min-width: 300px;
    text-align: center;
}

.corporate-contact-form input[type="submit"]:hover {
    background-color: #0d8aee;
}

/* エラーメッセージのスタイル */
.corporate-contact-form .wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: 0.85em;
    margin-top: -10px;
    margin-bottom: 10px;
}

.corporate-contact-form .wpcf7-response-output {
    margin: 30px 0 0;
    padding: 15px;
    border-radius: 5px;
}

.corporate-contact-form div.wpcf7-validation-errors {
    background-color: #ffeaea;
    border: 1px solid #e74c3c;
    color: #e74c3c;
}

.corporate-contact-form div.wpcf7-mail-sent-ok {
    background-color: #e7f7e9;
    border: 1px solid #27ae60;
    color: #27ae60;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
    .corporate-contact-form {
        padding: 20px;
    }
    
    .corporate-contact-form input[type="submit"] {
        width: 100%;
        min-width: auto;
    }
}

/* プライバシーポリシー同意エリア */
.corporate-contact-form .privacy-policy-agreement {
    margin: 30px 0;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 5px;
    text-align: center;
}

.corporate-contact-form .privacy-policy-agreement .wpcf7-list-item {
    margin: 0;
}

.corporate-contact-form .privacy-policy-agreement a {
    color: #2196F3;
    text-decoration: underline;
}

.corporate-contact-form .privacy-policy-agreement a:hover {
    text-decoration: none;
}

/* 送信完了メッセージのスタイル */
.corporate-contact-form .wpcf7-mail-sent-ok {
    text-align: center;
    font-weight: bold;
    padding: 20px;
}

/* 会社情報セクションのスタイル */
.corporate-contact-form .company-info-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.corporate-contact-form .company-info-section .form-group {
    flex: 1 1 calc(50% - 10px);
}

@media screen and (max-width: 767px) {
    .corporate-contact-form .company-info-section .form-group {
        flex: 1 1 100%;
    }
}

/* カテゴリー別記事一覧セクション */
.category-posts {
    padding: 60px 0;
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
}

.category-posts .section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid #37474F;
}

.category-posts .section-title a {
    color: #333;
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: bold;
}

.category-posts .section-title a:hover {
    color: #2196F3;
}

.category-posts .view-all {
    font-size: 0.8rem!important;
    font-weight: normal;
}

.category-posts .view-all a {
    color: #666;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
    font-size: 1rem;
}

.category-posts .view-all a:hover {
    color: #2196F3;
}

.category-posts .view-all i {
    font-size: 0.8rem;
}

.category-posts .grid {
    display: grid;
    gap: 30px;
}

.category-posts .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.category-posts .card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.category-posts .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.category-posts .card-image {
    display: block;
    overflow: hidden;
    height: 200px;
}

.category-posts .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.category-posts .card:hover .card-image img {
    transform: scale(1.05);
}

.category-posts .card-content {
    padding: 20px;
}

.category-posts .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 0.9rem;
}

.category-posts .category {
    background: #37474F;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.category-posts .date {
    color: #666;
    font-size: 0.85rem;
}

.category-posts .title {
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.category-posts .title a {
    color: #333;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-posts .title a:hover {
    color: #2196F3;
}

.category-posts .excerpt {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* カテゴリー別の色分け - 親カテゴリー（大分類）*/
.category-corporate-regulation-jp .category {
    background: #1976D2;
}

.category-corporate-regulation-overseas .category {
    background: #388E3C;
}

.category-product-regulation-jp .category {
    background: #F57C00;
}

.category-product-regulation-overseas .category {
    background: #7B1FA2;
}

.category-governance .category {
    background: #C2185B;
}

.category-uncategorized .category {
    background: #455A64;
}

.category-dl-content .category {
    background: #00796B;
}

/* 子カテゴリー（小分類）の基本スタイル - より高い優先度 */
.category-posts .meta .category.child-category,
.featured-posts .category-name.child-category {
    background: #fff !important;
    color: #333 !important;
    border: 2px solid #999 !important;
    font-weight: 600 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
}

/* ガバナンスの子カテゴリー（サステナ経営など） */
.category-posts .meta .category.child-category.parent-governance,
.category-posts .meta .category.child-category[class*="parent-governance"],
.category-posts .meta .category[class*="child-of-governance"],
.featured-posts .category-name.child-category.parent-governance,
.featured-posts .category-name.child-category[class*="parent-governance"],
.featured-posts .category-name[class*="child-of-governance"] {
    background: #fff !important;
    color: #C2185B !important;
    border: 2px solid #C2185B !important;
}

/* 企業規制（日本）の子カテゴリー */
.category-posts .meta .category.child-category.parent-corporate-regulation-jp,
.category-posts .meta .category.child-category[class*="parent-corporate-regulation-jp"],
.category-posts .meta .category[class*="child-of-corporate-regulation-jp"],
.featured-posts .category-name.child-category.parent-corporate-regulation-jp,
.featured-posts .category-name.child-category[class*="parent-corporate-regulation-jp"],
.featured-posts .category-name[class*="child-of-corporate-regulation-jp"] {
    background: #fff !important;
    color: #1976D2 !important;
    border: 2px solid #1976D2 !important;
}

/* 企業規制（海外）の子カテゴリー */
.category-posts .meta .category.child-category.parent-corporate-regulation-overseas,
.category-posts .meta .category.child-category[class*="parent-corporate-regulation-overseas"],
.category-posts .meta .category[class*="child-of-corporate-regulation-overseas"],
.featured-posts .category-name.child-category.parent-corporate-regulation-overseas,
.featured-posts .category-name.child-category[class*="parent-corporate-regulation-overseas"],
.featured-posts .category-name[class*="child-of-corporate-regulation-overseas"] {
    background: #fff !important;
    color: #388E3C !important;
    border: 2px solid #388E3C !important;
}

/* 製品規制（日本）の子カテゴリー */
.category-posts .meta .category.child-category.parent-product-regulation-jp,
.category-posts .meta .category.child-category[class*="parent-product-regulation-jp"],
.category-posts .meta .category[class*="child-of-product-regulation-jp"],
.featured-posts .category-name.child-category.parent-product-regulation-jp,
.featured-posts .category-name.child-category[class*="parent-product-regulation-jp"],
.featured-posts .category-name[class*="child-of-product-regulation-jp"] {
    background: #fff !important;
    color: #F57C00 !important;
    border: 2px solid #F57C00 !important;
}

/* 製品規制（海外）の子カテゴリー */
.category-posts .meta .category.child-category.parent-product-regulation-overseas,
.category-posts .meta .category.child-category[class*="parent-product-regulation-overseas"],
.category-posts .meta .category[class*="child-of-product-regulation-overseas"],
.featured-posts .category-name.child-category.parent-product-regulation-overseas,
.featured-posts .category-name.child-category[class*="parent-product-regulation-overseas"],
.featured-posts .category-name[class*="child-of-product-regulation-overseas"] {
    background: #fff !important;
    color: #7B1FA2 !important;
    border: 2px solid #7B1FA2 !important;
}

/* その他の子カテゴリー */
.category-posts .meta .category.child-category.parent-uncategorized,
.category-posts .meta .category.child-category[class*="parent-uncategorized"],
.category-posts .meta .category[class*="child-of-uncategorized"],
.featured-posts .category-name.child-category.parent-uncategorized,
.featured-posts .category-name.child-category[class*="parent-uncategorized"],
.featured-posts .category-name[class*="child-of-uncategorized"] {
    background: #fff !important;
    color: #455A64 !important;
    border: 2px solid #455A64 !important;
}

/* 資料請求の子カテゴリー */
.category-posts .meta .category.child-category.parent-dl-content,
.category-posts .meta .category.child-category[class*="parent-dl-content"],
.category-posts .meta .category[class*="child-of-dl-content"],
.featured-posts .category-name.child-category.parent-dl-content,
.featured-posts .category-name.child-category[class*="parent-dl-content"],
.featured-posts .category-name[class*="child-of-dl-content"] {
    background: #fff !important;
    color: #00796B !important;
    border: 2px solid #00796B !important;
}



/* レスポンシブ対応 */
@media screen and (max-width: 991px) {
    .category-posts {
        padding: 40px 0;
    }
    
    .category-posts .grid-3 {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .category-posts .section-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .category-posts .section-title a {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 767px) {
    .category-posts {
        padding: 30px 0;
    }
    
    .category-posts .grid-3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .category-posts .section-title a {
        font-size: 1.3rem;
    }
    
    .category-posts .card-content {
        padding: 15px;
    }
    
    .category-posts .meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* Archive.php 注目の記事セクションのカテゴリースタイル */
.featured-posts .category-name {
    background: #3498db;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-block;
    margin-right: 5px;
}

/* Archive.php 注目の記事セクション - 親カテゴリー（大分類）のスタイル */
.featured-posts .category-name.parent-category {
    background: #3498db !important;
    color: #fff !important;
}

/* 各親カテゴリーの色分け - Archive注目記事セクション */
.featured-posts .post-categories .category-name {
    background: #3498db;
    color: #fff;
}

/* ガバナンス親カテゴリー */
.featured-posts .post-categories .category-name.governance-parent {
    background: #C2185B !important;
    color: #fff !important;
}

/* 企業規制（日本）親カテゴリー */
.featured-posts .post-categories .category-name.corporate-regulation-jp-parent {
    background: #1976D2 !important;
    color: #fff !important;
}

/* 企業規制（海外）親カテゴリー */
.featured-posts .post-categories .category-name.corporate-regulation-overseas-parent {
    background: #388E3C !important;
    color: #fff !important;
}

/* 製品規制（日本）親カテゴリー */
.featured-posts .post-categories .category-name.product-regulation-jp-parent {
    background: #F57C00 !important;
    color: #fff !important;
}

/* 製品規制（海外）親カテゴリー */
.featured-posts .post-categories .category-name.product-regulation-overseas-parent {
    background: #7B1FA2 !important;
    color: #fff !important;
}

/* その他親カテゴリー */
.featured-posts .post-categories .category-name.uncategorized-parent {
    background: #455A64 !important;
    color: #fff !important;
}

/* 資料請求親カテゴリー */
.featured-posts .post-categories .category-name.dl-content-parent {
    background: #00796B !important;
    color: #fff !important;
}

/* Archive.php 注目の記事セクション - タグスタイル（サムネイルとコンテンツの間に配置） */
.featured-posts .post-tags-overlay {
    padding: 10px 15px 0 15px;
    background: rgba(255, 255, 255, 0.95);
    margin: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.featured-posts .post-tags-overlay .post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.featured-posts .post-tags-overlay .tag-name {
    background: rgba(150, 150, 150, 0.1);
    color: #888;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 400;
    display: inline-block;
    border: 1px solid rgba(150, 150, 150, 0.2);
    transition: all 0.2s ease;
}

.featured-posts .post-tags-overlay .tag-name:hover {
    background: rgba(150, 150, 150, 0.15);
    color: #666;
    transform: translateY(-1px);
}

/* Archive注目記事のタグ：モバイル対応 */
@media screen and (max-width: 767px) {
    .featured-posts .post-tags-overlay {
        padding: 8px 12px 0 12px;
    }
    
    .featured-posts .post-tags-overlay .tag-name {
        font-size: 0.65rem;
        padding: 2px 8px;
    }
}

/* Front-page.php 最新記事セクションのカテゴリースタイル */
.latest-posts .meta .category {
    background: #3498db;
    color: #fff;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-block;
    margin-right: 5px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.latest-posts .meta .category:hover {
    opacity: 0.8;
    transform: translateY(-1px);
}

/* 最新記事セクション - 親カテゴリー（大分類）の色分け */
.latest-posts .meta .category.parent-category {
    background: #3498db !important;
    color: #fff !important;
}

/* ガバナンス親カテゴリー */
.latest-posts .meta .category.governance-parent,
.latest-posts .meta .category.parent-category[href*="governance"] {
    background: #C2185B !important;
    color: #fff !important;
}

/* 企業規制（日本）親カテゴリー */
.latest-posts .meta .category.corporate-regulation-jp-parent,
.latest-posts .meta .category.parent-category[href*="corporate-regulation-jp"] {
    background: #1976D2 !important;
    color: #fff !important;
}

/* 企業規制（海外）親カテゴリー */
.latest-posts .meta .category.corporate-regulation-overseas-parent,
.latest-posts .meta .category.parent-category[href*="corporate-regulation-overseas"] {
    background: #388E3C !important;
    color: #fff !important;
}

/* 製品規制（日本）親カテゴリー */
.latest-posts .meta .category.product-regulation-jp-parent,
.latest-posts .meta .category.parent-category[href*="product-regulation-jp"] {
    background: #F57C00 !important;
    color: #fff !important;
}

/* 製品規制（海外）親カテゴリー */
.latest-posts .meta .category.product-regulation-overseas-parent,
.latest-posts .meta .category.parent-category[href*="product-regulation-overseas"] {
    background: #7B1FA2 !important;
    color: #fff !important;
}

/* その他親カテゴリー */
.latest-posts .meta .category.uncategorized-parent,
.latest-posts .meta .category.parent-category[href*="uncategorized"] {
    background: #455A64 !important;
    color: #fff !important;
}

/* 資料請求親カテゴリー */
.latest-posts .meta .category.dl-content-parent,
.latest-posts .meta .category.parent-category[href*="dl-content"] {
    background: #00796B !important;
    color: #fff !important;
}

/* 最新記事セクション - 子カテゴリー（小分類）の基本スタイル */
.latest-posts .meta .category.child-category {
    background: #fff !important;
    color: #333 !important;
    border: 2px solid #999 !important;
    font-weight: 600 !important;
}

/* ガバナンスの子カテゴリー */
.latest-posts .meta .category.child-category.parent-governance {
    background: #fff !important;
    color: #C2185B !important;
    border: 2px solid #C2185B !important;
}

/* 企業規制（日本）の子カテゴリー */
.latest-posts .meta .category.child-category.parent-corporate-regulation-jp {
    background: #fff !important;
    color: #1976D2 !important;
    border: 2px solid #1976D2 !important;
}

/* 企業規制（海外）の子カテゴリー */
.latest-posts .meta .category.child-category.parent-corporate-regulation-overseas {
    background: #fff !important;
    color: #388E3C !important;
    border: 2px solid #388E3C !important;
}

/* 製品規制（日本）の子カテゴリー */
.latest-posts .meta .category.child-category.parent-product-regulation-jp {
    background: #fff !important;
    color: #F57C00 !important;
    border: 2px solid #F57C00 !important;
}

/* 製品規制（海外）の子カテゴリー */
.latest-posts .meta .category.child-category.parent-product-regulation-overseas {
    background: #fff !important;
    color: #7B1FA2 !important;
    border: 2px solid #7B1FA2 !important;
}

/* その他の子カテゴリー */
.latest-posts .meta .category.child-category.parent-uncategorized {
    background: #fff !important;
    color: #455A64 !important;
    border: 2px solid #455A64 !important;
}

/* 資料請求の子カテゴリー */
.latest-posts .meta .category.child-category.parent-dl-content {
    background: #fff !important;
    color: #00796B !important;
    border: 2px solid #00796B !important;
}


/*  会員登録　SimpleMembersプラグイン*/
.custom-swpm-message {
    text-align: center;
    padding: 2em 1em;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-top: 2em;
    font-family: sans-serif;
}

.custom-swpm-message .lock-icon {
    font-size: 1.2em;
    margin-right: 4px;
}

.custom-swpm-message .remaining-text {
    margin: 1em 0;
    font-weight: bold;
    color: #333;
}

.swpm-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    margin-top: 1.5em;
}

.swpm-buttons a {
    display: inline-block;
    padding: 0.8em 2em;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
    width: 240px;
    text-align: center;
}

.swpm-buttons .btn-free {
    background-color: white;
    color: #f48c06;
    border: 2px solid #f48c06;
}

.swpm-buttons .btn-free:hover {
    background-color: #fef4e7;
}

.swpm-buttons .btn-login {
    background-color: #003566;
    color: white;
    border: none;
}

.swpm-buttons .btn-login:hover {
    background-color: #00274d;
}

/* Typography: adjust paragraph size in posts */
.post-body .post-content p {
    font-size: 1rem;
}