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

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

.outer-border {
    display: inline-block;
    padding: 2px; /* 外周の太さ */
    background-color: black; /* 外周の色（境界線） */
    border-radius: 5px; /* 外周の角丸 */
}

.inner-image {
    display: block;
    border: 4px solid pink; /* 内側のボーダー */
    border-radius: 5px; /* 画像の角丸（外周より小さく） */
}

/* 黒板 */
.blackboard {
	position: relative;
	font-size: 1rem;
	color: pink;
	border: 2px solid #000;
	border-radius: 5px;
	box-shadow: 0 0 0 4px pink inset;
	background-color: rgba(0,0,0,0.9);
}

.blackboard2 {
	width: 140px;
    margin: 0 0 0 auto;
	font-size: 1rem;
	color: pink;
	border: 2px solid #000;
	border-radius: 5px;
	box-shadow: 0 0 0 4px pink inset;
	background-color: rgba(0,0,0,0.9);
}

/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

body.postid-2809 .css-2809 {
  font-family: 'Noto Serif JP', serif;
  font-size: 1rem;
  line-height: 2;
  color: #3b2f2f;
  background-color: #fdfaf4;
  padding: 0rem;
  border-radius: 8px;
}

.gif-wrapper {
  margin-top: 0px;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.gif-wrapper.visible {
  opacity: 1;
}

img.lazy {
  height: 60px;
  width: 240px;
  background-color: #fdfaf4;
  display: block;
}

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

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

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

/************************************
** こんな類似記事もゲヲログ1.5には存在します:
************************************/
.custom-crp-box {
  border-top: 1px dashed #000 !important;
  border-bottom: 1px dashed #000 !important;
  padding: 10px 0;
  font-size: 11px;
  color: #333;
  text-align: center;
  background-color: transparent;
}
div.custom-crp-box {
  margin-bottom: 25.2px;
}

.custom-crp-box h2 {
  display:none;
}
.custom-crp-box h3,
.custom-crp-box h4 {
  font-size: 11px !important;
  font-weight: normal !important;
  color: #333 !important;
  text-align: center;
  background: none !important;
  margin: 0 0 0 0;
  padding: 5px;
}

.custom-crp-box ul,
.custom-crp-box li {
  list-style: none;
  padding: 0;
  margin: 0;
}

#crp_related p {
  margin: 0 !important;
  padding: 0 !important;
}

.dotted-underline {
  border-bottom: 2px dotted white;
}

