@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.p-mainVisual__slideTitle {
    font-weight: bold;
    text-shadow: none;
}
.p-mainVisual__slideBtn.c-mvBtn.-btn-b .c-mvBtn__btn{
    border-radius: 0;
}

.p-breadcrumb.-bg-on {
    background: #fff;
}

.p-postList.is-posttype-post.-type-list2 .p-postList__item:nth-child(2n) .p-postList__link {
    flex-direction: row;
}

.home .sbi_header_link{
    color: var(--color_text);
}
#sb_instagram .sb_instagram_header h3, .sb_instagram_header h3{
    margin-bottom: 0.4em;
}
.home .sbi_feedtheme_header_text h3::before{
    display: inline;
    content: "@";
    position: relative;
    background-color: transparent;
}
.home .sbi_feedtheme_header_text h3::after{
    bottom: -0.1em;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color_htag);
    background-color: var(--color_text);
}
#sb_instagram .sb_instagram_header p, .sb_instagram_header p{
    color: var(--color_text);
}
#sb_instagram .sbi_follow_btn a {
    margin-top: 1.5em;
    background: var(--color_text)!important;
    /*background: var(--color_link)!important;*/
    background: transparent!important;
    /*border-radius: 0!important;*/
    border : 2px solid var(--color_text)!important;
    color: var(--color_text)!important;
    font-weight: bold;
}
#sb_instagram .sbi_follow_btn a:focus,
#sb_instagram .sbi_follow_btn a:hover {
    box-shadow: inset 0 0 10px 20px #fff!important; //#0079c2を少し明るくするRGBカラーは？ #0091e0*/
}

/* ===================================================
   producerスライダー（ショートコード: producer_loop_slider）
=================================================== */
.p-producer-slider {
    overflow: hidden;
}
/* Swiperデフォルトの height:100% を上書き → 画像のアスペクト比でコンテナ高さを決定する */
.p-producer-slider .swiper-slide {
    height: auto;
}
/* 等速ループ（ティッカー風） */
.p-producer-slider .swiper-wrapper {
    transition-timing-function: linear !important;
    align-items: stretch;
}
.p-producer-slider .swiper-slide a {
    display: block;
    height: 100%;
    position: relative;
    aspect-ratio: 4 / 3;
}
.p-producer-slider .swiper-slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}


/* ========================================
   固定ページ タイトルエリア サブタイトル
   .l-topTitleArea（背景画像あり）内の
   c-pageTitle__subTitle をタイトル上部へ
======================================== */

/* サブタイトル共通スタイル（固定ページ・アーカイブ共通） */
.l-topTitleArea .c-pageTitle__subTitle {
    font-style: normal;
    font-size: 0.6em;
    margin-left: 0.1em;
    color: #fff;
    opacity: .9;
}

/* 固定ページ：タイトルテキストの下にブロック表示 */
.page .l-topTitleArea .c-pageTitle__subTitle {
    display: block;
    margin-top: 0.5em;
}

