@charset "UTF-8";
/*=======================================================
MV
=======================================================*/
.bl_lower_mv {
  background: url(../images/price/mv_bg.jpg) top center/cover no-repeat;
}

/* コラム記事（単一ページ）のみパンくず下に区切り線 */
.bl_breadcrumbs.is-single-column {
  border-bottom: 2px solid #E0DBD2;
  padding-bottom: 17px;
}

/* SPではコラム記事のパンくずを1行に収める（最後の項目は「…」で省略） */
@media screen and (max-width: 750px) {
  .bl_breadcrumbs.is-single-column .bl_breadcrumbs_inner {
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }
  .bl_breadcrumbs.is-single-column .bl_breadcrumbs_inner > li {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .bl_breadcrumbs.is-single-column .bl_breadcrumbs_inner > li:last-child {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/*=======================================================
コラム検索結果（0件時の余白・中央寄せ）
=======================================================*/
.bl_search_result .bl_info.archive {
  padding: 40px 0 64px;
}
.bl_search_result .bl_notFound {
  text-align: center;
  margin: 40px 0;
}
@media screen and (max-width: 750px) {
  .bl_search_result .bl_info.archive {
    padding: 48px 0 80px;
  }
  .bl_search_result .bl_notFound {
    margin: 32px 0;
  }
}
.bl_lower_mv_ttl::after {
  width: 130px;
  background: url(../images/column/COLUMN.svg) top center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .bl_lower_mv {
    background: url(../images/price/mv_bg_sp.jpg) top center/cover no-repeat;
  }
  .bl_lower_mv_ttl::after {
    width: 132px;
  }
}

/*================================
  COLUMN 記事詳細
=================================*/
@media screen and (min-width: 768px) {
    .ly_2column {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px; /* メインとサイドの間隔 */
        margin-top: 40px;
    }

    .ly_2column_main {
        flex: 1;
        min-width: 0; /* 文字あふれ防止 */
    }

    .ly_2column_side {
        width: 340px; /* サイドバーの幅 */
        flex-shrink: 0;
    }
}

/* 2. 記事エリアの装飾 */
.ly_cont_inner_columnz {
    width: 1100px;
}
.ly_2column_side {
    width: 370px;
}
.bl_column_ttl {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
    margin: 20px 0;
}
.bl_column_thumb img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:768px) {
    .ly_2column_side {
        width: initial;
    }
    .ly_cont_inner_column {
        width: 100%;
        padding: 0 16px;
    }
    .bl_column_content,
    .bl_column_lead {
        width: 100%;
    }
}
/* 導入文 */
.bl_column_lead {
    background-color: #FAF8F4;
    padding: 24px 28px;
    margin-bottom: 30px;
    font-size: 22px;
    line-height: 1.9;
    color: #2C2A26;
    border: 1px solid #E0DBD2;
}
.bl_column_lead p {
    margin: 0 0 1em;
}
.bl_column_lead p:last-child {
    margin-bottom: 0;
}

/* 本文の文字サイズ調整 */
.bl_column_content {
    font-size: 16px;
    line-height: 1.8;
}
.bl_column_content p{
    line-height: 2.0;
    font-size: 20px;
    margin-bottom: 15px;
}
.bl_column_content h3 {
    font-size: 26px;
    margin: 30px 0 10px;
    background: #FAF8F4;
}
.bl_column_content li {
    margin: 15px;
    font-size: 18px;
}
.bl_column_content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 15px;
    table-layout: fixed;
}
.bl_column_content table td {
    border: 1px solid #e0dbd2;
}
.bl_column_content table td p {
    margin-left: 15px;
}
.bl_column_content table tbody {
    background: #FAF8F4;
}
/* リストの調整*/
ul.wp-block-list {
    margin: 10px;
    font-size: 22px;
}

/* 番号付きリスト（茶色の番号ボックス付き） */
.bl_numList {
    list-style: none;
    padding-left: 0;
    counter-reset: bl_numList;
    margin: 16px 0 24px;
    font-size: 22px;
}
.bl_numList > li {
    counter-increment: bl_numList;
    position: relative;
    padding-left: 44px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    line-height: 1.8;
    min-height: 28px;
    border-bottom: 2px solid #E0DBD2;
}
.bl_numList > li:last-child {
    margin-bottom: 0;
}
.bl_numList > li::before {
    content: counter(bl_numList);
    position: absolute;
    left: 0;
    top: 4px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #B08A52;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    border-radius: 2px;
    font-family: serif;
}
.bl_numList > li strong {
    font-weight: bold;
}

/* コラム本文の番号付きリスト（素の <ol> も .bl_numList と同じ見た目に） */
.bl_column_content ol,
.bl_column_article ol {
    list-style: none;
    padding-left: 0;
    counter-reset: bl_column_ol;
    margin: 16px 0 24px;
    font-size: 20px;
}
.bl_column_content ol > li,
.bl_column_article ol > li {
    counter-increment: bl_column_ol;
    position: relative;
    padding: 4px 0 16px 44px;
    margin: 0 0 16px;
    line-height: 1.8;
    min-height: 28px;
    border-bottom: 2px solid #E0DBD2;
}
.bl_column_content ol > li:last-child,
.bl_column_article ol > li:last-child {
    margin-bottom: 0;
}
.bl_column_content ol > li::before,
.bl_column_article ol > li::before {
    content: counter(bl_column_ol);
    position: absolute;
    left: 0;
    top: 4px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #B08A52;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    border-radius: 2px;
    font-family: serif;
}
.bl_column_content ol > li strong,
.bl_column_article ol > li strong {
    font-weight: bold;
}

/* まとめボックス（[summary]〜[/summary]） */
.bl_summary {
    background-color: #FAF8F4;
    padding: 32px 40px;
    margin: 24px 0 30px;
    border: 1px solid #E0DBD2;
}
.bl_summary_conclusion {
    color: #6B6860;
}
.bl_summary > *:first-child {
    margin-top: 0;
}
.bl_summary > *:last-child {
    margin-bottom: 0;
}
.bl_summary p {
    line-height: 1.9;
    margin: 0 0 1em;
}
.bl_summary hr {
    border: none;
    border-top: 1px solid #E0DBD2;
    margin: 24px 0;
}
.bl_summary ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1em;
}
.bl_summary ul li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 12px;
    line-height: 1.8;
    font-size: 22px;
}
.bl_summary ul li::before {
    content: "✓";
    position: absolute;
    left: 4px;
    top: 0;
    color: #B08A52;
    font-weight: bold;
}
.bl_summary ul li:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 750px) {
    .bl_summary {
        padding: 24px 20px;
    }
    .bl_column_content h3 {
        font-size: 26px;
        margin: 30px 0 10px;
    }
}

