/*
 Theme Name: Blockchain Lite Child
 Template: blockchain-lite
*/

/*
    1カラムの中央寄せ
*/
.row {
    justify-content: center;
}

/*
    見出し
*/
article.entry .entry-content h2.wp-block-heading,
.html-sitemap .html-sitemap__title {
    position: relative;
    background-color: #003B51; /* 見出しの濃い青 */
    color: #fff;
    padding: 0.9em 1.2em;
    font-weight: 700;
    font-size: 1.4em;
    margin-top: 5.5em;
    margin-bottom: 2em;            /* 上下の余白（お好みで） */
}

/* 共通設定 */
article.entry .entry-content h2.wp-block-heading::before,
article.entry .entry-content h2.wp-block-heading::after,
.html-sitemap .html-sitemap__title::before,
.html-sitemap .html-sitemap__title::after   {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;              /* 線の太さ */
    background-color: #0A4F66; /* 薄い青 or 好きな色 */
}

/* 上の線：要素の“外側”に出す */
article.entry .entry-content h2.wp-block-heading::before,
.html-sitemap .html-sitemap__title::before {
    top: -6px;  /* マイナス方向にずらして隙間を作る */
}

/* 下の線：要素の“外側”に出す */
article.entry .entry-content h2.wp-block-heading::after,
.html-sitemap .html-sitemap__title::after {
    bottom: -6px;
}


article.entry .entry-content h3.wp-block-heading {
    font-size: 1.3em;
    font-weight: 700;
    padding-left: 1rem;
    padding-bottom: 6px;
    margin-top: 2em;
    margin-bottom: 2em !important;
    position: relative;
    border-bottom: 1px solid #ddd; /* 全体の薄い線 */
}

article.entry .entry-content h3.wp-block-heading::after {
    content: "";
    position: absolute;
    bottom: -1px; /* border-bottom に合わせる */
    left: 0;
    width: 120px; /* 左側だけ濃い線（長さ調整） */
    border-bottom: 3px solid #44afc4fd; /* 濃くて太めの線 */
}


/*
    ヘッダー
*/
.site-branding {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-branding .site-tagline {
    display: none;
}

.head-intro {
    background-color: #063d50;
    color: #fff;
    font-size: 13px;
    padding: 3px 0;
}

.head-intro-info {
    font-weight: 600;
    letter-spacing: 0.03em;
}

.head-intro-tagline {
    display: block;
}

.head-intro-addons {
    display: none;
}

.head-mast {
    padding: 12px 0;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

body.single .header {
    position: sticky;
    top: 0;
    z-index: 50;
    transition: transform 0.25s ease;
}

body.single .header.header-hidden-by-scroll {
    transform: translateY(-100%);
}

body.admin-bar.single .header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.single .header {
        top: 46px;
    }
}

/*
    ロゴ
*/
.site-branding .custom-logo {
    max-height: 54px; /* ここを変更 */
    height: auto;
    width: auto;
}


/*
    フッター
*/
.footer-info--custom {
    border-top: 1px solid #dbe3e8;
    padding: 32px 0 40px;
    background-color: #fff;
}

.footer-links {
    margin-bottom: 18px;
}

.footer-links__list,
.footer-links .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.95rem;
    color: #1a2a34;
}

.footer-links__list li,
.footer-links .menu li {
    position: relative;
    padding: 0 14px;
    line-height: 1.8;
}

.footer-links__list li + li::before,
.footer-links .menu li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background-color: #93a4b0;
}

.footer-links a {
    color: inherit;
    text-decoration: none;
}

.footer-links a:hover,
.footer-links a:focus {
    color: #0a4f66;
}

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

.footer-back-to-top {
    position: fixed;
    right: 32px;
    bottom: 40px;
    width: 52px;
    height: 52px;
    border: 1px solid #0a4f66;
    border-radius: 50%;
    background-color: #fff;
    color: #0a4f66;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.4rem;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    z-index: 60;
}

.footer-back-to-top:hover,
.footer-back-to-top:focus {
    background-color: #0a4f66;
    color: #fff;
    box-shadow: 0 6px 18px rgba(10, 79, 102, 0.25);
}

