@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){
  /*必要ならばここにコードを書く*/
}

/*記事ページのCSS*/
        div.date {
            text-align: center;
            color: #999;
            margin-bottom: 30px;
            font-size: 0.9em;
        }
        .diary-entry {
            color: #333;
            font-size: 1em;
        }
        .diary-entry p {
            margin-bottom: 20px;
            text-indent: 1em;
        }
        .strike-through {
            text-decoration: line-through;
            color: #aaa;
        }
        .small-text {
            font-size: 0.9em;
            color: #666;
        }
        .emphasis {
            font-weight: bold;
            color: #764ba2;
        }
        .inner-thought {
            font-style: italic;
            color: #8b4789;
            margin: 15px 0;
            padding-left: 20px;
            border-left: 3px solid #dda0dd;
        }
        .doodle {
            text-align: center;
            margin: 20px 0;
            color: #dda0dd;
            font-size: 1.2em;
        }
        .ending {
            margin-top: 30px;
            text-align: right;
            font-style: italic;
            color: #8b4789;
        }

/* 記事本文内のH3見出しを統一 */
.entry-content h3 {
  position: relative;
  margin: 28px 0 16px;
  padding: 0 0 8px 26px;

  border: none !important;
  border-bottom: 2px solid #b9dff3 !important;

  background: none !important;
  box-shadow: none !important;

  color: #365f7d;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
}

/* 左側の丸い飾り */
.entry-content h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;

  width: 12px;
  height: 12px;

  border-radius: 50%;
  background: #7ebfe3;

  transform: translateY(-50%);
}

/* スマホ表示 */
@media screen and (max-width: 600px) {
  .entry-content h3 {
    margin: 24px 0 14px;
    padding-left: 23px;
    font-size: 1.15em;
  }

  .entry-content h3::before {
    width: 10px;
    height: 10px;
  }
}

/* ==================================================
   茉里絵のちびキャラページ
   画像保存案内・透過PNGボタン
================================================== */

/* 各画像セット */
.marie-chibi-image-set {
	margin: 0 0 36px;
	text-align: center;
}

/* 白背景・高解像度版の説明 */
.marie-chibi-image-note {
	margin: 8px 0 12px;
	color: #777;
	font-size: 13px;
	line-height: 1.7;
	text-align: center;
}

/* 透過PNGボタンの外枠 */
.marie-chibi-button-wrap {
	margin: 0;
	text-align: center;
}

/* 透過PNGを開くボタン */
.marie-chibi-transparent-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 44px;
	padding: 9px 18px;
	border: 1px solid #b68bd5;
	border-radius: 999px;
	background: linear-gradient(
		135deg,
		#fcf9ff 0%,
		#f1e5fb 100%
	);
	box-shadow: 0 3px 9px rgba(104, 64, 128, 0.14);
	color: #684080;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

/* 市松模様アイコン */
.marie-chibi-transparent-button::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border: 1px solid #c7b9d0;
	border-radius: 4px;
	background:
		repeating-conic-gradient(
			#ffffff 0 25%,
			#dedede 0 50%
		)
		50% / 8px 8px;
}

/* 右向き矢印 */
.marie-chibi-transparent-button::after {
	content: "›";
	margin-left: 1px;
	font-size: 21px;
	font-weight: 400;
	line-height: 1;
}

/* サイズ表記 */
.marie-chibi-file-size {
	color: #8b719b;
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
}

/* マウスを乗せたとき */
.marie-chibi-transparent-button:hover {
	background: linear-gradient(
		135deg,
		#f8f0ff 0%,
		#e8d5f7 100%
	);
	box-shadow: 0 5px 13px rgba(104, 64, 128, 0.2);
	color: #57326e;
	text-decoration: none;
	transform: translateY(-1px);
}

/* キーボード操作時 */
.marie-chibi-transparent-button:focus-visible {
	outline: 3px solid rgba(167, 112, 205, 0.35);
	outline-offset: 3px;
}


/* ==================================================
   ページ上部の「画像の保存方法」
================================================== */

.marie-chibi-save-guide {
	margin: 20px 0 28px;
	padding: 17px 18px;
	border: 1px solid #dfd0ed;
	border-left: 5px solid #ad7bd2;
	border-radius: 10px;
	background: #fbf8ff;
}

.marie-chibi-save-guide-title {
	margin: 0 0 12px;
	color: #604070;
	font-weight: 700;
}

.marie-chibi-save-guide-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.marie-chibi-save-guide-item {
	padding: 13px 15px;
	border: 1px solid #eee6f4;
	border-radius: 9px;
	background: #fff;
}

.marie-chibi-save-guide-heading {
	margin: 0 0 5px;
	color: #4f3a59;
	font-weight: 700;
}

.marie-chibi-save-guide-text {
	margin: 0;
	color: #666;
	font-size: 14px;
	line-height: 1.7;
}


/* ==================================================
   スマートフォン表示
================================================== */

@media screen and (max-width: 600px) {

	.marie-chibi-save-guide-grid {
		grid-template-columns: 1fr;
	}

	.marie-chibi-transparent-button {
		box-sizing: border-box;
		max-width: 100%;
		padding: 10px 15px;
		font-size: 14px;
	}

	.marie-chibi-file-size {
		font-size: 11px;
	}

	.marie-chibi-image-set {
		margin-bottom: 30px;
	}
}

/* ==================================================
   .column-3 内のちびキャラ画像だけに適用
================================================== */

.column-3 :is(.column-left, .column-center, .column-right) img {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	transform-origin: center;
	transition:
		transform 0.25s ease,
		filter 0.25s ease;
}

/* マウス操作が可能なPCなどにだけホバー演出を適用 */
@media (hover: hover) and (pointer: fine) {

	.column-3 :is(.column-left, .column-center, .column-right) a:hover img {
		z-index: 2;
		transform: translateY(-4px) scale(1.025);
		filter: drop-shadow(
			0 8px 10px rgba(118, 73, 148, 0.2)
		);
	}

}

/* キーボード操作時のフォーカス表示 */
.column-3 :is(.column-left, .column-center, .column-right) a:focus-visible img {
	border-radius: 10px;
	outline: 3px solid rgba(173, 123, 210, 0.45);
	outline-offset: 4px;
}

/* 動きを減らす設定を利用している環境では停止 */
@media (prefers-reduced-motion: reduce) {

	.column-3 :is(.column-left, .column-center, .column-right) img {
		transition: none;
	}

	.column-3 :is(.column-left, .column-center, .column-right) a:hover img {
		transform: none;
		filter: none;
	}

}