@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

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

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

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

/* --------------------------------------------------
 * 新・ヒーロービュー（中央白グラデーション＆ロゴ対応）
 * -------------------------------------------------- */
.custom-hero-view {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  height: 65vh; /* 投稿一覧が少し見える絶妙な高さ */
  overflow: hidden;
  margin-top: -20px;
  margin-bottom: 40px;
}

.hero-slider {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.hero-slide {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: heroFadeAnimation 15s infinite ease-in-out;
}

.hero-slide:nth-child(1) { animation-delay: 0s; }
.hero-slide:nth-child(2) { animation-delay: 5s; }
.hero-slide:nth-child(3) { animation-delay: 10s; }

@keyframes heroFadeAnimation {
  0% { opacity: 0; transform: scale(1); }
  10% { opacity: 1; }
  33% { opacity: 1; }
  43% { opacity: 0; transform: scale(1.04); }
  100% { opacity: 0; }
}

/* 💡【調整】中央の白グラデーションマスクを濃いめに変更 */
.hero-overlay-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 中央部分の白の不透明度を 60% → 85% に引き上げ、白の範囲を広く設定 */
  background: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.6) 40%, rgba(255, 255, 255, 0.2) 90%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  padding: 20px;
}

/* テキスト・ロゴエリアの配置調整 */
.hero-text-area {
  text-align: center;
  max-width: 1000px; /* ロゴの最大幅に合わせてエリアを拡張 */
  width: 100%;
}

/* 💡【調整】ロゴ画像のサイズ（PCは3倍サイズに） */
.hero-logo-img {
  max-width: 960px;  /* 320pxから3倍の960pxに変更 */
  width: 90%;        /* 画面の横幅に対してゆとりを持って表示 */
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(0px 2px 8px rgba(255,255,255,0.9)); /* 後ろの白い影も少し強めに */
}

/* サブテキスト（文章）の装飾 */
.hero-subtext {
  font-size: 1.3rem; /* ロゴが大きくなったのに合わせて文字も少し大きく */
  font-weight: bold;
  color: #222;       /* よりハッキリ見えるように濃いめの色に */
  line-height: 1.6;
  margin: 0;
  text-shadow: 0 0 10px rgba(255, 255, 255, 1); /* 文字の周りの白発光を最大に */
}

/* 💡【調整】タブレット・スマホ用の調整（スマホは2倍サイズに） */
@media screen and (max-width: 768px) {
  .custom-hero-view {
    height: 55vh;    /* ロゴが大きくなった分、スマホでの高さを少しだけ確保 */
  }
  .hero-logo-img {
    max-width: 480px; /* 240pxから2倍の480pxに変更 */
    width: 85%;       /* スマホ画面の左右に少し余白を持たせる */
    margin-bottom: 15px;
  }
  .hero-subtext {
    font-size: 1rem;
    padding: 0 10px;  /* スマホでの改行時の見やすさ調整 */
  }
}

/* --------------------------------------------------
 * カスタム記事一覧レイアウト（マガジン風）
 * -------------------------------------------------- */
.custom-archive-wrapper {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

/* セクションタイトル */
.custom-section-title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  border-left: 4px solid #ff5a5f; /* 鹿沼の情熱を感じるアクセントカラー（お好みで変更可） */
  padding-left: 12px;
  margin-bottom: 30px;
  position: relative;
}

/* --- ① 最新の大きな記事カード --- */
.hero-post-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  margin-bottom: 50px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.hero-post-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

/* PCでは左右2カラムに並べる（table-cellで代用） */
@media screen and (min-width: 769px) {
  .hero-post-link {
    display: table;
    width: 100%;
  }
  .hero-post-thumb, .hero-post-content {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
  }
}

.hero-post-thumb {
  overflow: hidden;
  line-height: 0;
}

.hero-post-thumb img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.hero-post-card:hover .hero-post-thumb img {
  transform: scale(1.03);
}

.hero-post-content {
  padding: 40px;
}

