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

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


h2 {
  position: relative;
  padding: 0.3em 0.5em;
  background: -webkit-linear-gradient(to top, rgb(137, 184, 255), #c5ceff);
  background: linear-gradient(to top, rgb(137, 184, 255), #c5ceff);
  color: #495193;
}

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

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

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


/* トップページカスタマイズ -------------------------------------------- */

/* 背景色を白にする（不要なら削除） */
body {
	background-color: #fff !important; /* 背景色を白に指定 */
}

/* トップページヘッダー・フッター非表示 */
.home .article-header,
.home .article-footer {
	display: none; /* トップページのヘッダーとフッターを非表示に */
}

/* セクションの余白と枠調整 */
.section-wrap {
	padding-top: 5em; /* 上部の内側余白を5em */
	padding-bottom: 5em; /* 下部の内側余白を5em */
	margin-bottom: 0; /* 下部の外側余白を0 */
}

/* 見出し ------------------------------------------------------------ */
.heading {
	text-align: center; /* 見出しを中央揃え */
	font-size: 5rem; /* 見出しの文字サイズ */
	color: #b5b5ae; /* 見出しの色を設定 */
	letter-spacing: 2px; /* 文字間隔を2px */
	line-height: 1.6; /* 行の高さを1.6倍 */
	font-weight: bold; /* 太字に設定 */
	position: relative; /* 基準点を設定 */
	padding-bottom: 1rem; /* 下部の内側余白を1rem */
	margin-bottom: 3rem; /* 下部の外側余白を3rem */
}

/*480px以下*/
@media screen and (max-width: 480px){
	.heading {
	font-size: 3rem; /* 見出しの文字サイズ */
	}
}

.heading span {
	display: block; /* サブ見出しをブロック要素化 */
	font-size: .9rem; /* サブ見出しの文字サイズ */
	font-weight: normal; /* サブ見出しを通常の太さに設定 */
}

/* 見出し下の線 */
.heading::after {
	display: block; /* 擬似要素をブロック要素に */
	content: ""; /* 内容を空に */
	width: 2.5rem; /* 線の幅を2.5rem */
	height: 1px; /* 線の高さを1px */
	border-radius: 10px; /* 線に丸みを追加 */
	background-color: #b5b5ae; /* 線の色を設定 */
	position: absolute; /* 位置を絶対配置に */
	bottom: 0; /* 下部の位置を基準に */
	left: 50%; /* 左から50%で中央揃え */
	transform: translateX(-50%); /* 中央寄せを調整 */
}

/* リンクボタン---------------------------------------------- */

/* ボタンの配置 */
.link-btn {
	display: block; /* ボタンをブロック要素に */
	text-align: center; /* ボタン内のテキストを中央揃え */
}

/* ボタンのスタイル */
.link-btn a {
	display: inline-block; /* インラインブロック要素 */
	border: 1px solid #b5b5ae; /* ボタンの枠線（色はグレー） */
	color: var(--cocoon-text-color); /* 文字色 */
	min-width: fit-content; /* ボタンの最小幅を自動調整 */
	width: auto; /* ボタンの幅を自動調整 */
	padding: .7em 5em; /* 内側余白を上下0.7em, 左右5em */
	text-decoration: none; /* 下線を削除 */
	border-radius: 0; /* 角の丸みを0 */
	transition: .3s all; /* 変化をスムーズに */
	position: relative; /* 起点設定 */
}

/* 834px以下のボタン幅調整 */
@media screen and (max-width: 834px) {
	.link-btn a {
		min-width: 100%; /* モバイルでの最小幅を100%に */
	}
}

/* 矢印のスタイル */
.link-btn a:after {
	content: ''; /* 擬似要素の内容を空に */
	border-bottom: 1px solid var(--cocoon-text-color); /* 下矢印の線 */
	border-right: 1px solid var(--cocoon-text-color); /* 右矢印の線 */
	width: 15px; /* 矢印の幅 */
	height: 3px; /* 矢印の高さ */
	transform: skewX(45deg); /* 45度傾斜 */
	position: absolute; /* 位置を絶対配置に */
	right: 20px; /* 右から20pxに配置 */
	bottom: 50%; /* 下から50%の位置 */
	transition: .3s all; /* 変化をスムーズに */
}

/* ホバー時の変化 */
.link-btn a:hover {
	--link-btn-color: #b5b5ae; /* ホバー時のボタン色 */
	background-color: var(--link-btn-color); /* 背景色を変化 */
	border-color: var(--link-btn-color); /* 枠線色を変化 */
	color: var(--cocoon-white-color); /* 文字色を白に */
}

/* 矢印のホバー効果 */
.link-btn a:hover:after {
	border-color: var(--cocoon-white-color); /* 矢印色を白に */
	right: 15px; /* 矢印の位置を左へ少し移動 */
}

/* 記事カードの最大幅設定 --------------------------------------------- */
.widget-entry-cards.card-large-image .a-wrap {
	max-width: 600px; /* 最大幅を600pxに制限 */
}

/* 記事を横並びにする (grid) ----------------------------------------- */
.widget-entry-cards {
	display: grid; /* グリッドレイアウトを適用 */
	justify-items: center; /* アイテムを中央揃え */
	gap: 16px; /* アイテム間の隙間を16pxに */
}

/* 新着記事サムネイルのグリッド */
.new-entry-cards.large-thumb {
	grid-template-columns: repeat(2, 1fr); /* 2列で均等に分配 */
}

/* 人気記事サムネイルのグリッド */
.popular-entry-cards.large-thumb {
	grid-template-columns: repeat(3, 1fr); /* 3列で均等に分配 */
}

/* 834px以下のグリッド設定 */
@media screen and (max-width: 834px) {
	.new-entry-cards.large-thumb {
		grid-template-columns: 1fr; /* 1列に配置 */
		gap: 0; /* 隙間を0に */
	}
	.cate .new-entry-cards.large-thumb,
	.popular-entry-cards.large-thumb {
		grid-template-columns: repeat(2, 1fr); /* 2列に分配 */
		gap: 0; /* 隙間を0に */
	}
}

/* モバイルでのタイトル文字サイズ調整 */
@media screen and (max-width: 834px) {
	.cate .large-thumb .new-entry-card-title,
	.popular-entry-card-title {
		font-size: 14px !important; /* タイトル文字を小さく */
	}
}

/* タブ切り替え---------------------------------------------- */

/* タブコンテナの設定 */
.tab-switch {
	--active-tab-color: #b5b5ae; /* 選択タブの色 */
	display: flex; /* タブを横並びに */
	flex-wrap: wrap; /* 幅に応じて折り返し */
	max-width: 100%; /* コンテナの最大幅 */
	margin: auto; /* 中央寄せ */
	justify-content: center; /* 中央揃え */
	gap: 10px 5px; /* タブ間の隙間 */
}

/* タブボタンのスタイル */
.tab-switch > label {
	flex: 1 1 auto; /* 均等に幅をとりつつ折り返し */
	min-width: 70px; /* 最小幅 */
	order: -1; /* コンテンツより上に表示 */
	position: relative; /* 起点 */
	padding: .7em 1em; /* 内側余白 */
	border-bottom: 1px solid var(--active-tab-color); /* 下ボーダー */
	color: var(--active-tab-color); /* 文字色 */
	text-align: center; /* テキスト中央揃え */
	cursor: pointer; /* ポインタ表示 */
}

/* タブのホバーと選択時のスタイル */
.tab-switch > label:hover,
.tab-switch label:has(:checked) {
	background-color: var(--active-tab-color); /* 背景色を変化 */
	color: #fff; /* 文字色 */
}

/* 選択タブの下三角形 */
.tab-switch label:has(:checked)::before {
	position: absolute; /* 三角形位置を絶対配置 */
	bottom: -8px; /* 下からの位置 */
	left: 50%; /* 中央寄せ */
	transform: translateX(-50%); /* 中央寄せを調整 */
	width: 18px; /* 三角形の幅 */
	height: 9px; /* 三角形の高さ */
	background-color: var(--active-tab-color); /* 三角形色 */
	content: ''; /* 内容なし */
	clip-path: polygon(0 0, 100% 0, 50% 100%);  /* 三角形の形 */
}

/* ラジオボタン非表示 */
.tab-switch input {
	display: none; /* 非表示 */
}

/* タブのコンテンツエリア */
.tab-switch > div {
	display: none; /* 初期非表示 */
	width: 100%; /* 幅設定 */
	padding: 1.5em 0; /* 内側余白 */
}

/* 選択されたタブの内容表示 */
.tab-switch label:has(:checked) + div {
	display: block; /* チェック時に表示 */
}