/* 画像比較ブロック（[compare]ショートコード）*/
.bl_compare {
    margin: 24px 0;
}
.bl_compare_label {
    font-size: 14px;
    color: #333333;
    margin: 0 0 10px;
}
.bl_compare_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
.bl_compare_item {
    display: flex;
    flex-direction: column;
}
.bl_compare_item_imgWrap {
    background-color: #F5F2ED;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bl_compare_item_imgWrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.bl_compare_item_caption {
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    margin: 12px 0 0;
    color: #333333;
}
.bl_compare_item_caption p {
    margin: 0 0 0.5em;
}
.bl_compare_item_caption p:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 768px) {
    .bl_compare_grid {
        gap: 12px;
    }
    .bl_compare_item_caption {
        font-size: 12px;
        margin-top: 8px;
    }
}

/* FAQ（ブロックパターン） */
.bl_faq {
    margin: 24px 0;
}
.bl_faq + .bl_faq {
    margin-top: 32px;
}
.bl_faq_q,
.bl_faq_a {
    position: relative;
    padding: 16px 20px 16px 62px;
    min-height: 56px;
}
.bl_faq_q {
    background-color: #F5F2ED;
    font-weight: bold;
    color: #333333;
}
.bl_faq_a {
    background-color: #FFFFFF;
    color: #333333;
    border: 2px solid #E0DBD2;
}
.bl_faq_q::before,
.bl_faq_a::before {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    font-family: serif;
    border-radius: 2px;
}
.bl_faq_q::before {
    content: "Q";
    background-color: #B08A52;
}
.bl_faq_a::before {
    content: "A";
    background-color: #7A9E8A;
}
.bl_faq_q p,
.bl_faq_a p {
    margin: 0;
    line-height: 1.8;
}
.bl_faq_q + .bl_faq_a {
    margin-top: 0;
}

