/*
Theme Name: purimall
Template: astra
Author: Purimall
Description: ぷりもーる専用のカスタム子テーマです。
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 1.0.0.1747295585
Updated: 2025-05-15 16:53:05

*/

/* ==========================================
   投稿画像・動画サイズ制限（全デバイス対応）
   ========================================== */

/* 投稿内の画像サイズ制限 */
.talent-post-content img,
.entry-content img,
.post-content img,
.content img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 10px auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* 投稿内の動画サイズ制限 */
.talent-post-content video,
.entry-content video,
.post-content video,
.content video {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 10px auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .talent-post-content img,
  .entry-content img,
  .post-content img,
  .content img,
  .talent-post-content video,
  .entry-content video,
  .post-content video,
  .content video {
    max-width: calc(100vw - 40px) !important;
    margin: 10px 0;
  }
}

/* ギャラリー画像の制限 */
.gallery img,
.wp-block-gallery img {
  max-width: 100% !important;
  height: auto !important;
}

/* TinyMCEエディター内での画像・動画制限 */
.mce-content-body img,
.mce-content-body video {
  max-width: 100% !important;
  height: auto !important;
}

/* WordPress埋め込みコンテンツの制限 */
.wp-block-embed iframe,
.wp-block-embed video {
  max-width: 100% !important;
  height: auto !important;
}
/* フォーム全体 */
.wpmem_reg form {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  border: 1px solid #ccc;
  border-radius: 12px;
  background-color: #f9f9f9;
}

/* 入力フィールド */
.wpmem_reg input[type="text"],
.wpmem_reg input[type="email"],
.wpmem_reg input[type="password"] {
  width: 100%;
  padding: 12px;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
}

/* 送信ボタン */
.wpmem_reg input[type="submit"] {
  width: 100%;
  padding: 12px;
  background-color: #333;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.wpmem_reg input[type="submit"]:hover {
  background-color: #555;
}

/* 完了ページ本文 */
.page-id-12 .entry-content {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  background-color: #f3f3f3;
  border-radius: 12px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.8;
}

/* カートテーブルの見た目を美しく */
.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  font-family: sans-serif;
  font-size: 0.95rem;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  padding: 1em;
  border-bottom: 1px solid #f0f0f0;
  text-align: left;
  vertical-align: middle;
}

.woocommerce-cart table.shop_table thead {
  background-color: #f9fafb;
  font-weight: bold;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
  border-radius: 8px;
  max-width: 60px;
  height: auto;
}

.woocommerce-cart .cart_totals {
  border: 1px solid #e5e7eb;
  padding: 2em;
  border-radius: 12px;
  background: #fefefe;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.woocommerce-cart .cart_totals h2 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1em;
  color: #333;
}

.woocommerce .coupon input.input-text,
.woocommerce .actions .button {
  border-radius: 9999px;
  padding: 0.5em 1.2em;
  font-weight: bold;
}

.woocommerce .actions .button {
  background-color: #3b82f6;
  color: white;
  border: none;
}

.woocommerce .actions .button:hover {
  background-color: #2563eb;
}
/* 🛒 カートページタイトルのデザイン改善 */
body.woocommerce-cart h1.entry-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 2rem auto 1.5rem auto;
  padding: 0.5em 1em;
  background-color: #f9fafb;
  color: #111827;
  border-radius: 9999px;
  display: inline-block;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  font-family: sans-serif;
}
/* 投稿ページだけタイトル非表示にする */
.single-post h1.entry-title {
  display: none;
}


a[href="/pre-entry"] {
  text-decoration: underline;
}
a[href="/pre-entry"]:hover {
  color: #ec4899;
}
/* 固定ヘッダーのスタイル */
.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(5px);
}

/* 背景画像がある場合の透過設定 */
body {
  background-color: transparent !important;
}

/* Astraテーマのデフォルト背景を透過させる */
.ast-container, 
.ast-main-header-nav, 
.ast-header-section, 
.ast-builder-grid-row,
.ast-builder-grid-row-container,
.ast-builder-grid-row-inner,
.ast-builder-grid-row-column,
.ast-builder-grid-row-column-inner {
  background-color: transparent !important;
}

/* すべての白い背景を透過させる */
.ast-container *, 
.ast-main-header-nav *, 
.ast-header-section *, 
.ast-builder-grid-row *,
.ast-builder-grid-row-container *,
.ast-builder-grid-row-inner *,
.ast-builder-grid-row-column *,
.ast-builder-grid-row-column-inner * {
  background-color: transparent !important;
}

