/*
Theme Name: 大阪ペット斎場
Theme URI: https://xn--pet-kk1et46u.com/
Version: 1.0.0
Author:abircome co.,ltd.
*/

/* ==========================
   Font Awesome
========================== */

.tagcloud a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02b";
    font-weight: 900;
    margin-right: .3em;
}

/* ==========================
   Breadcrumb(パンくずリスト)
========================== */

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-list__item a {
    text-decoration: none;
}

.breadcrumb-list__item--home a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f015";
    font-weight: 900;
    margin-right: .4em;
}

/* ==========================
   Column Archive(コラム一覧ページ)
========================== */

.column_archive{
    padding:60px 0;
}

.column_layout{
    display:flex;
    gap:40px;
}

.column_main{
    width:75%;
    flex:1;
}

.column_list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.column_card{
    border:1px solid #ddd;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 3px 15px rgba(0,0,0,.08);
}

.column_card a{
    display:block;
    text-decoration:none;
    color:#333;
}

.column_content{
    padding:20px;
}

.column_title{
    width: 100%;
    margin:10px 0;
    font-size:1.2rem;
}

.column_excerpt{
    width: 100%;
    line-height:1.8;
}

.column_thumbnail img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.column_cat{
    display:inline-block;
    background:#7a1fa2;
    color:#fff;
    font-size:12px;
    padding:5px 12px;
    border-radius:20px;
    margin-bottom:10px;
}

.column_meta{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    min-height:30px;
    width: 100%;
}

.column_categories{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-height:26px;
}

/* ==========================
   Column single(コラム詳細ページ)
========================== */

.column_container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}
@media only screen and (max-width: 767px) {
    .column_container{
        padding:0;
    }
}

.site-body-container{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
}

.main-section{
    flex: 1;
    min-width: 0;
}

.column_header{
    background:#222;
    padding:20px;
}

.column_header_content{
    max-width: 1200px;
    margin: 0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.column_header_left{
    flex:1;
}

.column_header .entry-title{
    color:#fff;
    font-size: 2rem;
    line-height:1.5;
}

.column-date{
    color:#fff;
}

.column_header_thumb{
    width:350px;
    flex-shrink:0;
}

.column_header_thumb img{
    width:100%;
    display:block;
}

.column-date{
    margin-bottom:15px;
    color:#666;
    font-size:14px;
}
    
.entry-title{
    margin-bottom:30px;
    line-height:1.5;
}
    
.column-thumbnail {
        margin: 40px 0;
        text-align: center;
}
    
.column-thumbnail img {
        width: 100%;
        max-width: 800px;
        height: auto;
        display: block;
        margin: 0 auto;
}

.column-category,
.column-tag{
    display:inline-block;
    padding:4px 12px;
    border-radius:20px;
    background:#fff;
    font-size:14px;
    line-height:1.4;
}

.column-category{
    background:#6f0f8e;
    color:#fff;
}

.column-tag{
    background:#f3f3f3;
    color:#333;
}

.column-meta{
    display: block;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;

    background:#fff;
    border-radius:20px;

    padding:12px 20px;
    margin-top:20px;

    width:fit-content;
    max-width:900px;
}

.column-meta span{
    display:inline-flex;
    align-items:center;
    color:#666;
}

.meta-date{
    position:relative;
    padding-left:20px;
}

.meta-category{
    position:relative;
    padding-left:20px;
}

.column-meta-top {
    display: flex;
    gap: 15px;
    width: 100%;
    margin-bottom: 8px;
}

.meta-tag{
    position:relative;
    padding-left:18px;
}

.column-meta i{
    color:#666;
    margin-right:4px;
}

.meta-date,
.meta-category,
.meta-tag {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    line-height: 1;
    gap: 6px;
}

.meta-date i,
.meta-category i,
.meta-tag i {
    font-size: 16px;
}

/* 関連記事 */

.column-related {
    margin-top: 80px;
}

.column-related-title {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 40px;
}

.column-related-item {
    margin-bottom: 30px;
}

.column-related-link {
    display: flex;
    gap: 20px;
    text-decoration: none;
    color: inherit;
}

.column-related-thumbnail {
    flex-shrink: 0;
    width: 120px;
}

.column-related-thumbnail img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    display: block;
}

.column-related-content {
    flex: 1;
}

.column-related-post-title {
    font-size: 28px;
    line-height: 1.5;
    margin-bottom: 10px;
    color: #b6a9ff;
}