/* 前後記事ナビ */
.bl_column_postnav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 40px 0 20px;
}
.bl_column_postnav_item {
    display: block;
    padding: 16px;
    border: 1px solid #E0DBD2;
    background-color: #ffffff;
    text-decoration: none;
    color: #333333;
    transition: opacity 0.3s ease;
}
.bl_column_postnav_item:hover {
    opacity: 0.75;
}
.bl_column_postnav_item.is_empty {
    border: none;
    background: transparent;
    pointer-events: none;
}
.bl_column_postnav_label {
    display: block;
    color: #B08A52;
    font-size: 20px;
    margin-bottom: 10px;
}
.bl_column_postnav_item.is_next .bl_column_postnav_label {
    text-align: right;
}
.bl_column_postnav_thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #F5F2ED;
    overflow: hidden;
    margin-bottom: 12px;
}
.bl_column_postnav_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bl_column_postnav_ttl {
    font-size: 20px;
    line-height: 1.6;
    margin: 0 0 10px;
}
.bl_column_postnav_meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #777777;
}
@media screen and (max-width: 750px) {
    .bl_column_postnav {
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin: 30px 0 20px;
    }
    .bl_column_postnav_item {
        padding: 10px;
    }
    .bl_column_postnav_label {
        font-size: 24px;
        margin-bottom: 8px;
    }
    .bl_column_postnav_thumb {
        margin-bottom: 10px;
    }
    .bl_column_postnav_ttl {
        font-size: 20px;
        line-height: 1.5;
        margin: 0 0 8px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .bl_column_postnav_meta {
        gap: 6px;
        font-size: 20px;
        flex-wrap: wrap;
    }
    .bl_column_postnav_meta .el_columnCatLabel {
        padding: 3px 8px;
        font-size: 20px;
        height: auto;
        min-width: 0;
    }
}
/* 3. サイドバーの装飾 */
.bl_sidebar_widget {
    margin-bottom: 40px;
    padding: 80px 0 0 0;
}
h3.bl_sidebar_ttl {
    font-weight: normal;
    border-bottom: 2px solid #E0DBD2;
    padding-bottom: 10px;
    font-size: 26px;
}
.bl_sidebar_ttl.en{
    color: #B08A52;
    font-size: 24px;
}
.bl_sidebar_list {
    list-style: none !important;
    padding: 0 !important;
    margin-top: 10px;
}
.bl_sidebar_list li {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #E0DBD2;
}
.bl_sidebar_list li a {
    text-decoration: none;
    color: #333;
    font-size: 20px;
    gap: 5px;
}
.bl_sidebar_list li::before{
  border-top: 1px solid #E0DDD8;
}
.bl_sidebar_list li::after{
  border-bottom: 1px solid #E0DDD8;
}
/* カテゴリ一覧ウィジェット：各項目に「・」を付与 */
.bl_sidebar_list > li.cat-item {
    border-bottom: none;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 15px;
}
.bl_sidebar_list > li.cat-item::before {
    content: "・";
    margin-right: 4px;
    border: none;
    display: inline;
}
.bl_sidebar_list > li.cat-item::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 85%;
    bottom: 0;
    border-bottom: 2px solid #E0DBD2;
}
.bl_sidebar_widget.bl_sidebar_list{
    margin: 20px 0;
}
.bl_sidebar_widget_btn{
    border: 1px solid #C0392B;
    background: #F5F2ED;
    padding: 10px;
}
.bl_sidebar_widget_btn a{
    display: flex;
    width: 100%;
    justify-content: center;
    color: #6F6E6A;
}
.bl_sidebar_card {
    display: flex;

}
.bl_sidebar_card_img {
    width: 50%;
    flex-shrink: 0;
    aspect-ratio: 1.8 / 1;
    overflow: hidden;
}
.bl_sidebar_ttl_widget {
    font-size: 26px;
    font-weight: normal;
}