/* 特定の要素のみ透過度を調整 */
.ast-container, 
.ast-main-header-nav, 
.ast-header-section, 
.ast-builder-grid-row {
  background-color: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(2px);
}

/* ヘッダー分の余白をbody上部に追加（スクロールで隠れないように） */
body {
  padding-top: 80px; /* ヘッダーの高さ分だけ調整 */
  background-color: #f9fafb !important; /* ややグレーがかった白。違和感なく優しい */
}
.primall-h2{
	font-size:1.2rem;
	padding-left:5px;
	padding-top:15px;
}
.primall-container{
	padding:15px !important;
}
.purimall-tabs{
	padding-left:15px;
	padding-top:15px;
}
img.blurred {
  filter: blur(8px);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

/* 検索フォームラッパー（PC用） */
.header-search-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 260px;
  width: 100%;
}

/* PC用フォームをスマホで非表示に */
@media (max-width: 768px) {
  .header-search-wrapper {
    display: none !important;
  }
}

/* スマホ用フォームをPCで非表示に */
@media (min-width: 769px) {
  .mobile-search-wrapper {
    display: none !important;
  }
}

/* 検索フォーム本体（共通） */
.header-search-form,
.mobile-search-form {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  width: 100%;
  margin: 0;
}

/* テキスト入力フィールド（PC） */
.header-search-form input {
  width: 160px;
  min-width: 0;
  font-size: 0.85em;
  padding: 0.4em 0.6em;
  height: 34px;
  line-height: 1;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

/* テキスト入力フィールド（モバイル） */
.mobile-search-form input {
  flex: 1;
  min-width: 0;
  font-size: 0.85em;
  padding: 0.4em 0.6em;
  height: 34px;
  line-height: 1;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

/* 検索ボタン（共通） */
.header-search-form button,
.mobile-search-form button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background-color: #f3f4f6;
  cursor: pointer;
  font-size: 1em;
}

.header-search-form i,
.mobile-search-form i {
  color: #333;
}

/* スマホ用調整 */
@media (max-width: 768px) {
  .mobile-search-wrapper {
    padding: 0.5em 1em;
  }

  .mobile-search-form {
    width: 100%;
  }

  .mobile-search-form input {
    flex: 1;
  }

  /* ヘッダー表示崩れ対策 */
  .site-header {
    flex-wrap: wrap;
    gap: 1em;
  }

  .site-header > div {
    flex: none;
  }

  .site-header a {
    font-size: 0.9em;
    white-space: nowrap;
  }
}
@media (min-width: 400px) and (max-width: 768px){
	header{
		padding:1em 1.5em !important;
	}
}
@media (min-width: 361px) and (max-width: 400px) {
	header{
		padding:1em 0.5em !important;
	}
}
@media (max-width: 360px) {
	header{
		padding:1em 0.1em !important;
	}
}

/* 🔍 /search ページ専用検索フォームの横並びスタイル */
.primall-container form[role="search"] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 1em;
  max-width: 500px;
  width: 100%;
  flex-wrap: wrap;
}

.primall-container form[role="search"] input[type="text"] {
  flex: 1;
  min-width: 0;
  font-size: 0.95em;
  padding: 0.5em 0.7em;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
}

.primall-container form[role="search"] button[type="submit"] {
  padding: 0.5em 1em;
  font-size: 0.95em;
  background-color: #2563eb;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
}

