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

.peak-library {
	--peak-library-primary: #140b3d;
	--peak-library-secondary: #49c7a6;
	--peak-library-accent: #ff653b;
	--peak-library-background: #ffffff;
	--peak-library-surface: #e6e3e3;
	--peak-library-border: rgba(20, 11, 61, 0.14);
	--peak-library-shadow: 0 10px 28px rgba(20, 11, 61, 0.07);
	--peak-library-shadow-hover: 0 16px 40px rgba(20, 11, 61, 0.12);
	background: var(--peak-library-background);
	color: var(--peak-library-primary);
	font-size: 16px;
	line-height: 1.9;
}

.peak-library * { box-sizing: border-box; }

.peak-library__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.peak-library__hero { padding: 96px 0 88px; }
.peak-library__section { padding: 88px 0 104px; }

.peak-library__eyebrow {
	margin: 0 0 12px;
	color: var(--peak-library-secondary);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
}

.peak-library__title {
	margin: 0;
	color: var(--peak-library-primary);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.45;
}

.peak-library__lead {
	max-width: 760px;
	margin: 20px 0 0;
	color: rgba(20, 11, 61, 0.72);
	font-size: 17px;
	line-height: 1.9;
}

.peak-library__carousel {
	display: flex;
	gap: 24px;
	margin-top: 48px;
	overflow-x: auto;
	padding: 4px 4px 20px;
	scroll-padding-left: 4px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

.peak-library__carousel::-webkit-scrollbar { height: 8px; }
.peak-library__carousel::-webkit-scrollbar-track {
	background: var(--peak-library-surface);
	border-radius: 999px;
}
.peak-library__carousel::-webkit-scrollbar-thumb {
	background: rgba(20, 11, 61, 0.28);
	border-radius: 999px;
}

.peak-library__category-card {
	display: flex;
	flex-direction: column;
	min-height: 220px;
	padding: 28px;
	background: var(--peak-library-background);
	border: 1px solid var(--peak-library-border);
	border-radius: 16px;
	box-shadow: var(--peak-library-shadow);
	color: var(--peak-library-primary);
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.peak-library__category-card:hover,
.peak-library__category-card:focus-visible {
	border-color: var(--peak-library-primary);
	box-shadow: var(--peak-library-shadow-hover);
	color: var(--peak-library-primary);
	cursor: pointer;
	outline: none;
	text-decoration: none;
	transform: translateY(-3px);
}

.peak-library__carousel-card {
	flex: 0 0 360px;
	scroll-snap-align: start;
}

.peak-library__category-label {
	margin-bottom: 18px;
	color: var(--peak-library-secondary);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
}

.peak-library__category-title {
	margin: 0;
	color: var(--peak-library-primary);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
}

.peak-library__category-description {
	margin: 18px 0 0;
	color: rgba(20, 11, 61, 0.72);
	font-size: 16px;
	line-height: 1.9;
}

.peak-library__section-header { margin-bottom: 32px; }

.peak-library__section-title,
.peak-library__cta-title {
	margin: 0;
	color: var(--peak-library-primary);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.45;
}

.peak-library__category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.peak-library__empty {
	margin: 0;
	color: rgba(20, 11, 61, 0.72);
	font-size: 16px;
	line-height: 1.9;
}

.peak-library__cta {
	padding: 88px 0 104px;
	background: var(--peak-library-surface);
}

.peak-library__cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.peak-library__cta-copy { max-width: 720px; }

.peak-library__cta-text {
	margin: 18px 0 0;
	color: rgba(20, 11, 61, 0.72);
	font-size: 17px;
	line-height: 1.9;
}

.peak-library__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	min-height: 52px;
	padding: 14px 24px;
	background: var(--peak-library-accent);
	border: 1px solid var(--peak-library-accent);
	border-radius: 12px;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.peak-library__cta-button:hover,
.peak-library__cta-button:focus-visible {
	box-shadow: 0 12px 28px rgba(255, 101, 59, 0.24);
	color: #ffffff;
	filter: brightness(0.98);
	outline: none;
	text-decoration: none;
	transform: translateY(-2px);
}

@media (max-width: 1024px) {
	.peak-library__category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.peak-library__inner { padding: 0 20px; }
	.peak-library__hero { padding: 80px 0 72px; }
	.peak-library__section,
	.peak-library__cta { padding: 80px 0; }
	.peak-library__title { font-size: 36px; }
	.peak-library__section-title,
	.peak-library__cta-title { font-size: 28px; }
	.peak-library__carousel-card { flex-basis: 82%; }
	.peak-library__cta-inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.peak-library__category-grid { grid-template-columns: 1fr; }
	.peak-library__category-card {
		min-height: auto;
		padding: 24px;
	}
	.peak-library__cta-button { width: 100%; }
}

.page-id-403 .site-name-text {
	display: none;
}