@media (max-width: 767px) {
    .footer-back-to-top {
        right: 18px;
        bottom: 24px;
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    .footer-links__list li,
    .footer-links .menu li {
        padding: 0 10px;
    }
}

/*
    HTMLサイトマップ
*/
.html-sitemap {
    margin-top: 2.5rem;
    border-top: 1px solid #e1e8ed;
    padding-top: 1.5rem;
}

.html-sitemap__section {
    margin-bottom: 2rem;
}

.html-sitemap__title {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    color: #003b51;
}

.html-sitemap__list {
    margin: 0;
    padding-left: 1.1rem;
    column-gap: 2rem;
    column-count: 2;
}

.html-sitemap__list li {
    margin-bottom: 0.35rem;
}

.html-sitemap__list a {
    text-decoration: none;
    color: #1a2a34;
}

.html-sitemap__list a:hover,
.html-sitemap__list a:focus {
    color: #0a4f66;
}

.html-sitemap__categories,
.html-sitemap__children,
.html-sitemap__posts {
    list-style: none;
    margin: 0;
    padding-left: 1rem;
}

.html-sitemap__category {
    margin-bottom: 1.5rem;
}

.html-sitemap__category-name {
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.html-sitemap__children {
    border-left: 2px solid #e1e8ed;
    margin-top: 0.5rem;
    padding-left: 1.25rem;
}

.html-sitemap__posts li {
    margin-bottom: 0.3rem;
}

.html-sitemap__posts a {
    text-decoration: none;
    color: #1a2a34;
}

.html-sitemap__posts a:hover,
.html-sitemap__posts a:focus {
    color: #0a4f66;
}

.html-sitemap__empty {
    margin-top: 1.5rem;
    color: #7b8b97;
}

/* 親カテゴリ (黒丸) */
.html-sitemap__categories {
    list-style: disc;
    padding-left: 1.5rem;
}
.html-sitemap__category {
    margin-bottom: 1.4rem;
}

/* 子カテゴリ (白丸) */
.html-sitemap__children {
    list-style: circle;
    margin-top: 0.4rem;
    padding-left: 1.5rem;
    border-left: none; /* 既存の縦線を消す場合 */
}

/* カテゴリ名と記事タイトルのリンク色・下線 */
.html-sitemap__category-name a,
.html-sitemap__posts a {
    color: #0056c1;
    text-decoration: underline;
}

/* リスト項目 (各記事) */
.html-sitemap__posts {
    list-style: disc;
    padding-left: 1.5rem;
}


@media (max-width: 767px) {
    .html-sitemap__list {
        column-count: 1;
        padding-left: 1rem;
    }
}

/*
    トップページの記事カードを縦型かつ2列で並べる
*/
.home .row-items > [class*="col-"] > .entry-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home .row-items > [class*="col-"] > .entry-item .entry-item-thumb {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
}

.home .row-items > [class*="col-"] > .entry-item .entry-item-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.home .row-items > [class*="col-"] > .entry-item .entry-meta,
.home .row-items > [class*="col-"] > .entry-item .entry-block-meta {
    margin-bottom: 12px;
}

@media (min-width: 768px) {
    .home .row-items > .col-12 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/*
    サイドバーのカテゴリ選択メニュー
*/
.sidebar-category-search {
    margin-bottom: 30px;
    border: 1px solid #cfd8df;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    background-color: #fff;
    overflow: hidden;
}

.sidebar-category-search__header {
    background-color: #063d50;
    padding: 14px 18px;
}

.sidebar-category-search__body {
    padding: 18px;
    background-color: #fff;
}

.sidebar-category-search__select {
    border: 1px solid #6f9ad3;
    border-radius: 4px;
    background-color: #fff;
    overflow: hidden;
}

.sidebar-category-search__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
}

.sidebar-category-search__trigger {
    width: 100%;
    padding: 14px 18px;
    border: 0;
    background-color: #fff;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1f2e3c;
    text-align: left;
    transition: background-color 0.2s ease;
}

.sidebar-category-search__trigger:hover {
    background-color: #fff;
    color: #1f2e3c;
}

.sidebar-category-search__trigger:focus-visible {
    outline: none;
    box-shadow: none;
}

.sidebar-category-search__trigger:focus {
    outline: none;
    box-shadow: none;
}

.sidebar-category-search__select.is-open .sidebar-category-search__trigger {
    border-bottom: 1px solid #e1eaf7;
}

.sidebar-category-search__drawer {
    background-color: #fff;
    border-top: 1px solid #e1eaf7;
}

.sidebar-category-search__drawer[hidden] {
    display: none;
}

.sidebar-category-search__list {
    list-style: none;
    margin: 0;
    padding: 10px 0;
}

.sidebar-category-search__item + .sidebar-category-search__item {
    border-top: 1px solid #d7e1ea;
}

.sidebar-category-search__link {
    display: block;
    padding: 10px 18px;
    color: #1f2e3c;
    text-decoration: none;
    font-size: 0.9rem;
}

.sidebar-category-search__link:hover,
.sidebar-category-search__link:focus {
    background-color: #e6f1fb;
    color: #0f4c80;
}

/*
    サイドバーの標準ウィジェット (最近の投稿/コメント/アーカイブ/カテゴリ)
*/
.sidebar .widget,
.widget_block {
    margin-bottom: 24px;
    border-radius: 4px;
    overflow: hidden;
    background-color: transparent;
}

.sidebar .widget-title,
.sidebar .wp-block-heading,
.widget_block .wp-block-heading {
    margin: 0;
    padding: 12px 16px;
    background-color: #063d50;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
}

.sidebar .widget > *:not(.widget-title),
.widget_block > *:not(.wp-block-heading) {
    padding: 16px;
    background-color: #fff;
}

.sidebar .widget ul,
.widget_block ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar .widget ul li + li,
.widget_block ul li + li {
    margin-top: 10px;
}

.sidebar .widget a,
.widget_block a {
    color: #0f4c80;
    text-decoration: none;
}

.sidebar .widget a:hover,
.sidebar .widget a:focus,
.widget_block a:hover,
.widget_block a:focus {
    text-decoration: underline;
}

/*
    サイドバーの検索
*/
/* サイドバー検索ボタンの背景色を変更 */
.sidebar .wp-block-search__button.wp-element-button,
.widget_block .wp-block-search__button.wp-element-button {
    background-color: #063d50;
    border-color: #063d50;
    color: #fff;
}

/* 必要ならホバー時も上書き */
.sidebar .wp-block-search__button.wp-element-button:hover,
.widget_block .wp-block-search__button.wp-element-button:hover {
    background-color: #042d3c;
    border-color: #042d3c;
}