.primall-container form[role="search"] button[type="submit"]:hover {
  background-color: #1d4ed8;
}

      .nowrap { white-space: nowrap; }
      .primall-container {
        max-width: 880px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
        font-family: 'Hiragino Maru Gothic ProN', 'Arial Rounded MT Bold', sans-serif;
        color: #444;
      }
      .primall-section { margin-bottom: 4rem; }
      .primall-h2 {
        text-align: center;
        font-size: 1.8rem;
        font-weight: bold;
        color: #ec4899;
        margin-bottom: 1.5rem;
      }
      .primall-text {
        text-align: center;
        font-size: 1.05rem;
        line-height: 1.9;
        max-width: 720px;
        margin: 0 auto;
        background: #fff0f6;
        padding: 1.1rem;
        border-radius: 16px;
        border: 2px dashed #f9a8d4;
        word-break: keep-all;
        overflow-wrap: break-word;
        line-break: strict; 
      }
      .primall-step {
        background-color: #fef9f6;
        border-left: 5px solid #ec4899;
        border-radius: 16px;
        padding: 1.5rem;
        margin-bottom: 1.5rem;
        box-shadow: 0 4px 8px rgba(0,0,0,0.05);
      }
      .primall-step h3 {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: #d946ef;
      }
      .primall-step p {
        margin: 0;
        font-size: 1rem;
        color: #555;
      }
      .primall-logo {
        display: block;
        margin: 2rem auto 1rem;
        width: 220px;
      }
      .primall-btn, .priuser-btn {
        display: inline-block;
        font-weight: bold;
        font-size: 1.3rem;
        padding: 1rem 2.3rem;
        border-radius: 9999px;
        text-decoration: none !important;
        box-shadow: 0 6px 12px rgba(0,0,0,0.1);
        transition: background-color 0.2s;
      }
      .primall-btn {
        background-color: #ec4899;
        color: white;
      }
      .primall-btn:hover { background-color: #db2777; }
      .priuser-btn {
        background-color: #10b981;
        color: white;
      }
      .priuser-btn:hover { background-color: #059669; }
      @media (max-width: 600px) {
        .primall-h2 { font-size: 1.5rem; }
        .primall-step { padding: 1.2rem; }
      }

    .top-news-list {
      font-family: sans-serif;
      margin: 1.5em 0;
      padding: 1em;
      border-radius: 8px;
      background: #f9fafb;
      border: 1px solid #e5e7eb;
    }
    .top-news-list h2 {
      font-size: 1.2rem;
      margin-bottom: 1em;
      font-weight: bold;
      color: #374151;
      display: flex;
      align-items: center;
    }
    .top-news-list h2::before {
      content: "📢";
      margin-right: 0.5em;
    }
    .top-news-list ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .top-news-list li {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: baseline;
      padding: 0.6em 0;
      border-bottom: 1px solid #e5e7eb;
    }
    .top-news-list li:last-child {
      border-bottom: none;
    }
    .top-news-list .news-date {
      color: #6b7280;
      font-size: 0.95rem;
      min-width: 6em;
      margin-right: 1em;
    }
    .top-news-list .news-title {
      flex: 1;
      font-size: 1rem;
    }
    .top-news-list .news-title a {
      color: #1d4ed8;
      text-decoration: none;
    }
    .top-news-list .news-title a:hover {
      text-decoration: underline;
    }
    .top-news-list .read-more {
      margin-top: 1em;
      text-align: right;
    }
    .top-news-list .read-more a {
      font-size: 0.9rem;
      color: #1d4ed8;
      text-decoration: underline;
    }
    @media (max-width: 480px) {
      .top-news-list li {
        flex-direction: column;
        align-items: flex-start;
      }
      .top-news-list .news-date {
        margin-bottom: 0.2em;
      }
    }
.entry-header{
	display:none;
}

/* 🔸 メリット全体ボックス */
.primall-merit-box {
  background: #fff0f6;
  border: 2px dashed #f9a8d4;
  border-radius: 16px;
  padding: 2rem 1.5rem;
  margin: 2rem 0;
  font-family: 'Hiragino Maru Gothic ProN', 'Arial Rounded MT Bold', sans-serif;
  color: #444;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* 🔸 見出し */
.primall-merit-box .merit-title {
  text-align: center;
  font-size: 1.6rem;
  color: black;
  margin-bottom: 1.5rem;
  font-weight: bold;
}

/* 🔸 メリットリスト */
.primall-merit-box .merit-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 🔸 各メリット項目 */
.primall-merit-box .merit-list li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.2rem 0;
  border-bottom: 1px dashed #f9a8d4;
}

.primall-merit-box .merit-list li:last-child {
  border-bottom: none;
}

/* 🔸 番号スタイル */
.primall-merit-box .merit-number {
  background-color: #ec4899;
  color: white;
  font-weight: bold;
  font-size: 1rem;
  border-radius: 50%;
  width: 2.2em;
  height: 2.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

/* 🔸 本文スタイル */
.primall-merit-box .merit-content strong {
  display: block;
  font-size: 1.05rem;
  color: #111827;
  margin-bottom: 0.4rem;
  font-weight: 700;
}

.primall-merit-box .merit-content p {
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 0 0 0.6rem 0;
  word-break: break-word;
}

/* 🔸 注意書き */
.primall-merit-box .merit-note {
  font-size: 0.85rem;
  color: #6b7280;
  margin-top: 0.2rem;
  font-style: italic;
}

/* 🔸 スマホ対応 */
@media (max-width: 640px) {
  .primall-merit-box .merit-list li {
    flex-direction: column;
    gap: 0.4rem;
  }

  .primall-merit-box .merit-number {
    margin-bottom: 0.2rem;
  }
}

.purimall-sales-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 2rem 1rem 3rem;
    font-family: 'Hiragino Kaku Gothic ProN', 'Helvetica Neue', sans-serif;
    color: #333;
    line-height: 1.6;
    font-size: 15px;
}

.purimall-sales-container h2,
.purimall-sales-container h3 {
    text-align: center;
    color: #ec4899;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
    margin-top: 2rem;
}

.purimall-balance {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 1.8rem;
}

.purimall-sales-container form {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

.purimall-sales-container input[type="submit"] {
    padding: 0.6em 1.6em;
    background-color: #ec4899;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
}

.purimall-sales-container input[type="submit"]:hover {
    background-color: #d9468f;
    transform: scale(1.02);
}

.purimall-sales-table {
    width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
    margin-top: 1.5rem;
}

.purimall-sales-table th,
.purimall-sales-table td {
    border: 1px solid #e0e0e0;
    padding: 0.8em;
    text-align: center;
    font-size: 0.9rem;
}

.purimall-sales-table th {
    background-color: #fafafa;
    color: #555;
    font-weight: 500;
}

@media (max-width: 600px) {
    .purimall-sales-container {
        padding: 1.5rem 1rem;
        font-size: 14px;
    }

    .purimall-sales-container h2,
    .purimall-sales-container h3 {
        font-size: 1.2rem;
    }

    .purimall-sales-container input[type="submit"] {
        width: 100%;
        font-size: 1rem;
    }

    .purimall-sales-table th,
    .purimall-sales-table td {
        font-size: 0.85rem;
        padding: 0.6em;
    }
}

/* ✅ WooCommerce パンくずリストを非表示 */
.woocommerce-breadcrumb {
  display: none !important;
}

/* ✅ カテゴリーリンク（例：uncategorized）非表示 */
.single-product-category {
  display: none !important;
}

/* ✅ 商品メタ情報（カテゴリやタグなど）を非表示 */
.product_meta {
  display: none !important;
}

.purimall-comments-wrapper{
	padding:2rem;
}

/* Chrome, Safari, Edge 対応 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox 対応 */
input[type=number] {
  -moz-appearance: textfield;
}

/* タレント投稿ページと商品ページの透過度調整 */
body.single-talent-post .entry-content,
body.single-talent-post .post-content,
body.single-talent-post .site-content,
body.single-talent-post .content-area,
body.single-product .entry-content,
body.single-product .post-content,
body.single-product .site-content,
body.single-product .content-area,
.single-talent-post .entry-content,
.single-talent-post .post-content,
.single-talent-post .site-content,
.single-talent-post .content-area,
.single-product .entry-content,
.single-product .post-content,
.single-product .site-content,
.single-product .content-area,
/* クリエイターページ（public_talent）の透過度調整 */
body.page-template-public_talent .entry-content,
body.page-template-public_talent .post-content,
body.page-template-public_talent .site-content,
body.page-template-public_talent .content-area,
.page-template-public_talent .entry-content,
.page-template-public_talent .post-content,
.page-template-public_talent .site-content,
.page-template-public_talent .content-area {
  background-color: rgba(255, 255, 255, 0.8) !important; /* 20%透過 */
  backdrop-filter: blur(1px);
}

/* カテゴリー選択UI - シンプルな修正 */
.purimall-form-field > div > div > label {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 10px !important;
  cursor: pointer !important;
  font-weight: normal !important;
  line-height: 1.4 !important;
  padding: 2px 0 !important;
}

.purimall-form-field > div > div > label > input[type="checkbox"] {
  margin-right: 10px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.purimall-form-field > div > div > label > span {
  display: inline-block !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

#mobile-media-button{
  display: none !important;
}

.mobile-editor-toolbar{
  display: none !important;
}

#custom-media-button{
  display: none !important;
}
/* メディアボタン2段配置用 */
.editor-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.7em;
  margin-bottom: 1em;
}

.editor-toolbar .media-row {
  display: flex;
  flex-direction: row;      /* 横並び */
  gap: 0.5em;
  justify-content: flex-start;
}

@media (max-width: 600px) {
  .editor-toolbar .media-row {
    flex-direction: row;    /* スマホでも横並びを維持 */
    gap: 0.5em;
  }
  .editor-toolbar {
    gap: 0.7em;
  }
}

.talent-post-content img,
.entry-content img,
.post-content img,
.content img {
  max-width: 450px !important;
  width: 100%;
  height: auto !important;
  display: block;
  margin: 10px auto;
  border-radius: 8px;
}

.site-footer{
  display: none !important;
}