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

.column_container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}

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

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

.column_header{
    position: relative;
    overflow: hidden;
    background:#222;
    padding:40px 20px;
}

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

.column_header_content > .column_header_left{
    width:auto !important;
    flex:1;
}

.column_header_content > .column_header_thumb{
    width:350px !important;
    flex-shrink:0;
}

.column_header_left{
    flex:1;
}

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

.column-date{
    margin-bottom:15px;
    color:#666;
    font-size:14px;
}

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

.column_header_thumb img{
    width:100%;
    display:block;
    border-radius:8px;
    box-shadow:0 8px 30px rgba(0,0,0,.35);
}

/* 背景画像 */
.column_header_bg{
    position:absolute;
    inset:0;
    z-index:0;
}

.column_header_bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.05);
    filter:blur(3px);
    opacity:.5;
}

/* 黒いオーバーレイ */
.column_header::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.25);
    z-index:1;
}

.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:flex;
    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;
}

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

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

.column-meta-tags{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.column-meta-tags > .fa-tag{
    margin-right:6px;
    color:#666;
    font-size:16px;
}

.meta-tag{
    padding-left:0;
    display:inline;
}

.meta-tag-separator{
    margin:0 4px;
    color:#666;
}

.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;
}

.meta-tag-more{
    color:#666;
}

/*著者情報*/
.column-author{
    display:flex;
    align-items:center;
    gap:30px;
    border-top:1px solid #e5e5e5;
    border-bottom:1px solid #e5e5e5;
    margin-bottom: 20px;
}

.column-author-content{
    align-items:center;
    background:#fff;
    margin:30px 0;
    flex:1;
}

.column-author-image{
    flex-shrink:0;
    margin: 20px 0;
}

.column-author-image img{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
}

.column-author-name{
    margin:0;
    font-size: 1.5rem;
    border: none;
    padding-bottom: 0;
}

.column-author-name:after{
    border-bottom: none;
}

.column-author-description{
    line-height:1.9;
    color:#555;
}

.column-author-link{
    display:inline-block;
    border:1px solid #c9b9ff;
    border-radius:30px;
    color:#8b78d6;
    text-decoration:none;
    transition:.3s;
    margin-left: 20px;
    position: relative;
    padding:10px 35px 10px 20px;
}

.column-author-link:hover{
    background:#8b78d6;
    color:#fff;
}

.column-author-link::after{
    content:"";
    position:absolute;
    top:50%;
    right:15px;
    width:6px;
    height:6px;
    margin-top:-3px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg);
}

.column-author-label{
    white-space:nowrap;
    margin:0;
    font-weight: 500;
    font-size: 1.5rem;
}

.column-author-header{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
}

/* 関連記事全体 */
.column-related{
    margin:80px 0;
}

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

/* 一覧 */
.column-related-list{
    display:flex;
    flex-direction:column;
    gap:25px;
}

/* 1記事 */
.column-related-item{
    border-bottom:1px solid #eee;
    padding-bottom:25px;
}

/* リンク全体 */
.column-related-link{
    display:flex;
    gap:20px;
    text-decoration:none;
    color:inherit;
}

/* サムネ */
.column-related-thumbnail{
    width:120px;
    flex-shrink:0;
}

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

/* 右側 */
.column-related-content{
    flex:1;
}

/* タイトル */
.column-related-post-title{
    margin:0;
    font-size:1.2rem;
    line-height:1.6;
    color:#b8b3ff;
    font-weight:700;
    border-bottom: none;
}

.column-related-post-title::after{
    border-bottom: none;
}

/* 抜粋 */
.column-related-excerpt{
    color:#555;
    line-height:1.8;
    font-size:.95rem;
}

/* ホバー */
.column-related-link:hover
.column-related-post-title{
    opacity:.7;
}

/*カテゴリの最新記事*/
/* 3列 */
.column-category-posts-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* リンク全体 */
.column-category-post-item a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

/* サムネイル */
.column-category-post-thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* タグ */
.column-category-post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.column-category-post-tag {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: #cca3ff;
    padding: 4px 12px;
    border-radius: 999px;
}

/* タイトル */
.column-category-post-title {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
}

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

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

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

.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:12px;
    margin-left:52px;
    list-style:none;
    padding:0;
}

/* 目次リンク */
.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_header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.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 li{
    margin-bottom:10px;
}

.column_toc ol ol a{
    display:flex;
    align-items:center;
    gap:12px;
    color:#555;
    text-decoration:none;
}

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

/*--------------------------------------
  Column記事内調整
--------------------------------------*/

/* 投稿内画像（WordPress caption対応） */
.single-column .wp-caption {
    max-width:100% !important;
    width:auto !important;
}

.single-column .wp-caption img {
    max-width:100%;
    height:auto;
}

/* Google map iframe */
.single-column iframe {
    width:100% !important;
    max-width:100%;
    height:350px;
}

.column-button {
    display:block;
    width:80%;
    margin:30px auto;
    padding:15px;
    background:#efc32d;
    color:#fff;
    text-align:center;
    border-radius:30px;
    font-weight:bold;
}

/* ==========================================
   外部記事リンクカード
========================================== */

.link-card {
    display:block;
    width:100%;
    margin:35px 0;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    text-decoration:none;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
    transition:.3s;
}

/* PC hover */
@media(min-width:769px){
    .link-card:hover {
        transform:translateY(-3px);
        box-shadow:0 6px 16px rgba(0,0,0,.18);
    }
}

/* 画像部分 */
.link-card__image {
    width:100%;
    max-height:200px;
    aspect-ratio:16 / 9;
    overflow:hidden;
}

.link-card__image img {
    display:block;
    width:100%;
    height:100%;
    max-height:200px;
    object-fit:cover;
}

/* 本文部分 */
.link-card__body {
    padding:20px;
}

/* タイトル ※省略なし */
.link-card__title {
    font-size:18px;
    font-weight:bold;
    line-height:1.6;
    color:#333;
    margin-bottom:12px;
}

/* 説明文 3行省略 */
.link-card__excerpt {
    font-size:14px;
    line-height:1.8;
    color:#666;
    margin-bottom:15px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    overflow:hidden;
}

/* footer */
.link-card__footer {
    font-size:13px;
    color:#888;
}

/* スマホ */
@media(max-width:768px){
    .link-card {
        border-radius:10px;
    }

    .link-card__image {
        max-height:150px;
    }

    .link-card__image img {
        max-height:150px;
    }

    .link-card__body {
        padding:15px;
    }

    .link-card__title {
        font-size:16px;
    }

    .link-card__excerpt {
        font-size:13px;
    }
}

/* 口コミタイトル */
p:has(> strong:only-child):has(+ blockquote) {
	margin: 28px 0 10px;
}

p:has(> strong:only-child):has(+ blockquote) > strong {
	display: block;
	padding-left: 10px;
	border-left: 3px solid #cca3ff;
	font-weight: 700;
	line-height: 1.6;
}