/* アーカイブページ：h1 を flex 縦並びにしてサブタイトルをタイトル上へ */
.archive .l-topTitleArea .c-pageTitle {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.archive .l-topTitleArea .c-pageTitle__subTitle {
    display: inline-block;
    order: -1;
    margin-bottom: 0.5em;

}
/* アーカイブページ：has_inner=true の場合（背景画像なし・通常表示）
   .c-pageTitle__inner の中に subtitle がある構造に対応 */
.archive .c-pageTitle__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.archive .c-pageTitle__inner .c-pageTitle__subTitle {
    display: inline-block;
    order: -1;
    margin-bottom: 0.25em;
    font-style: normal;
    font-size: 0.5em;
    font-weight: normal;
    margin-left: -0.5em;
    padding: 0.2em 0.8em;
    background-color: var(--color_main);
    color: #fff;
    border-radius: 0.3em;
    opacity: 1;
}

.single-producer .c-taxList:before{
    content: "\e7fd";
}



/* ===================================================
   共通パーツ（バッジ、リンク類）
=================================================== */
.c-badge-link,
.c-badge-label{
    display: inline-block;
    font-size: 0.8em;
    padding: 2px 8px;
    border-radius: 1rem;
    margin: 0 8px 8px 0;
    line-height: 1.4;
}
.c-badge-link i ,
.c-badge-label i {
    margin-right: 2px;
}
.p-archive-meta__row a.c-badge-link {
    color: #fff; /* お茶を連想させる深い緑 */
    background: #4ca535;
    border: 1px solid #4ca535;
    text-decoration: none;
}
/* post_content の :last-child margin-bottom:0 上書きをキャンセル */
.p-producer-tags .c-badge-link:last-child,
.p-producer-tags .c-badge-label:last-child {
    margin-bottom: auto !important;
}
.c-badge-link i {
    color: #fff;
}
.c-badge-label {
    color: #4ca535; /* お茶を連想させる深い緑 */
    background: #f1f6ed;
    border: 1px solid #c9dec2;
    position: relative;
    z-index: 2;
    cursor: default;
}
.c-badge-label i {
    color: #8db67b;
}
@media (max-width: 599px) {
    .c-badge-link,
    .c-badge-label{
        display: inline-block;
        font-size: 0.8em;
        padding: 0.3em 1em 0.36em ;
        margin: 0 1.2em 1.2em 0;
        line-height: 1.4;
    }
}

/* ===================================================
   一覧ページ（電話帳風メタデータ）
=================================================== */
.p-archive-meta {
    margin-top: 0.5em;
    padding-top: 0.8em;
    font-size: 0.85em; /* リスト内なので少し小さめ */
    color: var(--color-text);
}
.p-archive-meta__row {
    display: flex;
    margin-bottom: 0.4em;
    line-height: 1.5;
}
.p-archive-meta__row a {
    color: #666;
    text-decoration: underline;
    transition: opacity 0.2s;
}
.p-archive-meta__row a:hover {
    opacity: 0.8;
}
.p-archive-meta__label {
    width: 4em; /* 「購入」「店舗」などの幅 */
    flex-shrink: 0;
    font-weight: normal;
}
.p-archive-meta__data {
    flex-grow: 1;
}
.p-archive-meta__note {
    display: block;
    font-size: 0.9em;
}
.p-archive-meta__row.sns-row .p-archive-meta__data {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em;
}
.p-archive-meta__row.sns-row .p-archive-meta__label{
    padding-top: 0.125em;
}

.p-archive-meta__row.sns-row .p-archive-meta__data .c-sns-icon a{
    font-size: 1.25em;
    color: var(--color-text);
}
@media (max-width: 599px) {
    .p-archive-meta__row.sns-row .p-archive-meta__data .c-sns-icon a{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 2em;
        height: 2em;
        text-align: center;
        background-color: #e0e0e0;
        border-radius: 1em;
        text-decoration: none;
    }
}
.p-archive-meta__data--awards {
    /* 受賞歴が長い場合、3行で三点リーダーにする */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 一覧ページ：アクションボタン群（電話、WEB） */
.p-archive-meta__actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
}
.c-btn-action {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: bold;
    transition: opacity 0.2s;
}
.c-btn-action:hover {
    opacity: 0.8;
}
.c-btn-action--tel {
    background-color: #333;
    color: #fff !important;
}
.c-btn-action--tel i {
    margin-right: 6px;
}
.c-btn-action--web {
    border: 1px solid #ccc;
    color: #333 !important;
    background: #fff;
}
.c-btn-action--sns {
    background: #f0f0f0; /* f0f0f0 をあと一段階薄くするRGBカラーは？ #f7f7f7 */
    color: #333 !important;
    padding: 6px 10px;
}

/* ===================================================
   スマホ時の表示制限（ユーティリティクラス）
=================================================== */
@media (max-width: 599px) {
    .u-hide-sp {
        display: none !important;
    }
}

/* producerの一覧（リスト型）の時だけ、PCの画像サイズとテキストエリアの比率を調整 */
@media (min-width: 960px) {
    .post-type-archive-producer .p-postList__item.-type-list .p-postList__thumb,
    .tax-producer_cat .p-postList__item.-type-list .p-postList__thumb {
        /* 左の画像幅（SWELL標準は320px程度ですが、小さく/大きくしたい場合に調整） */
        width: 280px; 
    }
}

@media (min-width: 600px) {
    /*.p-postList.is-posttype-producer.-type-card .p-postList__title,*/
    .p-postList.is-posttype-producer.-type-list .p-postList__title {
        font-size: 1.25rem;
        font-weight: 700;
    }
}

.p-postList.is-posttype-producer.-type-list .p-archive-meta .p-postList__link {
    flex-direction: column;
}

.p-postList.is-posttype-producer.-type-list .p-postList__item > .p-postList__link {
    margin-top: 0;
    border-top: 1px solid #f7f7f7;
    padding: 1em 1em 2em;
    transition-duration: 0.2s;
    transition-property: background-color, box-shadow;
}
.p-postList.is-posttype-producer.-type-list .p-postList__item:last-child > .p-postList__link {
    border-bottom: 1px solid #f7f7f7;
}
.p-postList.is-posttype-producer.-type-list .p-postList__item > .p-postList__link:hover {
    background: #f9f9f9;
}

/* SWELLのデフォルトホバー効果をproducerリストでは無効化 */
/* ① サムネズーム（scale）キャンセル */
.p-postList.is-posttype-producer .p-postList__link:hover .c-postThumb__img {
    transform: none;
}
/* ② サムネオーバーレイ（暗幕）キャンセル */
.p-postList.is-posttype-producer .p-postList__link:hover .c-postThumb::before {
    opacity: 0;
}
/* ③ ボディのopacity薄め（リスト型）キャンセル */
.p-postList.is-posttype-producer.-type-list .p-postList__item .p-postList__body {
    opacity: 1;
    padding-top: 0;
    margin-top: 0;
    height: stretch;
}
@media (max-width: 767px) {
    .p-postList.is-posttype-producer.-type-list .p-postList__item .p-postList__body {
        padding-top: 0.25rem;
        margin-top: 0.5rem;
    }
}

.-type-list .p-postList__item {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    /*.p-postList.is-posttype-producer.-type-card .p-postList__title,*/
    .p-postList.is-posttype-producer.-type-list .p-postList__title {
        font-size: 1.5rem;
    }
    .p-postList.is-posttype-producer.-type-list .p-postList__excerpt {
        font-size: 1.0rem;
    }
    .p-archive-meta{
        font-size: 1.1rem;
    }
    .p-postList.is-posttype-producer.-type-list .p-postList__thumb {
        width: 100%;
    }
    .p-postList.is-posttype-producer.-type-list .p-postList__body {
        width: 100%;
    }
}

/* ===================================================
   クリッカブルブロック（カード全体をリンク化）
=================================================== */
.c-clickable-card {
    position: relative;
}
/* タイトルリンクの ::after でカード全体をクリック可能にする（Stretched Link パターン） */
.c-clickable-card__main-link {
    color: inherit;
    text-decoration: none;
}
.c-clickable-card__main-link::after {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
}
/* サムネイルラップ用リンク：SWELLのレイアウトを維持しつつ機能リンクにする */
.c-clickable-card .p-postList__thumb-link {
    display: contents; /* 子要素（.p-postList__thumb）がそのままレイアウトに参加する */
}
/* アクションリンク（電話・WEB・SNS）はカードカバーより前面に出す */
.c-clickable-card__inner {
    position: relative;
    z-index: 2;
}
/*
 * 通常投稿（非producer）は style_normal.php にて <a class="p-postList__link"> で
 * カード全体をラップする SWELL 標準構造を使用するため、c-clickable-card は producer のみに適用。
 * producer は tel / web / sns などのネストリンクがあるため c-clickable-card パターンを使用し、
 * ::after の起点を c-clickable-card 全体にするため body を static にリセットする。
 */
.p-postList__item.is-producer .c-clickable-card .p-postList__body {
    position: static;
}

/* ===================================================
   詳細ページ（シングル） p-archive-meta 上書き・拡張
   共通スタイルは「一覧ページ」セクションに記載。
   ここにはシングル専用の差分のみ記述する。
=================================================== */
.p-producer-single-info {
    margin-top: 3em;
    padding-top: 2em;
}
.p-producer-single-info__title {
    font-size: 1.4em;
    margin-bottom: 0.75em;
    font-weight: bold;
}
/* シングル：フォントサイズを一覧より少し大きく */
.p-producer-single-info .p-archive-meta {
    font-size: 1rem;
    padding-top: 0;
    margin-top: 0;
}
.p-producer-single-info .p-archive-meta__title {
    font-size: 1.125em;
    font-weight: bold;
    padding-bottom: 0.3em;
}
/* シングル：ラベル幅を広めに・薄いカラーで */
.p-producer-single-info .p-archive-meta__label {
    width: 4.5em;
    color: #888;
    font-size: 0.9em;
}
/* シングル：各行に区切り線 */
.p-producer-single-info .p-archive-meta__row {
    padding: 0.6em 0;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0;
}
.p-producer-single-info .p-archive-meta__row:last-child {
    border-bottom: none;
}
/* シングル：受賞歴は全文表示（一覧では3行で省略） */
.p-producer-single-info .p-archive-meta__data--awards {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
}
.p-producer-tags {
    display: flex;
    flex-wrap: wrap;
}

.single-producer .p-articleFoot .p-articleMetas__termList{
    display: none;
}


