@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* ================================
   全体
================================ */

body, .pf-main{
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "メイリオ", sans-serif;
}

body{
  padding-top: 56px;
}
@media (min-width: 768px){
  body{
    padding-top: 64px;
  }
}

.pf-main{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Hiragino Sans", "Noto Sans JP", sans-serif;
  color:#222;
}

/* セクション共通 */
.pf-section{
  padding: 56px 16px;
}
@media (min-width: 768px){
  .pf-section{
    padding: 80px 24px;
  }
}
.pf-section__inner{
  max-width: 960px;
  margin: 0 auto;
}
.pf-section__title{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.pf-section__lead{
  font-size: .95rem;
  line-height: 1.8;
  margin-bottom: 24px;
}
/* 見出し */
.pf-fv__title{
  text-shadow: 0 3px 12px rgba(199,157,255,.45);
}
.pf-section__title,
.pf-fv__title{
  font-family: "Yomogi", "Noto Sans JP", cursive;
  letter-spacing: .02em;
background: linear-gradient(90deg,#ff9ad6,#c79dff);
  -webkit-background-clip: text;
  color: transparent;
}

/* ロゴ（サイト名） */
.pf-header__logo a{
  font-family: "Yomogi", "Noto Sans JP", cursive;
  font-weight: 400;
display:block;
}

/* ボタン */
.pf-btn{
  font-family: "Yomogi", "Noto Sans JP", cursive;
letter-spacing: .04em;
  font-size: 1rem;
}
.pf-fv__label{
  font-family: "Yomogi", "Noto Sans JP", cursive;
  font-size: .9rem;
  letter-spacing: .08em;
}
/* ================================
   FV
================================ */
.pf-fv{
  padding: 72px 16px 48px;
}
@media (min-width: 768px){
  .pf-fv{
    padding: 120px 24px 72px;
  }
}
.pf-fv__inner{
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  gap: 24px;
}
@media (min-width: 768px){
  .pf-fv__inner{
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
    align-items: center;
  }
}
.pf-fv__label{
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  opacity: .8;
}
.pf-fv__title{
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 12px;
}
.pf-fv__catch{
  font-size: .95rem;
  line-height: 1.9;
  margin-bottom: 24px;
}
.pf-fv__buttons{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.pf-fv__visual-inner{
  border-radius: 24px;
  overflow: hidden;
  min-height: 220px;
  display: grid;
  place-items: center;
  background: #f8f1ff;
}
.pf-fv__thumb img{
  width: 100%;
  height: auto;
  display: block;
}
.pf-fv__thumb--placeholder{
  padding: 40px 24px;
  font-size: .85rem;
  color:#666;
}

/* ボタン */
.pf-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: .9rem;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.pf-btn--primary{
  background: linear-gradient(135deg, #ff9ad6, #ffd6f5);
  color:#fff;
  box-shadow: 0 8px 20px rgba(255,154,214,0.45);
}
.pf-btn--primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(255,154,214,0.6);
}

.pf-btn--ghost{
  background: rgba(255,255,255,0.9);
  color:#555;
  border-color: rgba(255,154,214,0.4);
}
.pf-btn--ghost:hover{
  background:#fff5fb;
}

/* ================================
   SNSセクション
================================ */

.pf-section--sns{
  background: #ffeafb;
}
.pf-section--play{
  background: #f3f6ff;
}
.pf-section--contact{
  background: #ffffff;
}
.pf-section--news{
  background: #fffdf7;
}
.pf-section--portfolio{
  background: #f7f4ff;
}
.pf-snslinks{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.pf-snslinks__item{
  min-width:96px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.85rem;
  text-align:center;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  box-shadow:0 3px 8px rgba(0,0,0,.06);
max-width: 100px;
}


/* ================================
   News
================================ */
.pf-newslist{
  list-style:none;
  padding:0;
  margin:0;
}
.pf-newslist__item{
  border-bottom:1px solid #eee;
}
.pf-newslist__item a{
  display:flex;
  gap:8px;
  padding:8px 0;
  text-decoration:none;
  color:#333;
  font-size:.9rem;
}
.pf-newslist__date{
  min-width:80px;
  font-family:monospace;
  font-size:.8rem;
  opacity:.7;
}
.pf-newslist__title{
  flex:1;
}
.pf-newslist__item--empty{
  padding:8px 0;
  font-size:.9rem;
  color:#666;
}

/* ================================
   Portfolio
================================ */
.pf-portfolio-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
@media (min-width:768px){
  .pf-portfolio-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.pf-portfolio-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}
.pf-portfolio-card a{
  text-decoration:none;
  color:#222;
  display:block;
}
.pf-portfolio-card__thumb img{
  width:100%;
  display:block;
}
.pf-portfolio-card__thumb--placeholder{
  height:140px;
  display:grid;
  place-items:center;
  font-size:.8rem;
  color:#aaa;
  background:#f4f4f4;
}
.pf-portfolio-card__title{
  font-size:.9rem;
  padding:10px 10px 12px;
}
.pf-portfolio-more{
  margin-top:24px;
  text-align:center;
}
.pf-portfolio-empty{
  font-size:.9rem;
  color:#666;
}



/* ================================
   フロートSNS
================================ */
.pf-fixed-sns{
  position:fixed;
  right:12px;
  bottom:80px;
  z-index:999;
}
.pf-fixed-sns__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pf-fixed-sns__item{
width:60px;
height:60px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background: radial-gradient(circle at 0 0, #ffe9fb, #fff);
  box-shadow:0 6px 18px rgba(255,154,214,0.5);
  text-decoration:none;
}
.pf-fixed-sns__item img{
width:40px;
height:40px;
  display:block;
}
@media (max-width:480px){
  .pf-fixed-sns{
    right:8px;
    bottom:72px;
  }
}

/* ================================
   ふわっと表示アニメ（IntersectionObserver用）
================================ */
.js-reveal{
  opacity:0;
  transform: translateY(20px);
  transition: opacity .5s ease, transform .5s ease;
}
.js-reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}
/* ================================
   Header / Global Nav
================================ */
.pf-header{
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 1000;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid rgba(255,255,255,0.6);
}
.pf-header__inner{
  max-width: 1080px;
  margin-inline: auto;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
@media (min-width: 768px){
  .pf-header__inner{
    padding: 12px 20px;
  }
}

.pf-header__logo a img{
    max-width: 250px;
	width: 45%;
}
/* --- ハンバーガーボタン（PC/SP共通） --- */
.pf-header__burger{
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(199,157,255,0.7);
  background: radial-gradient(circle at 0 0, #ffe9fb, #ffffff);
  box-shadow: 0 6px 16px rgba(203,140,255,0.55);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.pf-header__burger-line,
.pf-header__burger-line::before,
.pf-header__burger-line::after{
  content: "";
  display: block;
  width: 20px;
  height: 2.4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff9ad6, #c79dff);
  transition: transform .25s ease, opacity .25s ease, top .25s ease, bottom .25s ease;
  position: relative;
}
.pf-header__burger-line::before{
  position: absolute;
  top: -6px;
}
.pf-header__burger-line::after{
  position: absolute;
  bottom: -6px;
}

/* 開いているときの「×」アニメ */
.pf-nav-open .pf-header__burger-line{
  transform: rotate(45deg);
}
.pf-nav-open .pf-header__burger-line::before{
  top: 0;
  transform: rotate(90deg);
}
.pf-nav-open .pf-header__burger-line::after{
  bottom: 0;
  opacity: 0;
}

/* --- オーバーレイ --- */
.pf-header__overlay{
  position: fixed;
  inset: 0;
  background: rgba(15,10,30,0.35);
  z-index: 900;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.pf-nav-open .pf-header__overlay{
  opacity: 1;
  pointer-events: auto;
}

/* --- ドロワーメニュー（PC/SP共通） --- */
.pf-header__nav--sp{
  position: fixed;
  top: 0;
  right: 0;
  width: 78vw;
  max-width: 340px;
  height: 100vh;
  background: #ffffff;
  z-index: 950;
  box-shadow: -8px 0 24px rgba(0,0,0,0.18);
  transform: translateX(100%);
  transition: transform .25s ease;
  display: block;
}
.pf-nav-open .pf-header__nav--sp{
  transform: translateX(0);
}

.pf-header__nav-inner{
  padding: 72px 20px 24px;
  display:flex;
  flex-direction:column;
  height:100%;
  box-sizing:border-box;
}

/* メニュー */
.pf-header__menu{
  list-style: none;
  margin: 0;
  padding: 0;
}
.pf-header__menu--sp{
  flex: 0 0 auto;
  display:flex;
  flex-direction: column;
  gap: 12px;
}
.pf-header__menu--sp a{
  display:block;
  padding: 8px 0;
  font-size: 1rem;
  text-decoration:none;
  color:#3b2a4f;
  position:relative;
}
.pf-header__menu--sp a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg,#ff9ad6,#c79dff);
  transition: width .18s ease;
}
.pf-header__menu--sp a:hover::after{
  width:100%;
}

/* ドロワー内SNS */
.pf-header__sns--sp{
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid #f0e9ff;
}
.pf-header__sns-label{
  font-size: .8rem;
  color:#8b7aab;
  margin-bottom: 10px;
}
.pf-header__sns-row{
  display:flex;
  gap:12px;
}
.pf-header__sns-item{
  min-width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(199,157,255,0.7);
  background: radial-gradient(circle at 0 0, #ffe9fb, #ffffff);
  display:grid;
  place-items:center;
  text-decoration:none;
  box-shadow: 0 4px 12px rgba(203,140,255,0.5);
}
.pf-header__sns-item img{
  width: 18px;
  height: 18px;
  display:block;
}


/* メニュー開いてるときは背景スクロール禁止 */
.pf-nav-open{
  overflow:hidden;
}

/* ================================
   ドロワー内のクローズボタン
================================ */
.pf-nav-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background:#ffffff;
  border:1px solid rgba(199,157,255,0.7);
  box-shadow:0 4px 14px rgba(203,140,255,0.45);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.pf-nav-close span,
.pf-nav-close span::before{
  content:"";
  display:block;
  width:18px;
  height:2.4px;
  background: linear-gradient(90deg, #ff9ad6, #c79dff);
  border-radius:999px;
  position:relative;
}
.pf-nav-close span{
  transform:rotate(45deg);
}
.pf-nav-close span::before{
  position:absolute;
  transform:rotate(90deg);
}



/* ================================
   FV（動画＋ロゴ）
================================ */
.pf-fv--video{
  position: relative;
  padding: 0;
  margin: 0;
}

/* 動画ラッパー（アスペクト調整OK） */
.pf-fv__video-wrap{
  position: relative;
  width: 100%;
  height: 80svh; /* ← 好みで80〜100svhぐらい */
  min-height: 420px;
  overflow: hidden;
}

/* 動画本体：常にトリミングしてカバー */
.pf-fv__video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ロゴオーバーレイ */
.pf-fv__overlay{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
padding-top:52svh; /* ←ココで位置を調整 */
}
/* ロゴ */
.pf-fv__logo{
  width: 68%;
  max-width: 520px;
  height: auto;
  filter: drop-shadow(0 6px 24px rgba(0,0,0,.25));
  animation: fadeinLogo .9s ease .2s both;
}

/* ちょっと雰囲気出すアニメ */
@keyframes fadeinLogo{
  from{
    opacity: 0;
    transform: translateY(8px) scale(.98);
  }
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* スマホ微調整 */
@media (max-width: 480px){
  .pf-fv__logo{
    width: 82%;
  }
}
/* ================================
   セクション内をセンター揃え
================================ */
.pf-section__inner{
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}

/* セクションタイトル・リードもセンター前提で余白調整 */
.pf-section__title{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 12px;
}
.pf-section__lead{
  font-size: .95rem;
  line-height: 1.8;
  margin-bottom: 24px;
}

/* ================================
   SNSセクションの中身を中央寄せ
================================ */
.pf-snslinks{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content: center;  /* ← 追加：中央揃え */
}
.pf-snslinks__item img{
  display:block;
text-align: center;
margin: 0 auto;
}

/* ================================
   Newsリストもセンター寄せ
================================ */
.pf-newslist{
  list-style:none;
  padding:0;
  margin:0;
}
.pf-newslist__item{
  border-bottom:1px solid #eee;
}
.pf-newslist__item a{
  display:flex;
  gap:8px;
  padding:8px 0;
  text-decoration:none;
  color:#333;
  font-size:.9rem;
  justify-content: center;  /* ← 中央揃え */
}
.pf-newslist__date{
  min-width:80px;
  font-family:monospace;
  font-size:.8rem;
  opacity:.7;
  text-align:right;
}
.pf-newslist__title{
  flex:0 1 auto;
}

/* ================================
   Portfolioカードも中央寄せ
================================ */
.pf-portfolio-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  justify-items: center; /* ← 各カードを中央に */
}
@media (min-width:768px){
  .pf-portfolio-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.pf-portfolio-card{
  width: 100%;
  max-width: 260px; /* ← 中央に寄った小さめカードに */
}

/* Portfolioのボタンも中央に（念のため） */
.pf-portfolio-more{
  margin-top:24px;
  text-align:center;
}











/* ================================
   Portfolio page
================================ */
.pf-portfolio-page .pf-section__inner{
  text-align: center;
}

/* 上の余白（ヘッダーとかぶらないように） */
.pf-portfolio-hero{
  padding-top: 72px;
}
@media (min-width: 768px){
  .pf-portfolio-hero{
    padding-top: 96px;
  }
}

/* フィルタタブ */
.pf-portfolio-filter{
  padding-top: 16px;
  padding-bottom: 8px;
}
.pf-filter{
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.pf-filter__btn{
  border-radius: 999px;
  border: 1px solid rgba(199,157,255,0.7);
  background: #ffffff;
  padding: 6px 14px;
  font-size: .85rem;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(203,140,255,0.35);
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.pf-filter__btn.is-active{
  background: linear-gradient(135deg,#ff9ad6,#c79dff);
  color:#fff;
  box-shadow: 0 6px 18px rgba(203,140,255,0.6);
  transform: translateY(-1px);
}

/* 一覧グリッド（TOPより少し余裕を持たせる） */
.pf-portfolio-grid--page{
  margin-top: 20px;
}
.pf-portfolio-grid--page .pf-portfolio-card{
  width: 100%;
  max-width: 260px;
}

/* フィルタされたとき隠す用 */
.js-pf-filter-target.is-hidden{
  display: none;
}

/* ================================
   Portfolioだけ背景をゆめかわに
================================ */
.page-id-9{
  background:
    radial-gradient(circle at 0% 0%, #ffe9fb 0%, #ffffff 40%),
    radial-gradient(circle at 100% 100%, #e7ddff 0%, #ffffff 45%),
    linear-gradient(180deg, #fff7ff, #f7fffb);
}

/* セクション背景が白で消えちゃう場合 ↓ */
.page-id-9 .pf-section{
  background: transparent !important;
}

/* ================================
   Portfolio 一覧：カード＋日付＋タイトル
================================ */
.pf-portfolio-grid--page{
  margin-top: 20px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
}
@media (min-width:768px){
  .pf-portfolio-grid--page{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* 1アイテム全体（画像＋テキスト） */
.pf-portfolio-item{
  text-align:center;
}

/* カード＝画像だけ */
.pf-portfolio-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(203,140,255,.28);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pf-portfolio-card:hover{
  transform: translateY(-2px);
  box-shadow:0 10px 28px rgba(203,140,255,.38);
}

/* サムネ画像 */
.pf-portfolio-card__thumb img{
  width:100%;
  height:auto;
  display:block;
}
.pf-portfolio-card__thumb--placeholder{
  height:160px;
  display:grid;
  place-items:center;
  font-size:.8rem;
  color:#aaa;
  background:#f9f4ff;
}

/* カードの外にある日付 */
.pf-portfolio-item__date{
  display:block;
  margin-top:6px;
  font-size:.8rem;
  color:#8b7aab;
  opacity:.85;
}

/* カードの外にあるタイトル */
.pf-portfolio-item__title{
  margin:2px 0 0;
  font-size:.95rem;
  line-height:1.4;
}
.pf-portfolio-item__title a{
  text-decoration:none;
  color:#3b2a4f;
}
.pf-portfolio-item__title a:hover{
  text-decoration:underline;
}








/* ================================
   Portfolio 詳細ページ
================================ */
.pf-single{
  /* 全体の背景を少しだけ甘く */
  background:
    radial-gradient(circle at 0% 0%, #ffe9fb 0%, #ffffff 40%),
    radial-gradient(circle at 100% 100%, #e7ddff 0%, #ffffff 45%);
}

/* Hero */
.pf-single-hero{
  padding-top: 80px;
  padding-bottom: 32px;
}
@media (min-width:768px){
  .pf-single-hero{
    padding-top: 96px;
    padding-bottom: 40px;
  }
}
.pf-single .pf-section__inner{
  text-align:center;
}

/* 日付＋カテゴリチップ */
.pf-single-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
}
.pf-single-meta__date{
  font-size:.85rem;
  color:#7d6aa8;
  opacity:.85;
}
.pf-single-meta__cats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:center;
}

/* カテゴリチップ */
.pf-catchip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 10px;
  border-radius:999px;
  font-size:.8rem;
  background:rgba(255,213,245,0.9);
  border:1px solid rgba(199,157,255,0.6);
  color:#5c3f7e;
}

/* タイトル */
.pf-single-title{
  font-family: "Yomogi", "Noto Sans JP", cursive;
  font-size:1.6rem;
  line-height:1.4;
  margin:0;
  color:#3b2a4f;
  text-shadow:0 3px 12px rgba(203,140,255,.35);
}
@media (min-width:768px){
  .pf-single-title{
    font-size:2rem;
  }
}

/* リード文（抜粋） */
.pf-single-lead{
  margin-top:10px;
  font-size:.95rem;
  line-height:1.8;
  color:#5b5478;
}

/* メインビジュアル */
.pf-single-visual{
  padding-top:16px;
  padding-bottom:24px;
}
.pf-single-visual__card{
  max-width:720px;
  margin:0 auto;
  border-radius:24px;
  padding:10px;
  background:rgba(255,255,255,0.92);
  box-shadow:0 10px 28px rgba(203,140,255,.4);
}
.pf-single-visual__thumb img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
}
.pf-single-visual__thumb--placeholder{
  height:260px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:.9rem;
  color:#aaa;
  background:#f7f2ff;
}

/* 本文 */
.pf-single-body{
  padding-top:8px;
  padding-bottom:40px;
}
.pf-single-content{
  max-width:720px;
  margin:0 auto;
  padding:20px 16px 24px;
  border-radius:24px;
  background:rgba(255,255,255,0.95);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  text-align:left;
}
.pf-single-content p{
  font-size:.95rem;
  line-height:1.9;
}
.pf-single-content img{
  max-width:100%;
  height:auto;
  border-radius:16px;
}

/* ナビゲーション */
.pf-single-nav{
  padding-top:0;
  padding-bottom:56px;
}
.pf-single-nav__buttons{
  display:flex;
  justify-content:space-between;
  gap:12px;
  max-width:720px;
  margin:0 auto 16px;
  font-size:.85rem;
}
.pf-single-nav__buttons a{
  text-decoration:none;
  color:#5b4a8c;
}
.pf-single-nav__prev{
  text-align:left;
}
.pf-single-nav__next{
  text-align:right;
}
.pf-single-back{
  text-align:center;
}

/* ================================
   Portfolio カテゴリ一覧ページ
   （/category/portfolio/xxx/）
================================ */
.pf-archive-portfolio{
  background:
    radial-gradient(circle at 0% 0%, #ffe9fb 0%, #ffffff 40%),
    radial-gradient(circle at 100% 100%, #e7ddff 0%, #ffffff 45%);
}

/* ヒーロー */
.pf-archive-hero{
  padding-top: 80px;
  padding-bottom: 24px;
}
@media (min-width:768px){
  .pf-archive-hero{
    padding-top: 96px;
    padding-bottom: 32px;
  }
}
.pf-archive-hero .pf-section__inner{
  text-align:center;
}

/* タイトルをグラデ文字に */
.pf-archive-hero .pf-section__title{
  font-family: "Yomogi", "Noto Sans JP", cursive;
  font-size: 1.8rem;
  background: linear-gradient(90deg,#ff9ad6,#c79dff);
  -webkit-background-clip: text;
  color: transparent;
  text-shadow: 0 3px 10px rgba(255,255,255,.8);
}
@media (min-width:768px){
  .pf-archive-hero .pf-section__title{
    font-size: 2.1rem;
  }
}

/* 説明文 */
.pf-archive-hero .pf-section__lead{
  font-size: .95rem;
  color:#5b5478;
}

/* 一覧レイアウト（/portfolio/ と合わせる） */
.pf-archive-list .pf-section__inner{
  text-align:center;
}

/* 1アイテム全体 */
.pf-portfolio-item{
  text-align:center;
}

/* カード画像（中身だけリンク） */
.pf-portfolio-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(203,140,255,.28);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pf-portfolio-card:hover{
  transform: translateY(-2px);
  box-shadow:0 10px 28px rgba(203,140,255,.38);
}
.pf-portfolio-card__thumb img{
  width:100%;
  height:auto;
  display:block;
}
.pf-portfolio-card__thumb--placeholder{
  height:160px;
  display:grid;
  place-items:center;
  font-size:.8rem;
  color:#aaa;
  background:#f9f4ff;
}

/* カード外の 日付＆タイトル */
.pf-portfolio-item__date{
  display:block;
  margin-top:6px;
  font-size:.8rem;
  color:#8b7aab;
  opacity:.85;
}
.pf-portfolio-item__title{
  margin:2px 0 0;
  font-size:.95rem;
  line-height:1.4;
}
.pf-portfolio-item__title a{
  text-decoration:none;
  color:#3b2a4f;
}
.pf-portfolio-item__title a:hover{
  text-decoration:underline;
}

/* ページネーション */
.pf-archive-pager{
  margin-top: 24px;
  text-align:center;
}
.pf-archive-pager .page-numbers{
  display:inline-block;
  margin:0 4px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.85rem;
  text-decoration:none;
  color:#5b4a8c;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.pf-archive-pager .page-numbers.current{
  background: linear-gradient(135deg,#ff9ad6,#c79dff);
  color:#fff;
}

/* ================================
   Portfolio slider（横カルーセル）
================================ */
.pf-portfolio-slider{
  margin: 8px auto 24px;
  max-width: 960px;
  position: relative;
}

/* ビューポート部分 */
.pf-portfolio-slider__inner{
  position: relative;
  overflow: hidden;
  padding-inline: 8px;
}

/* 横並びのトラック */
.pf-portfolio-slider__track{
  display: flex;
  gap: 16px;
  transition: transform .4s ease;
  will-change: transform;
  padding-block: 8px 14px;
}

/* 1スライド（前後が見切れるサイズ） */
.pf-portfolio-slide{
  flex: 0 0 78%;
  max-width: 480px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(203,140,255,.35);
  transform: scale(.92);
  opacity: .7;
  transition: transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}
.pf-portfolio-slide.is-active{
  transform: scale(1);
  opacity: 1;
  box-shadow: 0 14px 36px rgba(203,140,255,.5);
}

@media (min-width:768px){
  .pf-portfolio-slide{
    flex-basis: 46%; /* PCでは2枚＋αが見える感じ */
  }
}

.pf-portfolio-slide__link{
  display:block;
}

/* 画像：高さ固定でトリミング */
.pf-portfolio-slide__thumb{
  width: 100%;
  height: clamp(220px, 60vw, 340px); /* 見切れてOK */
}
.pf-portfolio-slide__thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover; /* ← ここでトリミング */
}
.pf-portfolio-slide__thumb--placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:#f9f4ff;
  color:#aaa;
  font-size:.9rem;
}

/* ドットナビゲーション */
.pf-portfolio-slider__dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:4px;
}
.pf-portfolio-slider__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(199,157,255,.4);
  border:none;
  padding:0;
  cursor:pointer;
  transition: transform .18s ease, background .18s ease;
}
.pf-portfolio-slider__dot.is-active{
  background:linear-gradient(135deg,#ff9ad6,#c79dff);
  transform:scale(1.4);
}

@media (max-width:480px){
  .pf-portfolio-slider{
    margin-bottom:18px;
  }
}





/* ================================
   Newsセクション（TOP）
================================ */
.pf-section--news{
  background: radial-gradient(circle at top left, #ffe9fb 0, #ffffff 55%);
}

.pf-news-pin{
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg,#ffe5f7,#e6ddff);
  box-shadow: 0 6px 16px rgba(203,140,255,.35);
  display:flex;
  align-items:center;
  gap:8px;
}
.pf-news-pin__label{
  flex:0 0 auto;
  min-width:42px;
  padding:4px 6px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  text-align:center;
  color:#fff;
  background:linear-gradient(135deg,#ff9ad6,#c79dff);
}
.pf-news-pin__body{
  flex:1 1 auto;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  text-decoration:none;
  font-size:.85rem;
  color:#4b3a70;
}
.pf-news-pin__date{
  font-family:monospace;
  font-size:.8rem;
  opacity:.85;
}
.pf-news-pin__title{
  font-size:.9rem;
}

/* TOPニュース一覧 */
.pf-newslist{
  list-style:none;
  padding:0;
  margin:4px 0 0;
}
.pf-newslist__item{
  border-bottom:1px dashed rgba(153,120,191,0.4);
}
.pf-newslist__item a{
  display:flex;
  gap:8px;
  padding:6px 0;
  text-decoration:none;
  color:#44345f;
  font-size:.9rem;
}
.pf-newslist__item a:hover{
  opacity: .9;
}
.pf-newslist__date{
  min-width:80px;
  font-family:monospace;
  font-size:.8rem;
  opacity:.7;
}
.pf-newslist__title{
  flex:1;
}
.pf-newslist__item--empty{
  padding:8px 0;
  font-size:.9rem;
  color:#666;
}
.pf-news-more{
  margin-top:16px;
  text-align:right;
}

/* ================================
   お知らせ一覧 (/info/)
================================ */
.pf-news-archive{
  background:
    radial-gradient(circle at top left, #ffe9fb 0, #ffffff 45%),
    radial-gradient(circle at bottom right, #e7f1ff 0, #ffffff 55%);
}

.pf-news-hero{
  padding-top:72px;
  padding-bottom:32px;
  text-align:center;
}
.pf-news-hero__label{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:rgba(255,255,255,0.7);
  color:#7a6cb6;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}
.pf-news-hero__title{
  margin-top:10px;
  font-size:1.8rem;
  letter-spacing:.08em;
}
.pf-news-hero__lead{
  margin-top:8px;
  font-size:.9rem;
  color:#5a4b81;
}

/* 一覧グリッド */
.pf-news-archive-list{
  padding-top:16px;
}
.pf-news-archive__grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
@media (min-width:768px){
  .pf-news-archive__grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

.pf-news-card{
  margin:0;
}
.pf-news-card__inner{
  display:block;
  padding:14px 16px 16px;
  border-radius:20px;
  text-decoration:none;
  background:rgba(255,255,255,0.9);
  box-shadow:0 6px 18px rgba(194,148,255,.22);
  border:1px solid rgba(255,255,255,0.9);
  transition: transform .18s ease, box-shadow .18s ease;
  color:#423259;
}
.pf-news-card__inner:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(194,148,255,.32);
}
.pf-news-card__date{
  font-family:monospace;
  font-size:.8rem;
  opacity:.75;
}
.pf-news-card__title{
  margin:4px 0 6px;
  font-size:1.0rem;
}
.pf-news-card__excerpt{
  margin:0;
  font-size:.85rem;
  line-height:1.6;
  color:#64577c;
}

.pf-news-archive__pager{
  margin-top:20px;
  text-align:center;
}
.pf-news-archive__pager .page-numbers{
  display:inline-block;
  min-width:28px;
  padding:4px 6px;
  margin:0 2px;
  border-radius:999px;
  font-size:.8rem;
  text-decoration:none;
  color:#5e4c8b;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.pf-news-archive__pager .page-numbers.current{
  background:linear-gradient(135deg,#ff9ad6,#c79dff);
  color:#fff;
}

/* ================================
   お知らせ詳細 (/info/◯◯/)
================================ */
.pf-news-single__wrap{
  background:
    radial-gradient(circle at top left, #ffe9fb 0, #ffffff 45%),
    radial-gradient(circle at bottom right, #e7f1ff 0, #ffffff 55%);
}

.pf-news-article{
  max-width:720px;
  margin:0 auto;
  padding:18px 16px 28px;
  border-radius:28px;
  background:rgba(255,255,255,0.96);
  box-shadow:0 10px 28px rgba(194,148,255,.32);
}

.pf-news-article__header{
  text-align:left;
  margin-bottom:16px;
}
.pf-news-article__badge{
  display:inline-block;
  padding:3px 10px;
  border-radius:999px;
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  background:#f8efff;
  color:#7a68b8;
}
.pf-news-article__date{
  display:block;
  margin-top:6px;
  font-family:monospace;
  font-size:.8rem;
  opacity:.72;
}
.pf-news-article__title{
  margin-top:8px;
  font-size:1.4rem;
  line-height:1.4;
}

/* 本文 */
.pf-news-article__content{
  font-size:.95rem;
  line-height:1.9;
  color:#493a64;
}
.pf-news-article__content p{
  margin-bottom:1em;
}
.pf-news-article__content a{
  color:#ca6bcc;
  text-decoration:underline;
}

/* フッター（戻る・前後ナビ） */
.pf-news-article__footer{
  margin-top:24px;
  border-top:1px dashed rgba(133,116,178,.4);
  padding-top:12px;
}
.pf-news-article__back{
  display:inline-block;
  margin-bottom:10px;
  font-size:.85rem;
  text-decoration:none;
  color:#6b589b;
}
.pf-news-article__back:hover{
  text-decoration:underline;
}
.pf-news-article__nav{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:.8rem;
}
.pf-news-article__nav-item a{
  text-decoration:none;
  color:#6b589b;
}
.pf-news-article__nav-item a:hover{
  text-decoration:underline;
}

/* ================================
   Contact page
================================ */
.pf-contact-body{
  background:
    radial-gradient(circle at top left, #ffe9fb 0, #ffffff 45%),
    radial-gradient(circle at bottom right, #e7f1ff 0, #ffffff 55%);
}

.pf-contact-hero{
  padding-top: 72px;
  padding-bottom: 24px;
  text-align: center;
}
.pf-contact-hero__inner{
  position: relative;
}
.pf-contact-hero__label{
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.8);
  color: #7a6cb6;
  box-shadow: 0 3px 10px rgba(0,0,0,.06);
}
.pf-contact-hero__title{
  margin-top: 10px;
  font-size: 1.8rem;
  letter-spacing: .08em;
}
.pf-contact-hero__lead{
  margin-top: 8px;
  font-size: .9rem;
  color: #5a4b81;
  line-height: 1.8;
}

/* フォームボックス */
.pf-contact-section{
  padding-top: 16px;
  padding-bottom: 56px;
}
.pf-contact-box{
  max-width: 720px;
  margin: 0 auto;
  padding: 20px 16px 24px;
  border-radius: 28px;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 28px rgba(194,148,255,.32);
}

/* CF7のラップに合わせて調整 */
.pf-contact-form__row{
  margin-bottom: 14px;
  font-size: .9rem;
}
.pf-contact-form__row label{
  display: block;
}
.pf-contact-form__req{
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: .7rem;
  background: #ff9ad6;
  color: #fff;
}

/* テキスト・テキストエリア */
.pf-input-text,
.pf-input-textarea{
  width: 100%;
  margin-top: 6px;
  padding: 9px 10px;
  border-radius: 999px;
  border: 1px solid rgba(153,120,191,0.35);
  background: rgba(255,255,255,0.95);
  font-size: .9rem;
  box-sizing: border-box;
}
.pf-input-textarea{
  border-radius: 18px;
  min-height: 140px;
  resize: vertical;
}

/* ラジオ・チェック類 */
.pf-contact-form__row--inline .wpcf7-list-item{
  display: block;
  margin: 4px 0;
}
.pf-contact-form__agree{
  font-size: .8rem;
  color: #6a5a9a;
}

/* 送信ボタン */
.pf-contact-form__submit{
  margin-top: 18px;
  text-align: center;
}
.pf-contact-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 999px;
  border: none;
  font-size: .9rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: linear-gradient(135deg,#ff9ad6,#c79dff);
  color: #fff;
  box-shadow: 0 8px 20px rgba(194,148,255,.5);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.pf-contact-submit:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(194,148,255,.6);
}
.pf-contact-submit:active{
  transform: translateY(1px);
  box-shadow: 0 4px 12px rgba(194,148,255,.4);
}

/* CF7のメッセージ類 */
.wpcf7 form .wpcf7-response-output{
  margin: 16px 0 0;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: .8rem;
}
.wpcf7 form.invalid .wpcf7-response-output{
  border-color: #ff9ad6;
  background: #ffe5f1;
}
.wpcf7 form.sent .wpcf7-response-output{
  border-color: #9bd1a5;
  background: #e7f8ea;
}

/* 小さめレイアウト調整 */
@media (min-width: 768px){
  .pf-contact-box{
    padding: 24px 32px 28px;
  }
}

/* スマホでの改行用 */
.u-sp{
  display: inline;
}
@media (min-width: 768px){
  .u-sp{
    display: none;
  }
}

.pf-contact-note{
  max-width: 720px;
  margin: 12px auto 0;
  font-size: .8rem;
  color: #6a5a9a;
}





/* ================================
   Play page（お絵描きチャット）
================================ */
.pf-play-body{
  background:
    radial-gradient(circle at top left, #ffe9fb 0, #ffffff 45%),
    radial-gradient(circle at bottom right, #e7f1ff 0, #ffffff 55%);
}

.pf-play-hero{
  padding-top: 72px;
  padding-bottom: 24px;
  text-align: center;
}
.pf-play-hero__label{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:rgba(255,255,255,0.8);
  color:#7a6cb6;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}
.pf-play-hero__title{
  margin-top:10px;
  font-size:1.8rem;
  letter-spacing:.08em;
}
.pf-play-hero__lead{
  margin-top:8px;
  font-size:.9rem;
  color:#5a4b81;
  line-height:1.8;
}

/* キャンバス周り */
.pf-play-canvas-section{
  padding-top: 12px;
  padding-bottom: 40px;
}
.pf-play-board{
  max-width: 860px;
  margin: 0 auto;
  padding: 18px 14px 20px;
  border-radius: 28px;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 28px rgba(194,148,255,.32);
}

/* ツールバー */
.pf-play-tools{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.pf-play-tools__group{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.pf-play-tools__group--right{
  margin-left:auto;
}
.pf-play-tools__label{
  font-size:.8rem;
  color:#6a5a9a;
}

/* カラー丸ボタン */
.pf-play-color{
  width:24px;
  height:24px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,0.05);
  background: #ff8ac8;
  padding:0;
  cursor:pointer;
}
.pf-play-color[data-color="#ff8ac8"]{ background:#ff8ac8; }
.pf-play-color[data-color="#8b7bff"]{ background:#8b7bff; }
.pf-play-color[data-color="#7be4ff"]{ background:#7be4ff; }
.pf-play-color[data-color="#ffffff"]{ background:#ffffff; }
.pf-play-color.is-active{
  box-shadow:0 0 0 2px #ffb6e8;
}

/* 線の太さボタン */
.pf-play-size{
  min-width:32px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(153,120,191,0.4);
  background:#fff;
  font-size:.75rem;
  cursor:pointer;
}
.pf-play-size.is-active{
  background:#f7ecff;
}

/* 汎用ボタン */
.pf-play-btn{
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(153,120,191,0.4);
  background:#fff;
  font-size:.8rem;
  cursor:pointer;
}
.pf-play-btn--primary{
  background:linear-gradient(135deg,#ff9ad6,#c79dff);
  color:#fff;
  border-color:transparent;
  box-shadow:0 5px 14px rgba(194,148,255,.5);
}

/* キャンバス枠 */
.pf-play-canvas-wrap{
  margin-top:8px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(153,120,191,0.25);
  background:#fef8ff;
}
.pf-play-canvas{
  display:block;
  width:100%;
  height:auto;
}

.pf-play-hint{
  margin-top:8px;
  font-size:.75rem;
  color:#7b6a9b;
}

/* コメントエリア */
.pf-play-comments__box{
  max-width:760px;
  margin:0 auto;
  padding:16px 14px 24px;
  border-radius:24px;
  background:rgba(255,255,255,0.96);
  box-shadow:0 8px 22px rgba(194,148,255,.26);
}
.pf-play-comments__empty{
  font-size:.85rem;
  color:#666;
}

/* スマホ改行用 */
.u-sp{
  display:inline;
}
@media (min-width:768px){
  .u-sp{
    display:none;
  }
}



/* ================================
   Play SNS Share Box
================================ */
.pf-play-sharebox{
  max-width:740px;
  margin:0 auto;
  padding:22px 18px 26px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(194,148,255,.28);
  text-align:center;
}

.pf-play-sharebox__title{
  font-size:1.2rem;
  margin-bottom:6px;
}
.pf-play-sharebox__desc{
  font-size:.9rem;
  color:#6a5a9a;
  margin-bottom:12px;
}

.pf-play-sharebtns{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-bottom:10px;
}

.pf-play-sharebtn{
  padding:8px 16px;
  border-radius:999px;
  font-size:.85rem;
  text-decoration:none;
  border:1px solid rgba(153,120,191,0.3);
  background:#fff;
  cursor:pointer;
}
.pf-play-sharebtn--x{
  background:#000;
  color:#fff;
  border:none;
}
.pf-play-sharebtn--ig{
  background:linear-gradient(135deg,#ff9ad6,#c79dff);
  color:#fff;
  border:none;
}
.pf-play-sharebtn--copy{
  background:#fff;
}

.pf-play-hash code{
  font-size:.95rem;
  background:#f7ecff;
  padding:3px 10px;
  border-radius:999px;
}

.pf-play-copydone{
  font-size:.8rem;
  color:#8b6bab;
}

/* コメント欄を非表示にする保険 */
.comments-area{
  display:none;
}






/*************************************************
 * Events（The Events Calendar）ゆめかわトーン調整
 *************************************************/

/* 全体背景：Playっぽいパステルグラデーション */
body.post-type-archive-tribe_events,
body.tribe_events-template-default {
  background:
    radial-gradient(circle at 0 0, #ffe6ff 0, transparent 55%),
    radial-gradient(circle at 100% 0, #e6f0ff 0, transparent 55%),
    radial-gradient(circle at 0 100%, #ffe6f0 0, transparent 55%),
    #fff;
}

/* メインコンテナをセンター＆カード化 */
.tribe-events .tribe-common-l-container,
.tribe-events .tribe-events-l-container {
  max-width: 960px;
  margin: 0 auto 56px;
  padding: 28px 18px 32px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 24px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .06);
}

/* タイトルを中央寄せ＆TKZWぽく */
.tribe-events .tribe-events-page-title {
  font-family: "Zen Maru Gothic", "Hiragino Sans", system-ui, sans-serif;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 18px;
  letter-spacing: .08em;
}

/* サブテキスト系も少し柔らかく */
.tribe-events .tribe-common-b2 {
  font-family: "Zen Maru Gothic", "Hiragino Sans", system-ui, sans-serif;
  font-size: .95rem;
}

/* 検索ナビ周りをコンパクト＆ふわっと */
.tribe-events .tribe-events-c-top-bar {
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(255, 153, 204, .25);
  padding: 10px 14px;
  margin-bottom: 20px;
  box-shadow: 0 4px 14px rgba(255, 153, 204, .15);
}

/* 「イベントを検索してナビゲーションを表示」の見出しを少し小さく */
.tribe-events .tribe-events-c-top-bar__datepicker-button-text,
.tribe-events .tribe-events-c-top-bar__nav-title {
  font-size: .85rem;
}

/* 検索ボタンや切替ボタンを丸ボタンに */
.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-events-c-top-bar__nav-button {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffb3e6, #b3c6ff) !important;
  border: none !important;
  color: #fff !important;
  font-size: .85rem;
  padding: 6px 14px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
}
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-top-bar__nav-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
}

/* カレンダーのセル */
.tribe-events .tribe-events-calendar-month {
  border-radius: 18px;
  overflow: hidden;
  background: #fffafd;
}

/* 日付セル */
.tribe-events .tribe-events-calendar-month__day {
  border-color: #ffe6f5;
}

/* 今日の日付をハイライト（うっすらピンク） */
.tribe-events .tribe-events-calendar-month__day--current {
  background: rgba(255, 192, 224, .14);
}

/* イベントがある日のドットやテキストをTKZWカラーに寄せる */
.tribe-events .tribe-events-calendar-month__day--has-event .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--has-event a {
  color: #ff6fbf;
  font-weight: 700;
}

/* 月ビューのイベント一覧部分 */
.tribe-events .tribe-events-calendar-list__event,
.tribe-events .tribe-events-calendar-month__calendar-event {
  border-radius: 14px;
  border: 1px solid rgba(255, 153, 204, .35);
  background: linear-gradient(135deg, rgba(255, 245, 255, .96), rgba(232, 241, 255, .96));
  padding: 10px 12px;
  margin: 4px 0;
}

/* イベントタイトル */
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title {
  font-size: .95rem;
  font-weight: 700;
}

/* 会場テキスト */
.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-events .tribe-events-calendar-month__calendar-event-venue {
  font-size: .8rem;
  opacity: .8;
}

/* フッターの「自分のカレンダーと連携する」部分をちょっと整える */
.tribe-events .tribe-events-c-subscribe-dropdown__container {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px dashed rgba(255, 153, 204, .4);
}
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(179, 198, 255, .8);
}

/* シングルイベントページ（詳細）のカード化 */

.single-tribe_events .tribe-events-single-event-title {
  font-family: "Zen Maru Gothic", "Hiragino Sans", system-ui, sans-serif;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 18px;
}
.single-tribe_events .tribe-events-schedule {
  text-align: center;
  font-size: .9rem;
  margin-bottom: 18px;
}
.single-tribe_events .tribe-events-venue-details {
  text-align: center;
  font-size: .85rem;
  margin-bottom: 22px;
  opacity: .8;
}

.tribe-events-event-meta{
	display:block;
}

@media (min-width: 768px) {
.tribe-events-meta-group{
	width:100%;
}
}


/* コメントエリアもふんわり */
.single-tribe_events #comments {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px dashed rgba(179, 198, 255, .7);
}
.single-tribe_events #comments h3 {
  font-size: 1rem;
  text-align: center;
}
.single-tribe_events .comment-body {
  border-radius: 18px;
  padding: 12px 14px;
  background: #f9f4ff;
  margin-bottom: 12px;
}
/*************************************************
 * Single Event（/event/〜）見やすく調整
 *************************************************/

/* 背景は他ページと同じパステル */
body.single-tribe_events{
  background:
    radial-gradient(circle at 0 0, #ffe6ff 0, transparent 55%),
    radial-gradient(circle at 100% 0, #e6f0ff 0, transparent 55%),
    radial-gradient(circle at 0 100%, #ffe6f0 0, transparent 55%),
    #fff;
}

/* 中央のイベント本体をカードっぽく */
.single-tribe_events #tribe-events-content.tribe-events-single{
  max-width: 960px;
  margin: 80px auto 72px;
  padding: 28px 20px 32px;
  background: rgba(255,255,255,.96);
  border-radius: 24px;
  box-shadow: 0 10px 34px rgba(0,0,0,.08);
  box-sizing: border-box;
}

/* 「イベント一覧へ戻る」リンク */
.single-tribe_events .tribe-events-back{
  margin-bottom: 12px;
}
.single-tribe_events .tribe-events-back a{
  font-size: .8rem;
  text-decoration: none;
  color: #888;
}
.single-tribe_events .tribe-events-back a:hover{
  color:#ff7fbf;
}

/* タイトル＆日付周り */
.single-tribe_events .tribe-events-single-event-title{
  font-family: "Zen Maru Gothic","Hiragino Sans",system-ui,sans-serif;
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 10px;
}
.single-tribe_events .tribe-events-schedule{
  text-align: center;
  font-size: .9rem;
  margin-bottom: 20px;
}

/* 本文（概要） */
.single-tribe_events .tribe-events-single-event-description{
  font-size: .95rem;
  line-height: 1.9;
  margin-bottom: 24px;
}

/* ---- 変な枠が出るメタ部分をまとめて可愛く ---- */

/* メタ全体の箱（詳細＋会場） */
.single-tribe_events .tribe-events-single-event-meta{
  margin-top: 10px;
  padding: 18px 16px 10px;
  border-radius: 18px;
  background: #f9f4ff;
  border: 1px dashed rgba(179,198,255,.7);
}

/* メタ内の各グループ（詳細／会場） */
.single-tribe_events .tribe-events-meta-group{
  margin: 20px 0 14px;
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
}

/* 「詳細」「会場」の見出し */
.single-tribe_events .tribe-events-single-section-title{
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: 6px;
}

/* 箇条書きの行（枠を消してスッキリ） */
.single-tribe_events .tribe-events-meta-group dl,
.single-tribe_events .tribe-events-meta-group ul,
.single-tribe_events .tribe-events-meta-group li{
  margin: 0;
  padding: 0;
  list-style: none;
  border: none;
}

/* ラベルっぽい左側（「日付:」「時間:」「サイト:」など） */
.single-tribe_events .tribe-events-meta-group dt{
  font-size: .8rem;
  opacity: .7;
}

/* 値（右側） */
.single-tribe_events .tribe-events-meta-group dd,
.single-tribe_events .tribe-events-meta-group li{
  font-size: .9rem;
  margin: 0 0 4px;
}

/* Googleマップリンクなど */
.single-tribe_events .tribe-events-meta-group a{
  color: #bf93a9;
  text-decoration: none;
}
.single-tribe_events .tribe-events-meta-group a:hover{
  text-decoration: underline;
}

/* フッターの「カレンダーに追加」ボタン列 */
.single-tribe_events .tribe-events-sub-nav,
.single-tribe_events .tribe-events-c-subscribe-dropdown__container{
  margin-top: 18px;
}

/* コメントエリア（後でコメントONにした時用） */
.single-tribe_events #comments{
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px dashed rgba(179,198,255,.6);
}
.single-tribe_events #comments h3{
  text-align: center;
  font-size: 1rem;
}
.single-tribe_events .comment-body{
  border-radius: 16px;
  padding: 10px 12px;
  background:#f6f1ff;
  margin-bottom: 10px;
}


/*************************************************
 * Single Event メタ見出しをゆめかわバッジ化
 *************************************************/

/* 「詳細」「会場」などのセクションタイトル */
.single-tribe_events .tribe-events-single-section-title{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  padding: 4px 0px;
  font-size: .9rem;
  font-weight: 700;
  background: linear-gradient(90deg, #ff9ad6, #c79dff);
    -webkit-background-clip: text;
    color: transparent;
  border-radius: 999px;
  letter-spacing: .06em;
	font-size:1.2em;
}




/* 「日付:」「時間:」「サイト:」などのラベル（dt）をタグっぽく */
.single-tribe_events .tribe-events-meta-group dt{
  display: inline-block;
  margin: 0 0 4px;
  padding: 2px 10px;
  font-size: .75rem;
  font-weight: 700;
  color: #ff6fbf;
  background: #ffe6f7;
  border-radius: 999px;
  letter-spacing: .04em;
}

/* 値（dd）は少しだけ余白をつける */
.single-tribe_events .tribe-events-meta-group dd{
  margin: 0 0 10px 2px;
  font-size: .9rem;
}

/* リスト形式のところにも同じトーンが乗るように */
.single-tribe_events .tribe-events-meta-group li{
  font-size: .9rem;
  margin: 0 0 6px;
}

.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop,
.tribe-events button.tribe-events-c-top-bar__datepicker-button{
font-size: 16px;	
}

.single-tribe_events .tribe-events-single .tribe-events-event-meta,.tribe-events-venue-map{
	width:100%;
	padding: 0;
}


/*************************************************
 * イベント一覧＆詳細に「出展予定イベント」タイトルを表示
 *************************************************/

/* 一覧（/events/ など）の上にタイトル */
.post-type-archive-tribe_events .tribe-events .tribe-common-l-container::before,
.post-type-archive-tribe_events .tribe-events .tribe-events-l-container::before{
  content: "出展予定イベント";
  display: block;
  text-align: center;
  font-family: "Zen Maru Gothic", "Hiragino Sans", system-ui, sans-serif;
  font-size: 1.1rem;
  letter-spacing: .18em;
  margin-bottom: 18px;
  color: #ff6fbf;
  text-shadow: 0 1px 2px rgba(255,255,255,.9);
}

/* シングル（/event/◯◯◯）のカードのいちばん上にタイトル */
.single-tribe_events #tribe-events-content::before{
  content: "出展予定イベント";
  display: block;
  text-align: center;
  font-family: "Zen Maru Gothic", "Hiragino Sans", system-ui, sans-serif;
  font-size: 1.05rem;
  letter-spacing: .16em;
  margin-bottom: 16px;
  color: #ff6fbf;
  text-shadow: 0 1px 2px rgba(255,255,255,.9);
}

/* ちょっと飾り線つけたい場合（お好みで） */
.single-tribe_events #tribe-events-content::after{
  content: "";
  display: block;
  width: 120px;
  height: 2px;
  margin: 4px auto 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffb3e6, #b3c6ff);
}


/************************************
 * TOP：出展予定イベントセクション
 ************************************/
.pf-section--events{
  background: #fff5fb; /* SNSセクションと近い淡ピンク */
}

.pf-events-calendar{
  margin-top: 8px;
}

/* スマホで内側にちょっと余白 */
.pf-events-calendar .tribe-events{
  font-size: 0.9rem;
}

/* カレンダー全体を少しだけカードっぽく */
.pf-events-calendar .tribe-events .tribe-events-calendar-month{
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
}

/* カレンダー内のテキストを少し丸フォント寄りに */
.pf-events-calendar .tribe-events *{
  font-family: "Zen Maru Gothic","Hiragino Sans",system-ui,sans-serif;
}


/************************************
 * TOP：出展予定イベント（リスト表示）
 ************************************/
.pf-section--events{
  background: linear-gradient(135deg, #fff5fb, #f5f2ff);
}

.pf-events-list{
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

/* カード */
.pf-event-card{
  border-radius: 18px;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 6px 16px rgba(196, 150, 220, 0.18);
  overflow: hidden;
}

.pf-event-card__link{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  text-decoration: none;
}

/* 日付バッジ */
.pf-event-card__date{
  min-width: 110px;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffc6ec, #c5c6ff);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .08em;
  box-shadow: 0 3px 10px rgba(174, 137, 206, 0.35);
}

/* タイトル */
.pf-event-card__title{
  font-size: .95rem;
  color: #624c7f;
  margin: 0;
  line-height: 1.5;
}

/* SP は縦並びっぽく寄せる */
@media (max-width: 480px){
  .pf-event-card__link{
    flex-direction: row;
    align-items: flex-start;
  }
  .pf-event-card__date{
    margin-top: 2px;
  }
}

/* 空のとき */
.pf-events-empty{
  margin-top: 4px;
  font-size: .9rem;
  color: #786d8a;
}

/* もっと見るボタン */
.pf-events-more{
  margin-top: 16px;
  text-align: center;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
