/* custom.css - カスタマイズ用スタイルシート */

/* カラースキーム（マンガ向けのビビッドな配色） */
:root {
		--primary-color: #5798fb; /* ビビッドなオレンジ */
		--primary-rgb: 255, 87, 34; /* RGB値 */
		--secondary-color: #3F51B5; /* インディゴ */
		--secondary-rgb: 63, 81, 181; /* RGB値 */
		--accent-color: #8BC34A; /* ライトグリーン */
		--dark-color: #333333;
		--light-color: #f8f9fa;
}

/* 全体の背景色・パターン */
body {
		background-color: #fafafa;
		background-image: radial-gradient(#e0e0e0 1px, transparent 1px);
		background-size: 20px 20px;
}

/* ヘッダー背景画像 - ビビッドな色でサンプル表示 */
#hero .carousel-item:nth-child(1) .hero-image {
		background-color: #ff5722;
		box-shadow: inset 0 0 100px rgba(0,0,0,0.5);
}

#hero .carousel-item:nth-child(2) .hero-image {
		background-color: #3f51b5;
		box-shadow: inset 0 0 100px rgba(0,0,0,0.5);
}

#hero .carousel-item:nth-child(3) .hero-image {
		background-color: #8bc34a;
		box-shadow: inset 0 0 100px rgba(0,0,0,0.5);
}

/* パララックスの背景 - サンプル表示用 */
#parallax .parallax-container {
		background-color: #673ab7;
		box-shadow: inset 0 0 100px rgba(0,0,0,0.7);
}

/* ボタンスタイルのカスタマイズ */
.btn-primary {
		background-color: var(--primary-color);
		border-color: var(--primary-color);
		font-weight: bold;
		border-radius: 50px;
		padding: 0.5rem 1.5rem;
}

.btn-primary:hover {
		background-color: #E64A19;
		border-color: #E64A19;
		transform: translateY(-3px);
		box-shadow: 0 5px 15px rgba(230, 74, 25, 0.4);
}

.btn-outline-primary {
		color: var(--primary-color);
		border-color: var(--primary-color);
		border-radius: 50px;
		padding: 0.4rem 1.2rem;
}

.btn-outline-primary:hover {
		background-color: var(--primary-color);
		border-color: var(--primary-color);
		color: white;
		box-shadow: 0 5px 15px rgba(230, 74, 25, 0.3);
}

.btn-light {
		color: var(--primary-color);
		font-weight: bold;
		border-radius: 50px;
		padding: 0.5rem 1.5rem;
}

.btn-light:hover {
		background-color: white;
		color: #E64A19;
		transform: translateY(-3px);
		box-shadow: 0 5px 15px rgba(255, 255, 255, 0.3);
}

/* セクションタイトルのカスタマイズ */
.section-title {
		color: var(--dark-color);
		font-weight: 800;
		position: relative;
		display: inline-block;
}

.section-subtitle {
		color: #757575;
		font-size: 1.2rem;
}

.section-divider {
		width: 100px;
		height: 6px;
		background-color: var(--primary-color);
		margin: 1rem auto 2rem;
		border-radius: 3px;
}

/* 各セクションの背景色とパターン */
#campaign {
		background-color: white;
}

#howto {
		background-color: #f5f5f5;
		background-image: linear-gradient(45deg, rgba(0,0,0,0.02) 25%, transparent 25%, transparent 75%, rgba(0,0,0,0.02) 75%), 
											linear-gradient(45deg, rgba(0,0,0,0.02) 25%, transparent 25%, transparent 75%, rgba(0,0,0,0.02) 75%);
		background-size: 20px 20px;
		background-position: 0 0, 10px 10px;
}

#terms {
		background-color: white;
}

#products {
		background-color: #f5f5f5;
		background-image: linear-gradient(90deg, rgba(255,87,34,0.05) 50%, transparent 50%),
											linear-gradient(rgba(255,87,34,0.05) 50%, transparent 50%);
		background-size: 20px 20px;
}

#books {
		background-color: white;
}

