@charset "UTF-8";
/*
Template: arkhe
Theme Name: ちょきぺたファクトリー
Update URI: https://github.com/Koki-1205-git/chokipeta-factory
Version: 4.0.0
GitHub Theme URI: Koki-1205-git/chokipeta-factory
*/

/* ========================================
   商品タイトルの横スクロール
   ======================================== */

/* 商品タイトルコンテナ */
.product-title-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    margin-bottom: 1em;
    /* スクロールバーを非表示 */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product-title-container::-webkit-scrollbar {
    display: none;
}

/* 商品タイトル基本スタイル */
.product_title.marquee-title {
    margin: 0;
    white-space: nowrap;
    min-width: 100%;
    width: max-content;
    /* 内容に応じた幅 */
}

/* マーキーコンテンツ */
.marquee-content {
    display: inline-block;
}

/* ========================================
   商品「商品タイプ」タブのスタイル
   ======================================== */

/* 商品タイプタブのメインコンテナ */
.product-variations-tab {
    margin: 20px 0;
    padding: 20px;
}

/* 商品属性テーブル */
.product-attributes-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* テーブルヘッダー */
.product-attributes-table thead {
    background-color: #f8f9fa;
}

.product-attributes-table th {
    text-align: left;
    padding: 15px;
    font-weight: bold;
    color: #fff;
    border-bottom: 2px solid #dee2e6;
}

/* テーブル本体 */
.product-attributes-table tbody tr {
    border-bottom: 1px solid #dee2e6;
}

.product-attributes-table tbody tr:last-child {
    border-bottom: none;
}

.product-attributes-table td {
    padding: 15px;
    vertical-align: top;
}

/* 属性ラベル列 */
.product-attributes-table .attribute-label {
    font-weight: 600;
    color: #495057;
    width: 30%;
}

/* 属性値列 */
.product-attributes-table .attribute-values {
    color: #333;
    line-height: 1.6;
}

/* テーブルのホバー効果 */
.product-attributes-table tbody tr:hover {
    background-color: #f8f9fa;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .product-variations-tab {
        margin: 15px 0;
        padding: 15px;
    }

    .product-attributes-table {
        font-size: 14px;
    }

    .product-attributes-table th,
    .product-attributes-table td {
        padding: 10px;
    }

    .product-attributes-table .attribute-label {
        width: 40%;
    }
}

/*******************************************/
/* 商品詳細ページの価格表記カスタマイズ */

/* 価格表記を大きく変更 */
body:not(.woocommerce-checkout):not(.woocommerce-cart) .woocommerce-Price-amount {
    font-size: 28px;
}

/* 通貨マークを小さく変更 */
body:not(.woocommerce-checkout):not(.woocommerce-cart) .woocommerce-Price-currencySymbol {
    font-size: 15px;
}
/*******************************************/
/* 投稿リストのアイテム幅を強制的に確保（中身による拡張を防ぐ） */
.p-postList__item {
    min-width: 0;
}
/*******************************************/

/* ========================================
   テキストコンテンツの基本スタイル設定 (Global Variables)
   ======================================== */
:root {
    /* グローバル変数で本文、リスト、テーブル等の基本サイズを一括制御 */
    --ark-font_size: 14px;
    --ark-line_height: 1.625;
    --ark-mt: 14px;
    --ark-mt--h: 20px;
}

/* 目次 */
.arkhe-block-toc .arkhe-block-toc__title,
.toc_title { 
    font-size: 18px;
}

.arkhe-block-toc .arkhe-block-toc__content,
.arkhe-block-toc li,
.toc_list li {
    font-size: 12px;
    line-height: 1.625;
}
/* ------------------------------------------
   PC (1000px以上)
   ------------------------------------------ */

@media (min-width: 1000px) {
    /* 見出し (詳細なpx指定があるため個別に定義) */
    h2 {
        font-size: 24px;
        line-height: 1.25;
    }
    h3 {
        font-size: 20px;
        line-height: 1.25;
    }
    h4 {
        font-size: 18px;
        line-height: 1.25;
    }
}

/* ------------------------------------------
   Mobile (999px以下)
   ------------------------------------------ */
@media (max-width: 999px) {
    /* 見出し */
    h2 {
        font-size: 20px;
        line-height: 1.25;
    }
    h3 {
        font-size: 18px;
        line-height: 1.2;
    }
    h4 {
        font-size: 16px;
        line-height: 1.25;
    }
}

/*******************************************/
/* h2見出し */
body:not(.home):not(.woocommerce-checkout):not(.single-product) .c-postContent h2,
body:not(.home):not(.woocommerce-checkout):not(.single-product) .p-page__content h2 {
    position: relative;
    background-color: #FFCBCE;
    padding: 10px 15px;
    font-weight: bold;
    border-radius: 2px;
    box-sizing: border-box;
}

body:not(.home):not(.woocommerce-checkout):not(.single-product) .c-postContent h2::before,
body:not(.home):not(.woocommerce-checkout):not(.single-product) .p-page__content h2::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    border: 2px dashed white;
    border-radius: 1px;
    pointer-events: none;
}

/* h3見出し */
body:not(.home) .c-postContent h3,
body:not(.home) .p-page__content h3 {
    position: relative;
    padding-bottom: 0.5rem;
    text-align: left;
}

body:not(.home) .c-postContent h3::after,
body:not(.home) .p-page__content h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 2px dashed #FFCBCE;
}

/* h4見出し */
body:not(.home) .c-postContent h4,
body:not(.home) .p-page__content h4 {
    padding: .5em .7em;
    border-left: 5px solid #ffcbce !important;
}
/*******************************************/