/* カテゴリータグ */
.hero-post-category, .sub-post-category {
  display: inline-block;
  background: #ff5a5f;
  color: #fff;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 15px;
}

.hero-post-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  color: #111;
  margin: 0 0 15px 0 !important;
}

.hero-post-excerpt {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.7;
  margin-bottom: 20px;
}

.hero-post-date, .sub-post-date {
  font-size: 0.85rem;
  color: #999;
}


/* --- ② 2記事目以降の3列グリッドレイアウト --- */
.sub-posts-grid {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 20px; /* カード間の隙間 */
  margin: 0 -20px;
}

.sub-post-card {
  display: table-cell;
  width: 33.333%;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 3px 15px rgba(0,0,0,0.06);
  vertical-align: top;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sub-post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.sub-post-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.sub-post-thumb {
  overflow: hidden;
  height: 180px;
}

.sub-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.sub-post-card:hover .sub-post-thumb img {
  transform: scale(1.03);
}

.sub-post-content {
  padding: 20px;
}

.sub-post-title {
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.5;
  color: #222;
  margin: 0 0 10px 0 !important;
  height: 3.3em; /* タイトルが2行分きれいに収まる高さ */
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}


/* --- ③ スマホ・タブレット用のレスポンシブ調整 --- */
@media screen and (max-width: 768px) {
  .hero-post-thumb img {
    height: 220px;
  }
  .hero-post-content {
    padding: 20px;
  }
  .hero-post-title {
    font-size: 1.3rem;
  }
  
  /* グリッドを縦並びに崩す */
  .sub-posts-grid {
    display: block;
    margin: 0;
  }
  .sub-post-card {
    display: block;
    width: 100%;
    margin-bottom: 25px;
  }
  .sub-post-thumb {
    height: 200px;
  }
}

/* --------------------------------------------------
 * カテゴリ・タグの追加装飾 ＆ アニメーション
 * -------------------------------------------------- */

/* タグ全体のコンテナ */
.custom-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 15px;
  padding-top: 12px;
  border-top: 1px dashed #eee; /* 記事内容との区切り線 */
}

/* 💡タグ単体のデザイン */
.tag-item {
  display: inline-block;
  font-size: 0.75rem;
  color: #666;
  background: #f4f4f4;
  padding: 3px 8px;
  border-radius: 4px;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* なめらかな動きに */
  position: relative;
  top: 0;
}

/* 💡アニメーションの仕掛け：記事カードにマウスを乗せたとき */
.hero-post-card:hover .tag-item,
.sub-post-card:hover .tag-item {
  color: #ff5a5f;       /* タグの文字色がアクセントカラーに */
  background: #fff0f0;  /* 背景がほんのりピンクに */
  top: -3px;            /* ひょこっと上に浮き上がる */
  box-shadow: 0 2px 6px rgba(255, 90, 95, 0.15);
}

/* 💡複数あるタグが「左から順番に時間差で」ピョコピョコ動く演出 */
.hero-post-card:hover .tag-item:nth-child(1),
.sub-post-card:hover .tag-item:nth-child(1) { transition-delay: 0s; }

.hero-post-card:hover .tag-item:nth-child(2),
.sub-post-card:hover .tag-item:nth-child(2) { transition-delay: 0.05s; }

.hero-post-card:hover .tag-item:nth-child(3),
.sub-post-card:hover .tag-item:nth-child(3) { transition-delay: 0.1s; }

.hero-post-card:hover .tag-item:nth-child(4),
.sub-post-card:hover .tag-item:nth-child(4) { transition-delay: 0.15s; }

.hero-post-card:hover .tag-item:nth-child(5),
.sub-post-card:hover .tag-item:nth-child(5) { transition-delay: 0.2s; }


/* --- カテゴリ表示の微調整 --- */
.hero-post-category, .sub-post-category {
  transition: background 0.3s ease;
}
/* 記事カードホバー時にカテゴリの色も少し鮮やかに */
.hero-post-card:hover .hero-post-category,
.sub-post-card:hover .sub-post-category {
  background: #e04348;
}