/* PC版サイドバーカード：カテゴリ → タイトル → 日付 の順 */
@media screen and (min-width: 769px) {
    .bl_sidebar_card_body {
        display: flex;
        flex-direction: column;
        padding-left: 12px;
    }
    .bl_sidebar_card_meta {
        display: contents;
    }
    .bl_sidebar_card_meta .el_columnCatLabel {
        order: 1;
        align-self: flex-start;
        margin-bottom: 10px;
    }
    .bl_sidebar_card_ttl {
        order: 2;
        font-size: 15px;
        line-height: 1.5;
        margin: 0 0 12px;
    }
    .bl_sidebar_card_meta .bl_sidebar_card_date {
        order: 3;
        font-size: 13px;
        color: #999999;
    }
    .bl_sidebar_card_excerpt {
        display: none;
    }
}
.bl_sidebar_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bl_sidebar_card_body {
    width: 45%;
    display: flex;
    flex-direction: column;
}
.bl_sidebar_card_date{
    color: #777777;
}
/* カテゴリラベルの装飾 */

.el_columnCatLabel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 2px;
    color: #ffffff !important;
    border: none !important;
    text-decoration: none !important;
}

/* 各カテゴリの固有色（記事カードで常にこの色になる） */
.el_columnCatLabel.massage-aroma { background-color: #80BC58 !important; }
.el_columnCatLabel.spa-therapy   { background-color: #BD6F6F !important; }
.el_columnCatLabel.relax         { background-color: #8A7A9E !important; }
.el_columnCatLabel.beauty        { background-color: #C66CA6 !important; }
.el_columnCatLabel.trivia        { background-color: #7CA0B2 !important; }

.bl_cat_list .el_columnCatLabel {
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #E0DBD2 !important;
    min-width: 120px; /* ボタンの幅を揃える */
    height: 40px;
}
.bl_cat_list .el_columnCatLabel.current-cat,
.bl_cat_list .current-cat > .el_columnCatLabel {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}
/* 検索窓のコンテナ */
.bl_search_container {
    display: flex;
    align-items: stretch;
    background-color: #f9f8f4;
    border: 1px solid #e0dbd1;
    width: 100%;
    height: 50px;
}
.el_search_input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0 15px;
    font-size: 20px;
    color: #333;
    outline: none;
}
.bl_search_inputWrapper {
    background-color: #FAF8F4;
    display: flex;
    height: 40px;
    border: 1px solid #E0DBD2;
}
.el_search_btn {
  display: 1;
  width: 60px;
  background-color: #B08A52;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s;
  position: relative;
}
.el_search_btn:hover {
    background-color: #8e784f;
}

/*COLUMN CATEGORY*/
.bl_cat_ttl{
  border-bottom: 4px solid #E0DBD2;
  margin: 15px 0;  
}
.bl_cat_list{
  display: flex;
  gap: 10px;
  padding: 15px 100px;
  justify-content: center;
}
.bl_bottom_cat_list li{
    position: relative;
    margin: 8px 0;
    font-size: 24px;
}
.bl_bottom_cat_list a{
    display: block;
    
}
.bl_bottom_cat_list > li::after {
    content: "";
    width: 8px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url(../images/common/footer_arrow.svg) top center / contain no-repeat;
    pointer-events: none;
}

/*column_page見出し*/
.bl_featured_recomen_post.en{
  color: #B08A52;
  font-size: 28px;
}
.bl_featured_title{
  border-bottom: 2px solid #E0DBD2;
  margin-bottom: 25px;
  font-weight: normal;
  font-size: 28px;
}
.bl_featured {
    margin-top: 35px;
}
.bl_vertPosts{
    border-bottom: none;
}
.bl_bottom_cat_li{
    border-bottom: 2px solid #E0DBD2;
}
/*===========================
 page-navi
===========================*/
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 50px 0;
    clear: both;
}

/* =========================================
   記事一覧のグリッドレイアウト
========================================= */
.bl_postGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
    margin-bottom: 30px;
}

/* =========================================
   記事カード本体のデザイン
========================================= */
.bl_vertPosts {
    height: 100%;
}
.bl_vertPosts > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #dcdcdc;
    background-color: #ffffff;
    text-decoration: none;
    color: #333333;
    transition: opacity 0.3s ease;
    align-items: initial;
    padding: 0;
}
.bl_vertPosts > a:hover {
    opacity: 0.7;
}
.bl_vertPosts_thumb {
    width: 100%;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bl_vertPosts_thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}
.bl_vertPosts_header {
    flex: none;
    padding: 10px 20px 30px 17px;
}
.bl_vertPosts_ttl {
    padding: 0 20px;
    font-size: 22px;
    line-height: 1.6;
    font-weight: normal;
    margin-bottom: 20px;
    flex-grow: 1;
}
.bl_vertPosts_date {
    padding: 0 20px 10px;
    font-size: 13px;
    color: #999999;
}
.bl_vertPosts:not(:first-of-type) > a {
  padding-top: 0;
}
.bl_bottom_cats{
    border-top: 2px solid #E0DBD1;
    padding-top: 30px;
}
/*目次レイアウト*/
#toc_container{
    background: #F5F2ED;
    border: 2px solid #E0DBD2;
    width: 100%;
}
#toc_container .toc_title{
    text-align: left !important;
    font-weight: normal !important;
    border-bottom: 2px solid #E0DBD2;
    margin: 10px !important;
    font-size: 24px;
}
#toc_container ul.toc_list li {
    padding: 10px;
    border-bottom: 2px solid #E0DBD2;
    font-size: 24x;
}
#toc_container ul.toc_list li:last-child {
    border-bottom: none;
}
#toc_container .toc_number::after{
    content: ".";
}
h2.wp-block-heading{
    background: #FAF8F4;
}
.bl_column_article{
    counter-reset: column-heading-counter;
}
.bl_column_article h2{
    border-left: 6px solid #B08A52;
    padding: 10px;
    font-weight: normal;
    counter-increment: column-heading-counter;
    margin: 10px 0;
    font-size: 28px;
    background: #FAF8F4;
}
.bl_column_article h2::before{
    content: counter(column-heading-counter) ".";
    margin-right: 6px;
}