.column-related-excerpt {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

@media only screen and (max-width: 767px) {
    .column_header_thumb {
        display: none;
    }
}

/* ==========================
   Column sidebar(サイドバー)
========================== */

.column_sidebar{
    flex-shrink:0;
    width: 240px;
    flex-shrink: 0;
    height: fit-content;
}

.widget{
    border:1px solid #ddd;
    padding:20px;
    margin-bottom:20px;
}

.widget h3{
    margin-bottom:15px;
}

@media only screen and (max-width: 767px){

    .site-body-container{
        display:block;
    }

    .column_sidebar{
        width:100%;
        margin-top:30px;
    }

    .single-column .column_sidebar{
        margin-top:30px;
        padding:0 15px 40px;
    }
}

/* ==========================
   Column search(検索窓)
========================== */

.column_search{
    position: relative;
}

.column_search input{
    width: 100%;
    height: 50px;
    padding: 0 50px 0 15px;

    border: none;
    border-radius: 6px;

    background: #f3f3f3;
    font-size: 14px;
}

.column_search button{
    position: absolute;
    top: 50%;
    right: 15px;

    transform: translateY(-50%);

    border: none;
    background: transparent;

    cursor: pointer;
    font-size: 18px;
}

.widget_search{
    width: 100%;
    border:none;
    padding:0;
}

.widget_category{
    width: 100%;
    border:none;
    padding:20px;
}

/* ==========================
   Pagination(ページ送り)
========================== */

.column-pagination{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    width:100%;
    margin-top:60px;
}

.column-pagination-prev{
    justify-self:start;
}

.column-pagination-numbers{
    justify-self:center;
}

.column-pagination-next{
    justify-self:end;
}
.column-pagination .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid #ddd;
    text-decoration:none;
    color:#333;
    border-radius:5px;
    transition:all .3s ease;
}

.column-pagination .current{
    background:#610281;
    color:#fff;
    border-color:#610281;
}

/* ホバー */
.column-pagination .page-numbers:hover{
    background:#610281;
    border-color:#610281;
    color:#fff;
}

.column-pagination .prev,
.column-pagination .next{
    width:auto;
    padding:0 20px;
}

/* ==========================
   Column TOC(目次)
========================== */

.column_toc{
    border:1px solid #ddd;
    padding:20px;
    margin:0 0 40px 0;
    background:#fafafa;
}

.column_toc_title{
    font-size:20px;
    font-weight:700;
}

.column_toc ol{
    margin: 0;
    padding-left: 0;
}

.column_toc li{
    margin-bottom: 4px;
    line-height: 1.4;
}

.column_toc li ol {
    margin-top: 6px;
    margin-left: 20px;
}

.column_toc ol ol{
    margin-top:10px;
}

/* 目次リンク */
.column_toc a{
    display: inline-flex;
    align-items:center;
    gap:15px;
    text-decoration:none;
    color:#333;
}

/* 番号 */
.column_toc .toc-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:42px;
    height:25px;

    padding:0 10px;

    background:#f3f3f3;
    border-radius:6px;

    font-weight:700;
    line-height:1;
}

/* タイトル */
.column_toc .toc-text{
    flex:1;
}

.column_toc{
    display: inline-block;
    max-width: 100%;
    border:1px solid #dcdcdc;
    background:#fff;
    padding:28px;
}

.column_toc_header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.column_toc_title{
    font-size:30px;
    font-weight:700;
    line-height:1;
}

.column_toc_toggle{
    margin-left: 15px;
    background:#fff;
    border:1px solid #dcdcdc;

    padding:10px 18px;

    font-size:14px;
    cursor:pointer;

    transition:.2s;
}

.column_toc_toggle:hover{
    background:#f7f7f7;
}

.column_toc > ol{
    margin:0;
    padding:0;
    list-style:none;
}

.column_toc > ol > li{
    margin-bottom:18px;
}

.column_toc > ol > li > a{
    display:flex;
    align-items:center;
    gap:14px;

    text-decoration:none;
    color:#333;
}

.toc-num{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:36px;
    height:36px;

    background:#f2f2f2;

    border-radius:4px;

    font-size:14px;
}

.column_toc ol ol{
    margin-top:12px;
    margin-left:52px;

    list-style:none;
    padding:0;
}

.column_toc ol ol li{
    margin-bottom:10px;
}

.column_toc ol ol a{
    display:flex;
    align-items:center;
    gap:12px;

    color:#555;
    text-decoration:none;
}

@media (max-width:767px){

    .column_toc{
        width:100%;
        padding:20px;
    }

    .column_toc_title{
        font-size:24px;
    }

}

.column_toc_body.is-hide{
    display:none;
}