/* カード・アイテムのスタイル強化 */
.shadow {
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

.book-item, .product-item, .howto-item {
		border-radius: 10px;
		overflow: hidden;
		border: 1px solid rgba(0,0,0,0.05);
}

.book-item:hover, .product-item:hover, .howto-item:hover {
		transform: translateY(-10px) !important;
		box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

/* フッターのカスタマイズ */
.footer {
		background-color: #212121;
		border-top: 5px solid var(--primary-color);
}

/* アニメーションのカスタマイズ */
[data-aos="fade-up"] {
		transform: translate3d(0, 30px, 0);
}

[data-aos="fade-right"] {
		transform: translate3d(-30px, 0, 0);
}

[data-aos="fade-left"] {
		transform: translate3d(30px, 0, 0);
}

/* ヒーローコンテンツのカスタマイズ */
.hero-content h1 {
		text-shadow: 2px 2px 10px rgba(0,0,0,0.7);
		font-weight: 900;
}

.hero-content p {
		text-shadow: 1px 1px 5px rgba(0,0,0,0.7);
}

/* 追加のビジュアル要素 */
.campaign-points {
		background-color: rgba(var(--primary-rgb), 0.07);
		border-left: 5px solid var(--primary-color);
		border-radius: 0 8px 8px 0;
}

.point-icon {
		transform: scale(1.2);
}

/* AOS微調整 */
html:not(.no-js) [data-aos=fade-up].aos-animate {
		transform: translate3d(0, 0, 0);
}

html:not(.no-js) [data-aos=fade-right].aos-animate {
		transform: translate3d(0, 0, 0);
}

html:not(.no-js) [data-aos=fade-left].aos-animate {
		transform: translate3d(0, 0, 0);
}

/* コンテナの最大幅を制限 */
.container {
		max-width: 1200px !important;
}

/* 特に大きな画面のための調整 */
@media (min-width: 1400px) {
		.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
				max-width: 1200px !important;
		}
		
		/* 中央寄せを強化 */
		body {
				display: flex;
				flex-direction: column;
				align-items: center;
		}
		
		section, .footer {
				width: 100%;
		}
}

/* 書籍リストの表示調整 */
.books-block .row {
		justify-content: center;
}

/* 特大画面の場合は余白を追加 */
@media (min-width: 1800px) {
		body {
				max-width: 1800px;
				margin: 0 auto;
		}
		
		/* 背景色を設定 */
		html {
				background-color: #f5f5f5;
		}
}

/* ソートボタンのスタイル */
.sort-buttons {
		margin: 1rem 0;
}

.sort-buttons .btn {
		border-radius: 20px;
		padding: 0.25rem 0.8rem;
		font-size: 0.85rem;
}

.sort-buttons .btn.active {
		background-color: var(--primary-color);
		color: white;
		border-color: var(--primary-color);
}

.sort-buttons .btn:hover:not(.active) {
		background-color: rgba(var(--primary-rgb), 0.1);
}

.sort-buttons .bi {
		font-size: 0.9rem;
}

/* スマートフォン向け書籍リスト最適化 */
@media (max-width: 767.98px) {
		/* 書籍アイテムのコンパクト表示 */
		.book-item {
				padding: 0.5rem !important;
		}
		
		/* 画像の余白縮小 */
		.book-image {
				margin-bottom: 0.5rem !important;
		}
		
		/* タイトルのフォントサイズ縮小 */
		.book-title {
				font-size: 0.75rem !important;
				line-height: 1.3;
				margin-bottom: 0.25rem !important;
		}
		
		/* 余白調整 */
		.block.books-block .col-6, 
		.block.books-block .col-sm-4 {
				padding-left: 0.25rem;
				padding-right: 0.25rem;
		}
		
		/* ソートボタンを小さく */
		.sort-buttons {
				font-size: 0.8rem;
		}
		
		.sort-buttons .btn {
				padding: 0.15rem 0.5rem;
				font-size: 0.7rem;
		}
}

/* さらに小さいスマホ向け */
@media (max-width: 374.98px) {
		.book-title {
				font-size: 0.7rem !important;
		}
		
		.block.books-block .col-6, 
		.block.books-block .col-sm-4 {
				padding-left: 0.125rem;
				padding-right: 0.125rem;
		}
}

