@charset "utf-8";
/* =============================================================================
   トップページ（index.php）専用CSS
   既存スタイル（style.css / contents.css）はそのまま使用し、追加・補正のみ記述
============================================================================= */

/* ------------------------------------------------ ピックアップ：定期／不定期タブ */
.pickup_tabs {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 0 auto 32px;
}
.pickup_tab {
	min-width: 180px;
	padding: 12px 28px;
	border: 2px solid #032e15;
	border-radius: 999px;
	background: #fff;
	color: #032e15;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color .2s, color .2s, box-shadow .2s;
}
.pickup_tab:hover {
	background: #eef4ea;
}
.pickup_tab.is-active {
	background: #032e15;
	color: #fff;
	box-shadow: 0 6px 14px rgba(3, 46, 21, .2);
}
.pickup_tab:focus-visible {
	outline: 3px solid #97b58a;
	outline-offset: 2px;
}
.pickup_area .pickup_panel {
	text-align: center;
}
.pickup_area .pickup_panel[hidden] {
	display: none;
}
.pickup_area .pickup_panel a {
	animation: pickupFade .35s ease both;
}
@keyframes pickupFade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}
@media screen and (max-width: 767px) {
	.pickup_tabs {
		gap: 8px;
		margin-bottom: 20px;
	}
	.pickup_tab {
		flex: 1;
		min-width: 0;
		padding: 10px 12px;
		font-size: 15px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.pickup_area .pickup_panel a { animation: none; }
}

/* ------------------------------------------------ 私たちについて：3項目（大きさは従来のまま） */
.about_lst.about_lst--three {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: .27em;
}
.about_lst.about_lst--three .about_box {
	float: none;
}
@media screen and (max-width: 767px) {
	.about_lst.about_lst--three {
		column-gap: 4%;
	}
}

/* ------------------------------------------------ サービス：5項目を同じ大きさ（3列＋2列・中央寄せ） */
@media screen and (min-width: 750px) {
	.sct_topics .ctg_lst.ctg_lst--center {
		justify-content: center;
		column-gap: .7em;
	}
}

/* ------------------------------------------------ ピックアップ：不定期開催はPC時1行4つまで（大きさは従来どおり） */
.pickup_area .pickup_break {
	display: none;
}
@media screen and (min-width: 768px) {
	/* 定期開催：従来のボックス幅（18%）を保ち、全行4列・左寄せ */
	.pickup_area #pickup-panel-regular:not([hidden]) {
		display: grid;
		grid-template-columns: repeat(4, 18%);
		justify-content: center;
		align-items: start;
		gap: 35px 15px;
	}
	.pickup_area .content#pickup-panel-regular > a {
		width: 100%;
		margin: 0;
	}
	.pickup_area #pickup-panel-regular > .pickup_break {
		display: none;
	}
	.pickup_area .pickup_panel--irregular:not([hidden]) {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 15px;
	}
	.pickup_area .content.pickup_panel--irregular a,
	.pickup_area .content.pickup_panel--irregular a:nth-child(5) {
		margin-right: 0;
	}
	.pickup_area .pickup_panel--irregular .pickup_break {
		display: block;
		flex-basis: 100%;
		height: 0;
	}
}
@media screen and (max-width: 767px) {
	.pickup_area .content.pickup_panel--irregular a,
	.pickup_area .content.pickup_panel--irregular a:nth-child(5),
	.pickup_area .content.pickup_panel--irregular a:nth-child(2n) {
		margin-right: 10px;
	}
	.pickup_area .content.pickup_panel--irregular a:nth-of-type(2n) {
		margin-right: 0;
	}
}