/* 新レイアウト：記事カード（PC：縦積み・カテゴリ/タイトル/日付） */
.bl_vertPosts_body {
    padding: 10px 20px 30px 17px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}
.bl_vertPosts_meta {
    display: contents;
}
.bl_vertPosts_meta .el_columnCatLabel {
    order: 1;
    align-self: flex-start;
    margin-bottom: 15px;
    min-width: 0;
    height: auto;
    padding: 5px 12px;
    font-size: 16px;
}
.bl_vertPosts_ttl {
    order: 2;
    padding: 0;
    margin-bottom: 20px;
    flex-grow: 1;
}
.bl_vertPosts_meta .bl_vertPosts_date {
    order: 3;
    padding: 0;
    font-size: 20px;
    color: #999999;
}
.bl_vertPosts_excerpt {
    display: none;
}
.bl_sidebar_card_excerpt {
    display: none;
}
/* PCではSP専用CTAを非表示 */
.bl_column_ctas_sp {
    display: none;
}
/* =========================================
   レスポンシブ（スマホ表示時）
========================================= */
@media screen and (max-width: 768px) {
    .bl_featured_title {
        margin-bottom: 0;
        font-size: 26px;
    }
    .bl_bottom_cats {
        border-top: none;
        padding-top: 0;
    }
    /* カテゴリチップ（bl_cat_list） */
    .bl_cat_list {
        padding: 15px 10px;
        gap: 8px;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .bl_cat_list .el_columnCatLabel {
        min-width: 0;
        height: auto;
        padding: 6px 12px;
        font-size: 24px;
    }

    /* グリッド → 1列スタック */
    .bl_postGrid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* 横並びカードレイアウト */
    .bl_vertPosts {
        width: 100%;
        height: auto;
        margin-top: 15px;
    }
    .bl_vertPosts > a {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
        border: none;
        border-bottom: 2px solid #E0DBD2;
        background-color: transparent;
        padding: 16px 0;
    }
    .bl_vertPosts_thumb {
        width: 200px;
        height: 100%;
        flex-shrink: 0;
        flex-grow: 0;
        border-bottom: none;
        margin-right: 0;
        background-color: #F5F2ED;
        overflow: hidden;
    }
    .bl_vertPosts_thumb img {
        width: 100%;
        object-fit: cover;
        display: block;
    }
    .bl_vertPosts_body {
        flex: 1 1;
        min-width: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .bl_vertPosts_meta {
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 8px;
        order: 0;
        margin-top: 15px;
    }
    .bl_vertPosts_meta .bl_vertPosts_date {
        order: 0;
        align-self: auto;
        font-size: 28px;
        margin: 0;
        padding: 0;
    }
    .bl_vertPosts_meta .el_columnCatLabel {
        order: 0;
        align-self: auto;
        margin: 0;
        padding: 3px 10px;
        font-size: 28px;
        min-width: 0;
        height: auto;
    }
    .bl_vertPosts_ttl {
        order: 0;
        padding: 0;
        font-size: 28px;
        font-weight: bold;
        line-height: 1.5;
        margin-bottom: 6px;
        flex-grow: 0;
    }
    .bl_vertPosts_excerpt {
        order: 0;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 24px;
        color: #666;
        line-height: 1.5;
        margin: 0;
        padding: 0;
    }

    /* SPではPCバナーを非表示にしてSP専用CTAを表示 */
    .bl_column_banners {
        display: none !important;
    }
    .bl_column_ctas_sp {
        display: flex;
        flex-direction: column;
        margin-top: 30px;
    }
    .bl_columnCta {
        display: block;
        text-decoration: none;
        text-align: center;
    }
    /* 予約CTA（黒） */
    .bl_columnCta__reserve {
        background-color: #111111;
        color: #ffffff;
        padding: 32px 20px 24px;
    }
    .bl_columnCta__reserve .bl_columnCta_logo {
        width: 180px;
        height: auto;
        margin: 0 auto 14px;
        display: block;
    }
    .bl_columnCta__reserve .bl_columnCta_text {
        font-size: 24px;
        color: #ffffff;
        margin: 0 0 16px;
        font-weight: normal;
    }
    .bl_columnCta_btn__reserve {
        display: block;
        background-color: #B08A52;
        color: #ffffff;
        padding: 14px 20px;
        font-weight: bold;
        font-size: 24px;
    }
    /* LINE CTA（ベージュ） */
    .bl_columnCta__line {
        background-color: #FAF8F4;
        padding: 20px;
        color: #333333;
    }
    .bl_columnCta__line .bl_columnCta_subText {
        font-size: 24px;
        color: #333333;
        margin: 0 0 6px;
    }
    .bl_columnCta__line .bl_columnCta_text {
        font-size: 24px;
        color: #333333;
        font-weight: bold;
        margin: 0 0 14px;
        line-height: 1.5;
    }
    .bl_columnCta_btn__line {
        display: block;
        background-color: #5EC56E;
        color: #ffffff;
        padding: 14px 20px;
        font-weight: bold;
        font-size: 24px;
    }

    /* 問い合わせCTA（黒・ボーダーボタン）：__reserveと干渉しないよう__contact限定 */
    .bl_columnCta__contact {
        background-color: #111111;
        color: #ffffff;
        padding: 32px 20px;
        text-align: center;
    }
    .bl_columnCta__contact .bl_columnCta_subText {
        font-size: 24px;
        color: #cccccc;
        margin: 0 0 6px;
    }
    .bl_columnCta__contact .bl_columnCta_text {
        font-size: 28px;
        color: #ffffff;
        font-weight: normal;
        margin: 0 0 20px;
        line-height: 1.3;
        letter-spacing: 0.05em;
    }
    .bl_columnCta_btn__contact {
        display: block;
        background-color: transparent;
        color: #ffffff;
        border: 1px solid #B08A52;
        padding: 14px 20px;
        font-size: 24px;
        font-weight: normal;
        margin: 0 70px;
    }

    /* サイドバーウィジェット（新着記事・関連人気コラム）SPスタイル */
    .bl_sidebar_widget {
        padding-top: 20px;
        margin-bottom: 30px;
    }
    .bl_sidebar_ttl.en {
        font-size: 26px;
        margin: 0;
    }
    h3.bl_sidebar_ttl {
        font-size: 26px;
        padding-bottom: 12px;
        margin: 0 0 0;
    }
    .bl_sidebar_list {
        margin-top: 0 !important;
    }
    .bl_sidebar_list > li {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 1px solid #E0DBD2;
    }

    /* サイドバー記事カード（横並び：サムネ左＋メタ/タイトル/抜粋右） */
    .bl_sidebar_card {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
        padding: 16px 0;
    }
    .bl_sidebar_card_img {
        width: 250px;
        height: 222px;
        flex-shrink: 0;
        flex-grow: 0;
        background-color: #F5F2ED;
        overflow: hidden;
    }
    .bl_sidebar_card_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .bl_sidebar_card_body {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
    .bl_sidebar_card_meta {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 6px;
    }
    .bl_sidebar_card_date {
        font-size: 24px;
        color: #999999;
        margin: 0;
    }
    .bl_sidebar_card_meta .el_columnCatLabel {
        padding: 3px 10px;
        font-size: 24px;
        min-width: 0;
        height: auto;
    }
    .bl_sidebar_card_ttl {
        font-size: 28px;
        font-weight: bold;
        line-height: 1.5;
        margin: 0 0 6px;
    }
    .bl_sidebar_card_excerpt {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 24px;
        color: #666666;
        line-height: 1.5;
        margin: 0;
    }

    /* もっと見るボタン */
    .bl_sidebar_widget_btn {
        border: 1px solid #333333;
        background: transparent;
        padding: 14px;
        margin-top: 16px;
    }
    .bl_sidebar_widget_btn a {
        color: #333333;
        font-size: 24px;
    }

    /* サイドバーのカテゴリウィジェットはSPで非表示（bl_bottom_catsで表示するため） */
    .bl_sidebar_widget:has(.bl_sidebar_ttl_widget) {
        display: none;
    }
    .bl_featured_recomen_post.en {
        font-size: 26px;
    }
    ul.bl_bottom_cat_list {
        font-size: 24px;
    }
    .el_columnCatLabel {
        font-size: 20px;
    }

    /* コラム記事ページ：SP時の基本フォントサイズを24pxに統一（h1, h2, h3は既存のまま） */
    .bl_column_article,
    .bl_column_article p,
    .bl_column_article li,
    .bl_column_content,
    .bl_column_content p,
    .bl_column_content li,
    .bl_column_lead,
    .bl_column_lead p,
    .bl_summary,
    .bl_summary p,
    .bl_summary ul li,
    .bl_numList,
    .bl_numList li,
    ul.wp-block-list,
    ul.wp-block-list li,
    .bl_faq_q,
    .bl_faq_q p,
    .bl_faq_a,
    .bl_faq_a p {
        font-size: 24px;
    }

}