/* そよふく トップページ編集 — 最低限の見た目
 * テーマの見た目に合わせたい場合は、テンプレート内のクラスをテーマ既存のクラスに
 * 置き換えるか、このファイルを調整してください。 */

.soyo-hero { margin: 0 0 2rem; }
.soyo-hero__img { display: block; width: 100%; height: auto; }

.soyo-sec { max-width: 1100px; margin: 0 auto 3rem; padding: 0 16px; }
.soyo-sec__title { text-align: center; margin: 0 0 1.5rem; }

.soyo-btn {
	display: inline-block; margin-top: .75rem; padding: .55em 1.6em;
	border: 1px solid currentColor; border-radius: 999px; text-decoration: none;
}
.soyo-btn--sub { opacity: .8; }
.soyo-btns { text-align: center; margin-top: 1.5rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.soyo-more { font-size: .9em; }

.soyo-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.soyo-grid--3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.soyo-card { background: #fff; border: 1px solid #e6e1d8; border-radius: 8px; padding: 1.25rem; }
.soyo-card__img { width: 100%; height: auto; border-radius: 4px; margin-bottom: .75rem; }
.soyo-card__title { margin: 0 0 .5rem; font-size: 1.1rem; }

/* about */
.soyo-about__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.soyo-about__item { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 0; border-bottom: 1px dashed #ddd; }
.soyo-about__num {
	flex: 0 0 2.4em; height: 2.4em; line-height: 2.4em; text-align: center;
	border-radius: 50%; background: #8fb59a; color: #fff; font-weight: bold;
}
.soyo-about__title { margin: 0 0 .3rem; }
.soyo-about__lead { font-weight: bold; margin: 0 0 .3rem; }

/* news */
.soyo-news__banner { text-align: center; margin-bottom: 1rem; }
.soyo-news__banner img { max-width: 360px; width: 100%; height: auto; }
.soyo-news__lead { text-align: center; }
.soyo-news__list { list-style: none; margin: 0; padding: 0; }
.soyo-news__item a { display: flex; flex-wrap: wrap; gap: .5em 1em; padding: .8rem 0; border-bottom: 1px solid #eee; text-decoration: none; }
.soyo-news__new { color: #d9534f; font-weight: bold; }

/* banner */
.soyo-banner__list { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.soyo-banner__list img { max-width: 100%; height: auto; }
.soyo-banner__note { text-align: center; margin-top: 1rem; }

/* feature */
.soyo-feature__item { margin-bottom: 2rem; }
.soyo-feature__title { border-left: 5px solid #8fb59a; padding-left: .6em; }
.soyo-feature__num { margin-right: .6em; color: #8fb59a; }
.soyo-feature__body { display: flex; gap: 1.25rem; align-items: flex-start; }
.soyo-feature__img { flex: 0 0 40%; max-width: 40%; height: auto; border-radius: 4px; }
@media (max-width: 767px) {
	.soyo-feature__body { flex-direction: column; }
	.soyo-feature__img { max-width: 100%; }
}

/* qa */
.soyo-qa__links { padding-left: 1.2em; margin: .5rem 0; }

/* company */
.soyo-company__list { display: grid; grid-template-columns: 9em 1fr; border-top: 1px solid #ddd; margin: 0; }
.soyo-company__list dt, .soyo-company__list dd { margin: 0; padding: .8rem; border-bottom: 1px solid #ddd; }
.soyo-company__list dt { background: #f6f3ee; font-weight: bold; }
@media (max-width: 600px) {
	.soyo-company__list { grid-template-columns: 1fr; }
	.soyo-company__list dt { border-bottom: none; }
}
.soyo-company__note { font-size: .9em; }