.site-name-text {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Isaac風ショートショート用装飾 */
.isaac-container {
  background-color: #000000;      /* 部屋っぽい背景 */
  color: #bca265;                 /* 文字色 */
  font-family: 'Press Start 2P', monospace; /* ドット風フォント */
  line-height: 1.5;
  padding: 2rem;
  border: 4px solid #bca265;         /* レトロ感の枠 */
  box-shadow: 0 0 20px rgba(0,0,0,0.7);
  max-width: 600px;
  margin: 2rem auto;
}

.isaac-container p {
  margin-bottom: 1rem;
  text-shadow: 1px 1px 0 #000; /* Isaac風閉塞感 */
}

/* optional: hoverで文字を強調 */
.isaac-container p:hover {
  color: #ffcc00;
}

/* Fate風ショートショート用装飾 */
.fate-container {
  background-color: #e0d0d0;      /* 部屋っぽい背景 */
  color: #e0d0d0;                 /* 文字色 */
  font-family: 'Press Start 2P', monospace; /* ドット風フォント */
  line-height: 1.5;
  padding: 2rem;
  border: 1px solid #ffebeb;         /* レトロ感の枠 */
  box-shadow: 0 0 20px rgba(0,0,0,0.7);
  max-width: 600px;
  margin: 2rem auto;
}

.fate-container p {
  margin-bottom: 1rem;
}

.content-top {
  display: none;
}

.footer {
  display: none;
  margin-top: 20px;
  padding: 8px 0;
}

/* 灯篭トンネル風ショートショート用装飾 */
/* カード風の本文ボックス */
.story {
  max-width: 700px;
  background: #fffdf9cc;
  padding: 36px 40px;
  border-radius: 20px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}

/* 先頭の一文字をドロップキャップに */
.story p:first-of-type::first-letter {
  float: left;
  font-size: 3.5em;
  margin-right: 0.2em;
  line-height: 1;
  font-weight: 600;
  color: #8b5a4f;
}

/* 会話部分をやわらかい吹き出し風に */
.dialog {
  background: #f8f3ef;
  border-left: 4px solid #e6b8a3;
  margin: 16px 0;
  padding: 12px 18px;
  border-radius: 12px;
  color: #4a3d36;
}

/* --------------------
   花びらアニメーション
-------------------- */
.petal {
  position: absolute;
  width: 18px;
  height: 18px;
  background: radial-gradient(circle at 40% 30%, #fff9d5 0%, #fff7da 50%, #ffd 80%);
  border-radius: 50% 40% 60% 50% / 60% 40% 60% 40%;
  opacity: 0.9;
  pointer-events: none;
  animation: fall 10s linear infinite;
}
.petal:nth-child(1){left:20%;top:-20px;animation-delay:0s}
.petal:nth-child(2){left:40%;top:-60px;animation-delay:2s}
.petal:nth-child(3){left:60%;top:-40px;animation-delay:4s}
.petal:nth-child(4){left:75%;top:-80px;animation-delay:1s}
.petal:nth-child(5){left:50%;top:-100px;animation-delay:3s}

@keyframes fall {
  0%   { transform: translateY(0) rotate(0deg) scale(1); opacity:1; }
  70%  { opacity:0.9; }
  100% { transform: translateY(700px) rotate(360deg) scale(0.85); opacity:0; }
}

/* --------------------
   小物アイコン（猫ぬいぐるみを右下に）
-------------------- */
.plush {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 64px;
  height: 64px;
  background: linear-gradient(180deg,#fff7f3,#ffeae1);
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* 文字揺れアニメーション */
@keyframes textGlitch {
  0%,100% { transform: translate(0,0); }
  20% { transform: translate(-1px,1px); }
  40% { transform: translate(1px,-1px); }
  60% { transform: translate(-2px,0); }
  80% { transform: translate(2px,2px); }
}

/* 点滅アニメーション */
@keyframes blink {
  0%,50%,100% { opacity: 1; }
  25%,75% { opacity: 0.3; }
}

/* コンテナ */
.kf3-container {
  background: radial-gradient(circle at top,#1a1a1a 0%,#000 80%);
  color: #ff0066;
  font-family:'Press Start 2P',monospace;
  padding:2rem;
  border:4px solid #ff0066;
  box-shadow:0 0 30px rgba(255,0,0,0.2), inset 0 0 10px rgba(255,0,0,0.3);
  max-width:640px;
  margin:2rem auto;
  position:relative;
  overflow:hidden;
  animation:textGlitch 2s infinite;
  margin-top: 0; /* 上の余白を消す */
}

/* 血痕 */
.kf3-container::before {
  content:"";
  position:absolute;
  top:-20px; left:-20px;
  width:150%; height:150%;
  background: radial-gradient(circle, rgba(200,0,0,0.2) 0%, transparent 60%);
  filter:blur(40px);
  pointer-events:none;
}

/* 走査線 */
.kf3-container::after {
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,0.03) 0, rgba(255,255,255,0.03) 2px, transparent 3px, transparent 6px);
  pointer-events:none;
}

/* 本文テキスト */
.kf3-container p {
  margin-bottom:1rem;
  text-shadow:1px 1px 2px #000,0 0 5px rgba(255,0,0,0.5);
  letter-spacing:1px;
  animation:textGlitch 2s infinite;
  transition: color 0.2s, text-shadow 0.2s;
  margin-top: 0; /* 上の余白を消す */
}

/* 本文ホバーで点滅 */
.kf3-container p:hover {
  animation: textGlitch 2s infinite, blink 1.5s infinite; /* 揺れ + 点滅 */
  color:#ff0066;
  text-shadow:1px 1px 2px #000,0 0 5px rgba(255,0,0,0.8);
}

/* 画像ラッパー */
.image-wrapper {
  position:relative;
  display:inline-block;
  animation:textGlitch 2s infinite; /* 点滅なし */
  margin-bottom: 1rem; /* ここで間隔を設定 */
}

/* REC/タイマー */
.cam-label-left, .cam-label-right {
  position:absolute;
  font-family:'Press Start 2P',monospace;
  font-size:0.8rem;
  padding:2px 5px;
  border-radius:3px;  animation: textGlitch 2s infinite, blink 1.5s infinite; /* 揺れ + 点滅 */
}

.cam-label-left {
  top:5px; left:5px;
  color:#ff0066;
  text-shadow:1px 1px 2px #000,0 0 5px rgba(255,0,0,0.5);
}

.cam-label-right {
  top:5px; right:5px;
  color:#ff0066;
  text-shadow:1px 1px 2px #000,0 0 5px rgba(0,255,0,0.5);
}

/* コンテナの上パディングを微調整 */
.kf3-container {
  padding-top: 1rem; /* 1remぐらいに調整すると余白が自然になる */
  padding-bottom: 1rem; /* 1remぐらいに調整すると余白が自然になる */
}

/* BG3用 */
.dark-table {
  width: 100%;
  padding-top: 27px;
  border-collapse: collapse;
  background-color: #000000; /* 黒背景 */
  border: 3px dotted #444444; /* グレー枠 */
  border-radius: 10px;
}
.dark-table p {
  color: #ffffff; /* 明るい灰色文字 */
  font-family: "Times New Roman", "serif";
  line-height: 1.8;
  font-size: 15px;
}

.top-ad {
  width: 100%;        /* 横幅いっぱい */
  max-width: 1200px;  /* 必要に応じて調整 */
  margin: 20px auto;  /* 上下余白と中央寄せ */
  text-align: center;
}

/* 本文の最大幅に合わせて左右に配置 */
.left-ad, .right-ad {
  position: fixed;
  top: 50%; 
  transform: translateY(-50%);
  width: 160px;
  height: 600px;
  z-index: 9999;
}

/* Cocoonの本文幅が 800px だと仮定 */
.left-ad {
  left: calc((100% - 1270px)/2 - 180px); /* 180px は広告幅＋余白 */
}

.right-ad {
  left: calc((100% + 1270px)/2 + 20px); /* 20px は余白 */
}

/* モバイル非表示 */
@media screen and (max-width: 1024px) {
  .left-ad, .right-ad {
    display: none;
  }
}
